From 1714e31e29f5d76fff18c017b28c12647fbde2cb Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Wed, 15 May 2013 14:13:52 +0000 Subject: [PATCH] SP-625 BIS-398: Editing Functionality Fixes. Ongoing work. SVN: 29148 --- .../openbis/generic/server/CommonServer.java | 24 ++++++++++--------- .../business/bo/EntityTypePropertyTypeBO.java | 6 ++--- 2 files changed, 16 insertions(+), 14 deletions(-) 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 86999c7d913..8327e0eae4d 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 @@ -1292,16 +1292,15 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt for (int i = 0; i < fin.size(); i++) { - if (i < fin.size() && i < ini.size()) // Is Check Possible + newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null); + if (i < ini.size()) // Is Check Possible { if (ini.get(i).equals(fin.get(i))) // Do nothing. { - // Positions are equal but maibe the data have changed. - if (ini.get(i).getOrdinal() != fin.get(i).getOrdinal()) - { - updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment()); - } - } else if (false == ini.get(i).equals(fin.get(i))) // Something needs to be done. + // Positions are equal but maybe the data have changed. + updatePropertyTypeAssignment(sessionToken, newETNewPTAssigments.getAssigments().get(i).getAssignment()); + } else + // Something needs to be done. { if (false == fin.contains(ini.get(i))) // Delete { @@ -1331,7 +1330,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt i--; } - } else if (i >= ini.size()) + } else { if (false == newETNewPTAssigments.getAssigments().get(i).isExistingPropertyType()) { @@ -1342,15 +1341,17 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt ini.add(i, fin.get(i)); i--; } + } for (int i = 0; i < ini.size(); i++) { - if (i < fin.size() && i < ini.size() // Is Check Possible - && ini.get(i).equals(fin.get(i))) // Do nothing. + newETNewPTAssigments.getAssigments().get(i).getAssignment().setModificationDate(null); + + if (i < fin.size() && ini.get(i).equals(fin.get(i))) // Do nothing. { // Positions are equal - } else if (i >= fin.size()) + } else { unassignPropertyType(sessionToken, newETNewPTAssigments.getEntity().getEntityKind(), @@ -1359,6 +1360,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt ini.remove(i); i--; } + } return results.toString(); 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 e706283d2d2..9e53dc133c4 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()) == false) + if (assignment.getModificationDate().equals(assignmentUpdates.getModificationDate()) == false && + (assignmentUpdates.getModificationDate() == null) == false) { throwModifiedEntityException("Property type assignment"); } @@ -322,8 +323,7 @@ public class EntityTypePropertyTypeBO extends AbstractBusinessObject implements } /** - * shift specified entity type etpts by specified increment starting from etpt with specified - * ordinal + * shift specified entity type etpts by specified increment starting from etpt with specified ordinal * * @param entityType */ -- GitLab