diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/IMonteCarloModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/IMonteCarloModel.java index d79762fc2..9786da2a8 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/IMonteCarloModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/IMonteCarloModel.java @@ -26,7 +26,7 @@ import java.util.Map; import org.joda.time.LocalDate; import org.navalplanner.business.orders.entities.Order; -import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; /** @@ -39,7 +39,7 @@ public interface IMonteCarloModel { Map calculateMonteCarlo(int times); - void setCriticalPath(Order order, List criticalPath); + void setCriticalPath(Order order, List criticalPath); String getOrderName(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloModel.java index 2ec922384..5e0609b74 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/montecarlo/MonteCarloModel.java @@ -36,6 +36,7 @@ import org.apache.commons.lang.Validate; import org.joda.time.LocalDate; import org.navalplanner.business.orders.entities.Order; import org.navalplanner.business.planner.entities.Task; +import org.navalplanner.business.planner.entities.TaskElement; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -55,15 +56,17 @@ public class MonteCarloModel implements IMonteCarloModel { private Map> estimationRangesForTasks = new HashMap>(); @Override - @Transactional(readOnly=true) - public void setCriticalPath(Order order, List criticalPath) { + @Transactional(readOnly = true) + public void setCriticalPath(Order order, List criticalPath) { this.criticalPath.clear(); - for (Task each: sortByStartDate(criticalPath)) { - this.criticalPath.add(MonteCarloTask.create(each)); + for (TaskElement each : sortByStartDate(criticalPath)) { + if (each instanceof Task) { + this.criticalPath.add(MonteCarloTask.create((Task) each)); + } } } - private List sortByStartDate(List tasks) { + private List sortByStartDate(List tasks) { Collections.sort(tasks, Task.getByStartDateComparator()); return tasks; }