diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/TaskSource.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/TaskSource.java index bcea1f7f6..df2aa4111 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/TaskSource.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/TaskSource.java @@ -52,6 +52,29 @@ public class TaskSource extends BaseEntity { return result; } + /** + * Needed for import external tasks. + * + * @return Task New Task + */ + public Task createTaskWithoutDatesInitializedAndLinkItToTaskSource() { + TaskElement task = Task.createTaskWithoutDatesInitialized(this); + this.setTask(task); + return (Task) task; + } + + /** + * Needed for import external tasks. + * + * @return Task New Task + */ + public TaskGroup createTaskGroupWithoutDatesInitializedAndLinkItToTaskSource() { + TaskElement task = TaskGroup.create(this); + this.setTask(task); + return (TaskGroup) task; + } + + public static TaskSourceSynchronization mustAdd( TaskSource taskSource) { return new TaskSourceMustBeAdded(taskSource); diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java index dd92e8849..523405df5 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java @@ -96,6 +96,24 @@ public class Task extends TaskElement implements ITaskPositionConstrained { return result; } + /** + * Needed for import external tasks. + * + * Creates a Task without initializing the dates. + * + * @param taskSource + * TaskSouce for create the task + * + * @return Task New Task + */ + public static Task createTaskWithoutDatesInitialized(TaskSource taskSource) { + Task task = new Task(); + OrderElement orderElement = taskSource.getOrderElement(); + orderElement.applyInitialPositionConstraintTo(task); + Task result = create(task, taskSource); + return result; + } + @Override protected void initializeDates() { EffortDuration workHours = EffortDuration.hours(getWorkHours());