From 10e83effa95e4ceede975e49b86258be1c27b60e Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Tue, 15 Feb 2011 19:57:25 +0000 Subject: [PATCH] LMS-1988 Fixed some small bugs in the entity registration code. Removed not-yet-implemented method from interface. SVN: 19990 --- .../v1/IDataSetRegistrationTransaction.java | 13 +++++++------ .../registrator/api/v1/impl/DataSet.java | 16 ++++++++++++---- .../impl/DataSetRegistrationTransaction.java | 10 ++++++---- .../api/v1/impl/ExperimentImmutable.java | 2 +- .../registrator/api/v1/impl/Sample.java | 19 +++++++++---------- .../api/v1/impl/SampleImmutable.java | 11 ++++++++++- 6 files changed, 45 insertions(+), 26 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java index 47ffafc5381..d2df83a95ee 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java @@ -39,12 +39,17 @@ public interface IDataSetRegistrationTransaction IDataSet createNewDataSet(); /** - * Get a sample from the openBIS AS. + * Get a sample from the openBIS AS. Returns null if the sample does not exist. + * + * @return A sample or null */ ISampleImmutable getSample(String sampleIdentifierString); /** - * Get a sample from the openBIS AS for the purpose of modifying it. + * Get a sample from the openBIS AS for the purpose of modifying it. Returns null if the sample + * does not exist. + * + * @return A sample or null */ ISample getSampleForUpdate(String sampleIdentifierString); @@ -114,8 +119,4 @@ public interface IDataSetRegistrationTransaction */ String createNewFile(IDataSet dst, String dstInDataset, String fileName); - /** - * Delete a file a the given path. - */ - void deleteFile(String src); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSet.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSet.java index 2c5449dd903..3de83b0cbab 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSet.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSet.java @@ -26,6 +26,7 @@ import ch.systemsx.cisd.etlserver.registrator.api.v1.ISampleImmutable; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory; @@ -103,15 +104,22 @@ public class DataSet<T extends DataSetInformation> implements IDataSet { this.sampleOrNull = sampleOrNull; + DataSetInformation dataSetInformation = registrationDetails.getDataSetInformation(); if (sampleOrNull == null) { - registrationDetails.getDataSetInformation().setSample(null); - registrationDetails.getDataSetInformation().setSampleCode(null); + dataSetInformation.setSample(null); + dataSetInformation.setSampleCode(null); } else { Sample sample = (Sample) sampleOrNull; - registrationDetails.getDataSetInformation().setSample(sample.getSample()); - registrationDetails.getDataSetInformation().setSampleCode(sample.getSample().getCode()); + + dataSetInformation.setSample(sample.getSample()); + dataSetInformation.setSampleCode(sample.getSample().getCode()); + Space space = sample.getSample().getSpace(); + if (null != space) + { + dataSetInformation.setSpaceCode(space.getCode()); + } setExperiment(sample.getSample().getExperiment()); } } diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java index 4ead56eec83..72d776bc074 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java @@ -179,7 +179,9 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem { SampleIdentifier sampleIdentifier = new SampleIdentifierFactory(sampleIdentifierString).createIdentifier(); - return new SampleImmutable(openBisService.tryGetSampleWithExperiment(sampleIdentifier)); + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sampleOrNull = + openBisService.tryGetSampleWithExperiment(sampleIdentifier); + return (null == sampleOrNull) ? null : new SampleImmutable(sampleOrNull); } public ISample getSampleForUpdate(String sampleIdentifierString) @@ -196,9 +198,9 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem { ExperimentIdentifier experimentIdentifier = new ExperimentIdentifierFactory(experimentIdentifierString).createIdentifier(); - ExperimentImmutable experiment = - new ExperimentImmutable(openBisService.tryToGetExperiment(experimentIdentifier)); - return experiment; + ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment experimentOrNull = + openBisService.tryToGetExperiment(experimentIdentifier); + return (null == experimentOrNull) ? null : new ExperimentImmutable(experimentOrNull); } public IExperiment createNewExperiment(String experimentIdentifierString) diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ExperimentImmutable.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ExperimentImmutable.java index 9a101208e37..e13407c4112 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ExperimentImmutable.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/ExperimentImmutable.java @@ -40,7 +40,7 @@ class ExperimentImmutable implements IExperimentImmutable public boolean isExistingExperiment() { - return null != experiment; + return true; } /** diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Sample.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Sample.java index 2f035ce2602..f7b1af97493 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Sample.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Sample.java @@ -16,13 +16,10 @@ package ch.systemsx.cisd.etlserver.registrator.api.v1.impl; -import java.util.ArrayList; -import java.util.List; - import ch.systemsx.cisd.etlserver.registrator.api.v1.IExperimentImmutable; import ch.systemsx.cisd.etlserver.registrator.api.v1.ISample; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.SampleBuilder; import ch.systemsx.cisd.openbis.generic.shared.util.EntityHelper; /** @@ -31,6 +28,13 @@ import ch.systemsx.cisd.openbis.generic.shared.util.EntityHelper; public class Sample extends SampleImmutable implements ISample { + private static ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample buildSampleWithIdentifier( + String identifier) + { + SampleBuilder builder = new SampleBuilder(identifier); + return builder.getSample(); + } + public Sample(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample) { super(sample); @@ -38,15 +42,10 @@ public class Sample extends SampleImmutable implements ISample public Sample(String sampleIdentifier, String permId) { - super(new ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample()); - getSample().setIdentifier(sampleIdentifier); + super(buildSampleWithIdentifier(sampleIdentifier), false); getSample().setPermId(permId); - - List<IEntityProperty> properties = new ArrayList<IEntityProperty>(); - getSample().setProperties(properties); } - public void setExperiment(IExperimentImmutable experiment) { ExperimentImmutable exp = (ExperimentImmutable) experiment; diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/SampleImmutable.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/SampleImmutable.java index b69116947b5..2e73374363c 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/SampleImmutable.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/SampleImmutable.java @@ -28,9 +28,18 @@ public class SampleImmutable implements ISampleImmutable { private final ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample; + private final boolean existingSample; + public SampleImmutable(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample) + { + this(sample, true); + } + + public SampleImmutable(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample sample, + boolean existingSample) { this.sample = sample; + this.existingSample = existingSample; } public IExperimentImmutable getExperiment() @@ -52,7 +61,7 @@ public class SampleImmutable implements ISampleImmutable public boolean isExistingSample() { - return null != sample; + return existingSample; } /** -- GitLab