From 01fcd907da47a93f57b01ff82efbe84eb5660d65 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 10 Jan 2011 08:50:37 +0000 Subject: [PATCH] SE-329 Builder classes extended and used, DataSetBuilder added SVN: 19329 --- .../api/v1/GeneralInformationServiceTest.java | 106 +++++++----------- .../basic/dto/builders/DataSetBuilder.java | 78 +++++++++++++ .../basic/dto/builders/ExperimentBuilder.java | 15 +++ .../basic/dto/builders/SampleBuilder.java | 5 + 4 files changed, 138 insertions(+), 66 deletions(-) create mode 100644 openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/DataSetBuilder.java diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationServiceTest.java index e0af1e6be60..d3cac9d9e0b 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationServiceTest.java @@ -44,16 +44,18 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria.MatchCl import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SpaceWithProjectsAndRoleAssignments; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetRelatedEntities; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DetailedSearchCriteria; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; -import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.DataSetBuilder; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.ExperimentBuilder; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleBuilder; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleTypeBuilder; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier; /** @@ -205,18 +207,14 @@ public class GeneralInformationServiceTest extends AbstractServerTestCase { one(commonServer).searchForSamples(with(SESSION_TOKEN), with(any(DetailedSearchCriteria.class))); - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample returnSample = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample(); - SampleType returnSampleType = new SampleType(); - returnSample.setId(new Long(1)); - returnSample.setPermId("permId"); - returnSample.setCode("code"); - returnSample.setIdentifier("/space/code"); - returnSampleType.setId(new Long(1)); - returnSampleType.setCode("sample-type"); - returnSample.setSampleType(returnSampleType); - returnSample.setProperties(new ArrayList<IEntityProperty>()); - will(returnValue(Collections.singletonList(returnSample))); + SampleBuilder sample = + new SampleBuilder("/space/code") + .id(1L) + .permID("permId") + .code("code") + .type(new SampleTypeBuilder().id(1L).code("sample-type") + .getSampleType()); + will(returnValue(Collections.singletonList(sample.getSample()))); } }); } @@ -236,25 +234,16 @@ public class GeneralInformationServiceTest extends AbstractServerTestCase one(commonServer).listRelatedDataSets(with(SESSION_TOKEN), with(any(DataSetRelatedEntities.class))); - ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData returnData = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData(); - DataSetType returnDataSetType = new DataSetType(); - returnDataSetType.setCode("ds-type"); - returnData.setCode("ds-code"); - returnData.setDataSetType(returnDataSetType); - returnData.setDataSetProperties(new ArrayList<IEntityProperty>()); - - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment experiment = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment(); - experiment.setIdentifier("/space/project/exp"); - returnData.setExperiment(experiment); - - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample(); - sample.setIdentifier("/space/code"); - returnData.setSample(sample); - - will(returnValue(Collections.singletonList(returnData))); + DataSetBuilder dataSet = + new DataSetBuilder() + .type("ds-type") + .code("ds-code") + .experiment( + new ExperimentBuilder() + .identifier("/space/project/exp") + .getExperiment()) + .sample(new SampleBuilder("/space/code").getSample()); + will(returnValue(Collections.singletonList(dataSet.getDataSet()))); } }); @@ -282,10 +271,8 @@ public class GeneralInformationServiceTest extends AbstractServerTestCase { { one(commonServer).listSampleTypes(SESSION_TOKEN); - SampleType returnSampleType = new SampleType(); - returnSampleType.setId(new Long(1)); - returnSampleType.setCode("sample-type"); - will(returnValue(Collections.singletonList(returnSampleType))); + SampleTypeBuilder sampleType = new SampleTypeBuilder().id(1L).code("sample-type"); + will(returnValue(Collections.singletonList(sampleType.getSampleType()))); one(commonServer).listRelatedDataSets(with(SESSION_TOKEN), with(any(DataSetRelatedEntities.class))); @@ -307,25 +294,16 @@ public class GeneralInformationServiceTest extends AbstractServerTestCase { one(commonServer).listSampleExternalData(with(SESSION_TOKEN), with(new TechId(1)), with(true)); - ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData returnData = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData(); - DataSetType returnDataSetType = new DataSetType(); - returnDataSetType.setCode("ds-type"); - returnData.setCode("ds-code"); - returnData.setDataSetType(returnDataSetType); - returnData.setDataSetProperties(new ArrayList<IEntityProperty>()); - - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment experiment = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment(); - experiment.setIdentifier("/space/project/exp"); - returnData.setExperiment(experiment); - - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample(); - sample.setIdentifier("/space/code"); - returnData.setSample(sample); - - will(returnValue(Collections.singletonList(returnData))); + DataSetBuilder dataSet = + new DataSetBuilder() + .type("ds-type") + .code("ds-code") + .experiment( + new ExperimentBuilder() + .identifier("/space/project/exp") + .getExperiment()) + .sample(new SampleBuilder("/space/code").getSample()); + will(returnValue(Collections.singletonList(dataSet.getDataSet()))); } }); @@ -381,15 +359,11 @@ public class GeneralInformationServiceTest extends AbstractServerTestCase one(commonServer).listExperiments(SESSION_TOKEN, returnExperimentType, projectIdentifier); - ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment returnExperiment = - new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment(); - returnExperiment.setId(new Long(1)); - returnExperiment.setPermId("EXP-PERMID"); - returnExperiment.setCode("EXP-CODE"); - returnExperiment.setIdentifier("/SPACE-1/PROJECT-1/EXP-CODE"); - returnExperiment.setExperimentType(returnExperimentType); - returnExperiment.setProperties(new ArrayList<IEntityProperty>()); - will(returnValue(Collections.singletonList(returnExperiment))); + ExperimentBuilder experiment = + new ExperimentBuilder().id(1L).code("EXP-CODE").permID("EXP-PERMID") + .identifier("/SPACE-1/PROJECT-1/EXP-CODE") + .type(returnExperimentType.getCode()); + will(returnValue(Collections.singletonList(experiment.getExperiment()))); } }); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/DataSetBuilder.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/DataSetBuilder.java new file mode 100644 index 00000000000..4f0b48ad95d --- /dev/null +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/DataSetBuilder.java @@ -0,0 +1,78 @@ +/* + * Copyright 2011 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders; + +import java.util.ArrayList; + +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; + +/** + * Builder class for creating an instance of {@link ExternalData}. + * + * @author Franz-Josef Elmer + */ +public class DataSetBuilder +{ + private final ExternalData dataSet; + + public DataSetBuilder() + { + dataSet = new ExternalData(); + dataSet.setDataSetProperties(new ArrayList<IEntityProperty>()); + } + + public DataSetBuilder(long id) + { + this(); + dataSet.setId(id); + } + + public DataSetBuilder code(String code) + { + dataSet.setCode(code); + return this; + } + + public DataSetBuilder type(String dataSetTypeCode) + { + dataSet.setDataSetType(new DataSetType(dataSetTypeCode)); + return this; + } + + public DataSetBuilder experiment(Experiment experiment) + { + dataSet.setExperiment(experiment); + return this; + } + + public DataSetBuilder sample(Sample sample) + { + dataSet.setSample(sample); + return this; + } + + public final ExternalData getDataSet() + { + return dataSet; + } + + +} diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/ExperimentBuilder.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/ExperimentBuilder.java index a1a369f04c6..6064bbaa01a 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/ExperimentBuilder.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/ExperimentBuilder.java @@ -21,6 +21,7 @@ import java.util.Date; import java.util.List; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Invalidation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Person; @@ -43,6 +44,14 @@ public class ExperimentBuilder experiment.setProperties(new ArrayList<IEntityProperty>()); } + public ExperimentBuilder type(String experimentTypeCode) + { + ExperimentType experimentType = new ExperimentType(); + experimentType.setCode(experimentTypeCode); + experiment.setExperimentType(experimentType); + return this; + } + public ExperimentBuilder id(long id) { experiment.setId(id); @@ -70,6 +79,12 @@ public class ExperimentBuilder return this; } + public ExperimentBuilder permID(String permID) + { + experiment.setPermId(permID); + return this; + } + public ExperimentBuilder invalidate() { experiment.setInvalidation(new Invalidation()); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/SampleBuilder.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/SampleBuilder.java index 0b3d40d532d..29aaf284aba 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/SampleBuilder.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/builders/SampleBuilder.java @@ -96,6 +96,11 @@ public class SampleBuilder { SampleType sampleType = new SampleType(); sampleType.setCode(typeCode); + return type(sampleType); + } + + public SampleBuilder type(SampleType sampleType) + { sample.setSampleType(sampleType); return this; } -- GitLab