From 1f0ab46fd46d6dcb87ff7536c458f417cd5dfed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Sun, 6 Jun 2010 15:41:22 +0200 Subject: [PATCH] ItEr59S08CUAsignacionRecursosLimitantesItEr58S10: Move method to getCriteria to LimitingResourceQueueElement. --- .../entities/LimitingResourceAllocator.java | 10 +--------- .../entities/LimitingResourceQueueElement.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceAllocator.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceAllocator.java index 54fab3a58..bf633e619 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceAllocator.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceAllocator.java @@ -109,7 +109,7 @@ public class LimitingResourceAllocator { result.add(gap); } else if (isGeneric(element)) { final List gaps = gap.splitIntoGapsSatisfyingCriteria( - resource, getCriteria(element)); + resource, element.getCriteria()); for (Gap subgap : gaps) { if (subgap.canFit(element)) { result.add(subgap); @@ -185,14 +185,6 @@ public class LimitingResourceAllocator { return element.getResourceAllocation() instanceof SpecificResourceAllocation; } - private static Set getCriteria(LimitingResourceQueueElement element) { - final ResourceAllocation resourceAllocation = element.getResourceAllocation(); - if (resourceAllocation instanceof GenericResourceAllocation) { - return ((GenericResourceAllocation) resourceAllocation).getCriterions(); - } - return null; - } - public static DateAndHour getFirstElementTime(List dayAssignments) { final DayAssignment start = dayAssignments.get(0); return new DateAndHour(start.getDay(), start.getHours()); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java index 5f72b4717..d2ab463b5 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/limiting/entities/LimitingResourceQueueElement.java @@ -30,8 +30,10 @@ import org.apache.commons.lang.Validate; import org.joda.time.LocalDate; import org.navalplanner.business.common.BaseEntity; import org.navalplanner.business.planner.entities.Dependency; +import org.navalplanner.business.planner.entities.GenericResourceAllocation; import org.navalplanner.business.planner.entities.ResourceAllocation; import org.navalplanner.business.planner.entities.SpecificResourceAllocation; +import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.LimitingResourceQueue; import org.navalplanner.business.resources.entities.Resource; @@ -244,4 +246,20 @@ public class LimitingResourceQueueElement extends BaseEntity { setEndHour(0); getResourceAllocation().removeLimitingDayAssignments(); } + + public boolean isSpecific() { + return resourceAllocation instanceof SpecificResourceAllocation; + } + + public boolean isGeneric() { + return resourceAllocation instanceof GenericResourceAllocation; + } + + public Set getCriteria() { + if (!isGeneric()) { + throw new IllegalStateException("this is not a generic element"); + } + final ResourceAllocation resourceAllocation = getResourceAllocation(); + return ((GenericResourceAllocation) resourceAllocation).getCriterions(); + } }