diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractSampleBusinessObject.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractSampleBusinessObject.java index bd31cad1aa7c6e9c70ef8b759b40ad8832ddba20..b59329d8cada9e899a2c9277db3c42b0b11bbfdc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractSampleBusinessObject.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/AbstractSampleBusinessObject.java @@ -135,17 +135,13 @@ abstract class AbstractSampleBusinessObject extends AbstractSampleIdentifierBusi samplePE.setGroup(sampleOwner.tryGetGroup()); samplePE.setDatabaseInstance(sampleOwner.tryGetDatabaseInstance()); defineSampleProperties(samplePE, newSample.getProperties()); - String parentIdentifier = newSample.getParentIdentifier(); - if (parentIdentifier != null) - { - setGeneratedFrom(sampleIdentifier, samplePE, parentIdentifier); - } else if (newSample.getParents() != null) + String containerIdentifier = newSample.getContainerIdentifier(); + setContainer(sampleIdentifier, samplePE, containerIdentifier); + if (newSample.getParentsOrNull() != null) { - final String[] parents = newSample.getParents(); + final String[] parents = newSample.getParentsOrNull(); setParents(samplePE, parents); } - String containerIdentifier = newSample.getContainerIdentifier(); - setContainer(sampleIdentifier, samplePE, containerIdentifier); samplePE.setPermId(getPermIdDAO().createPermId()); return samplePE; } @@ -202,18 +198,6 @@ abstract class AbstractSampleBusinessObject extends AbstractSampleIdentifierBusi samplePE.setContainer(containerPE); } - protected void setGeneratedFrom(final SampleIdentifier sampleIdentifier, - final SamplePE samplePE, String parentIdentifier) - { - final Set<SamplePE> newParents = new HashSet<SamplePE>(); - final SamplePE parentOrNull = tryGetValidParentSample(parentIdentifier, sampleIdentifier); - if (parentOrNull != null) - { - newParents.add(parentOrNull); - } - replaceParents(samplePE, newParents); - } - protected void setParents(final SamplePE childPE, final String[] parents) { final List<SampleIdentifier> parentIdentifiers = diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleTable.java index 50aacbf294a13c578df3150146dd32fb2068be13..39d859766e5eda315ea8cc5c149687543a6eac95 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleTable.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleTable.java @@ -246,11 +246,6 @@ public final class SampleTable extends AbstractSampleBusinessObject implements I updateExperiment(sample, updates.getExperimentIdentifierOrNull(), experimentCache); checkExperimentBusinessRules(getExternalDataDAO(), sample); } - if (details.isParentUpdateRequested()) - { - setGeneratedFrom(updates.getSampleIdentifier(), sample, - updates.getParentIdentifierOrNull()); - } if (details.isParentsUpdateRequested()) { final String[] parents = updates.getModifiedParentCodesOrNull(); @@ -266,8 +261,7 @@ public final class SampleTable extends AbstractSampleBusinessObject implements I } // NOTE: Checking business rules with relationships is expensive. // Don't perform them unless relevant data were changed. - if (details.isExperimentUpdateRequested() || details.isParentUpdateRequested() - || details.isParentsUpdateRequested()) + if (details.isExperimentUpdateRequested() || details.isParentsUpdateRequested()) { checkParentBusinessRules(sample); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSample.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSample.java index 39dad9bdc5ff89cb4722f157ba4621eff7c8d988..ecf885105fd05a92f3f32ffc60477d5404cbfd20 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSample.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSample.java @@ -46,14 +46,9 @@ public class NewSample extends Identifier<NewSample> implements Comparable<NewSa private SampleType sampleType; /** - * The parent identifier. + * Set of parent sample codes or identifiers. It will be assumed that all the samples belong + * to the same group as the child sample. */ - // TODO 2010-08-09, Piotr Buczek: remove - private String parentIdentifier; - - // Set of parent sample codes or identifiers. It will be assumed that - // all the samples belong to the same group as the child sample. - // If equals to null then parentIdentifier should be used. private String[] parentsOrNull; /** @@ -94,16 +89,15 @@ public class NewSample extends Identifier<NewSample> implements Comparable<NewSa final String containerIdentifier, final String[] parents) { NewSample result = new NewSample(identifier, sampleType, containerIdentifier); - result.setParents(parents); + result.setParentsOrNull(parents); return result; } public NewSample(final String identifier, SampleType sampleType, String containerIdentifier, - String parentIdentifier, String[] parentsOrNull, String experimentIdentifier, - IEntityProperty[] properties, List<NewAttachment> attachments) + String[] parentsOrNull, String experimentIdentifier, IEntityProperty[] properties, + List<NewAttachment> attachments) { this(identifier, sampleType, containerIdentifier); - this.parentIdentifier = parentIdentifier; this.parentsOrNull = parentsOrNull; this.experimentIdentifier = experimentIdentifier; this.properties = properties; @@ -130,12 +124,12 @@ public class NewSample extends Identifier<NewSample> implements Comparable<NewSa this.sampleType = sampleType; } - public String[] getParents() + public String[] getParentsOrNull() { return parentsOrNull; } - public void setParents(String[] parents) + public void setParentsOrNull(String[] parents) { this.parentsOrNull = parents; } @@ -146,22 +140,27 @@ public class NewSample extends Identifier<NewSample> implements Comparable<NewSa if (parents != null) { String[] split = parents.split(","); - setParents(split); + setParentsOrNull(split); } else { - setParents((String[]) null); + setParentsOrNull(new String[0]); } } + /** @deprecated convenience method for tests - use {@link #getParentsOrNull()} instead */ + @Deprecated public final String getParentIdentifier() { - return parentIdentifier; + return getParentsOrNull() == null || getParentsOrNull().length == 0 ? null + : getParentsOrNull()[0]; } + /** @deprecated convenience method for tests - use {@link #setParents(String)} instead */ + @Deprecated @BeanProperty(label = PARENT, optional = true) public final void setParentIdentifier(final String parent) { - this.parentIdentifier = parent; + setParents(parent); } public final String getContainerIdentifier() diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java index 246ba61e934dd6d7329e6c2f620377d174a8efb9..87a06875a493102f1d32e18ffcb564106182437d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java @@ -32,8 +32,6 @@ public class SampleBatchUpdateDetails implements IsSerializable, Serializable private boolean experimentUpdateRequested; - private boolean parentUpdateRequested; - private boolean parentsUpdateRequested; private boolean containerUpdateRequested; @@ -44,11 +42,10 @@ public class SampleBatchUpdateDetails implements IsSerializable, Serializable { } - public SampleBatchUpdateDetails(boolean updateExperiment, boolean updateParent, - boolean updateParents, boolean updateContainer, Set<String> propertiesToUpdate) + public SampleBatchUpdateDetails(boolean updateExperiment, boolean updateParents, + boolean updateContainer, Set<String> propertiesToUpdate) { this.experimentUpdateRequested = updateExperiment; - this.parentUpdateRequested = updateParent; this.parentsUpdateRequested = updateParents; this.containerUpdateRequested = updateContainer; this.propertiesToUpdate = propertiesToUpdate; @@ -59,11 +56,6 @@ public class SampleBatchUpdateDetails implements IsSerializable, Serializable return experimentUpdateRequested; } - public boolean isParentUpdateRequested() - { - return parentUpdateRequested; - } - public boolean isParentsUpdateRequested() { return parentsUpdateRequested; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedSample.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedSample.java index 6a531d9baa29f0c93429636b79328348577e3cbf..a2d6ddfb5274b5cdbf58d6d0216d1d6625013f37 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedSample.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UpdatedSample.java @@ -40,9 +40,8 @@ public final class UpdatedSample extends NewSample public UpdatedSample(NewSample newSample, SampleBatchUpdateDetails batchUpdateDetails) { super(newSample.getIdentifier(), newSample.getSampleType(), newSample - .getContainerIdentifier(), newSample.getParentIdentifier(), newSample.getParents(), - newSample.getExperimentIdentifier(), newSample.getProperties(), newSample - .getAttachments()); + .getContainerIdentifier(), newSample.getParentsOrNull(), newSample + .getExperimentIdentifier(), newSample.getProperties(), newSample.getAttachments()); this.batchUpdateDetails = batchUpdateDetails; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactory.java index 67ea36da33a5e72a03a613026382647abd90ba2e..e1f17b0034fc6fe3c714c0413fbfcb9bb2a01254 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactory.java @@ -93,6 +93,7 @@ class NewSampleParserObjectFactory extends AbstractParserObjectFactory<NewSample return true; } + @SuppressWarnings("deprecation") @Override public NewSample createObject(final String[] lineTokens) throws ParserException { @@ -116,7 +117,10 @@ class NewSampleParserObjectFactory extends AbstractParserObjectFactory<NewSample setProperties(newSample, lineTokens); newSample .setContainerIdentifier(StringUtils.trimToNull(newSample.getContainerIdentifier())); - newSample.setParentIdentifier(StringUtils.trimToNull(newSample.getParentIdentifier())); + if (newSample.getParentIdentifier() != null) + { + newSample.setParentIdentifier(StringUtils.trimToNull(newSample.getParentIdentifier())); + } newSample.setExperimentIdentifier(StringUtils.trimToNull(newSample .getExperimentIdentifier())); return newSample; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactory.java index 51a94ce4e0940617bb3b3a4cf0209dbe51285de1..7bb99f7df756ff1372f9e7c29028d6750a8b05f7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactory.java @@ -55,9 +55,16 @@ final class UpdatedSampleParserObjectFactory extends NewSampleParserObjectFactor boolean updateExperiment = isColumnAvailable(UpdatedSample.EXPERIMENT); boolean updateParent = isColumnAvailable(UpdatedSample.PARENT); boolean updateParents = isColumnAvailable(UpdatedSample.PARENTS); + if (updateParent == updateParents == true) + { + throw new ParserException("Both '" + UpdatedSample.PARENT + "' and '" + + UpdatedSample.PARENTS + + "' columns were specified. One of them should be removed from the file."); + } + updateParents |= updateParent; boolean updateContainer = isColumnAvailable(UpdatedSample.CONTAINER); - return new SampleBatchUpdateDetails(updateExperiment, updateParent, updateParents, - updateContainer, getUnmatchedProperties()); + return new SampleBatchUpdateDetails(updateExperiment, updateParents, updateContainer, + getUnmatchedProperties()); } // @@ -86,12 +93,9 @@ final class UpdatedSampleParserObjectFactory extends NewSampleParserObjectFactor final boolean updateExperiment = basicBatchUpdateDetails.isExperimentUpdateRequested() && isNotEmpty(newSample.getExperimentIdentifier()); - final boolean updateParent = - basicBatchUpdateDetails.isParentUpdateRequested() - && isNotEmpty(newSample.getParentIdentifier()); final boolean updateParents = basicBatchUpdateDetails.isParentsUpdateRequested() - && isNotEmpty(newSample.getParents()); + && isNotEmpty(newSample.getParentsOrNull()); final boolean updateContainer = basicBatchUpdateDetails.isContainerUpdateRequested() && isNotEmpty(newSample.getContainerIdentifier()); @@ -102,8 +106,8 @@ final class UpdatedSampleParserObjectFactory extends NewSampleParserObjectFactor propertiesToUpdate.add(property.getPropertyType().getCode()); } - return new SampleBatchUpdateDetails(updateExperiment, updateParent, updateParents, - updateContainer, propertiesToUpdate); + return new SampleBatchUpdateDetails(updateExperiment, updateParents, updateContainer, + propertiesToUpdate); } private boolean isNotEmpty(String[] parents) @@ -118,13 +122,10 @@ final class UpdatedSampleParserObjectFactory extends NewSampleParserObjectFactor { newSample.setExperimentIdentifier(null); } - if (isDeletionMark(newSample.getParentIdentifier())) - { - newSample.setParentIdentifier(null); - } - if (newSample.getParents() != null && isDeletionMark(newSample.getParents()[0])) + if (newSample.getParentsOrNull() != null && newSample.getParentsOrNull().length > 0 + && isDeletionMark(newSample.getParentsOrNull()[0])) { - newSample.setParents(new String[0]); + newSample.setParentsOrNull(new String[0]); } if (isDeletionMark(newSample.getContainerIdentifier())) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java index 3e71b8aaba57fa3a2f48b874d59e5a8a668db29a..19efab7e69cc0707fe9dd146b826feaacf04e203 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java @@ -479,10 +479,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen experimentIdentifierOrNull = null; newSampleIdentifier = oldSampleIdentifier; } - final String parentIdentifierOrNull = updatedSample.getParentIdentifier(); - final String[] parentsOrNull = - (parentIdentifierOrNull == null) ? updatedSample.getParents() : new String[] - { parentIdentifierOrNull }; + final String[] parentsOrNull = updatedSample.getParentsOrNull(); final String containerIdentifierOrNull = updatedSample.getContainerIdentifier(); final SampleBatchUpdateDetails batchUpdateDetails = createBatchUpdateDetails(updatedSample); @@ -508,7 +505,7 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen propertyCodes.add(p.getPropertyType().getCode()); } SampleBatchUpdateDetails result = - new SampleBatchUpdateDetails(false, false, false, false, propertyCodes); + new SampleBatchUpdateDetails(false, false, false, propertyCodes); return result; } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java index 419d06b3c34a203c440d0f1eab6e115590681687..18acefbd950ccc1c20a954dcee903bdc061eb490 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/SampleBOTest.java @@ -239,6 +239,7 @@ public final class SampleBOTest extends AbstractBOTest context.assertIsSatisfied(); } + @SuppressWarnings("deprecation") @Test public final void testDefineSampleHappyCase() { @@ -739,6 +740,7 @@ public final class SampleBOTest extends AbstractBOTest fail("The edition of stale sample should throw an exception"); } + @SuppressWarnings("deprecation") public final void testFailToDefineSharedSampleWithParentInAGroup() { final SampleIdentifier sharedSampleIdentifier = @@ -866,6 +868,7 @@ public final class SampleBOTest extends AbstractBOTest context.assertIsSatisfied(); } + @SuppressWarnings("deprecation") @Test public final void testRegisterSampleWithUnknownParent() { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java index 44a8accda2da19ee888efbc2740e318295a590d4..0ad2895ca0ccbc21dd657d5bfcbf0f6882b1a277 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAOTest.java @@ -44,6 +44,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePropertyTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE; +import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType; import ch.systemsx.cisd.openbis.generic.shared.dto.EventType; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.GroupPE; @@ -52,7 +53,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePropertyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleRelationshipPE; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePE; -import ch.systemsx.cisd.openbis.generic.shared.dto.EventPE.EntityType; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; @@ -403,7 +403,7 @@ public final class SampleDAOTest extends AbstractDAOTest deleteSample(deletedSample); } - @Test(groups = "broken") + @Test public final void testDeleteWithGeneratedSamples() { final SamplePE deletedSample = findSample("3VCP2", "CISD"); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java index 78755ce9db0d90a2056caa76c636bdb450cc6b4a..97161fc191746d16973fe9cec5b10def7b67134f 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java @@ -80,6 +80,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest private GenericClientService genericClientService; + @SuppressWarnings("deprecation") private final static NewSample createNewSample(final String sampleIdentifier, final String sampleTypeCode, final IEntityProperty[] properties, final String parent, final String container) @@ -125,7 +126,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest multipartFile = context.mock(MultipartFile.class); genericClientService = new GenericClientService(genericServer, requestContextProvider); } - + @Test public void testGetSampleGenerationInfo() { @@ -134,7 +135,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest { { prepareGetSessionToken(this); - + one(genericServer).getSampleInfo(SESSION_TOKEN, sampleId); SampleParentWithDerived parentWithDerived = new SampleParentWithDerived(); Sample sample = new Sample(); @@ -145,13 +146,14 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest }); SampleParentWithDerived info = genericClientService.getSampleGenerationInfo(sampleId); - + IEntityProperty transformedXMLProperty = info.getParent().getProperties().get(0); - assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", transformedXMLProperty.tryGetAsString()); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", + transformedXMLProperty.tryGetAsString()); assertEquals("<root>hello</root>", transformedXMLProperty.tryGetOriginalValue()); context.assertIsSatisfied(); } - + @Test public void testGetSampleInfo() { @@ -184,51 +186,51 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest { final TechId id = new TechId(4711L); context.checking(new Expectations() - { { - prepareGetSessionToken(this); - - one(genericServer).getDataSetInfo(SESSION_TOKEN, id); - ExternalData dataSet = new ExternalData(); - dataSet.setDataSetProperties(Arrays.asList(createXmlProperty())); - will(returnValue(dataSet)); - } - }); - + { + prepareGetSessionToken(this); + + one(genericServer).getDataSetInfo(SESSION_TOKEN, id); + ExternalData dataSet = new ExternalData(); + dataSet.setDataSetProperties(Arrays.asList(createXmlProperty())); + will(returnValue(dataSet)); + } + }); + ExternalData info = genericClientService.getDataSetInfo(id); - + IEntityProperty transformedXMLProperty = info.getProperties().get(0); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", transformedXMLProperty.tryGetAsString()); assertEquals("<root>hello</root>", transformedXMLProperty.tryGetOriginalValue()); context.assertIsSatisfied(); } - + @Test public void testGetMaterialInfo() { final TechId id = new TechId(4711L); context.checking(new Expectations() - { { - prepareGetSessionToken(this); - - one(genericServer).getMaterialInfo(SESSION_TOKEN, id); - Material material = new Material(); - material.setProperties(Arrays.asList(createXmlProperty())); - will(returnValue(material)); - } - }); - + { + prepareGetSessionToken(this); + + one(genericServer).getMaterialInfo(SESSION_TOKEN, id); + Material material = new Material(); + material.setProperties(Arrays.asList(createXmlProperty())); + will(returnValue(material)); + } + }); + Material info = genericClientService.getMaterialInfo(id); - + IEntityProperty transformedXMLProperty = info.getProperties().get(0); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", transformedXMLProperty.tryGetAsString()); assertEquals("<root>hello</root>", transformedXMLProperty.tryGetOriginalValue()); context.assertIsSatisfied(); } - + @Test public final void testRegisterSample() { @@ -276,6 +278,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest context.assertIsSatisfied(); } + @SuppressWarnings("deprecation") @Test public final void testRegisterSamples() throws IOException { @@ -326,7 +329,8 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest will(new CustomAction("check sample") { - @SuppressWarnings("unchecked") + @SuppressWarnings( + { "unchecked" }) public Object invoke(Invocation invocation) throws Throwable { final List<NewSamplesWithTypes> samplesSecions = @@ -358,8 +362,8 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest assertEquals(1, result.size()); final BatchRegistrationResult batchRegistrationResult = result.get(0); assertEquals(fileName, batchRegistrationResult.getFileName()); - assertEquals("Registration of 1 sample(s) is complete.", batchRegistrationResult - .getMessage()); + assertEquals("Registration of 1 sample(s) is complete.", + batchRegistrationResult.getMessage()); context.assertIsSatisfied(); } @@ -406,7 +410,8 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest will(new CustomAction("check sample") { - @SuppressWarnings("unchecked") + @SuppressWarnings( + { "unchecked", "deprecation" }) public Object invoke(Invocation invocation) throws Throwable { final List<NewSamplesWithTypes> samplesSecions = @@ -419,7 +424,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest final NewSample sample1 = samples.getNewSamples().get(0); assertEquals("/G1/MP1", sample1.getIdentifier()); assertEquals("/G1/MP2", sample1.getContainerIdentifier()); - assertEquals(null, sample1.getParentIdentifier()); + assertEquals(0, sample1.getParentsOrNull().length); assertEquals("EXP1", sample1.getExperimentIdentifier()); assertEquals(1, sample1.getProperties().length); final IEntityProperty prop1 = sample1.getProperties()[0]; @@ -448,7 +453,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest assertEquals("Update of 2 sample(s) is complete.", batchRegistrationResult.getMessage()); context.assertIsSatisfied(); } - + @Test public void testUpdateMaterials() throws IOException { @@ -465,7 +470,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest assertEquals(updateCount + " material(s) updated.", results.get(0).getMessage()); context.assertIsSatisfied(); } - + @Test public void testUpdateMaterialsIgnoringUnregisteredButNoUnregistered() throws IOException { @@ -473,16 +478,17 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest final boolean ignoreUnregisteredMaterials = true; final int updateCount = 1; prepareMaterialsUpdate(sessionKey, ignoreUnregisteredMaterials, updateCount); - + List<BatchRegistrationResult> results = - genericClientService.updateMaterials(MATERIAL_TYPE, sessionKey, - ignoreUnregisteredMaterials); - + genericClientService.updateMaterials(MATERIAL_TYPE, sessionKey, + ignoreUnregisteredMaterials); + assertEquals(1, results.size()); - assertEquals(updateCount + " material(s) updated, non ignored.", results.get(0).getMessage()); + assertEquals(updateCount + " material(s) updated, non ignored.", results.get(0) + .getMessage()); context.assertIsSatisfied(); } - + @Test public void testUpdateMaterialsIgnoringUnregistered() throws IOException { @@ -490,11 +496,11 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest final boolean ignoreUnregisteredMaterials = true; final int updateCount = 0; prepareMaterialsUpdate(sessionKey, ignoreUnregisteredMaterials, updateCount); - + List<BatchRegistrationResult> results = - genericClientService.updateMaterials(MATERIAL_TYPE, sessionKey, - ignoreUnregisteredMaterials); - + genericClientService.updateMaterials(MATERIAL_TYPE, sessionKey, + ignoreUnregisteredMaterials); + assertEquals(1, results.size()); assertEquals(updateCount + " material(s) updated, 1 ignored.", results.get(0).getMessage()); context.assertIsSatisfied(); @@ -621,7 +627,7 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest property.setValue("<root>hello</root>"); return property; } - + /** * A {@link BaseMatcher} extension for checking the list of {@link NewSample NewSamples}. * @@ -661,10 +667,10 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest private final boolean equals(final NewSample newSample, final NewSample thatNewSample) { return ObjectUtils.equals(newSample, thatNewSample) - && StringUtils.equals(newSample.getContainerIdentifier(), thatNewSample - .getContainerIdentifier()) - && StringUtils.equals(newSample.getParentIdentifier(), thatNewSample - .getParentIdentifier()) + && StringUtils.equals(newSample.getContainerIdentifier(), + thatNewSample.getContainerIdentifier()) + && StringUtils.equals(Arrays.toString(newSample.getParentsOrNull()), + Arrays.toString(thatNewSample.getParentsOrNull())) && equals(newSample.getProperties(), thatNewSample.getProperties()); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactoryTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactoryTest.java index 717dc2a5ac46e1a3cfbdb598d709bf713bc4abe1..200f3e5436cea21a2b4da9bc9f85cc01c7789d73 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactoryTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/NewSampleParserObjectFactoryTest.java @@ -181,6 +181,7 @@ public final class NewSampleParserObjectFactoryTest } } + @SuppressWarnings("deprecation") @Test(dataProvider = "getLineTokens") public final void testCreateObject(final String[] lineTokens, final int numberOfProperties) { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactoryTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactoryTest.java index ad9218f48bf5e3b3ff88c4a9539a19b52a94512f..ea811f8ad25471b9de2dd394401ef36e273090f3 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactoryTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/parser/UpdatedSampleParserObjectFactoryTest.java @@ -113,9 +113,9 @@ public final class UpdatedSampleParserObjectFactoryTest assertEquals(numOfPropertiestoUpdate, propertiesToUpdate.size()); assertEquals(StringUtils.isBlank(p1Token) == false, propertiesToUpdate.contains(PROPERTY_1)); assertEquals(StringUtils.isBlank(p2Token) == false, propertiesToUpdate.contains(PROPERTY_2)); - assertEquals(StringUtils.isBlank(containerToken) == false, batchUpdateDetails - .isContainerUpdateRequested()); - assertFalse(batchUpdateDetails.isParentUpdateRequested()); + assertEquals(StringUtils.isBlank(containerToken) == false, + batchUpdateDetails.isContainerUpdateRequested()); + assertFalse(batchUpdateDetails.isParentsUpdateRequested()); assertFalse(batchUpdateDetails.isExperimentUpdateRequested()); } } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/plugin/generic/SampleRegistrationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/plugin/generic/SampleRegistrationTest.java index a1a56f27070142f1d43e3c632277f8ab1011af38..5b105dc74af016c03308980c1c639c2ed4376040 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/plugin/generic/SampleRegistrationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/plugin/generic/SampleRegistrationTest.java @@ -73,7 +73,7 @@ public class SampleRegistrationTest extends GenericSystemTestCase // - dealing with the same parent stated more than once String[] parents = new String[] { "c1", "C2", "/CISD/C3", "CISD:/CISD/C3" }; - sample.setParents(parents); + sample.setParentsOrNull(parents); genericClientService.registerSample("session", sample); Sample s = getSpaceSample(identifier); @@ -98,7 +98,7 @@ public class SampleRegistrationTest extends GenericSystemTestCase final String identifier = CISD_SHORT + sampleCode; sample.setIdentifier(identifier); final String parent = "CISD:/CISD/C1"; - sample.setParents(new String[] + sample.setParentsOrNull(new String[] { parent }); final SampleType sampleType = new SampleType(); sampleType.setCode(DILUTION_PLATE);