From 2dc4e0ee4a980e1ca9e57a6d85d7c6f666055619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Mon, 18 Apr 2011 17:58:46 +0200 Subject: [PATCH] [Bug #952] Fix bug Use LinkedHashMap to keep the order and call to Resource.sortByName where needed. FEA: ItEr74S04BugFixing --- .../web/resourceload/ResourceLoadModel.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 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 ed8656344..c75a5c02a 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 @@ -28,6 +28,7 @@ import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; @@ -338,14 +339,15 @@ public class ResourceLoadModel implements IResourceLoadModel { } else { allResourcesList = allResources(); } - if(pageFilterPosition == -1) { + return applyPagination(allResourcesList); + } + + private List applyPagination(List allResourcesList) { + if (pageFilterPosition == -1) { return allResourcesList; } - int endPosition = - (pageFilterPosition + pageSize < allResourcesList.size())? - pageFilterPosition + pageSize : - allResourcesList.size(); - return allResourcesList.subList(pageFilterPosition, endPosition); + return allResourcesList.subList(pageFilterPosition, Math.min( + pageFilterPosition + pageSize, allResourcesList.size())); } private List criteriaToShow() { @@ -632,7 +634,7 @@ public class ResourceLoadModel implements IResourceLoadModel { private Map>> eachWithAllocations( List allResources) { - Map>> map = new HashMap>>(); + Map>> map = new LinkedHashMap>>(); for (Resource resource : allResources) { map.put(resource, ResourceAllocation .sortedByStartDate(resourceAllocationDAO @@ -902,7 +904,8 @@ public class ResourceLoadModel implements IResourceLoadModel { @Override public void setResourcesToShow(List resourcesList) { this.resourcesToShowList.clear(); - this.resourcesToShowList.addAll(resourcesList); + this.resourcesToShowList.addAll(Resource.sortByName(resourcesList)); + } @Override @@ -985,9 +988,8 @@ public class ResourceLoadModel implements IResourceLoadModel { resources = resourcesToShow(); } else { - resources = resourcesSearchModel.searchBoth() - .byCriteria(criteriaToShow()) - .execute(); + resources = Resource.sortByName(resourcesSearchModel.searchBoth() + .byCriteria(criteriaToShow()).execute()); } for (Resource resource : resources) { resourcesDAO.reattach(resource);