diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/BaseEntity.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/BaseEntity.java index 3098c32c6..f3a56658c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/BaseEntity.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/BaseEntity.java @@ -1,7 +1,10 @@ package org.navalplanner.business.common; /** - * TODO + * Base class for all the application entities. + * + * It provides the basic behavior for id and version fields. + * * @author Manuel Rego Casasnovas */ public abstract class BaseEntity { 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 7db89cfb0..dae65276a 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 @@ -11,13 +11,10 @@ import org.navalplanner.business.advance.entities.AdvanceAssigment; import org.navalplanner.business.advance.entities.AdvanceType; import org.navalplanner.business.advance.exceptions.DuplicateAdvanceAssigmentForOrderElementException; import org.navalplanner.business.advance.exceptions.DuplicateValueTrueReportGlobalAdvanceException; +import org.navalplanner.business.common.BaseEntity; import org.navalplanner.business.planner.entities.TaskElement; -public abstract class OrderElement { - - private Long id; - - private Long version; +public abstract class OrderElement extends BaseEntity { @NotEmpty private String name; @@ -53,10 +50,6 @@ public abstract class OrderElement { public abstract List getHoursGroups(); - public Long getId() { - return id; - } - /** * @return the duration in milliseconds */ @@ -120,17 +113,6 @@ public abstract class OrderElement { public abstract OrderLineGroup toContainer(); - public void makeTransientAgain() { - // FIXME Review reattachment - id = null; - version = null; - } - - public boolean isTransient() { - // FIXME Review reattachment - return id == null; - } - public Set getTaskElements() { return Collections.unmodifiableSet(taskElements); } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLine.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLine.java index 549cf7bf5..9b84765c0 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLine.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLine.java @@ -8,8 +8,14 @@ import java.util.Set; public class OrderLine extends OrderElement { - public static OrderLine createOrderLineWithUnfixedPercentage(int hours) { + public static OrderLine create() { OrderLine result = new OrderLine(); + result.setNewObject(true); + return result; + } + + public static OrderLine createOrderLineWithUnfixedPercentage(int hours) { + OrderLine result = create(); HoursGroup hoursGroup = HoursGroup.create(result); result.addHoursGroup(hoursGroup); hoursGroup.setFixedPercentage(false); @@ -18,6 +24,13 @@ public class OrderLine extends OrderElement { return result; } + /** + * Constructor for hibernate. Do not use! + */ + public OrderLine() { + + } + private Set hoursGroups = new HashSet(); @Override @@ -42,7 +55,7 @@ public class OrderLine extends OrderElement { @Override public OrderLineGroup toContainer() { - OrderLineGroup result = new OrderLineGroup(); + OrderLineGroup result = OrderLineGroup.create(); result.setName(getName()); result.setCode(getCode()); result.setInitDate(getInitDate()); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java index 67f9e4437..298385f4e 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderLineGroup.java @@ -7,8 +7,21 @@ import org.hibernate.validator.Valid; public class OrderLineGroup extends OrderElement implements IOrderLineGroup { + public static OrderLineGroup create() { + OrderLineGroup result = new OrderLineGroup(); + result.setNewObject(true); + return result; + } + private List children = new ArrayList(); + /** + * Constructor for hibernate. Do not use! + */ + public OrderLineGroup() { + + } + @Override @Valid public List getChildren() { @@ -47,7 +60,7 @@ public class OrderLineGroup extends OrderElement implements IOrderLineGroup { @Override public OrderLine toLeaf() { - OrderLine result = new OrderLine(); + OrderLine result = OrderLine.create(); result.setName(getName()); result.setInitDate(getInitDate()); 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 4dca373a0..cd6fa632e 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 @@ -23,7 +23,7 @@ - + diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/daos/OrderElementDAOTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/daos/OrderElementDAOTest.java index b6347f6b1..e7c423da3 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/daos/OrderElementDAOTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/daos/OrderElementDAOTest.java @@ -44,7 +44,7 @@ public class OrderElementDAOTest { } private OrderLine createValidOrderLine(String name, String code) { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName(name); orderLine.setCode(code); return orderLine; @@ -56,7 +56,7 @@ public class OrderElementDAOTest { } private OrderLineGroup createValidOrderLineGroup(String name, String code) { - OrderLineGroup orderLineGroup = new OrderLineGroup(); + OrderLineGroup orderLineGroup = OrderLineGroup.create(); orderLineGroup.setName(name); orderLineGroup.setCode(code); return orderLineGroup; diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java index 0a9dff46a..a332df24a 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/AddAdvanceAssigmentsToOrderElementTest.java @@ -74,7 +74,7 @@ public class AddAdvanceAssigmentsToOrderElementTest { } private OrderLine createValidLeaf(String name, String code) { - OrderLine result = new OrderLine(); + OrderLine result = OrderLine.create(); result.setName(name); result.setCode(code); HoursGroup hoursGroup = HoursGroup.create(result); @@ -262,7 +262,7 @@ public class AddAdvanceAssigmentsToOrderElementTest { final Order order = createValidOrder(); final OrderElement[] containers = new OrderLineGroup[2]; for (int i = 0; i < containers.length; i++) { - containers[i] = new OrderLineGroup(); + containers[i] = OrderLineGroup.create(); containers[i].setName("bla"); containers[i].setCode("000000000"); order.add(containers[i]); @@ -322,7 +322,7 @@ public class AddAdvanceAssigmentsToOrderElementTest { final Order order = createValidOrder(); final OrderElement[] containers = new OrderLineGroup[2]; for (int i = 0; i < containers.length; i++) { - containers[i] = new OrderLineGroup(); + containers[i] = OrderLineGroup.create(); containers[i].setName("bla"); containers[i].setCode("000000000"); order.add(containers[i]); @@ -382,13 +382,13 @@ public class AddAdvanceAssigmentsToOrderElementTest { final Order order = createValidOrder(); final OrderElement[] containers = new OrderLineGroup[2]; for (int i = 0; i < containers.length; i++) { - containers[i] = new OrderLineGroup(); + containers[i] = OrderLineGroup.create(); containers[i].setName("bla_" + i); containers[i].setCode("000000000"); order.add(containers[i]); } OrderLineGroup container = (OrderLineGroup) containers[0]; - OrderLineGroup containerSon = (OrderLineGroup) new OrderLineGroup(); + OrderLineGroup containerSon = (OrderLineGroup) OrderLineGroup.create(); containerSon.setName("Son"); containerSon.setCode("11111111"); container.add(containerSon); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderLineTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderLineTest.java index 5f58f56a7..1f1eafa1e 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderLineTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderLineTest.java @@ -20,8 +20,8 @@ public class OrderLineTest { @Test public void parentPropertyMustBeSetWhenAddingOrderLineToContainer() { - OrderLineGroup orderLineGroup = new OrderLineGroup(); - OrderLine orderLine = new OrderLine(); + OrderLineGroup orderLineGroup = OrderLineGroup.create(); + OrderLine orderLine = OrderLine.create(); orderLineGroup.add(orderLine); assertThat(orderLine.getParent(), equalTo(orderLineGroup)); } @@ -34,7 +34,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursEmptyOrderLine() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); assertThat(orderLine.getWorkHours(), equalTo(0)); @@ -60,7 +60,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursEmptyOrderLineIllegal() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); assertThat(orderLine.getWorkHours(), equalTo(0)); @@ -84,7 +84,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); @@ -110,7 +110,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); @@ -137,7 +137,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); @@ -169,7 +169,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); @@ -202,7 +202,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursTwoHoursGroupNoFixedIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -234,7 +234,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursTwoHoursGroupNoFixedDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(100); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -266,7 +266,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageAndHoursGroupNoFixedIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(75); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -303,7 +303,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageAndHoursGroupNoFixedDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(75); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -340,7 +340,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageAndHoursGroupFixedPercentageIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(75); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -381,7 +381,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupFixedPercentageAndHoursGroupFixedPercentageDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(75); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -423,7 +423,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedAndHoursGroupNoFixedAndHoursGroupFixedPercentageIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -465,7 +465,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedAndHoursGroupNoFixedAndHoursGroupFixedPercentageDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(40); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -507,7 +507,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedAndHoursGroupFixedPercentageAndHoursGroupFixedPercentageIncreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -553,7 +553,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedAndHoursGroupFixedPercentageAndHoursGroupFixedPercentageDecreaseValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -598,7 +598,7 @@ public class OrderLineTest { @Test public void testSetWorkHoursHoursGroupNoFixedZeroValue() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(0); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -623,7 +623,7 @@ public class OrderLineTest { @Test public void testAddNewEmptyHoursGroup() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); orderLine.addHoursGroup(hoursGroup); @@ -634,7 +634,7 @@ public class OrderLineTest { @Test public void testSetWorkingHoursIllegal() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); try { @@ -648,7 +648,7 @@ public class OrderLineTest { @Test public void testSetPercentageIllegal() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -676,7 +676,7 @@ public class OrderLineTest { @Test public void testSetPercentageTwoHoursGroupIncrease() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -700,7 +700,7 @@ public class OrderLineTest { @Test public void testSetPercentageTwoHoursGroupDecrease() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); @@ -724,7 +724,7 @@ public class OrderLineTest { @Test public void testSetPercentageThreeHoursGroupIncrease() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); HoursGroup hoursGroup = HoursGroup.create(orderLine); hoursGroup.setWorkingHours(50); HoursGroup hoursGroup2 = HoursGroup.create(orderLine); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderTest.java index ea792e268..3b4eb5da4 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/entities/OrderTest.java @@ -18,8 +18,8 @@ public class OrderTest { @Test public void testAddingOrderElement() throws Exception { Order order = new Order(); - OrderLineGroup container = new OrderLineGroup(); - OrderLine leaf = new OrderLine(); + OrderLineGroup container = OrderLineGroup.create(); + OrderLine leaf = OrderLine.create(); container.add(leaf); order.add(container); assertThat(order.getOrderElements().size(), equalTo(1)); @@ -27,11 +27,11 @@ public class OrderTest { @Test public void testPreservesOrder() throws Exception { - OrderLineGroup container = new OrderLineGroup(); + OrderLineGroup container = OrderLineGroup.create(); OrderLine[] created = new OrderLine[100]; for (int i = 0; i < created.length; i++) { - created[i] = new OrderLine(); + created[i] = OrderLine.create(); container.add(created[i]); } for (int i = 0; i < created.length; i++) { diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/services/OrderServiceTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/services/OrderServiceTest.java index 589b2265b..a6f70d7ad 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/services/OrderServiceTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/orders/services/OrderServiceTest.java @@ -101,7 +101,7 @@ public class OrderServiceTest { public void removingOrderWithAssociatedTasksDeletesThem() throws ValidationException, InstanceNotFoundException { Order order = createValidOrder(); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("00000000"); orderLine.setWorkHours(10); @@ -118,6 +118,7 @@ public class OrderServiceTest { if (t instanceof Task) { Task task = (Task) t; task.getHoursGroup().dontPoseAsTransientObjectAnymore(); + task.getOrderElement().dontPoseAsTransientObjectAnymore(); } } orderService.remove(reloaded); @@ -146,7 +147,7 @@ public class OrderServiceTest { final Order order = createValidOrder(); final OrderElement[] containers = new OrderLineGroup[10]; for (int i = 0; i < containers.length; i++) { - containers[i] = new OrderLineGroup(); + containers[i] = OrderLineGroup.create(); containers[i].setName("bla"); containers[i].setCode("000000000"); order.add(containers[i]); @@ -201,7 +202,7 @@ public class OrderServiceTest { } private OrderLine createValidLeaf(String parameter) { - OrderLine result = new OrderLine(); + OrderLine result = OrderLine.create(); result.setName(parameter); result.setCode("000000000"); @@ -216,10 +217,10 @@ public class OrderServiceTest { @NotTransactional public void testAddingOrderElement() throws Exception { final Order order = createValidOrder(); - OrderLineGroup container = new OrderLineGroup(); + OrderLineGroup container = OrderLineGroup.create(); container.setName("bla"); container.setCode("000000000"); - OrderLine leaf = new OrderLine(); + OrderLine leaf = OrderLine.create(); leaf.setName("leaf"); leaf.setCode("000000000"); container.add(leaf); @@ -258,7 +259,7 @@ public class OrderServiceTest { public void testManyToManyHoursGroupCriterionMapping() throws Exception { final Order order = createValidOrder(); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("Order element"); orderLine.setCode("000000000"); order.add(orderLine); @@ -316,7 +317,7 @@ public class OrderServiceTest { public void testAtLeastOneHoursGroup() throws Exception { Order order = createValidOrder(); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("foo"); orderLine.setCode("000000000"); order.add(orderLine); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java index 38650841c..7bf449b8d 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/TaskElementTest.java @@ -34,14 +34,14 @@ public class TaskElementTest { public TaskElementTest() { this.taskWithOrderLine = new Task(); - this.taskWithOrderLine.setOrderElement(new OrderLine()); + this.taskWithOrderLine.setOrderElement(OrderLine.create()); this.exampleDependency = Dependency.createDependency(new Task(), new Task(), Type.END_START); } @Test public void taskElementHasAOneToOneRelationshipWithOrderElement() { - OrderLine order = new OrderLine(); + OrderLine order = OrderLine.create(); task.setOrderElement(order); assertSame(order, task.getOrderElement()); } @@ -53,7 +53,7 @@ public class TaskElementTest { @Test(expected = IllegalStateException.class) public void onceSetOrderElementCannotBeChanged() { - taskWithOrderLine.setOrderElement(new OrderLine()); + taskWithOrderLine.setOrderElement(OrderLine.create()); } @Test @@ -104,7 +104,7 @@ public class TaskElementTest { taskBeingSplitted.setName("prueba"); taskBeingSplitted.setNotes("blabla"); taskBeingSplitted.setStartDate(new Date()); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); @@ -135,7 +135,7 @@ public class TaskElementTest { initial.setName("prueba"); initial.setNotes("blabla"); initial.setStartDate(new Date()); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); initial.setOrderElement(orderLine); @@ -168,7 +168,7 @@ public class TaskElementTest { Task destinationDependencyTask = Task.createTask(new HoursGroup()); addDependenciesForChecking(taskBeingSplitted, sourceDependencyTask, destinationDependencyTask); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); @@ -233,14 +233,14 @@ public class TaskElementTest { @Test public void aTaskGroupThatIsAssociatedToAnOrderLineGroupCannotBeMerged() { TaskGroup taskGroup = new TaskGroup(); - taskGroup.setOrderElement(new OrderLineGroup()); + taskGroup.setOrderElement(OrderLineGroup.create()); assertFalse(taskGroup.canBeMerged()); } @Test public void aTaskGroupWithChildrenAssociatedWithDifferentHourGroups() { TaskGroup taskGroup = new TaskGroup(); - taskGroup.setOrderElement(new OrderLine()); + taskGroup.setOrderElement(OrderLine.create()); taskGroup.addTaskElement(Task.createTask(new HoursGroup())); taskGroup.addTaskElement(Task.createTask(new HoursGroup())); assertFalse(taskGroup.canBeMerged()); @@ -249,14 +249,14 @@ public class TaskElementTest { @Test public void aTaskGroupWithoutChildrenCannotBeMerged() { TaskGroup taskGroup = new TaskGroup(); - taskGroup.setOrderElement(new OrderLine()); + taskGroup.setOrderElement(OrderLine.create()); assertFalse(taskGroup.canBeMerged()); } @Test public void aTaskGroupWithTasksThatExceedHoursCannotBeMerged() { TaskGroup taskGroup = new TaskGroup(); - taskGroup.setOrderElement(new OrderLine()); + taskGroup.setOrderElement(OrderLine.create()); HoursGroup hoursGroup = new HoursGroup(); hoursGroup.setWorkingHours(10); taskGroup.addTaskElement(Task.createTask(hoursGroup)); @@ -267,7 +267,7 @@ public class TaskElementTest { @Test(expected = IllegalStateException.class) public void mergingATaskThatCannotBeMergedFails() { TaskGroup taskGroup = new TaskGroup(); - taskGroup.setOrderElement(new OrderLineGroup()); + taskGroup.setOrderElement(OrderLineGroup.create()); taskGroup.merge(); } @@ -278,7 +278,7 @@ public class TaskElementTest { taskBeingSplitted.setName("prueba"); taskBeingSplitted.setNotes("blabla"); taskBeingSplitted.setStartDate(new Date()); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); @@ -295,7 +295,7 @@ public class TaskElementTest { public void mergingATaskCanResultInATaskWithAShareOfHours() { HoursGroup hoursGroup = new HoursGroup(); Task taskBeingSplitted = Task.createTask(hoursGroup); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); @@ -311,7 +311,7 @@ public class TaskElementTest { public void mergingATaskKeepsDependencies() { HoursGroup hoursGroup = new HoursGroup(); Task taskBeingSplitted = Task.createTask(hoursGroup); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); @@ -328,7 +328,7 @@ public class TaskElementTest { public void theMergedEntityHasTheSameParent() { HoursGroup hoursGroup = new HoursGroup(); Task taskBeingSplitted = Task.createTask(hoursGroup); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); hoursGroup.setWorkingHours(100); orderLine.addHoursGroup(hoursGroup); taskBeingSplitted.setOrderElement(orderLine); 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 f108a4e83..6580a69b7 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 @@ -78,7 +78,7 @@ public class TaskElementServiceTest { } private OrderLine createOrderLine() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); orderLine.addHoursGroup(new HoursGroup()); @@ -186,7 +186,7 @@ public class TaskElementServiceTest { @Test public void aOrderLineGroupIsConvertedToATaskGroup() { - OrderLineGroup orderLineGroup = new OrderLineGroup(); + OrderLineGroup orderLineGroup = OrderLineGroup.create(); orderLineGroup.setName("foo"); orderLineGroup.setCode("000000000"); TaskElement task = taskElementService @@ -200,7 +200,7 @@ public class TaskElementServiceTest { @Test public void aOrderLineWithOneHourGroupIsConvertedToATask() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); final int hours = 30; @@ -219,10 +219,10 @@ public class TaskElementServiceTest { @Test public void theSublinesOfAnOrderLineGroupAreConverted() { - OrderLineGroup orderLineGroup = new OrderLineGroup(); + OrderLineGroup orderLineGroup = OrderLineGroup.create(); orderLineGroup.setName("foo"); orderLineGroup.setCode("000000000"); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); HoursGroup hoursGroup = createHoursGroup(30); @@ -243,10 +243,10 @@ public class TaskElementServiceTest { @Test public void theWorkHoursOfATaskGroupAreTheSameThanTheTaskElement(){ - OrderLineGroup orderLineGroup = new OrderLineGroup(); + OrderLineGroup orderLineGroup = OrderLineGroup.create(); orderLineGroup.setName("foo"); orderLineGroup.setCode("000000000"); - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); orderLine.addHoursGroup(createHoursGroup(20)); @@ -259,7 +259,7 @@ public class TaskElementServiceTest { @Test(expected = IllegalArgumentException.class) public void aOrderLineWithNoHoursIsRejected() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); taskElementService.convertToInitialSchedule(orderLine); @@ -273,7 +273,7 @@ public class TaskElementServiceTest { @Test public void aOrderLineWithMoreThanOneHourIsConvertedToATaskGroup() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName("bla"); orderLine.setCode("000000000"); HoursGroup hours1 = createHoursGroup(30); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java index 4df1d9bf6..dc1c9240e 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workreports/daos/AbstractWorkReportTest.java @@ -69,7 +69,7 @@ public abstract class AbstractWorkReportTest { } private OrderElement createValidOrderElement() { - OrderLine orderLine = new OrderLine(); + OrderLine orderLine = OrderLine.create(); orderLine.setName(UUID.randomUUID().toString()); orderLine.setCode(UUID.randomUUID().toString()); orderElementDAO.save(orderLine); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java index 4bf940cf5..8ee5753e9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java @@ -75,7 +75,7 @@ public class OrderElementController extends GenericForwardComposer { public OrderElement getOrderElement() { if (model == null) { - return new OrderLine(); + return OrderLine.create(); } return model.getOrderElement(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java index 1e128cf52..0e6d44d14 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java @@ -54,17 +54,12 @@ public class OrderElementModel implements IOrderElementModel { @Override @Transactional(readOnly = true) public void setCurrent(OrderElement orderElement, OrderModel order) { - // FIXME Review reattachment - boolean wasTransient = orderElement.isTransient(); orderElementDao.save(orderElement); for (HoursGroup hoursGroup : orderElement.getHoursGroups()) { hoursGroup.getCriterions().size(); } - if (wasTransient) { - orderElement.makeTransientAgain(); - } this.orderElement = orderElement; this.order = order; }