diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java index 6670d41ffb5a8a940d19cb75f087b8286ac50975..229ee128507b2264bd3743bfbac461983ee77432 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java @@ -35,12 +35,12 @@ public class DefaultDropbox extends AbstractJavaDataSetRegistrationDropboxV2 public void process(IDataSetRegistrationTransactionV2 transaction) { IDataSet dataSet = transaction.createNewDataSet(); - if (dataSet.getExperiment() == null) + if (dataSet.getExperiment() == null && dataSet.getSample() == null) { ISampleImmutable sample = transaction.getSearchService().getSample(SAMPLE_IDENTIFIER); if (sample == null) { - transaction.createNewSample(SAMPLE_IDENTIFIER, "UNKNOWN"); + sample = transaction.createNewSample(SAMPLE_IDENTIFIER, "UNKNOWN"); } dataSet.setSample(sample); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java index 17de3484743f0162f50290b271e74fe90b7da1fe..f5815bf3ae1950a89426c29a6c01024d660c825d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java @@ -120,13 +120,12 @@ public class SampleOwnerIdentifier extends AbstractHashable implements Serializa } /** - * It is a good pattern to use {@link #isSpaceLevel()} before calling this method. - * - * @return The space which is the owner or null if the owner is not a space, but database instance. + * Returns the space identifier. In case of project samples the project identifier is returned. + * In case of shared sample <code>null</code> is returned. */ public SpaceIdentifier getSpaceLevel() { - return spaceIdentOrNull; + return projectIdentifier != null ? projectIdentifier : spaceIdentOrNull; } //