ItEr60S08CUAsignacionRecursosLimitantesItEr59S08: Add method to get the elements after one element on a queue.

This commit is contained in:
Óscar González Fernández 2010-06-27 20:09:32 +02:00
parent 0cf1f3ebff
commit cb9c64a716
2 changed files with 17 additions and 1 deletions

View file

@ -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<LimitingResourceQueueElement> byStartTimeComparator() {
return new LimitingResourceQueueElementComparator();
}
private ResourceAllocation<?> resourceAllocation;
private LimitingResourceQueue limitingResourceQueue;

View file

@ -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<LimitingResourceQueueElement> getElementsAfter(
LimitingResourceQueueElement element) {
List<LimitingResourceQueueElement> queueElements = new ArrayList<LimitingResourceQueueElement>(
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());
}
}