From 1a8d6534c9fcb6c531b35e1074ff4746a783a1d6 Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Mon, 17 Jan 2011 12:58:23 +0100 Subject: [PATCH] [Bug #812] sorts the combo of multiple search in allocation pop-up. it places the criteria and then virtual workers, workers and machines and, it sorts each set by name. FEA : ItEr68S04BugFixing --- .../PredefinedDatabaseSnapshots.java | 27 +++++++++++-------- .../resources/daos/CriterionTypeDAO.java | 6 +++++ .../resources/daos/ICriterionTypeDAO.java | 2 ++ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java index 2e10da6c0..11ea113aa 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java @@ -29,7 +29,6 @@ import java.util.concurrent.Callable; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.joda.time.LocalDate; import org.navalplanner.business.advance.entities.DirectAdvanceAssignment; import org.navalplanner.business.calendars.entities.CalendarAvailability; @@ -244,10 +243,12 @@ public class PredefinedDatabaseSnapshots { public Map> call() throws Exception { Map> result = new HashMap>(); for (CriterionType criterionType : criterionTypeDAO - .getCriterionTypes()) { - List criterions = new ArrayList( - criterionDAO.findByType(criterionType)); - result.put(criterionType, criterions); + .getSortedCriterionTypes()) { + if (criterionType.isEnabled()) { + List criterions = criterionType + .getSortCriterions(); + result.put(criterionType, criterions); + } } return result; } @@ -318,17 +319,21 @@ public class PredefinedDatabaseSnapshots { @Override public Map, List> call() throws Exception { Map, List> result = new HashMap, List>(); - result.put(Worker.class, - new ArrayList(resourceDAO.getRealWorkers())); - result.put(Machine.class, - new ArrayList(resourceDAO.getMachines())); - result.put(VirtualWorker.class, new ArrayList( - resourceDAO.getVirtualWorkers())); + result.put(Worker.class, Resource + .sortByName(new ArrayList(resourceDAO + .getRealWorkers()))); + result.put(Machine.class, Resource + .sortByName(new ArrayList(resourceDAO + .getMachines()))); + result.put(VirtualWorker.class, Resource + .sortByName(new ArrayList(resourceDAO + .getVirtualWorkers()))); return result; } }; } + @Autowired private IExternalCompanyDAO externalCompanyDAO; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/CriterionTypeDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/CriterionTypeDAO.java index 949d00f51..615801fbe 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/CriterionTypeDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/CriterionTypeDAO.java @@ -190,6 +190,12 @@ public class CriterionTypeDAO extends IntegrationEntityDAO return list(CriterionType.class); } + @Override + public List getSortedCriterionTypes() { + return getSession().createCriteria(CriterionType.class).addOrder( + Order.asc("name")).list(); + } + @SuppressWarnings("unchecked") @Override public List getCriterionTypesByResources( diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ICriterionTypeDAO.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ICriterionTypeDAO.java index de627b3ae..2798b9007 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ICriterionTypeDAO.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/daos/ICriterionTypeDAO.java @@ -62,6 +62,8 @@ public interface ICriterionTypeDAO List getCriterionTypesByResources( Collection resources); + List getSortedCriterionTypes(); + /** * Checks if exists the equivalent {@link CriterionType} on the DB for a * {@link CriterionType} created from a {@link PredefinedCriterionTypes}