Skip to content
Snippets Groups Projects
Commit 31368228 authored by felmer's avatar felmer
Browse files

SP-439 BIS-255: clone content provider for specified user in data set processing context

SVN: 28093
parent bfb32718
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IProcessingPlug ...@@ -30,6 +30,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IProcessingPlug
import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.ISessionWorkspaceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.ISessionWorkspaceProvider;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation;
import ch.systemsx.cisd.openbis.generic.shared.dto.OpenBISSessionHolder;
/** /**
* Context for processing data sets by a {@link IProcessingPluginTask}. * Context for processing data sets by a {@link IProcessingPluginTask}.
...@@ -165,6 +166,7 @@ public class DataSetProcessingContext ...@@ -165,6 +166,7 @@ public class DataSetProcessingContext
public IHierarchicalContentProvider getHierarchicalContentProvider() public IHierarchicalContentProvider getHierarchicalContentProvider()
{ {
final IHierarchicalContentProvider contentProvider = getContentProvider();
return new IHierarchicalContentProvider() return new IHierarchicalContentProvider()
{ {
...@@ -172,7 +174,7 @@ public class DataSetProcessingContext ...@@ -172,7 +174,7 @@ public class DataSetProcessingContext
public IHierarchicalContent asContent(ExternalData dataSet) public IHierarchicalContent asContent(ExternalData dataSet)
{ {
assertAuthorization(dataSet.getCode()); assertAuthorization(dataSet.getCode());
return hierarchicalContentProvider.asContent(dataSet); return contentProvider.asContent(dataSet);
} }
@Override @Override
...@@ -180,33 +182,46 @@ public class DataSetProcessingContext ...@@ -180,33 +182,46 @@ public class DataSetProcessingContext
throws IllegalArgumentException throws IllegalArgumentException
{ {
assertAuthorization(dataSetCode); assertAuthorization(dataSetCode);
return hierarchicalContentProvider.asContent(dataSetCode); return contentProvider.asContent(dataSetCode);
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public IHierarchicalContent asContent(File datasetDirectory) public IHierarchicalContent asContent(File datasetDirectory)
{ {
return hierarchicalContentProvider.asContent(datasetDirectory); return contentProvider.asContent(datasetDirectory);
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
public IHierarchicalContent asContent(IDatasetLocation datasetLocation) public IHierarchicalContent asContent(IDatasetLocation datasetLocation)
{ {
return hierarchicalContentProvider.asContent(datasetLocation); return contentProvider.asContent(datasetLocation);
} }
@Override @Override
public IHierarchicalContentProvider cloneFor( public IHierarchicalContentProvider cloneFor(
ISessionTokenProvider sessionTokenProvider) ISessionTokenProvider sessionTokenProvider)
{ {
return hierarchicalContentProvider.cloneFor(sessionTokenProvider); return contentProvider.cloneFor(sessionTokenProvider);
} }
}; };
} }
private IHierarchicalContentProvider getContentProvider()
{
if (sessionTokenOrNull == null)
{
return hierarchicalContentProvider;
}
OpenBISSessionHolder sessionHolder = new OpenBISSessionHolder();
sessionHolder.setSessionToken(sessionTokenOrNull);
final IHierarchicalContentProvider contentProvider =
hierarchicalContentProvider.cloneFor(sessionHolder);
return contentProvider;
}
public IHierarchicalContentProvider getHierarchicalContentProviderUnfiltered() public IHierarchicalContentProvider getHierarchicalContentProviderUnfiltered()
{ {
return hierarchicalContentProvider; return hierarchicalContentProvider;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment