From cb9c64a716ee23a9dff4445fe6e7aee116f049a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Sun, 27 Jun 2010 20:09:32 +0200 Subject: [PATCH] ItEr60S08CUAsignacionRecursosLimitantesItEr59S08: Add method to get the elements after one element on a queue. --- .../entities/LimitingResourceQueueElement.java | 6 ++++++ .../resources/entities/LimitingResourceQueue.java | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) 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 5b5dd05f3..b430be1d4 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 @@ -23,6 +23,7 @@ package org.navalplanner.business.planner.limiting.entities; import java.math.BigDecimal; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashSet; import java.util.List; @@ -39,6 +40,7 @@ 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.LimitingResourceQueueElementComparator; import org.navalplanner.business.resources.entities.Resource; /** @@ -49,6 +51,10 @@ import org.navalplanner.business.resources.entities.Resource; */ public class LimitingResourceQueueElement extends BaseEntity { + public static Comparator byStartTimeComparator() { + return new LimitingResourceQueueElementComparator(); + } + private ResourceAllocation resourceAllocation; private LimitingResourceQueue limitingResourceQueue; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java index bb215d70f..dbcddd6e8 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/LimitingResourceQueue.java @@ -29,9 +29,9 @@ import java.util.TreeSet; import org.navalplanner.business.common.BaseEntity; import org.navalplanner.business.planner.limiting.entities.DateAndHour; import org.navalplanner.business.planner.limiting.entities.Gap; +import org.navalplanner.business.planner.limiting.entities.Gap.GapOnQueue; import org.navalplanner.business.planner.limiting.entities.InsertionRequirements; import org.navalplanner.business.planner.limiting.entities.LimitingResourceQueueElement; -import org.navalplanner.business.planner.limiting.entities.Gap.GapOnQueue; /** * @@ -115,4 +115,14 @@ public class LimitingResourceQueue extends BaseEntity { return result; } + public List getElementsAfter( + LimitingResourceQueueElement element) { + List queueElements = new ArrayList( + limitingResourceQueueElements); + int position = Collections.binarySearch(queueElements, element, + LimitingResourceQueueElement.byStartTimeComparator()); + assert position >= 0 : "the element must be in the list"; + return queueElements.subList(position + 1, queueElements.size()); + } + }