Author: fdesbois Date: 2010-04-06 12:14:41 +0000 (Tue, 06 Apr 2010) New Revision: 431 Modified: trunk/changelog.txt trunk/wao-business/src/main/filters/Wao.properties trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java Log: Evo #2241 : Improve observers loading using getObservers instead of getUsersByCompany Modified: trunk/changelog.txt =================================================================== --- trunk/changelog.txt 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/changelog.txt 2010-04-06 12:14:41 UTC (rev 431) @@ -3,6 +3,18 @@ Historique des versions +1.1.2 +----- + +Evolutions +++++++++++ + +- [fdesbois] Evo #2241 : Revoir chargement des observateurs lorsqu'un + utilisateur (observateur/coordinateur) est connecté + +Anomalies ++++++++++ + 1.1.1 (patch) ------------- Modified: trunk/wao-business/src/main/filters/Wao.properties =================================================================== --- trunk/wao-business/src/main/filters/Wao.properties 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/wao-business/src/main/filters/Wao.properties 2010-04-06 12:14:41 UTC (rev 431) @@ -23,4 +23,4 @@ wao.server.path=localhost:8080/wao ## Version (not necessary to override it) -wao.version=1.1.1 \ No newline at end of file +wao.version=1.1.2 \ No newline at end of file Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-06 12:14:41 UTC (rev 431) @@ -367,13 +367,17 @@ @Override public List<WaoUser> executeGetObservers(TopiaContext transaction, - boolean activeOnly) throws TopiaException { + Company company, boolean activeOnly) throws TopiaException { WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); TopiaQuery query = dao.createQuery(). add(WaoUser.ROLE, UserRole.OBSERVER.ordinal(), UserRole.COORDINATOR.ordinal()); + if (company != null) { + query.add(WaoUser.COMPANY, company); + } + if (activeOnly) { query.add(WaoUser.ACTIVE, Boolean.TRUE); } Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-04-06 12:14:41 UTC (rev 431) @@ -132,6 +132,10 @@ company.setName("TARTANPION"); service.createUpdateCompany(company); + Company company2 = new CompanyImpl(); + company2.setName("COMP"); + service.createUpdateCompany(company2); + WaoUser user1 = new WaoUserImpl(); user1.setLogin("user1"); user1.setFirstName("Jean"); @@ -165,18 +169,19 @@ user4.setLastName("Hur"); // The coordinator is also an observer user4.setUserRole(UserRole.COORDINATOR); - user4.setCompany(company); + user4.setCompany(company2); user4.setActive(true); service.createUpdateUser(user4, true); /** EXEC METHOD **/ - List<WaoUser> users = service.getObservers(false); + List<WaoUser> users = service.getObservers(null, false); // user1, user3 and user4 Assert.assertEquals(3, users.size()); - users = service.getObservers(true); - // user1 and user4 - Assert.assertEquals(2, users.size()); + // Filter on company only + users = service.getObservers(company, true); + // user1, user4 is ok but not link with company + Assert.assertEquals(1, users.size()); } /** Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/AbstractFilteredPage.java 2010-04-06 12:14:41 UTC (rev 431) @@ -290,13 +290,9 @@ */ public GenericSelectModel<WaoUser> getObserverSelectModel() throws WaoException { if (observerSelectModel == null) { - List<WaoUser> observers = new ArrayList<WaoUser>(); - if (getFilter().getCompany() != null) { - observers = serviceUser.getUsersByCompany( - getFilter().getCompany()); - } else if (user.isAdmin()) { - observers = serviceUser.getObservers(isAvailableDataForFiltersOnly()); - } + List<WaoUser> observers = + serviceUser.getObservers(getFilter().getCompany(), + isAvailableDataForFiltersOnly()); observerSelectModel = new GenericSelectModel<WaoUser>(observers,WaoUser.class, "fullName","topiaId",propertyAccess); } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-04-06 11:36:20 UTC (rev 430) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-04-06 12:14:41 UTC (rev 431) @@ -316,8 +316,8 @@ public GenericSelectModel<WaoUser> getUserSelectModel() { if (userSelectModel == null) { - List<WaoUser> users = serviceUser.getUsersByCompany( - user.getCompany()); + List<WaoUser> users = serviceUser.getObservers( + user.getCompany(), true); if (log.isDebugEnabled()) { log.debug("Nb users : " + users.size()); }