diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java index a7c6f5d88..ed4c4c6c7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/AdvanceMeasurement.java @@ -41,13 +41,10 @@ public class AdvanceMeasurement extends BaseEntity { return advanceMeasurement; } - @NotNull private LocalDate date; - @NotNull private BigDecimal value; - @NotNull private AdvanceAssignment advanceAssignment; public AdvanceMeasurement() { @@ -56,13 +53,16 @@ public class AdvanceMeasurement extends BaseEntity { private AdvanceMeasurement(LocalDate date, BigDecimal value) { this.date = date; this.value = value; - this.value.setScale(2,BigDecimal.ROUND_HALF_UP); + if (this.value != null) { + this.value.setScale(2, BigDecimal.ROUND_HALF_UP); + } } public void setDate(LocalDate date) { this.date = date; } + @NotNull(message = "date not specified") public LocalDate getDate() { return this.date; } @@ -74,6 +74,7 @@ public class AdvanceMeasurement extends BaseEntity { } } + @NotNull(message = "value not specified") public BigDecimal getValue() { return this.value; } @@ -82,6 +83,7 @@ public class AdvanceMeasurement extends BaseEntity { this.advanceAssignment = advanceAssignment; } + @NotNull(message = "advance assignment not specified") public AdvanceAssignment getAdvanceAssignment() { return this.advanceAssignment; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/DirectAdvanceAssignment.java b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/DirectAdvanceAssignment.java index f8feab600..3bd4dfc93 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/DirectAdvanceAssignment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/advance/entities/DirectAdvanceAssignment.java @@ -26,6 +26,7 @@ import java.util.SortedSet; import java.util.TreeSet; import org.hibernate.validator.NotNull; +import org.hibernate.validator.Valid; import org.joda.time.LocalDate; import org.navalplanner.business.orders.entities.OrderElement; @@ -51,9 +52,9 @@ public class DirectAdvanceAssignment extends AdvanceAssignment { return advanceAssignment; } - @NotNull private BigDecimal maxValue; + @Valid private SortedSet advanceMeasurements = new TreeSet( new AdvanceMeasurementComparator()); @@ -68,6 +69,7 @@ public class DirectAdvanceAssignment extends AdvanceAssignment { this.maxValue.setScale(2, BigDecimal.ROUND_HALF_UP); } + @NotNull(message = "maximum value not specified") public BigDecimal getMaxValue() { return this.maxValue; } 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 ac03faf1a..fba89ece9 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 @@ -76,6 +76,7 @@ public abstract class OrderElement extends BaseEntity { private String description; + @Valid protected Set directAdvanceAssignments = new HashSet(); @Valid