diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/MicroscopyImageDropboxTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/MicroscopyImageDropboxTest.java index ad3e9a3169e0f8328ecbd8055a438a5ace2a01e2..7530bb282620a0ce2d99915b4ba2a1cc5f99bdf0 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/MicroscopyImageDropboxTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/MicroscopyImageDropboxTest.java @@ -26,9 +26,13 @@ import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space; +import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifierFactory; /** @@ -52,22 +56,23 @@ public class MicroscopyImageDropboxTest extends AbstractImageDropboxTestCase sessionToken = commonServer.tryAuthenticate("admin", "a").getSessionToken(); ExperimentType experimentType = new ExperimentType(); experimentType.setCode("MICROSCOPY_EXPERIMENT"); - commonServer.registerExperimentType(sessionToken, experimentType); + registerExperimentType(commonServer, experimentType); SampleType sampleType = new SampleType(); sampleType.setCode("MICROSCOPY_SAMPLE"); sampleType.setGeneratedCodePrefix("M-"); - commonServer.registerSampleType(sessionToken, sampleType); + registerSampleType(commonServer, sampleType); DataSetType dataSetType = new DataSetType("MICROSCOPY_IMG"); dataSetType.setDataSetKind(DataSetKind.PHYSICAL); - commonServer.registerDataSetType(sessionToken, dataSetType); + registerDataSetType(commonServer, dataSetType); + dataSetType = new DataSetType("MICROSCOPY_IMG_OVERVIEW"); + dataSetType.setDataSetKind(DataSetKind.PHYSICAL); + registerDataSetType(commonServer, dataSetType); dataSetType = new DataSetType("MICROSCOPY_IMG_CONTAINER"); dataSetType.setDataSetKind(DataSetKind.CONTAINER); - commonServer.registerDataSetType(sessionToken, dataSetType); - commonServer.registerSpace(sessionToken, "TEST", null); - commonServer.registerProject(sessionToken, ProjectIdentifierFactory.parse("/TEST/TEST-PROJECT"), "", - null, Collections.<NewAttachment>emptySet()); + registerDataSetType(commonServer, dataSetType); + registerProject(commonServer, "/TEST/TEST-PROJECT"); } - + @Override protected String getDataFolderToDrop() { @@ -104,5 +109,67 @@ public class MicroscopyImageDropboxTest extends AbstractImageDropboxTestCase .channel("SERIES-0_CHANNEL-1").mode("thumbnail512x512")); imageChecker.assertNoFailures(); } + + private void registerProject(ICommonServer server, String identifier) + { + for (Project project : server.listProjects(sessionToken)) + { + if (project.getIdentifier().equals(identifier)) + { + return; + } + } + ProjectIdentifier projectIdentifier = ProjectIdentifierFactory.parse(identifier); + registerSpace(server, projectIdentifier.getSpaceCode()); + server.registerProject(sessionToken, projectIdentifier, null, null, Collections.<NewAttachment>emptySet()); + } + + private void registerSpace(ICommonServer server, String spaceCode) + { + for (Space space : server.listSpaces(sessionToken)) + { + if (space.getCode().equals(spaceCode)) + { + return; + } + } + server.registerSpace(sessionToken, spaceCode, null); + } + private void registerExperimentType(ICommonServer server, ExperimentType experimentType) + { + for (EntityType type : server.listExperimentTypes(sessionToken)) + { + if (type.getCode().equals(experimentType.getCode())) + { + return; + } + } + server.registerExperimentType(sessionToken, experimentType); + } + + private void registerSampleType(ICommonServer server, SampleType sampleType) + { + for (EntityType type : server.listSampleTypes(sessionToken)) + { + if (type.getCode().equals(sampleType.getCode())) + { + return; + } + } + server.registerSampleType(sessionToken, sampleType); + } + + private void registerDataSetType(ICommonServer server, DataSetType dataSetType) + { + for (EntityType type : server.listDataSetTypes(sessionToken)) + { + if (type.getCode().equals(dataSetType.getCode())) + { + return; + } + } + server.registerDataSetType(sessionToken, dataSetType); + } + }