[Bug #900] Error doing generic allocation
* Queue elements can only be applied to Queues which have a Resource of the same type FEA : ItEr71S04BugFixing
This commit is contained in:
parent
12245f86ad
commit
69770b3955
2 changed files with 10 additions and 7 deletions
|
|
@ -34,12 +34,10 @@ import java.util.SortedSet;
|
|||
import java.util.TreeSet;
|
||||
|
||||
import org.navalplanner.business.common.BaseEntity;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
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.LimitingResourceAllocator;
|
||||
import org.navalplanner.business.planner.limiting.entities.LimitingResourceQueueElement;
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ 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.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.Gap.GapOnQueueWithQueueElement;
|
||||
import org.navalplanner.business.planner.limiting.entities.Gap;
|
||||
import org.navalplanner.business.planner.limiting.entities.InsertionRequirements;
|
||||
import org.navalplanner.business.planner.limiting.entities.LimitingResourceQueueDependency;
|
||||
import org.navalplanner.business.planner.limiting.entities.LimitingResourceQueueDependency.QueueDependencyType;
|
||||
|
|
@ -55,6 +55,7 @@ import org.navalplanner.business.resources.entities.CriterionCompounder;
|
|||
import org.navalplanner.business.resources.entities.ICriterion;
|
||||
import org.navalplanner.business.resources.entities.LimitingResourceQueue;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.ResourceEnum;
|
||||
|
||||
/**
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
|
|
@ -207,7 +208,7 @@ public class QueuesState {
|
|||
} else if (resourceAllocation instanceof GenericResourceAllocation) {
|
||||
final GenericResourceAllocation generic = (GenericResourceAllocation) element
|
||||
.getResourceAllocation();
|
||||
return findQueuesMatchingCriteria(generic.getCriterions());
|
||||
return findQueuesMatchingCriteria(generic);
|
||||
}
|
||||
throw new RuntimeException("unexpected type of: " + resourceAllocation);
|
||||
}
|
||||
|
|
@ -288,13 +289,17 @@ public class QueuesState {
|
|||
return result;
|
||||
}
|
||||
|
||||
private List<LimitingResourceQueue> findQueuesMatchingCriteria(
|
||||
Set<Criterion> criteria) {
|
||||
private List<LimitingResourceQueue> findQueuesMatchingCriteria(GenericResourceAllocation generic) {
|
||||
List<LimitingResourceQueue> result = new ArrayList<LimitingResourceQueue>();
|
||||
ResourceEnum resourceType = generic.getResourceType();
|
||||
Set<Criterion> criteria = generic.getCriterions();
|
||||
|
||||
final ICriterion compositedCriterion = CriterionCompounder.buildAnd(
|
||||
criteria).getResult();
|
||||
for (LimitingResourceQueue each : queues) {
|
||||
if (compositedCriterion.isSatisfiedBy(each.getResource())) {
|
||||
Resource resource = each.getResource();
|
||||
if (resource.getType().equals(resourceType)
|
||||
&& compositedCriterion.isSatisfiedBy(resource)) {
|
||||
result.add(each);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue