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 4593426ac..e68cde6fa 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 @@ -105,6 +105,9 @@ public abstract class OrderElement extends BaseEntity { @Override public void typeChanged(Type newType) { schedulingStateType = newType; + if (newType == Type.SCHEDULING_POINT) { + taskSource = TaskSource.withHoursGroupOf(OrderElement.this); + } } }); return result; @@ -501,5 +504,4 @@ public abstract class OrderElement extends BaseEntity { } return schedulingStateType; } - } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/TaskSource.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/TaskSource.java index bf27f9b52..3c00aab6a 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/TaskSource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/TaskSource.java @@ -22,6 +22,7 @@ package org.navalplanner.business.orders.entities; import java.util.HashSet; import java.util.Set; +import org.apache.commons.lang.Validate; import org.hibernate.validator.NotNull; import org.navalplanner.business.common.BaseEntity; @@ -30,6 +31,10 @@ import org.navalplanner.business.common.BaseEntity; */ public class TaskSource extends BaseEntity { + public static TaskSource withHoursGroupOf(OrderElement orderElement) { + return create(new TaskSource(orderElement)); + } + @NotNull private OrderElement orderElement; @@ -38,4 +43,11 @@ public class TaskSource extends BaseEntity { public TaskSource() { } + public TaskSource(OrderElement orderElement) { + Validate.notNull(orderElement); + this.orderElement = orderElement; + this.hoursGroups = new HashSet(orderElement + .getHoursGroups()); + } + }