From 988e1ae6661b3d55989e65a89d45bbd66d7ae5c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 15 Sep 2009 10:17:19 +0200 Subject: [PATCH] ItEr26S07CUAsignacionGrupoRecursosAPlanificacionItEr25S07: A ResourceAllocation can calculate the assigned hours --- .../business/planner/entities/DayAssigment.java | 7 +++++++ .../planner/entities/GenericResourceAllocation.java | 5 +++++ .../business/planner/entities/ResourceAllocation.java | 11 +++++++++++ .../planner/entities/SpecificResourceAllocation.java | 6 ++++++ 4 files changed, 29 insertions(+) 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); + } }