From e55564a02ed6554297586f22c1d615c255fe85c5 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 4 Feb 2010 15:30:36 +0100 Subject: [PATCH] ItEr46S19CUProcuraOrganizacionsTraballoItEr40S22: Added filter by name to order elements tree. --- .../web/orders/OrderElementPredicate.java | 21 +++++++++++++++++-- .../orders/OrderElementTreeController.java | 10 +++++++-- .../webapp/orders/_orderElementTreeFilter.zul | 2 ++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementPredicate.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementPredicate.java index c35030c91..6a879bde6 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementPredicate.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementPredicate.java @@ -23,6 +23,7 @@ package org.navalplanner.web.orders; import java.util.Date; import java.util.List; +import org.apache.commons.lang.StringUtils; import org.navalplanner.business.labels.entities.Label; import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.requirements.entities.CriterionRequirement; @@ -42,11 +43,14 @@ public class OrderElementPredicate implements IPredicate { private Date finishDate; + private String name; + public OrderElementPredicate(List filters, Date startDate, - Date finishDate) { + Date finishDate, String name) { this.filters = filters; this.startDate = startDate; this.finishDate = finishDate; + this.name = name; } @Override @@ -59,7 +63,8 @@ public class OrderElementPredicate implements IPredicate { if (orderElement == null) { return false; } - if (acceptFilters(orderElement) && acceptFiltersDates(orderElement)) { + if (acceptFilters(orderElement) && acceptFiltersDates(orderElement) + && acceptFilterName(orderElement)) { return true; } return false; @@ -173,4 +178,16 @@ public class OrderElementPredicate implements IPredicate { return false; } + private boolean acceptFilterName(OrderElement orderElement) { + if (name == null) { + return true; + } + if ((orderElement.getName() != null) + && (StringUtils + .containsIgnoreCase(orderElement.getName(), name))) { + return true; + } + return false; + } + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java index 287289570..601cda28d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java @@ -84,6 +84,8 @@ public class OrderElementTreeController extends TreeController { private Datebox filterFinishDate2; + private Textbox filterName; + private OrderElementTreeitemRenderer renderer = new OrderElementTreeitemRenderer(); private final IOrderModel orderModel; @@ -200,6 +202,7 @@ public class OrderElementTreeController extends TreeController { .getFellow("filterStartDate2"); filterFinishDate2 = (Datebox) filterComponent .getFellow("filterFinishDate2"); + filterName = (Textbox) filterComponent.getFellow("filterName"); templateFinderPopup = (TemplateFinderPopup) comp .getFellow("templateFinderPopupAtTree"); @@ -465,11 +468,14 @@ public class OrderElementTreeController extends TreeController { .getSelectedElements(); Date startDate = filterStartDate2.getValue(); Date finishDate = filterFinishDate2.getValue(); + String name = filterName.getValue(); - if (listFilters.isEmpty() && startDate == null && finishDate == null) { + if (listFilters.isEmpty() && startDate == null && finishDate == null + && name == null) { return null; } - return new OrderElementPredicate(listFilters, startDate, finishDate); + return new OrderElementPredicate(listFilters, startDate, finishDate, + name); } private void filterByPredicate(OrderElementPredicate predicate) { diff --git a/navalplanner-webapp/src/main/webapp/orders/_orderElementTreeFilter.zul b/navalplanner-webapp/src/main/webapp/orders/_orderElementTreeFilter.zul index f0b946d0c..60731f85f 100644 --- a/navalplanner-webapp/src/main/webapp/orders/_orderElementTreeFilter.zul +++ b/navalplanner-webapp/src/main/webapp/orders/_orderElementTreeFilter.zul @@ -7,6 +7,8 @@