From 228ca6e2b4cee9c03a74b75be86e20ae42ba76a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Tue, 10 Jul 2012 10:52:30 +0200 Subject: [PATCH] Bug #1486: Sort Profiles list before adding it to the combo box. We do it in the DAO because sort operations should be faster in the DB. FEA: ItEr76S04BugFixing --- .../org/libreplan/business/users/daos/IProfileDAO.java | 2 ++ .../org/libreplan/business/users/daos/ProfileDAO.java | 8 ++++++++ .../src/main/java/org/libreplan/web/users/UserModel.java | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/users/daos/IProfileDAO.java b/libreplan-business/src/main/java/org/libreplan/business/users/daos/IProfileDAO.java index ab5b5f8fc..b411a79a1 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/users/daos/IProfileDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/users/daos/IProfileDAO.java @@ -54,4 +54,6 @@ public interface IProfileDAO extends IGenericDAO{ Profile findByProfileNameLoadingRoles(String profileName) throws InstanceNotFoundException; + List listSorted(); + } diff --git a/libreplan-business/src/main/java/org/libreplan/business/users/daos/ProfileDAO.java b/libreplan-business/src/main/java/org/libreplan/business/users/daos/ProfileDAO.java index 22e835dcf..f85f4995e 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/users/daos/ProfileDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/users/daos/ProfileDAO.java @@ -26,6 +26,7 @@ import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; +import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.libreplan.business.common.daos.GenericDAOHibernate; import org.libreplan.business.common.exceptions.InstanceNotFoundException; @@ -121,4 +122,11 @@ public class ProfileDAO extends GenericDAOHibernate implements return profile; } + @Override + public List listSorted() { + Criteria c = getSession().createCriteria(Profile.class).addOrder( + Order.asc("profileName")); + return c.list(); + } + } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java index 72036c49c..c9e9bbf4f 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/users/UserModel.java @@ -272,7 +272,7 @@ public class UserModel implements IUserModel { @Override @Transactional(readOnly = true) public List getAllProfiles() { - return profileDAO.list(Profile.class); + return profileDAO.listSorted(); } }