From 20d7906a0c0b48f7f0cbbaeb5354524410286b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 8 Jul 2009 14:51:43 +0200 Subject: [PATCH] ItEr16S12CreacionProxectoPlanificacion: Adding OrderElement many to one relationship to TaskElement. --- .../planner/entities/TaskElement.java | 2 + .../business/planner/entities/Tasks.hbm.xml | 4 +- .../services/TaskElementServiceTest.java | 42 +++++++++++++++++-- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java index e5e57c205..744959c9c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/TaskElement.java @@ -6,6 +6,7 @@ import java.util.HashSet; import java.util.Set; import org.apache.commons.lang.Validate; +import org.hibernate.validator.NotNull; import org.navalplanner.business.orders.entities.OrderElement; /** @@ -21,6 +22,7 @@ public abstract class TaskElement { private Date endDate; + @NotNull private OrderElement orderElement; private Set dependenciesWithThisOrigin = new HashSet(); diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/Tasks.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/Tasks.hbm.xml index efc21eb55..8b30133a7 100644 --- a/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/Tasks.hbm.xml +++ b/navalplanner-business/src/main/resources/org/navalplanner/business/planner/entities/Tasks.hbm.xml @@ -11,6 +11,8 @@ + + @@ -50,4 +52,4 @@ - \ No newline at end of file + diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/services/TaskElementServiceTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/services/TaskElementServiceTest.java index e79fe98dc..f1a631030 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/services/TaskElementServiceTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/services/TaskElementServiceTest.java @@ -9,12 +9,17 @@ import static org.junit.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.Date; import java.util.List; import org.hibernate.SessionFactory; import org.junit.Test; import org.junit.runner.RunWith; +import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.orders.entities.HoursGroup; +import org.navalplanner.business.orders.entities.Order; +import org.navalplanner.business.orders.entities.OrderLine; +import org.navalplanner.business.orders.services.IOrderService; import org.navalplanner.business.planner.entities.Dependency; import org.navalplanner.business.planner.entities.Task; import org.navalplanner.business.planner.entities.TaskElement; @@ -41,6 +46,9 @@ public class TaskElementServiceTest { @Autowired private SessionFactory sessionFactory; + @Autowired + private IOrderService orderService; + @Test public void canSaveTask() { Task task = createValidTask(); @@ -53,7 +61,26 @@ public class TaskElementServiceTest { } private Task createValidTask() { - return Task.createTask(new HoursGroup()); + Task task = Task.createTask(new HoursGroup()); + OrderLine orderLine = createOrderLine(); + task.setOrderElement(orderLine); + return task; + } + + private OrderLine createOrderLine() { + OrderLine orderLine = new OrderLine(); + orderLine.setName("bla"); + Order order = new Order(); + order.setName("bla"); + order.setInitDate(new Date()); + order.add(orderLine); + try { + orderService.save(order); + sessionFactory.getCurrentSession().flush(); + } catch (ValidationException e) { + throw new RuntimeException(e); + } + return orderLine; } @Test @@ -66,7 +93,7 @@ public class TaskElementServiceTest { @Test public void canSaveTaskGroup() { - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = createValidTaskGroup(); taskElementService.save(taskGroup); flushAndEvict(taskGroup); TaskElement reloaded = taskElementService.findById(taskGroup.getId()); @@ -75,6 +102,13 @@ public class TaskElementServiceTest { checkProperties(taskGroup, reloaded); } + private TaskGroup createValidTaskGroup() { + TaskGroup result = new TaskGroup(); + OrderLine orderLine = createOrderLine(); + result.setOrderElement(orderLine); + return result; + } + private void checkProperties(TaskElement inMemory, TaskElement fromDB) { assertThat(fromDB.getStartDate(), equalTo(inMemory.getStartDate())); assertThat(fromDB.getEndDate(), equalTo(inMemory.getEndDate())); @@ -89,7 +123,7 @@ public class TaskElementServiceTest { public void savingGroupSavesAssociatedTaskElements() { Task child1 = createValidTask(); Task child2 = createValidTask(); - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = createValidTaskGroup(); taskGroup.addTaskElement(child1); taskGroup.addTaskElement(child2); taskElementService.save(taskGroup); @@ -107,7 +141,7 @@ public class TaskElementServiceTest { public void savingTaskElementSavesAssociatedDependencies() { Task child1 = createValidTask(); Task child2 = createValidTask(); - TaskGroup taskGroup = new TaskGroup(); + TaskGroup taskGroup = createValidTaskGroup(); taskGroup.addTaskElement(child1); taskGroup.addTaskElement(child2); Dependency dependency = Dependency.createDependency(child1, child2,