From 0b64fbc3061714274db0f7c0ffa846dfcd361018 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 12 Oct 2009 08:24:56 +0000 Subject: [PATCH] SE-447 New method: IEncapsulated.registerSample() implemented SVN: 12902 --- .../server/EncapsulatedOpenBISService.java | 21 +++++++++++++++++++ .../shared/IEncapsulatedOpenBISService.java | 6 ++++++ 2 files changed, 27 insertions(+) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java index 310414b01ed..c20f2f93c21 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java @@ -37,6 +37,7 @@ 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.ListSampleCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStoreServerInfo; import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; @@ -193,6 +194,11 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer { return service.tryGetSampleWithExperiment(sessionToken, sampleIdentifier); } + + private void primRegisterSample(NewSample newSample) + { + service.registerSample(sessionToken, newSample); + } private final void primRegisterDataSet(final DataSetInformation dataSetInformation, final NewExternalData data) @@ -275,6 +281,21 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer } } + synchronized public void registerSample(NewSample newSample) throws UserFailureException + { + assert newSample != null : "Unspecified sample."; + + checkSessionToken(); + try + { + primRegisterSample(newSample); + } catch (final InvalidSessionException ex) + { + authenticate(); + primRegisterSample(newSample); + } + } + synchronized public final void registerDataSet(final DataSetInformation dataSetInformation, final NewExternalData data) { diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java index 184400c222e..1151534383c 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java @@ -27,6 +27,7 @@ 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.ListSampleCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria; import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData; @@ -69,6 +70,11 @@ public interface IEncapsulatedOpenBISService public Sample tryGetSampleWithExperiment(final SampleIdentifier sampleIdentifier) throws UserFailureException; + /** + * Registers the specified sample. + */ + public void registerSample(final NewSample newSample) throws UserFailureException; + /** * Registers the specified data. * <p> -- GitLab