diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java index b3fb113dd72e3e0a58b7fc5868d6a503f0baff56..7f03b5b262c4b1968427467d71ac3f4ee48bd25b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java @@ -32,6 +32,7 @@ import ch.systemsx.cisd.etlserver.registrator.api.v1.ISpace; import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.IImageDataSet; import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.SimpleImageDataConfig; import ch.systemsx.cisd.openbis.dss.etl.jython.ImagingDataSetRegistrationTransaction; +import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.IAuthorizationService; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmutable; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable; @@ -212,6 +213,12 @@ public class ImagingDataSetRegistrationTransactionV2Delegate implements return transaction.getSearchService(); } + @Override + public IAuthorizationService getAuthorizationService() + { + return transaction.getAuthorizationService(); + } + @Override public DynamicTransactionQuery getDatabaseQuery(String dataSourceName) throws IllegalArgumentException diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedAggregationServiceReportingPluginTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedAggregationServiceReportingPluginTest.java index 50c5c38e637efa465c4a778556dc1e88bd84999d..519737fa938023d2b4016b9216bb5ea1e7e5f4d5 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedAggregationServiceReportingPluginTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedAggregationServiceReportingPluginTest.java @@ -32,6 +32,7 @@ import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.JythonBasedAggregationServiceReportingPluginTest.ParametersBuilder; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.shared.DataSetProcessingContext; +import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.IAuthorizationService; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSourceQueryService; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; @@ -40,18 +41,25 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ExperimentIde import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate; /** - * - * * @author Franz-Josef Elmer */ -public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends AbstractFileSystemTestCase +public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends + AbstractFileSystemTestCase { private Mockery context; + private ISearchService searchService; + + private IAuthorizationService authorizationService; + private IDataSourceQueryService queryService; + private File store; + private File scriptFolder; + private DataSetProcessingContext processingContext; + private IScreeningOpenbisServiceFacade screeningFacade; @BeforeMethod @@ -62,8 +70,8 @@ public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends A queryService = context.mock(IDataSourceQueryService.class); screeningFacade = context.mock(IScreeningOpenbisServiceFacade.class); processingContext = - new DataSetProcessingContext(null, null, new HashMap<String, String>(), - null, "test-user"); + new DataSetProcessingContext(null, null, new HashMap<String, String>(), null, + "test-user"); store = new File(workingDirectory, "store"); store.mkdirs(); scriptFolder = new File("resource/test-data/" + getClass().getSimpleName()); @@ -81,19 +89,20 @@ public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends A context.checking(new Expectations() { { - ExperimentIdentifier expId = ExperimentIdentifier.createFromAugmentedCode("/A/B/C"); + ExperimentIdentifier expId = + ExperimentIdentifier.createFromAugmentedCode("/A/B/C"); one(screeningFacade).listPlates(expId); will(returnValue(Arrays.asList(new Plate("P1", "A", "1", expId)))); } }); Map<String, Object> parameters = - new ParametersBuilder().parameter("experiment-identifier", "/A/B/C").getParameters(); + new ParametersBuilder().parameter("experiment-identifier", "/A/B/C") + .getParameters(); IReportingPluginTask plugin = createPlugin("script.py"); TableModel tableModel = plugin.createAggregationReport(parameters, processingContext); - assertEquals("[Plate]", tableModel - .getHeader().toString()); + assertEquals("[Plate]", tableModel.getHeader().toString()); assertEquals("[P1]", tableModel.getRows().get(0).getValues().toString()); assertEquals(1, tableModel.getRows().size()); context.assertIsSatisfied(); @@ -102,7 +111,9 @@ public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends A private IReportingPluginTask createPlugin(String scriptFile) { - return new ScreeningJythonBasedAggregationServiceReportingPlugin(new Properties(), store, + return new ScreeningJythonBasedAggregationServiceReportingPlugin( + new Properties(), + store, new ScreeningPluginScriptRunnerFactory(new File(scriptFolder, scriptFile).getPath()) { private static final long serialVersionUID = 1L; @@ -113,6 +124,12 @@ public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends A return searchService; } + @Override + protected IAuthorizationService createAuthorizationService() + { + return authorizationService; + } + @Override protected IDataSourceQueryService createDataSourceQueryService() { @@ -125,7 +142,7 @@ public class ScreeningJythonBasedAggregationServiceReportingPluginTest extends A { return screeningFacade; } - + }); } }