From e2241b40ca34872c7056063c5d39f87c02b494d5 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 17 Dec 2009 19:09:35 +0100 Subject: [PATCH] ItEr39S17CUImportacionOrganizacionsTraballo: Adding properly messages and checks about mandatory attributes to Order. --- .../business/common/Registry.java | 8 + .../business/orders/entities/Order.java | 8 +- .../orders/entities/OrderElement.java | 5 +- .../ws/orders/api/OrderLineDTO.java | 3 +- .../ws/orders/api/OrderLineGroupDTO.java | 3 +- .../ws/orders/impl/OrderElementConverter.java | 8 +- .../ws/orders/OrderElementServiceTest.java | 182 ++++++++++++++++++ 7 files changed, 207 insertions(+), 10 deletions(-) create mode 100644 navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java index 9f23a72d7..47dc3103c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/Registry.java @@ -22,6 +22,7 @@ package org.navalplanner.business.common; import org.navalplanner.business.advance.daos.IAdvanceTypeDAO; import org.navalplanner.business.calendars.daos.IBaseCalendarDAO; +import org.navalplanner.business.common.daos.IConfigurationDAO; import org.navalplanner.business.costcategories.daos.ITypeOfWorkHoursDAO; import org.navalplanner.business.labels.daos.ILabelDAO; import org.navalplanner.business.labels.daos.ILabelTypeDAO; @@ -88,6 +89,9 @@ public class Registry { @Autowired private ILabelTypeDAO labelTypeDAO; + @Autowired + private IConfigurationDAO configurationDAO; + private Registry() { } @@ -143,4 +147,8 @@ public class Registry { return getInstance().labelTypeDAO; } + public static IConfigurationDAO getConfigurationDAO() { + return getInstance().configurationDAO; + } + } \ No newline at end of file diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java index 38528fabd..c59d126f6 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java @@ -63,7 +63,7 @@ public class Order extends OrderLineGroup { private Boolean dependenciesConstraintsHavePriority; - @NotNull + @NotNull(message = "order calendar not specified") private BaseCalendar calendar; public String getResponsible() { @@ -118,19 +118,19 @@ public class Order extends OrderLineGroup { @SuppressWarnings("unused") @AssertTrue(message = "the order must have a init date") - private boolean theOrderMustHaveStartDate() { + private boolean checkConstraintOrderMustHaveStartDate() { return getInitDate() != null; } @SuppressWarnings("unused") @AssertTrue(message = "deadline must be after start date") - private boolean theDeadlineMustBeAfterStart() { + private boolean checkConstraintDeadlineMustBeAfterStart() { return !this.isDeadlineBeforeStart(); } @SuppressWarnings("unused") @AssertTrue(message = "At least one HoursGroup is needed for each OrderElement") - private boolean atLeastOneHoursGroupForEachOrderElement() { + private boolean checkConstraintAtLeastOneHoursGroupForEachOrderElement() { for (OrderElement orderElement : this.getOrderElements()) { if (!orderElement.checkAtLeastOneHoursGroup()) { return false; 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 8d64c48e1..f04de5e8e 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 @@ -54,7 +54,7 @@ import org.navalplanner.business.requirements.entities.IndirectCriterionRequirem import org.navalplanner.business.resources.entities.Criterion; public abstract class OrderElement extends BaseEntity { - + @NotEmpty(message = "name not specified") private String name; private Date initDate; @@ -73,6 +73,7 @@ public abstract class OrderElement extends BaseEntity { private Set