From 23d70111e0958ad42d6ea06df37622cb984a4e14 Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Wed, 29 Sep 2010 11:16:35 +0200 Subject: [PATCH] HoursGroup must extend from IntegrationEntity FEA: ItEr61S05BugFixing --- .../business/orders/daos/HoursGroupDAO.java | 4 ++-- .../business/orders/daos/IHoursGroupDAO.java | 4 ++-- .../business/orders/entities/HoursGroup.java | 10 ++++++++-- .../business/orders/entities/Orders.hbm.xml | 2 +- .../test/planner/daos/ResourceAllocationDAOTest.java | 2 +- .../web/test/ws/orders/OrderElementServiceTest.java | 7 +++++-- 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/HoursGroupDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/HoursGroupDAO.java index a119d9f9c..cd263819e 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/HoursGroupDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/HoursGroupDAO.java @@ -24,7 +24,7 @@ import org.apache.commons.lang.Validate; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.criterion.Restrictions; -import org.navalplanner.business.common.daos.GenericDAOHibernate; +import org.navalplanner.business.common.daos.IntegrationEntityDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.orders.entities.HoursGroup; import org.springframework.beans.factory.config.BeanDefinition; @@ -40,7 +40,7 @@ import org.springframework.transaction.annotation.Transactional; */ @Repository @Scope(BeanDefinition.SCOPE_SINGLETON) -public class HoursGroupDAO extends GenericDAOHibernate +public class HoursGroupDAO extends IntegrationEntityDAO implements IHoursGroupDAO { @Override diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IHoursGroupDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IHoursGroupDAO.java index f8903313d..f061fa8ad 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IHoursGroupDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/daos/IHoursGroupDAO.java @@ -20,7 +20,7 @@ package org.navalplanner.business.orders.daos; -import org.navalplanner.business.common.daos.IGenericDAO; +import org.navalplanner.business.common.daos.IIntegrationEntityDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.orders.entities.HoursGroup; @@ -29,7 +29,7 @@ import org.navalplanner.business.orders.entities.HoursGroup; * * @author Manuel Rego Casasnovas */ -public interface IHoursGroupDAO extends IGenericDAO { +public interface IHoursGroupDAO extends IIntegrationEntityDAO { boolean existsByCodeAnotherTransaction(HoursGroup hoursGroup); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/HoursGroup.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/HoursGroup.java index 1c923d3b2..caa77ff8c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/HoursGroup.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/HoursGroup.java @@ -37,8 +37,9 @@ import org.hibernate.validator.AssertTrue; import org.hibernate.validator.NotEmpty; import org.hibernate.validator.NotNull; import org.hibernate.validator.Valid; -import org.navalplanner.business.common.BaseEntity; +import org.navalplanner.business.common.IntegrationEntity; import org.navalplanner.business.common.Registry; +import org.navalplanner.business.common.daos.IIntegrationEntityDAO; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.orders.daos.IHoursGroupDAO; import org.navalplanner.business.requirements.entities.CriterionRequirement; @@ -48,7 +49,7 @@ import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.ResourceEnum; import org.navalplanner.business.templates.entities.OrderLineTemplate; -public class HoursGroup extends BaseEntity implements Cloneable, +public class HoursGroup extends IntegrationEntity implements Cloneable, ICriterionRequirable { private static final Log LOG = LogFactory.getLog(HoursGroup.class); @@ -432,4 +433,9 @@ public class HoursGroup extends BaseEntity implements Cloneable, this.origin = origin; } + @Override + protected IIntegrationEntityDAO getIntegrationEntityDAO() { + return Registry.getHoursGroupDAO(); + } + } diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml index 9050dd0fb..963f9d3d3 100644 --- a/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml @@ -161,7 +161,7 @@ - + diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/ResourceAllocationDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/ResourceAllocationDAOTest.java index f1c3d65b2..0c2b1eefc 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/ResourceAllocationDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/ResourceAllocationDAOTest.java @@ -151,7 +151,7 @@ public class ResourceAllocationDAOTest { orderElementDAO.save(orderLine); HoursGroup hoursGroup = HoursGroup.create(orderLine); - hoursGroup.setCode("hoursGroupName"); + hoursGroup.setCode(UUID.randomUUID().toString()); hoursGroupDAO.save(hoursGroup); List hoursGroups = Arrays.asList(hoursGroup); diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java index ad6f6afc0..57fadba85 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java @@ -38,6 +38,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.SortedSet; @@ -339,8 +340,9 @@ public class OrderElementServiceTest { List constraintViolations = instanceConstraintViolationsList .get(0).constraintViolations; - // Mandatory fields: name, workingHours - assertThat(constraintViolations.size(), equalTo(1)); + // Mandatory fields: code, workingHours + assertThat(constraintViolations.size(), equalTo(2)); + for (ConstraintViolationDTO constraintViolationDTO : constraintViolations) { assertThat(constraintViolationDTO.fieldName, anyOf(mustEnd("code"), mustEnd("workingHours"))); @@ -520,6 +522,7 @@ public class OrderElementServiceTest { OrderListDTO orderListDTO = createOrderListDTO(orderDTO); List instanceConstraintViolationsList = orderElementService .addOrders(orderListDTO).instanceConstraintViolationsList; + assertThat(instanceConstraintViolationsList.size(), equalTo(1)); List constraintViolations = instanceConstraintViolationsList