diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java index 68890e77b..5b5dd05f3 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java @@ -172,9 +172,9 @@ public class LimitingResourceQueueElement extends BaseEntity { public void add(LimitingResourceQueueDependency d) { Validate.notNull(d); - if (d.getHasAsOrigin().getId().equals(this.getId())) { + if (sameInDB(d.getHasAsOrigin())) { dependenciesAsOrigin.add(d); - } else if (d.getHasAsDestiny().getId().equals(this.getId())) { + } else if (sameInDB(d.getHasAsDestiny())) { dependenciesAsDestiny.add(d); } else { throw new IllegalArgumentException( @@ -184,6 +184,11 @@ public class LimitingResourceQueueElement extends BaseEntity { } } + private boolean sameInDB(LimitingResourceQueueElement other) { + return this == other || other.getId() != null && this.getId() != null + && other.getId().equals(this.getId()); + } + public void remove(LimitingResourceQueueDependency d) { if (dependenciesAsOrigin.contains(d)) dependenciesAsOrigin.remove(d);