diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java index d7a9302f0..496473565 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceType.java @@ -123,4 +123,10 @@ public class AdvanceType { return true; } + public static boolean equivalentInDB(AdvanceType type, AdvanceType otherType) { + if (type.getId() == null || otherType.getId() == null) + return false; + return type.getId().equals(otherType.getId()); + } + } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index 43c0a056c..7db89cfb0 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -8,6 +8,7 @@ import java.util.Set; import org.hibernate.validator.NotEmpty; import org.navalplanner.business.advance.entities.AdvanceAssigment; +import org.navalplanner.business.advance.entities.AdvanceType; import org.navalplanner.business.advance.exceptions.DuplicateAdvanceAssigmentForOrderElementException; import org.navalplanner.business.advance.exceptions.DuplicateValueTrueReportGlobalAdvanceException; import org.navalplanner.business.planner.entities.TaskElement; @@ -209,8 +210,8 @@ public abstract class OrderElement { throws DuplicateAdvanceAssigmentForOrderElementException { for (AdvanceAssigment advanceAssigment : orderElement .getAdvanceAssigments()) { - if (advanceAssigment.getAdvanceType().getId().equals( - newAdvanceAssigment.getAdvanceType().getId())) { + if (AdvanceType.equivalentInDB(advanceAssigment.getAdvanceType(), + newAdvanceAssigment.getAdvanceType())) { throw new DuplicateAdvanceAssigmentForOrderElementException( "Duplicate Advance Assigment For Order Element", this, OrderElement.class);