diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssigment.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssigment.java index 258d85c1d..714c5c4a7 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssigment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssigment.java @@ -97,4 +97,11 @@ public abstract class DayAssigment extends BaseEntity { }; } + public static List orderedByDay( + Collection dayAssignments) { + List result = new ArrayList(dayAssignments); + Collections.sort(result, byDayComparator()); + return result; + } + } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java index 39df61971..f05838edc 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/GenericResourceAllocation.java @@ -193,4 +193,9 @@ public class GenericResourceAllocation extends ResourceAllocation { clearFieldsCalculatedFromAssignments(); } + @Override + protected List getAssignments() { + return DayAssigment.orderedByDay(genericDayAssigments); + } + } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java index 99704384e..d3433a472 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/ResourceAllocation.java @@ -4,6 +4,7 @@ package org.navalplanner.business.planner.entities; import java.math.BigDecimal; +import java.util.List; import org.apache.commons.lang.Validate; import org.hibernate.validator.NotNull; @@ -65,4 +66,14 @@ public abstract class ResourceAllocation extends BaseEntity { return assigmentFunction; } + public int getAssignedHours() { + int total = 0; + for (DayAssigment dayAssigment : getAssignments()) { + total += dayAssigment.getHours(); + } + return total; + } + + protected abstract List getAssignments(); + } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java index 216d2ab6b..2683a4b4d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/SpecificResourceAllocation.java @@ -2,6 +2,7 @@ package org.navalplanner.business.planner.entities; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.hibernate.validator.NotNull; @@ -46,4 +47,9 @@ public class SpecificResourceAllocation extends ResourceAllocation { public Set getSpecificDaysAssigment() { return Collections.unmodifiableSet(specificDaysAssigment); } + + @Override + protected List getAssignments() { + return DayAssigment.orderedByDay(specificDaysAssigment); + } }