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 5ce913e3e..7db05a52d 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 @@ -28,6 +28,8 @@ public abstract class OrderElement { private String description; + private String code; + private Set taskElements = new HashSet(); public abstract Integer getWorkHours(); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportDAO.java new file mode 100644 index 000000000..00bb8d1d1 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportDAO.java @@ -0,0 +1,13 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.IGenericDao; +import org.navalplanner.business.workreports.entities.WorkReport; + +/** + * Dao for {@link WorkReport} + * + * @author Diego Pino García + */ +public interface IWorkReportDAO extends IGenericDao { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportLineDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportLineDAO.java new file mode 100644 index 000000000..f6c5fb782 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportLineDAO.java @@ -0,0 +1,13 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.IGenericDao; +import org.navalplanner.business.workreports.entities.WorkReportLine; + +/** + * Dao for {@link WorkReportLine} + * + * @author Diego Pino García + */ +public interface IWorkReportLineDAO extends IGenericDao { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportTypeDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportTypeDAO.java new file mode 100644 index 000000000..1c3925651 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/IWorkReportTypeDAO.java @@ -0,0 +1,18 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.IGenericDao; +import org.navalplanner.business.workreports.entities.WorkReportType; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; + +/** + * Dao for {@link WorkReportType} + * + * @author Diego Pino García + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public interface IWorkReportTypeDAO extends IGenericDao { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportDAO.java new file mode 100644 index 000000000..5bd5c3f6d --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportDAO.java @@ -0,0 +1,19 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; +import org.navalplanner.business.workreports.entities.WorkReport; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; + +/** + * Dao for {@link WorkReportDAO} + * + * @author Diego Pino García + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public class WorkReportDAO extends GenericDaoHibernate + implements IWorkReportDAO { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java new file mode 100644 index 000000000..cfc1951e6 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportLineDAO.java @@ -0,0 +1,19 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; +import org.navalplanner.business.workreports.entities.WorkReportLine; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; + +/** + * Dao for {@link WorkReportLineDAO} + * + * @author Diego Pino García + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public class WorkReportLineDAO extends + GenericDaoHibernate implements IWorkReportLineDAO { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportTypeDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportTypeDAO.java new file mode 100644 index 000000000..83faf1d5a --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/daos/WorkReportTypeDAO.java @@ -0,0 +1,19 @@ +package org.navalplanner.business.workreports.daos; + +import org.navalplanner.business.common.daos.impl.GenericDaoHibernate; +import org.navalplanner.business.workreports.entities.WorkReportType; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Repository; + +/** + * Dao for {@link WorkReportTypeDAO} + * + * @author Diego Pino García + */ +@Repository +@Scope(BeanDefinition.SCOPE_SINGLETON) +public class WorkReportTypeDAO extends + GenericDaoHibernate implements IWorkReportTypeDAO { + +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java new file mode 100644 index 000000000..fb1403835 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java @@ -0,0 +1,67 @@ +package org.navalplanner.business.workreports.entities; + +import java.util.Date; +import java.util.Set; + +/** + * @author Diego Pino García + */ +public class WorkReport { + + private Long id; + + @SuppressWarnings("unused") + private long version; + + Date date; + + String place; + + WorkReportType workReportType; + + Set workReportLines; + + public WorkReport() { + + } + + public WorkReport(Date date, String place, WorkReportType workReportType, + Set workReportLines) { + this.date = date; + this.place = place; + this.workReportType = workReportType; + this.workReportLines = workReportLines; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getPlace() { + return place; + } + + public void setPlace(String place) { + this.place = place; + } + + public WorkReportType getWorkReportType() { + return workReportType; + } + + public void setWorkReportType(WorkReportType workReporType) { + this.workReportType = workReportType; + } + + public Set getWorkReportLines() { + return workReportLines; + } + + public void setWorkReportLines(Set workReportLines) { + this.workReportLines = workReportLines; + } +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java new file mode 100644 index 000000000..b034ce4c3 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportLine.java @@ -0,0 +1,70 @@ +package org.navalplanner.business.workreports.entities; + +import java.util.Set; + +import org.navalplanner.business.orders.entities.OrderElement; +import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.Resource; + +/** + * @author Diego Pino García + */ +public class WorkReportLine { + + private Long id; + + @SuppressWarnings("unused") + private long version; + + Integer numHours; + + Set resources; + + Set orderElements; + + Set criterions; + + public WorkReportLine() { + + } + + public WorkReportLine(Integer numHours, Set resources, + Set orderElements, Set criterions) { + this.numHours = numHours; + this.resources = resources; + this.orderElements = orderElements; + this.criterions = criterions; + } + + public Integer getNumHours() { + return numHours; + } + + public void setNumHours(Integer numHours) { + this.numHours = numHours; + } + + public Set getResources() { + return resources; + } + + public void setResources(Set resources) { + this.resources = resources; + } + + public Set getOrderElements() { + return orderElements; + } + + public void setOrderElements(Set orderElements) { + this.orderElements = orderElements; + } + + public Set getCriterions() { + return criterions; + } + + public void setCriterions(Set criterions) { + this.criterions = criterions; + } +} diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java new file mode 100644 index 000000000..067ba5857 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReportType.java @@ -0,0 +1,53 @@ +package org.navalplanner.business.workreports.entities; + +import java.util.Set; + +import org.navalplanner.business.resources.entities.CriterionType; + +/** + * @author Diego Pino García + */ + +public class WorkReportType { + private Long id; + + @SuppressWarnings("unused") + private long version; + + String name; + + Set criterionTypes; + + public WorkReportType() { + + } + + public WorkReportType(String name, Set criterionTypes) { + this.name = name; + this.criterionTypes = criterionTypes; + } + + public Long getId() { + return id; + } + + public long getVersion() { + return version; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Set getCriterionTypes() { + return criterionTypes; + } + + public void setCriterionTypes(Set criterionTypes) { + this.criterionTypes = criterionTypes; + } +} diff --git a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml index 9cd482d7f..910abe568 100644 --- a/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml +++ b/navalplanner-business/src/main/resources/navalplanner-business-spring-config.xml @@ -29,6 +29,9 @@ org/navalplanner/business/planner/entities/Tasks.hbm.xml + + org/navalplanner/business/workreports/entities/WorkReports.hbm.xml + 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 c527e27dd..5ac0a26e2 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 @@ -31,6 +31,7 @@ + diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml new file mode 100644 index 000000000..10e969384 --- /dev/null +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/workreports/entities/WorkReports.hbm.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java new file mode 100644 index 000000000..6113ccc3a --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportDAOTest.java @@ -0,0 +1,41 @@ +package org.navalplanner.business.test.workreports.daos; + +import static junit.framework.Assert.assertTrue; +import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; +import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.navalplanner.business.workreports.daos.IWorkReportDAO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE, + BUSINESS_SPRING_CONFIG_TEST_FILE }) +/* + * @author Diego Pino García + */ +@Transactional +public class WorkReportDAOTest { + + @Autowired + private IWorkReportDAO workReportDAO; + + @Test + public void testSaveWorkReport() { + assertTrue(true); + } + + @Test + public void testRemoveWorkReport() { + assertTrue(true); + } + + @Test + public void testListWorkReport() { + assertTrue(true); + } +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java new file mode 100644 index 000000000..1569fa0fe --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportLineDAOTest.java @@ -0,0 +1,41 @@ +package org.navalplanner.business.test.workreports.daos; + +import static junit.framework.Assert.assertTrue; +import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; +import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.navalplanner.business.workreports.daos.IWorkReportLineDAO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE, + BUSINESS_SPRING_CONFIG_TEST_FILE }) +/* + * @author Diego Pino García + */ +@Transactional +public class WorkReportLineDAOTest { + + @Autowired + private IWorkReportLineDAO workReportLineDAO; + + @Test + public void testSaveWorkReportLine() { + assertTrue(true); + } + + @Test + public void testRemoveWorkReportLine() { + assertTrue(true); + } + + @Test + public void testListWorkReportLine() { + assertTrue(true); + } +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java new file mode 100644 index 000000000..77dd3ca85 --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/WorkReportTypeDAOTest.java @@ -0,0 +1,62 @@ +package org.navalplanner.business.test.workreports.daos; + +import static junit.framework.Assert.assertTrue; +import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; +import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.navalplanner.business.resources.daos.ICriterionTypeDAO; +import org.navalplanner.business.resources.entities.CriterionType; +import org.navalplanner.business.test.resources.daos.CriterionTypeDAOTest; +import org.navalplanner.business.workreports.daos.IWorkReportTypeDAO; +import org.navalplanner.business.workreports.entities.WorkReportType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE, + BUSINESS_SPRING_CONFIG_TEST_FILE }) +/* + * @author Diego Pino García + */ +@Transactional +public class WorkReportTypeDAOTest { + + @Autowired + private IWorkReportTypeDAO workReportTypeDAO; + + @Autowired + private ICriterionTypeDAO criterionTypeDAO; + + @Test + public void testSaveWorkReportType() { + String unique = UUID.randomUUID().toString(); + CriterionType criterionType = CriterionTypeDAOTest + .createValidCriterionType(); + criterionTypeDAO.save(criterionType); + Set criterionTypes = new HashSet(); + criterionTypes.add(criterionType); + + WorkReportType workReportType = new WorkReportType(unique, + criterionTypes); + workReportTypeDAO.save(workReportType); + assertTrue(workReportTypeDAO.exists(workReportType.getId())); + } + + @Test + public void testRemoveWorkReportType() { + assertTrue(true); + } + + @Test + public void testListWorkReportType() { + assertTrue(true); + } +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportLineTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportLineTest.java new file mode 100644 index 000000000..f0f3e8f5e --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportLineTest.java @@ -0,0 +1,17 @@ +package org.navalplanner.business.test.workreports.entities; + +import static junit.framework.Assert.assertTrue; + +import org.junit.Test; + +/** + * @author Diego Pino García + */ +public class WorkReportLineTest { + + @Test + public void testWorkReportLineTest() { + assertTrue(true); + } + +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTest.java new file mode 100644 index 000000000..ff3dd95a0 --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTest.java @@ -0,0 +1,16 @@ +package org.navalplanner.business.test.workreports.entities; + +import static junit.framework.Assert.assertTrue; + +import org.junit.Test; + +/** + * @author Diego Pino García + */ +public class WorkReportTest { + + @Test + public void testWorkReportTest() { + assertTrue(true); + } +} diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTypeTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTypeTest.java new file mode 100644 index 000000000..afa2950a0 --- /dev/null +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/entities/WorkReportTypeTest.java @@ -0,0 +1,16 @@ +package org.navalplanner.business.test.workreports.entities; + +import static junit.framework.Assert.assertTrue; + +import org.junit.Test; + +/** + * @author Diego Pino García + */ +public class WorkReportTypeTest { + + @Test + public void testWorkReportTypeTest() { + assertTrue(true); + } +} diff --git a/navalplanner-business/src/test/resources/navalplanner-business-spring-config-test.xml b/navalplanner-business/src/test/resources/navalplanner-business-spring-config-test.xml index c74d6dc69..6feb72620 100644 --- a/navalplanner-business/src/test/resources/navalplanner-business-spring-config-test.xml +++ b/navalplanner-business/src/test/resources/navalplanner-business-spring-config-test.xml @@ -39,6 +39,9 @@ org/navalplanner/business/planner/entities/Tasks.hbm.xml + + + org/navalplanner/business/workreports/entities/WorkReports.hbm.xml TestEntities.hbm.xml