diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index ab3509da6dd4df3a94c9c39669d71c2c743883de..6b372ba898c19af4a33a93d7e67ff4223c3caf06 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -1333,6 +1333,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt if (ini.get(i).getPropertyType().getCode().equals(fin.get(i).getPropertyType().getCode())) // Do nothing. { // Positions are equal but maybe something have changed. + newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null); updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment()); } else // Something needs to be done. @@ -1349,6 +1350,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt { if (ini.contains(fin.get(i))) // Is present into another position, but is not this one, move it. { // Edit + newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null); updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment()); ini.remove(fin.get(i)); ini.add(i, fin.get(i)); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java index b12c16bb0026558527ed468b5584b557cce3aa70..3c2d8681287a20d9d4556ff40241f52dc9399dcc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypePropertyTypeBO.java @@ -217,7 +217,8 @@ public class EntityTypePropertyTypeBO extends AbstractBusinessObject implements @Override public void updateLoadedAssignment(NewETPTAssignment assignmentUpdates) { - if (assignment.getModificationDate().equals(assignmentUpdates.getModificationDate())) + if (assignmentUpdates.getModificationDate() != null && // Avoid validation, needed to make multiple modifications with one call + assignment.getModificationDate().equals(assignmentUpdates.getModificationDate()) == false) { throwModifiedEntityException("Property type assignment"); }