From 02b59c55c5cbe610296d36962fbf9a049894206c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Thu, 17 Jun 2010 13:27:17 +0200 Subject: [PATCH] ItEr60S04ValidacionEProbasFuncionaisItEr59S04: [Bug #532] Calculate total capability correctly when the filter by criteria is being used. --- .../web/resourceload/ResourceLoadModel.java | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index b5550845b..1d57f9727 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -300,6 +300,21 @@ public class ResourceLoadModel implements IResourceLoadModel { return allResourcesList.subList(pageFilterPosition, endPosition); } + private List criteriaToShow() { + List criteriaList; + if(!criteriaToShowList.isEmpty()) { + criteriaList = criteriaToShowList; + } + else if(pageFilterPosition == -1) { + criteriaList = allCriteriaList; + } + else { + criteriaList = allCriteriaList.subList( + pageFilterPosition, getEndPositionForCriterionPageFilter()); + } + return criteriaList; + } + @Override public List getAllResourcesList() { return allResourcesList; @@ -367,18 +382,7 @@ public class ResourceLoadModel implements IResourceLoadModel { private List groupsFor( Map> genericAllocationsByCriterion) { List result = new ArrayList(); - List criteriaList; - if(!criteriaToShowList.isEmpty()) { - criteriaList = criteriaToShowList; - } - else if(pageFilterPosition == -1) { - criteriaList = allCriteriaList; - } - else { - criteriaList = allCriteriaList.subList( - pageFilterPosition, getEndPositionForCriterionPageFilter()); - } - for(Criterion criterion : criteriaList) { + for(Criterion criterion : criteriaToShow()) { if (genericAllocationsByCriterion.get(criterion) == null) { // no allocations found for criterion continue; @@ -884,7 +888,14 @@ public class ResourceLoadModel implements IResourceLoadModel { @Override @Transactional(readOnly = true) public List getResources() { - List resources = resourcesToShow(); + List resources; + if(filterByResources) { + resources = resourcesToShow(); + } + else { + resources =resourcesDAO + .findSatisfyingCriterionsAtSomePoint(criteriaToShow()); + } for (Resource resource : resources) { resourcesDAO.reattach(resource); ResourceCalendar calendar = resource.getCalendar();