ItEr51S10AdaptacionServiciosRESTItEr50S13 : Adapting of the Material and the MaterialCategory to IntegrationEntity.
This commit is contained in:
parent
e9767d320c
commit
ca69d86831
8 changed files with 50 additions and 13 deletions
|
|
@ -22,7 +22,7 @@ package org.navalplanner.business.materials.daos;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
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.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.entities.Material;
|
import org.navalplanner.business.materials.entities.Material;
|
||||||
import org.navalplanner.business.materials.entities.MaterialCategory;
|
import org.navalplanner.business.materials.entities.MaterialCategory;
|
||||||
|
|
@ -33,7 +33,8 @@ import org.navalplanner.business.materials.entities.MaterialCategory;
|
||||||
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
||||||
* @author Diego Pino Garcia <dpino@igalia.com>
|
* @author Diego Pino Garcia <dpino@igalia.com>
|
||||||
*/
|
*/
|
||||||
public interface IMaterialCategoryDAO extends IGenericDAO<MaterialCategory, Long> {
|
public interface IMaterialCategoryDAO extends
|
||||||
|
IIntegrationEntityDAO<MaterialCategory> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if {@link MaterialCategory} exists
|
* Returns true if {@link MaterialCategory} exists
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ package org.navalplanner.business.materials.daos;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
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.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.entities.Material;
|
import org.navalplanner.business.materials.entities.Material;
|
||||||
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
||||||
|
|
@ -37,7 +37,7 @@ import org.navalplanner.business.orders.entities.Order;
|
||||||
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
||||||
* @author Diego Pino Garcia <dpino@igalia.com>
|
* @author Diego Pino Garcia <dpino@igalia.com>
|
||||||
*/
|
*/
|
||||||
public interface IMaterialDAO extends IGenericDAO<Material, Long> {
|
public interface IMaterialDAO extends IIntegrationEntityDAO<Material> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if {@link Material} exits
|
* Returns true if {@link Material} exits
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.Criteria;
|
import org.hibernate.Criteria;
|
||||||
import org.hibernate.criterion.Restrictions;
|
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.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.entities.MaterialCategory;
|
import org.navalplanner.business.materials.entities.MaterialCategory;
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
|
|
@ -40,7 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
*/
|
*/
|
||||||
@Repository
|
@Repository
|
||||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||||
public class MaterialCategoryDAO extends GenericDAOHibernate<MaterialCategory, Long> implements
|
public class MaterialCategoryDAO extends IntegrationEntityDAO<MaterialCategory>
|
||||||
|
implements
|
||||||
IMaterialCategoryDAO {
|
IMaterialCategoryDAO {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ import java.util.Set;
|
||||||
import org.hibernate.Criteria;
|
import org.hibernate.Criteria;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
import org.hibernate.criterion.Restrictions;
|
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.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.entities.Material;
|
import org.navalplanner.business.materials.entities.Material;
|
||||||
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
import org.navalplanner.business.materials.entities.MaterialAssignment;
|
||||||
|
|
@ -50,7 +50,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
*/
|
*/
|
||||||
@Repository
|
@Repository
|
||||||
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
@Scope(BeanDefinition.SCOPE_SINGLETON)
|
||||||
public class MaterialDAO extends GenericDAOHibernate<Material, Long> implements
|
public class MaterialDAO extends IntegrationEntityDAO<Material> implements
|
||||||
IMaterialDAO {
|
IMaterialDAO {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import java.math.BigDecimal;
|
||||||
import org.hibernate.validator.AssertTrue;
|
import org.hibernate.validator.AssertTrue;
|
||||||
import org.hibernate.validator.NotEmpty;
|
import org.hibernate.validator.NotEmpty;
|
||||||
import org.hibernate.validator.NotNull;
|
import org.hibernate.validator.NotNull;
|
||||||
import org.navalplanner.business.common.BaseEntity;
|
import org.navalplanner.business.common.IntegrationEntity;
|
||||||
import org.navalplanner.business.common.Registry;
|
import org.navalplanner.business.common.Registry;
|
||||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.daos.IMaterialDAO;
|
import org.navalplanner.business.materials.daos.IMaterialDAO;
|
||||||
|
|
@ -36,7 +36,7 @@ import org.navalplanner.business.materials.daos.IMaterialDAO;
|
||||||
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class Material extends BaseEntity implements Comparable {
|
public class Material extends IntegrationEntity implements Comparable {
|
||||||
|
|
||||||
@NotEmpty(message = "code not specified")
|
@NotEmpty(message = "code not specified")
|
||||||
private String code;
|
private String code;
|
||||||
|
|
@ -146,4 +146,9 @@ public class Material extends BaseEntity implements Comparable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected IMaterialDAO getIntegrationEntityDAO() {
|
||||||
|
return Registry.getMaterialDAO();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,12 @@ import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.hibernate.validator.AssertTrue;
|
import org.hibernate.validator.AssertTrue;
|
||||||
import org.hibernate.validator.NotEmpty;
|
import org.hibernate.validator.NotEmpty;
|
||||||
import org.hibernate.validator.Valid;
|
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.Registry;
|
||||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||||
import org.navalplanner.business.materials.daos.IMaterialCategoryDAO;
|
import org.navalplanner.business.materials.daos.IMaterialCategoryDAO;
|
||||||
|
|
@ -40,7 +42,7 @@ import org.navalplanner.business.materials.daos.IMaterialCategoryDAO;
|
||||||
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
* @author Jacobo Aragunde Perez <jaragunde@igalia.com>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class MaterialCategory extends BaseEntity {
|
public class MaterialCategory extends IntegrationEntity {
|
||||||
|
|
||||||
public static List<Material> getAllMaterialsFrom(
|
public static List<Material> getAllMaterialsFrom(
|
||||||
Collection<? extends MaterialCategory> categories) {
|
Collection<? extends MaterialCategory> categories) {
|
||||||
|
|
@ -144,4 +146,26 @@ public class MaterialCategory extends BaseEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Material getMaterialByCode(String code)
|
||||||
|
throws InstanceNotFoundException {
|
||||||
|
|
||||||
|
if (StringUtils.isBlank(code)) {
|
||||||
|
throw new InstanceNotFoundException(code, Material.class.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Material m : this.materials) {
|
||||||
|
if (m.getCode().equalsIgnoreCase(StringUtils.trim(code))) {
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new InstanceNotFoundException(code, Material.class.getName());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected IMaterialCategoryDAO getIntegrationEntityDAO() {
|
||||||
|
return Registry.getMaterialCategoryDAO();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@
|
||||||
</id>
|
</id>
|
||||||
<version name="version" access="property" type="long" />
|
<version name="version" access="property" type="long" />
|
||||||
|
|
||||||
|
<property name="code" access="property" not-null="true" unique="true"/>
|
||||||
|
|
||||||
<property name="name" />
|
<property name="name" />
|
||||||
|
|
||||||
<set name="subcategories" inverse="true" cascade="all-delete-orphan">
|
<set name="subcategories" inverse="true" cascade="all-delete-orphan">
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,9 @@ public class OrderElementServiceTest {
|
||||||
@Resource
|
@Resource
|
||||||
private IDataBootstrap materialCategoryBootstrap;
|
private IDataBootstrap materialCategoryBootstrap;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDataBootstrap unitTypeBootstrap;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IDataBootstrap criterionsBootstrap;
|
private IDataBootstrap criterionsBootstrap;
|
||||||
|
|
||||||
|
|
@ -119,6 +122,7 @@ public class OrderElementServiceTest {
|
||||||
configurationBootstrap.loadRequiredData();
|
configurationBootstrap.loadRequiredData();
|
||||||
materialCategoryBootstrap.loadRequiredData();
|
materialCategoryBootstrap.loadRequiredData();
|
||||||
criterionsBootstrap.loadRequiredData();
|
criterionsBootstrap.loadRequiredData();
|
||||||
|
unitTypeBootstrap.loadRequiredData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -471,7 +475,7 @@ public class OrderElementServiceTest {
|
||||||
List<ConstraintViolationDTO> constraintViolations = instanceConstraintViolationsList
|
List<ConstraintViolationDTO> constraintViolations = instanceConstraintViolationsList
|
||||||
.get(0).constraintViolations;
|
.get(0).constraintViolations;
|
||||||
// Mandatory fields: material code
|
// Mandatory fields: material code
|
||||||
assertThat(constraintViolations.size(), equalTo(1));
|
assertThat(constraintViolations.size(), equalTo(2));
|
||||||
assertThat(constraintViolations.get(0).fieldName, mustEnd("code"));
|
assertThat(constraintViolations.get(0).fieldName, mustEnd("code"));
|
||||||
|
|
||||||
assertThat(orderDAO.getOrders().size(), equalTo(previous));
|
assertThat(orderDAO.getOrders().size(), equalTo(previous));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue