From 2d6bf0074a7979d3595afe1ce306282146c6c1ca Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Wed, 13 Apr 2011 10:04:52 +0200 Subject: [PATCH] [Bug #941] Check out if a quality form is not assigned twice to the same order element. FEA: ItEr74S04BugFixing --- .../business/orders/entities/OrderElement.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 3c76b424e..8b20ffc06 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 @@ -31,8 +31,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Set; +import java.util.Map.Entry; import org.apache.commons.lang.Validate; import org.hibernate.validator.AssertTrue; @@ -1362,4 +1362,17 @@ public abstract class OrderElement extends IntegrationEntity implements return getOrder() != null ? getOrder().isCodeAutogenerated() : false; } + @AssertTrue(message = "a quality form can not be assigned twice to the same order element") + public boolean checkConstraintUniqueQualityForm() { + Set qualityForms = new HashSet(); + for (TaskQualityForm each : taskQualityForms) { + QualityForm qualityForm = each.getQualityForm(); + if (qualityForms.contains(qualityForm)) { + return false; + } + qualityForms.add(qualityForm); + } + return true; + } + }