Author: bleny Date: 2010-12-24 11:02:31 +0000 (Fri, 24 Dec 2010) New Revision: 857 Log: some refactoring ; code-style Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java Modified: 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 Added: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserDAOImpl.java 2010-12-24 11:02:31 UTC (rev 857) @@ -0,0 +1,18 @@ +package fr.ifremer.wao.entity; + +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.framework.TopiaQuery; + +import java.util.List; + +public class WaoUserDAOImpl<E extends WaoUser> extends WaoUserDAOAbstract<E> { + + @Override + public List<WaoUser> findUsersByCompany(Company company) throws TopiaException { + TopiaQuery query = createQuery(). + addEquals(WaoUser.PROPERTY_COMPANY, company). + addOrder(WaoUser.PROPERTY_FIRST_NAME, WaoUser.PROPERTY_LAST_NAME); + + return (List<WaoUser>) findAllByQuery(query); + } +} 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-12-23 19:09:52 UTC (rev 856) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-12-24 11:02:31 UTC (rev 857) @@ -24,10 +24,36 @@ package fr.ifremer.wao.service; -import fr.ifremer.wao.*; +import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoBusinessException.Type; -import fr.ifremer.wao.bean.*; -import fr.ifremer.wao.entity.*; +import fr.ifremer.wao.WaoContext; +import fr.ifremer.wao.WaoDAOHelper; +import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.WaoProperty; +import fr.ifremer.wao.WaoQueryHelper; +import fr.ifremer.wao.bean.BoatFilter; +import fr.ifremer.wao.bean.BoatFilterImpl; +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ConnectedUserImpl; +import fr.ifremer.wao.bean.ObsProgram; +import fr.ifremer.wao.bean.SamplingFilter; +import fr.ifremer.wao.bean.SamplingFilterImpl; +import fr.ifremer.wao.bean.UserRole; +import fr.ifremer.wao.entity.Boat; +import fr.ifremer.wao.entity.Company; +import fr.ifremer.wao.entity.CompanyDAO; +import fr.ifremer.wao.entity.Contact; +import fr.ifremer.wao.entity.ContactDAO; +import fr.ifremer.wao.entity.News; +import fr.ifremer.wao.entity.SampleRow; +import fr.ifremer.wao.entity.SampleRowLog; +import fr.ifremer.wao.entity.SampleRowLogDAO; +import fr.ifremer.wao.entity.UserProfile; +import fr.ifremer.wao.entity.UserProfileDAO; +import fr.ifremer.wao.entity.UserProfileImpl; +import fr.ifremer.wao.entity.WaoUser; +import fr.ifremer.wao.entity.WaoUserDAO; +import fr.ifremer.wao.entity.WaoUserImpl; import org.apache.commons.mail.EmailException; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; @@ -379,7 +405,7 @@ List<SampleRowLog> results = logDAO.findAllByAuthor(user); if (!results.isEmpty()) { - String msg = ""; + String msg; if (isCoordinator) { msg = " car il a ajouté des commentaires sur le plan " + "d'échantillonnage."; @@ -451,23 +477,11 @@ errorArgs.add(company.getName()); - List<WaoUser> users = getUsersByCompany(transaction, company); - - return users; - } - - /** - *@deprecated FIXME-fdesbois-2010-12-23 : move this method into WaoUserDAO - */ - @Deprecated - protected List<WaoUser> getUsersByCompany(TopiaContext transaction, Company company) throws TopiaException { WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); - TopiaQuery query = dao.createQuery(). - addEquals(WaoUser.PROPERTY_COMPANY, company). - addOrder(WaoUser.PROPERTY_FIRST_NAME, WaoUser.PROPERTY_LAST_NAME); + List<WaoUser> users = dao.findUsersByCompany(company); - return dao.findAllByQuery(query); + return users; } @Override @@ -575,7 +589,8 @@ protected void executeDeleteCompany(TopiaContext transaction, Company company) throws Exception { // we can delete a company only if no users are attached - List<WaoUser> users = getUsersByCompany(transaction, company); + WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction); + List<WaoUser> users = waoUserDAO.findUsersByCompany(company); if ( ! users.isEmpty()) { String message = "Impossible de supprimer la société " + company.getName() + " : des utilisateurs sont encore associés à cette société"; 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-12-23 19:09:52 UTC (rev 856) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2010-12-24 11:02:31 UTC (rev 857) @@ -25,12 +25,17 @@ package fr.ifremer.wao.service; import fr.ifremer.wao.AbstractServiceTest; -import fr.ifremer.wao.TestManager; import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoDAOHelper; import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.UserRole; -import fr.ifremer.wao.entity.*; +import fr.ifremer.wao.entity.Company; +import fr.ifremer.wao.entity.CompanyImpl; +import fr.ifremer.wao.entity.UserProfile; +import fr.ifremer.wao.entity.UserProfileDAO; +import fr.ifremer.wao.entity.UserProfileImpl; +import fr.ifremer.wao.entity.WaoUser; +import fr.ifremer.wao.entity.WaoUserImpl; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -40,7 +45,6 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; /** @@ -70,7 +74,7 @@ * @throws Exception all exceptions */ @Test - public void testCreateUpdateUser() throws Exception { + public void testCreateUser() throws Exception { log.info("############### START ############### testCreateUpdateUser"); // create a user with no role @@ -80,8 +84,6 @@ // now, update user with or without adding, removing, a profile to // see if an error is raised - List<UserProfile> profiles = new LinkedList<UserProfile>(); - user.setUserProfile(profiles); UserProfile adminProfile = new UserProfileImpl( ObsProgram.OBSMER, @@ -94,23 +96,21 @@ true ); - profiles.add(adminProfile); + user.addUserProfile(adminProfile); log.debug("trying to store " + user.getTopiaId()); service.createUpdateUser(user, false); - manager = new TestManager(); - setUp(); + user.addUserProfile(coordinatorProfile); + service.createUpdateUser(user, false); - profiles.add(coordinatorProfile); + user.removeUserProfile(adminProfile); service.createUpdateUser(user, false); - manager = new TestManager(); - setUp(); + WaoUser userFound = findUserByLogin("login"); + Assert.assertNotNull(userFound); + Assert.assertEquals(1, userFound.getUserProfile().size()); - profiles.remove(adminProfile); - service.createUpdateUser(user, false); - // check that creating two user with the same login is not allowed try { user = new WaoUserImpl(); @@ -159,6 +159,7 @@ WaoUser userFound = findUserByLogin(login); log.debug("user found = " + userFound); + Assert.assertNotNull(userFound); Assert.assertFalse(userFound.isActive()); }