HoursGroup must extend from IntegrationEntity

FEA: ItEr61S05BugFixing
This commit is contained in:
Diego Pino Garcia 2010-09-29 11:16:35 +02:00
parent cc61ab72b9
commit 23d70111e0
6 changed files with 19 additions and 10 deletions

View file

@ -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<HoursGroup, Long>
public class HoursGroupDAO extends IntegrationEntityDAO<HoursGroup>
implements IHoursGroupDAO {
@Override

View file

@ -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 <mrego@igalia.com>
*/
public interface IHoursGroupDAO extends IGenericDAO<HoursGroup, Long> {
public interface IHoursGroupDAO extends IIntegrationEntityDAO<HoursGroup> {
boolean existsByCodeAnotherTransaction(HoursGroup hoursGroup);

View file

@ -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<? extends IntegrationEntity> getIntegrationEntityDAO() {
return Registry.getHoursGroupDAO();
}
}

View file

@ -161,7 +161,7 @@
</id>
<version name="version" access="property" type="long" />
<property name="code" access="field" not-null="true" />
<property name="code" access="field" not-null="true" unique="true" />
<property name="resourceType" access="field" >
<type name="org.hibernate.type.EnumType">

View file

@ -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<HoursGroup> hoursGroups = Arrays.asList(hoursGroup);

View file

@ -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<ConstraintViolationDTO> 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<InstanceConstraintViolationsDTO> instanceConstraintViolationsList = orderElementService
.addOrders(orderListDTO).instanceConstraintViolationsList;
assertThat(instanceConstraintViolationsList.size(), equalTo(1));
List<ConstraintViolationDTO> constraintViolations = instanceConstraintViolationsList