diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/NewAllocationSelector.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/NewAllocationSelector.java index 6fc42fccd..5b9d63026 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/NewAllocationSelector.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/components/NewAllocationSelector.java @@ -21,8 +21,10 @@ package org.navalplanner.web.common.components; import java.util.HashSet; +import java.util.List; import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.ResourceEnum; import org.navalplanner.business.resources.entities.Worker; import org.navalplanner.web.I18nHelper; import org.navalplanner.web.planner.allocation.INewAllocationsAdder; @@ -55,6 +57,11 @@ public class NewAllocationSelector extends AllocationSelector { IResourceSearchModel resourceSearchModel) { return resourceSearchModel.searchWorkers(); } + + @Override + public String asCaption(List criterions) { + return Criterion.getCaptionFor(ResourceEnum.WORKER, criterions); + } }, GENERIC_MACHINES(_("generic machines allocation")) { @Override @@ -71,6 +78,12 @@ public class NewAllocationSelector extends AllocationSelector { IResourceSearchModel resourceSearchModel) { return resourceSearchModel.searchMachines(); } + + @Override + public String asCaption(List criterions) { + return Criterion + .getCaptionFor(ResourceEnum.MACHINE, criterions); + } }, SPECIFIC(_("specific allocation")) { @Override @@ -84,6 +97,11 @@ public class NewAllocationSelector extends AllocationSelector { IResourceSearchModel resourceSearchModel) { return resourceSearchModel.searchBoth(); } + + @Override + public String asCaption(List criterions) { + throw new UnsupportedOperationException(); + } }; @@ -129,6 +147,8 @@ public class NewAllocationSelector extends AllocationSelector { public abstract IResourcesQuery doQueryOn( IResourceSearchModel resourceSearchModel); + + public abstract String asCaption(List criterions); } public NewAllocationSelectorController getController() { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/search/NewAllocationSelectorController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/search/NewAllocationSelectorController.java index 61bdebb63..22ec7ac63 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/search/NewAllocationSelectorController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/search/NewAllocationSelectorController.java @@ -20,8 +20,6 @@ package org.navalplanner.web.resources.search; -import static org.navalplanner.web.I18nHelper._; - import java.util.ArrayList; import java.util.EnumSet; import java.util.HashSet; @@ -452,27 +450,21 @@ public class NewAllocationSelectorController extends } public void showSelectedAllocations() { - List result = new ArrayList(); + allocationSelectedItems.setValue(buildSelectedAllocationsString()); + } + + private String buildSelectedAllocationsString() { if (currentAllocationType == AllocationType.SPECIFIC) { - for (Object each : listBoxResources.getSelectedItems()) { - result.add(((Resource) ((Listitem) each).getValue()) - .getShortDescription()); + List result = new ArrayList(); + for (Resource each : getSelectedResourcesOnListbox()) { + result.add(each.getShortDescription()); } + return StringUtils.join(result, ","); } else { - for (Treeitem each : (Set) criterionsTree - .getSelectedItems()) { - Object node = ((CriterionTreeNode) each.getValue()).getData(); - if (node instanceof Criterion) { - result.add(((Criterion) node).getCompleteName()); - } - } - if (result.isEmpty()) { - result.add(_("[generic all workers]")); - } + List criterions = getSelectedCriterions(); + return currentAllocationType.asCaption(criterions); } - - allocationSelectedItems.setValue(StringUtils.join(result, ",")); } }