From a13d8ce6b5108fc099b29436b9c02a0aa6758ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Wed, 19 May 2010 21:01:11 +0200 Subject: [PATCH] ItEr58S18CUEscaladoPantallaCargaRecursosEmpresaItEr57S10:: Apply name filter to resources. The filter is now implemented on the model, so only the resources that are going to be shown are calculated. --- .../web/resourceload/IResourceLoadModel.java | 4 ++++ .../resourceload/ResourceLoadController.java | 3 +++ .../web/resourceload/ResourceLoadModel.java | 20 ++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java index c0c13d9ab..c406a62c8 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/IResourceLoadModel.java @@ -76,4 +76,8 @@ public interface IResourceLoadModel { int getPageSize(); + int getPageFilterPosition(); + + void setPageFilterPosition(int pageFilterPosition); + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java index 138f12415..1fbd5d05d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadController.java @@ -198,6 +198,8 @@ public class ResourceLoadController implements Composer { resourcesLoadPanel.addNameFilterListener(new IPaginationFilterChangedListener() { @Override public void filterChanged(int initialPosition) { + resourceLoadModel.setPageFilterPosition(initialPosition); + reload(currentFilterByResources); addSchedulingScreenListeners(); } }); @@ -216,6 +218,7 @@ public class ResourceLoadController implements Composer { } public void onApplyFilter(boolean filterByResources) { + resourceLoadModel.setPageFilterPosition(0); reload(filterByResources); } 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 f58c7273e..4e57bf5da 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 @@ -133,6 +133,7 @@ public class ResourceLoadModel implements IResourceLoadModel { @Autowired private IConfigurationDAO configurationDAO; + private int pageFilterPosition = 0; private int pageSize = 10; /** @@ -257,7 +258,14 @@ public class ResourceLoadModel implements IResourceLoadModel { } else { allResourcesList = allResources(); } - return allResourcesList; + if(pageFilterPosition == -1) { + return allResourcesList; + } + int endPosition = + (pageFilterPosition + pageSize < allResourcesList.size())? + pageFilterPosition + pageSize : + allResourcesList.size(); + return allResourcesList.subList(pageFilterPosition, endPosition); } @Override @@ -270,6 +278,16 @@ public class ResourceLoadModel implements IResourceLoadModel { return allCriteriaList; } + @Override + public int getPageFilterPosition() { + return pageFilterPosition; + } + + @Override + public void setPageFilterPosition(int pageFilterPosition) { + this.pageFilterPosition = pageFilterPosition; + } + @Override public int getPageSize() { return pageSize;