Author: fdesbois Date: 2010-04-01 15:49:29 +0000 (Thu, 01 Apr 2010) New Revision: 406 Added: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java Log: use ServiceTransformer for ServiceUser + remove old context usage in entities (create WaoUtils to delegate some usefull methods) Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoContextImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -210,6 +210,9 @@ // temp WaoContextO.setContext(this); + // Set context in utils static class for entities + WaoUtils.setContext(this); + // Create the default admin in database WaoGlobal.createDefaultAdmin(); Added: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2010-04-01 15:49:29 UTC (rev 406) @@ -0,0 +1,88 @@ + +package fr.ifremer.wao; + +import java.util.Date; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; + +/** + * Class only used for entities. The entities can't have WaoContext, so + * this utils class can use the current {@link WaoContext} in a static way. + * + * Created: 1 avr. 2010 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class WaoUtils { + + private static WaoContextImplementor context; + + static void setContext(WaoContextImplementor context) { + WaoUtils.context = context; + } + + public static String encodeString(String str) { + return context.encodeString(str); + } + + public static String convertId(String topiaId) { + return context.convertId(topiaId); + } + + public static Date getCurrentDate() { + return context.getCurrentDate(); + } + + /** + * This method must be removed. Use {@link WaoContext} instance instead. + * + * @param transaction + */ + public static void doFinally(TopiaContext transaction) { + context.doFinally(transaction); + } + + /** + * This method must be removed. Use {@link WaoContext} instance instead. + * + * @param transaction + * @param eee + * @param message + * @param args + * @throws WaoException + */ + public static void doCatch(TopiaContext transaction, + Exception eee, String message, Object... args) throws WaoException { + context.doCatch(transaction, eee, message, args); + } + + /** + * This method must be removed. Use {@link WaoContext} instance instead. + * + * @param eee + * @param message + * @param args + * @throws WaoException + */ + public static void doCatch(Exception eee, String message, + Object... args) throws WaoException { + context.doCatch(eee, message, args); + } + + /** + * This method must be removed. Use {@link WaoContext} instance instead. + * + * @return + * @throws TopiaException + */ + public static TopiaContext beginTransaction() throws TopiaException { + return context.beginTransaction(); + } + + + +} Property changes on: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,12 +21,13 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoExceptionO; -import fr.ifremer.wao.WaoContextO; import fr.ifremer.wao.WaoDAOHelper; +import fr.ifremer.wao.WaoException; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.bean.ContactState; import java.io.Serializable; import java.util.Date; +import org.nuiton.i18n.I18n; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaQuery; import org.slf4j.Logger; @@ -60,30 +61,29 @@ * @see fr.ifremer.wao.bean.ContactState#isFinalState() */ @Override - public boolean canCreateContact(Company company) throws WaoExceptionO { + public boolean canCreateContact(Company company) throws WaoException { boolean result = true; if (!getActive()) { result = false; } else { TopiaContext transaction = null; try { - transaction = WaoContextO.getTopiaRootContext().beginTransaction(); + transaction = WaoUtils.beginTransaction(); ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - Contact contact = dao.findByQuery(dao.createQueryLastContactForBoat(this, company)); + Contact contact = dao.findByQuery( + dao.createQueryLastContactForBoat(this, company)); if (contact != null) { result = contact.getContactState().isFinalState(); } - //transaction.closeContext(); } catch (Exception eee) { - WaoContextO.serviceException(transaction, - "Impossible de récupérer les informations privées du navire lié à la société " + - "'" + company.getName() + "'", - eee); + WaoUtils.doCatch(transaction, eee, + I18n.n_("wao.error.boat.canCreateContact"), + company.getName(), getName(), getImmatriculation()); } finally { - WaoContextO.closeTransaction(transaction); + WaoUtils.doFinally(transaction); } } return result; @@ -99,25 +99,23 @@ * @see fr.ifremer.wao.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date) */ @Override - public int getNbBoarding(Date fromDate) throws WaoExceptionO { + public int getNbBoarding(Date fromDate) throws WaoException { TopiaContext transaction = null; int result = 0; try { - transaction = WaoContextO.getTopiaRootContext().beginTransaction(); + transaction = WaoUtils.beginTransaction(); ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - TopiaQuery query = dao.createQueryDoneContactsFromDate(this, fromDate); + TopiaQuery query = + dao.createQueryDoneContactsFromDate(this, fromDate); result = query.executeCount(transaction); - //transaction.closeContext(); } catch (Exception eee) { - WaoContextO.serviceException(transaction, - "Impossible de récupérer le nombre d'embarquements réels depuis le " + - "'" + fromDate + "'", - eee); + WaoUtils.doCatch(transaction, eee, + I18n.n_("wao.error.boat.getNbBoarding"), fromDate); } finally { - WaoContextO.closeTransaction(transaction); + WaoUtils.doFinally(transaction); } return result; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/BoatInfosImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,13 +21,14 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoContextO; -import fr.ifremer.wao.WaoExceptionO; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.WaoDAOHelper; +import fr.ifremer.wao.WaoException; import org.nuiton.topia.framework.TopiaQuery; import java.io.Serializable; import org.nuiton.topia.TopiaContext; import java.util.Date; +import org.nuiton.i18n.I18n; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,27 +59,26 @@ * @see fr.ifremer.wao.entity.ContactDAO#createQueryDoneContactsFromDate(Boat, Date) */ @Override - public int getNbBoardingForCompany(Date fromDate) throws WaoExceptionO { + public int getNbBoardingForCompany(Date fromDate) throws WaoException { TopiaContext transaction = null; int result = 0; try { - transaction = WaoContextO.getTopiaRootContext().beginTransaction(); + transaction = WaoUtils.beginTransaction(); ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - TopiaQuery query = dao.createQueryDoneContactsFromDate(getBoat(), fromDate); + TopiaQuery query = + dao.createQueryDoneContactsFromDate(getBoat(), fromDate); query.add(Contact.OBSERVER + "." + WaoUser.COMPANY, getCompany()); result = query.executeCount(); - - //transaction.closeContext(); + } catch (Exception eee) { - WaoContextO.serviceException(transaction, - "Impossible de récupérer le nombre d'embarquements réels depuis le " + - "'" + fromDate + "' pour la société '" + getCompany().getName() + "'", - eee); + WaoUtils.doCatch(transaction, eee, + I18n.n_("wao.error.boatInfos.getNbBoardingForCompany"), + fromDate, getCompany().getName()); } finally { - WaoContextO.closeTransaction(transaction); + WaoUtils.doFinally(transaction); } return result; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/CompanyImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,7 +21,7 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoContextO; +import fr.ifremer.wao.WaoUtils; import java.io.Serializable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +50,6 @@ */ @Override public String getId() { - return WaoContextO.convertId(getTopiaId()); + return WaoUtils.convertId(getTopiaId()); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleMonthImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,14 +21,15 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoContextO; -import fr.ifremer.wao.WaoExceptionO; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.WaoDAOHelper; +import fr.ifremer.wao.WaoException; import java.io.Serializable; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; +import org.nuiton.i18n.I18n; import org.nuiton.topia.TopiaContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -59,10 +60,10 @@ * @throws WaoException for saving problem */ @Override - public void addRealTideTime(int nbDays) throws WaoExceptionO { + public void addRealTideTime(int nbDays) throws WaoException { TopiaContext transaction = null; try { - transaction = WaoContextO.getTopiaRootContext().beginTransaction(); + transaction = WaoUtils.beginTransaction(); SampleMonthDAO dao = WaoDAOHelper.getSampleMonthDAO(transaction); SampleMonth month = dao.findByTopiaId(getTopiaId()); @@ -73,17 +74,18 @@ month.setRealTidesValue(result); if (log.isDebugEnabled()) { - log.debug("Change realTideTime from " + month.getRealTidesValue() + " to " + result); + log.debug("Change realTideTime from " + + month.getRealTidesValue() + " to " + result); } transaction.commitTransaction(); //transaction.closeContext(); } catch (Exception eee) { - WaoContextO.serviceException(transaction, - "Impossible d'enregistrer le nombre de marées réels pour le mois de " + - formatMonth() + " [ligne : " + this.getSampleRow().getCode() + "]", eee); + WaoUtils.doCatch(transaction, eee, + I18n.n_("wao.error.sampleMonth.addRealTideTime"), + formatMonth(), getSampleRow().getCode()); } finally { - WaoContextO.closeTransaction(transaction); + WaoUtils.doFinally(transaction); } } @@ -97,7 +99,7 @@ @Override public boolean isCurrentMonth() { Calendar current = new GregorianCalendar(); - current.setTime(WaoContextO.getCurrentDate()); + current.setTime(WaoUtils.getCurrentDate()); Calendar calendar = new GregorianCalendar(); calendar.setTime(getPeriodDate()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,8 +21,8 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoContextO; -import fr.ifremer.wao.WaoExceptionO; +import fr.ifremer.wao.WaoUtils; +import fr.ifremer.wao.WaoException; import fr.ifremer.wao.WaoDAOHelper; import java.io.Serializable; import java.util.ArrayList; @@ -32,6 +32,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.lang.BooleanUtils; +import org.nuiton.i18n.I18n; import org.nuiton.topia.TopiaContext; import org.nuiton.util.DateUtils; import org.nuiton.util.PeriodDates; @@ -179,7 +180,8 @@ /** * Used to get a list of boat's immatriculations linked with the sampleRow. * - * @return a simple String which contains immatriculations separate by a space + * @return a simple String which contains immatriculations separate by + * a space */ @Override public String getMainElligibleBoatsAsString() { @@ -194,8 +196,10 @@ } /** - * Check if SampleMonth of the SampleRow has already realTidesValue set (different from 0). - * It means the SampleRow could'nt be deleted and have some modification constraints. + * Check if SampleMonth of the SampleRow has already realTidesValue set + * (different from 0). It means the SampleRow could'nt be deleted and + * have some modification constraints. + * * @return true if a SampleMonth have realTidesValue, false otherwise */ @Override @@ -209,8 +213,9 @@ } @Override - public boolean addRealTideTime(Contact contact) throws WaoExceptionO { - if (contact.getTideEndDate() == null || contact.getTideBeginDate() == null) { + public boolean addRealTideTime(Contact contact) throws WaoException { + if (contact.getTideEndDate() == null || + contact.getTideBeginDate() == null) { return false; } //int nbDays = contact.getTideNbDays(); //getDifferenceDays(contact); @@ -219,21 +224,24 @@ return false; } if (log.isTraceEnabled()) { - log.trace("Add 1 tide for " + month.formatMonth() + " [" + this.getCode() + "]"); + log.trace("Add 1 tide for " + month.formatMonth() + + " [" + this.getCode() + "]"); } month.addRealTideTime(1); return true; } @Override - public void removeRealTideTime(Contact contact) throws WaoExceptionO { - if (contact.getTideEndDate() == null || contact.getTideBeginDate() == null) { + public void removeRealTideTime(Contact contact) throws WaoException { + if (contact.getTideEndDate() == null || + contact.getTideBeginDate() == null) { return; } //int nbDays = contact.getTideNbDays(); //getDifferenceDays(contact); SampleMonth month = getSampleMonth(contact.getTideBeginDate()); if (log.isTraceEnabled()) { - log.trace("Remove 1 tide for " + month.formatMonth() + " [" + this.getCode() + "]"); + log.trace("Remove 1 tide for " + month.formatMonth() + + " [" + this.getCode() + "]"); } month.addRealTideTime(-1); } @@ -247,14 +255,15 @@ @Override public boolean isStarted() { - Date current = WaoContextO.getCurrentDate(); - return current.after(getPeriodBegin()) || current.equals(getPeriodBegin()); + Date current = WaoUtils.getCurrentDate(); + return current.after(getPeriodBegin()) || + current.equals(getPeriodBegin()); } @Override public boolean isFinished(int nbMonths) { Calendar calendar = new GregorianCalendar(); - calendar.setTime(WaoContextO.getCurrentDate()); + calendar.setTime(WaoUtils.getCurrentDate()); calendar.add(Calendar.MONTH, nbMonths); return calendar.getTime().after(getPeriodEnd()); } @@ -288,7 +297,7 @@ * @throws WaoException */ @Override - public void saveSampleRowLog(SampleRowLog rowLog) throws WaoExceptionO { + public void saveSampleRowLog(SampleRowLog rowLog) throws WaoException { TopiaContext transaction = null; try { if (log.isInfoEnabled()) { @@ -298,7 +307,7 @@ " _ authorRole = " + author.getUserRole()); } - transaction = WaoContextO.getTopiaRootContext().beginTransaction(); + transaction = WaoUtils.beginTransaction(); SampleRowLogDAO logDAO = WaoDAOHelper.getSampleRowLogDAO(transaction); @@ -311,11 +320,11 @@ // WaoContext.PROP_EMAIL_FROM } catch (Exception eee) { - WaoContextO.serviceException(transaction, - "Impossible d'enregistrer le commentaire écrit par " - + rowLog.getAuthor().getFullName(), eee); + WaoUtils.doCatch(transaction, eee, + I18n.n_("wao.error.sampleRow.saveSampleRowLog"), + rowLog.getAuthor().getFullName()); } finally { - WaoContextO.closeTransaction(transaction); + WaoUtils.doFinally(transaction); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -21,7 +21,7 @@ package fr.ifremer.wao.entity; -import fr.ifremer.wao.WaoContextO; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.bean.UserRole; import java.io.Serializable; import org.slf4j.Logger; @@ -59,12 +59,12 @@ /** * Return a simplified id instead of using topiaId - * @return a simplified id - * @see WaoUtils#convertId(java.lang.String) + * + * @return a simplified id */ @Override public String getId() { - return WaoContextO.convertId(getTopiaId()); + return WaoUtils.convertId(getTopiaId()); } @Override 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-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-01 15:49:29 UTC (rev 406) @@ -23,9 +23,7 @@ import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoBusinessException.Type; -import fr.ifremer.wao.WaoExceptionO; import fr.ifremer.wao.WaoDAOHelper; -import fr.ifremer.wao.WaoContextO; import fr.ifremer.wao.WaoProperty; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Company; @@ -36,11 +34,13 @@ import fr.ifremer.wao.entity.SampleRowLogDAO; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.entity.WaoUserDAO; +import fr.ifremer.wao.entity.WaoUserImpl; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DurationFormatUtils; +import org.apache.commons.mail.EmailException; import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,147 +56,170 @@ * Mise a jour: $Date$ * par : $Author$ */ -public class ServiceUserImpl implements ServiceUser { +public class ServiceUserImpl extends ServiceUserAbstract { private static final Logger log = LoggerFactory.getLogger(ServiceUserImpl.class); - protected TopiaContext rootContext; +// protected TopiaContext rootContext; +// +// public ServiceUserImpl() throws WaoExceptionO { +// rootContext = WaoContextO.getTopiaRootContext(); +// } - public ServiceUserImpl() throws WaoExceptionO { - rootContext = WaoContextO.getTopiaRootContext(); - } - @Override - public WaoUser connect(String login, String password) throws WaoExceptionO { - TopiaContext transaction = null; - WaoUser user = null; - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } - transaction = rootContext.beginTransaction(); + public WaoUser executeConnect(TopiaContext transaction, + String login, String password) + throws TopiaException, WaoBusinessException { +// TopiaContext transaction = null; +// WaoUser user = null; +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } +// transaction = rootContext.beginTransaction(); WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); - String passwordEncoded = WaoContextO.encodeString(password); - user = dao.findByProperties(WaoUser.LOGIN, login, WaoUser.PASSWORD, passwordEncoded); + String passwordEncoded = context.encodeString(password); + WaoUser user = dao.findByProperties( + WaoUser.LOGIN, login, + WaoUser.PASSWORD, passwordEncoded); if (user != null && user.getActive()) { // load company entity user.getCompany(); } else if (user != null && !user.getActive()) { - throw new WaoBusinessException(Type.ILLEGAL_CONNECTION, this.getClass(), - "Vous n'avez plus les droits nécessaires pour vous connecter. Veuillez contacter un administrateur."); + throw new WaoBusinessException(Type.ILLEGAL_CONNECTION, + this.getClass(), + "Vous n'avez plus les droits nécessaires pour" + + " vous connecter. Veuillez contacter un" + + " administrateur."); } else { - throw new WaoBusinessException(Type.BAD_CONNECTION, this.getClass(), - "Identifiant ou mot de passe incorrects, veuillez réessayer."); + throw new WaoBusinessException(Type.BAD_CONNECTION, + this.getClass(), + "Identifiant ou mot de passe incorrects, " + + "veuillez réessayer."); } - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ connect ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } + return user; - //transaction.closeContext(); - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Une erreur est survenue lors de la demande de connexion", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } - return user; +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ connect ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// +// //transaction.closeContext(); +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Une erreur est survenue lors de la demande de connexion", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } } @Override - public void forgetPassword(String login) throws WaoExceptionO { - TopiaContext transaction = null; - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } + public void executeForgetPassword(TopiaContext transaction, + String login) throws WaoBusinessException, TopiaException, EmailException { +// TopiaContext transaction = null; +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } if (!login.contains("@")) { - throw new WaoBusinessException(Type.SYNTAX, this.getClass(), "Votre identifiant n'est pas un email valide, " + - "veuillez contacter un administrateur pour qu'il puisse changer votre mot de passe."); + throw new WaoBusinessException(Type.SYNTAX, + this.getClass(), "Votre identifiant n'est pas" + + " un email valide, " + + "veuillez contacter un administrateur pour " + + "qu'il puisse changer votre mot de passe."); } - transaction = rootContext.beginTransaction(); +// transaction = rootContext.beginTransaction(); WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); WaoUser user = dao.findByLogin(login); if (user == null) { - throw new WaoBusinessException(Type.NOT_EXISTS, this.getClass(), - "L'email '" + login + "' n'est pas référencé dans l'application."); + throw new WaoBusinessException(Type.NOT_EXISTS, + this.getClass(), + "L'email '" + login + "' n'est pas " + + "référencé dans l'application."); } - String password = WaoContextO.createRandomString(8); - String passwordEncoded = WaoContextO.encodeString(password); + String password = context.createRandomString(8); + String passwordEncoded = context.encodeString(password); user.setPassword(passwordEncoded); String subject = "[WAO] Mot de passe oublié"; String msg = "Bonjour,\n\n" + - "\tUn nouveau mot de passe a été généré pour votre identifiant " + login + " :\n" + + "\tUn nouveau mot de passe a été généré pour votre" + + " identifiant " + login + " :\n" + "\t\t * mot de passe = " + password + "\n\n" + - "Vous pouvez modifier votre password en accédant à la page de gestion de votre profile utilisateur :\n\n" + + "Vous pouvez modifier votre password en accédant à " + + "la page de gestion de votre profile utilisateur :\n\n" + "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n" + "Cordialement,\n\n" + "L'Equipe WAO"; - WaoContextO.sendEmail(user.getLogin(), subject, msg); + context.sendEmail(user.getLogin(), subject, msg); if (log.isDebugEnabled()) { log.debug("send email to : " + user.getLogin()); } transaction.commitTransaction(); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ forgetPassword ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - //transaction.closeContext(); - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ forgetPassword ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// //transaction.closeContext(); +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } } @Override - public void createUpdateUser(WaoUser user, boolean generatePassword) throws WaoExceptionO { - TopiaContext transaction = null; - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } + public void executeCreateUpdateUser(TopiaContext transaction, + WaoUser user, boolean generatePassword) + throws TopiaException, IllegalArgumentException, + WaoBusinessException, EmailException { +// TopiaContext transaction = null; +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } if (user == null) { throw new IllegalArgumentException("user parameter can't be null"); } - transaction = rootContext.beginTransaction(); +// transaction = rootContext.beginTransaction(); WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); - boolean newUser = WaoContextO.prepareTopiaId(WaoUser.class, user); + boolean newUser = context.prepareTopiaId(WaoUser.class, user); // Check for a new user if login already exists if (newUser) { WaoUser existUser = dao.findByLogin(user.getLogin()); if (existUser != null) { - throw new WaoBusinessException(Type.ALREADY_EXISTS, this.getClass(), - "Un utilisateur existe déjà avec ce login " + user.getLogin()); + throw new WaoBusinessException(Type.ALREADY_EXISTS, + this.getClass(), + "Un utilisateur existe déjà avec ce login " + + user.getLogin()); } } String password = user.getPassword(); if (generatePassword) { - password = WaoContextO.createRandomString(8); + password = context.createRandomString(8); user.setPasswordChanged(true); // if (log.isDebugEnabled()) { // log.debug("show generated password : " + password); @@ -204,7 +227,7 @@ } // For a password set manually by user or generated if (user.isPasswordChanged()) { - String passwordEncoded = WaoContextO.encodeString(password); + String passwordEncoded = context.encodeString(password); user.setPassword(passwordEncoded); } @@ -217,26 +240,36 @@ String msg = "Bonjour,\n\n"; if (newUser) { subject += "Création de votre compte"; - msg += "\tVous avez été inscris sur le site WAO : Web Applicatif Obsmer. Vos identifiants de connexion sont :\n" + + msg += "\tVous avez été inscris sur le site WAO :" + + " Web Applicatif Obsmer. Vos identifiants de " + + "connexion sont :\n" + "\t\t * identifiant = " + user.getLogin() + "\n" + "\t\t * mot de passe = " + password + "\n\n" + - "Vous pouvez modifier votre mot de passe en accédant à la page de gestion de votre profil utilisateur:\n\n" + + "Vous pouvez modifier votre mot de passe en " + + "accédant à la page de gestion de votre profil" + + " utilisateur:\n\n" + "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n"; } else { subject += "Modification de votre compte"; if (generatePassword) { - msg += "\tVotre mot de passe de connexion à l'application WAO a été modifié : " + password + "\n\n"; + msg += "\tVotre mot de passe de connexion à " + + "l'application WAO a été modifié : " + + "" + password + "\n\n"; } else { - msg += "\tVotre changement de mot de passe à bien été enregistré.\n" + - "Pour des raisons de sécurité, le nouveau mot de passe n'est pas précisé dans ce message.\n" + - "Vous pouvez faire une nouvelle demande de mot de passe en cas de perte sur la page de connexion ou en " + + msg += "\tVotre changement de mot de passe à bien " + + "été enregistré.\n" + + "Pour des raisons de sécurité, le nouveau " + + "mot de passe n'est pas précisé dans ce message.\n" + + "Vous pouvez faire une nouvelle demande " + + "de mot de passe en cas de perte sur la" + + " page de connexion ou en " + "répondant à ce message.\n\n"; } } msg += "Cordialement,\n\n" + "L'Equipe WAO"; - WaoContextO.sendEmail(user.getLogin(), subject, msg); + context.sendEmail(user.getLogin(), subject, msg); // if (log.isDebugEnabled()) { // log.debug("send email to : " + user.getLogin()); // } @@ -244,29 +277,30 @@ transaction.commitTransaction(); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ createUpdateUser ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - //transaction.closeContext(); - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ createUpdateUser ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// //transaction.closeContext(); +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour l'utilisateur", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } } @Override - public void deleteUser(WaoUser user) throws WaoExceptionO { - TopiaContext transaction = null; - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } - transaction = rootContext.beginTransaction(); + public void executeDeleteUser(TopiaContext transaction , + WaoUser user) throws WaoBusinessException, TopiaException { +// TopiaContext transaction = null; +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } +// transaction = rootContext.beginTransaction(); String userType = StringUtils.lowerCase( user.getUserRole().getLibelle()); @@ -316,66 +350,68 @@ transaction.commitTransaction(); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ deleteUser ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - //transaction.closeContext(); - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de créer ou" + - " de mettre à jour l'utilisateur", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ deleteUser ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// //transaction.closeContext(); +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de créer ou" + +// " de mettre à jour l'utilisateur", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } } @Override - public void createUpdateCompany(Company company) throws WaoExceptionO { - TopiaContext transaction = null; - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } + public void executeCreateUpdateCompany(TopiaContext transaction, + Company company) throws TopiaException, IllegalArgumentException { +// TopiaContext transaction = null; +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } if (company == null) { throw new IllegalArgumentException("company parameter can't be null"); } - transaction = rootContext.beginTransaction(); +// transaction = rootContext.beginTransaction(); CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction); - WaoContextO.prepareTopiaId(Company.class, company); + context.prepareTopiaId(Company.class, company); dao.update(company); transaction.commitTransaction(); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ createUpdateCompany ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - //transaction.closeContext(); - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour la société", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ createUpdateCompany ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// //transaction.closeContext(); +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de créer ou de mettre à jour la société", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } } @Override - public List<Company> getCompanies(boolean activeOnly) throws WaoExceptionO { - TopiaContext transaction = null; + public List<Company> executeGetCompanies(TopiaContext transaction, + boolean activeOnly) throws TopiaException { +// TopiaContext transaction = null; List<Company> results = new ArrayList<Company>(); - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } - transaction = rootContext.beginTransaction(); +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } +// transaction = rootContext.beginTransaction(); CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction); @@ -385,31 +421,34 @@ results = dao.findAll(); } - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ getCompanies ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des sociétés", eee); - } finally { - WaoContextO.closeTransaction(transaction); - } +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ getCompanies ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des sociétés", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } return results; } @Override - public List<WaoUser> getUsersByCompany(Company company) throws WaoExceptionO { - TopiaContext transaction = null; - List<WaoUser> results = new ArrayList<WaoUser>(); - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } - transaction = rootContext.beginTransaction(); + public List<WaoUser> executeGetUsersByCompany(TopiaContext transaction, + List<Object> errorArgs, Company company) throws TopiaException { +// TopiaContext transaction = null; +// List<WaoUser> results = new ArrayList<WaoUser>(); +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } +// transaction = rootContext.beginTransaction(); + errorArgs.add(company.getName()); + WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); @@ -417,34 +456,35 @@ add(WaoUser.COMPANY, company). addOrder(WaoUser.FIRST_NAME, WaoUser.LAST_NAME); - results = dao.findAllByQuery(query); + return dao.findAllByQuery(query); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ getUsersByCompany ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de récupérer " + - "la liste des utilisateurs de la société " + - company.getName(), eee); - } finally { - WaoContextO.closeTransaction(transaction); - } - return results; +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ getUsersByCompany ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de récupérer " + +// "la liste des utilisateurs de la société " + +// company.getName(), eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } +// return results; } @Override - public List<WaoUser> getObservers(boolean activeOnly) throws WaoExceptionO { - TopiaContext transaction = null; - List<WaoUser> results = new ArrayList<WaoUser>(); - try { - long startTime = 0; - if (log.isDebugEnabled()) { - startTime = System.currentTimeMillis(); - } - transaction = rootContext.beginTransaction(); + public List<WaoUser> executeGetObservers(TopiaContext transaction, + boolean activeOnly) throws TopiaException { +// TopiaContext transaction = null; +// List<WaoUser> results = new ArrayList<WaoUser>(); +// try { +// long startTime = 0; +// if (log.isDebugEnabled()) { +// startTime = System.currentTimeMillis(); +// } +// transaction = rootContext.beginTransaction(); WaoUserDAO dao = WaoDAOHelper.getWaoUserDAO(transaction); TopiaQuery query = dao.createQuery(). @@ -455,20 +495,32 @@ query.add(WaoUser.ACTIVE, Boolean.TRUE); } - results = dao.findAllByQuery(query); + return dao.findAllByQuery(query); - if (log.isDebugEnabled()) { - long stopTime = System.currentTimeMillis(); - log.debug("W:[ getObservers ] Time = " + - DurationFormatUtils.formatDurationHMS( - stopTime - startTime)); - } - } catch (Exception eee) { - WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des observateurs", eee); - } finally { - WaoContextO.closeTransaction(transaction); +// if (log.isDebugEnabled()) { +// long stopTime = System.currentTimeMillis(); +// log.debug("W:[ getObservers ] Time = " + +// DurationFormatUtils.formatDurationHMS( +// stopTime - startTime)); +// } +// } catch (Exception eee) { +// WaoContextO.serviceException(transaction, "Impossible de récupérer la liste des observateurs", eee); +// } finally { +// WaoContextO.closeTransaction(transaction); +// } +// return results; + } + + @Override + protected WaoUser executeGetNewUser(Company company) throws Exception { + WaoUserImpl user = new WaoUserImpl(); + if (log.isDebugEnabled()) { + log.debug("Set company for new user : " + company.getName()); } - return results; + user.setCompany(company); + // Default role set to OBSERVER + user.setUserRole(UserRole.OBSERVER); + return user; } Modified: trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/resources/i18n/wao-business-en_GB.properties 2010-04-01 15:49:29 UTC (rev 406) @@ -1,3 +1,6 @@ +wao.error.boat.canCreateContact= +wao.error.boat.getNbBoarding= +wao.error.boatInfos.getNbBoardingForCompany= wao.error.context.close= wao.error.context.getRootContext= wao.error.context.parse= @@ -4,6 +7,8 @@ wao.error.context.rollback= wao.error.context.start= wao.error.context.stop= +wao.error.sampleMonth.addRealTideTime= +wao.error.sampleRow.saveSampleRowLog= wao.error.serviceBoat.createUpdateCompanyBoatInfos= wao.error.serviceBoat.exportBoatCsv= wao.error.serviceBoat.getActivityCalendarLogAccessFile= @@ -24,3 +29,12 @@ wao.error.serviceReferential.getProfessions= wao.error.serviceReferential.getSectors= wao.error.serviceReferential.importFishingZoneCsv= +wao.error.serviceUser.connect= +wao.error.serviceUser.createUpdateCompany= +wao.error.serviceUser.createUpdateUser= +wao.error.serviceUser.deleteUser= +wao.error.serviceUser.forgetPassword= +wao.error.serviceUser.getCompanies= +wao.error.serviceUser.getNewUser= +wao.error.serviceUser.getObservers= +wao.error.serviceUser.getUsersByCompany= Modified: trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/main/resources/i18n/wao-business-fr_FR.properties 2010-04-01 15:49:29 UTC (rev 406) @@ -1,9 +1,14 @@ -wao.error.context.close= -wao.error.context.getRootContext= -wao.error.context.parse= -wao.error.context.rollback= -wao.error.context.start= -wao.error.context.stop= +wao.error.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d) +wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s +wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s +wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA +wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA +wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s +wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante +wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application +wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application +wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s] +wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s wao.error.serviceBoat.getActivityCalendarLogAccessFile= @@ -24,3 +29,12 @@ wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails. +wao.error.serviceUser.connect= +wao.error.serviceUser.createUpdateCompany= +wao.error.serviceUser.createUpdateUser= +wao.error.serviceUser.deleteUser= +wao.error.serviceUser.forgetPassword= +wao.error.serviceUser.getCompanies= +wao.error.serviceUser.getNewUser= +wao.error.serviceUser.getObservers= +wao.error.serviceUser.getUsersByCompany= Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/TestManager.java 2010-04-01 15:49:29 UTC (rev 406) @@ -85,7 +85,7 @@ Calendar calendar = new GregorianCalendar(2009, 9, 23); context.setCurrentDate(calendar.getTime()); - WaoContextO.setContext(context); + context.start(); } catch (Exception eee) { context.doCatch(eee, "Error during loadConfiguration from " + "'WaoTest.properties' file"); @@ -150,7 +150,7 @@ public ServiceUser getServiceUser() throws WaoExceptionO { ServiceUserImpl instance = new ServiceUserImpl(); -// instance.setContext(context); + instance.setContext(getContext()); return instance; } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/WaoGlobalTest.java 2010-04-01 15:49:29 UTC (rev 406) @@ -85,7 +85,7 @@ WaoGlobal.createDefaultAdmin(); - ServiceUser serviceUser = new ServiceUserImpl(); + ServiceUser serviceUser = manager.getServiceUser(); List<Company> companies = serviceUser.getCompanies(false); assertEquals(1, companies.size()); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2010-04-01 15:49:29 UTC (rev 406) @@ -91,7 +91,7 @@ public void testCanCreateContact() throws Exception { log.info("canCreateContact"); /** PREPARE DATA **/ - ServiceUser serviceUser = new ServiceUserImpl(); + ServiceUser serviceUser = manager.getServiceUser(); Company company = new CompanyImpl(); company.setName("TARTANPION"); serviceUser.createUpdateCompany(company); @@ -121,7 +121,7 @@ transaction.commitTransaction(); - ServiceSampling serviceSampling = new ServiceSamplingImpl(); + ServiceSampling serviceSampling = manager.getServiceSampling(); input = getClass().getResourceAsStream("/import/echantillonnage.csv"); serviceSampling.importSamplingPlanCsv(input); @@ -136,7 +136,7 @@ row.setCompany(company); serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl()); - ServiceContact serviceContact = new ServiceContactImpl(); + ServiceContact serviceContact = manager.getServiceContact(); Contact contact1 = serviceContact.getNewContact(user, row, boat); contact1.setContactState(ContactState.CONTACT_START); serviceContact.saveContact(contact1, false); @@ -210,7 +210,7 @@ transaction.commitTransaction(); transaction.closeContext(); - ServiceContact serviceContact = new ServiceContactImpl(); + ServiceContact serviceContact = manager.getServiceContact(); // First contact : OK Contact contact1 = new ContactImpl(); contact1.setBoat(boat); Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/SampleRowImplTest.java 2010-04-01 15:49:29 UTC (rev 406) @@ -56,7 +56,8 @@ private static TestManager manager; - private static final Logger log = LoggerFactory.getLogger(SampleRowImplTest.class); + private static final Logger log = + LoggerFactory.getLogger(SampleRowImplTest.class); public SampleRowImplTest() { } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-04-01 14:16:57 UTC (rev 405) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-04-01 15:49:29 UTC (rev 406) @@ -242,14 +242,15 @@ } user = getUsersSelectModel().findObject(userId); } else { - user = new WaoUserImpl(); + user = serviceUser.getNewUser(getCompany()); +// user = new WaoUserImpl(); +// if (log.isDebugEnabled()) { +// log.debug("Set company for new user : " + getCompany().getName()); +// } +// user.setCompany(getCompany()); +// Default role set to OBSERVER +// user.setUserRole(UserRole.OBSERVER); generatePassword = true; - if (log.isDebugEnabled()) { - log.debug("Set company for new user : " + getCompany().getName()); - } - user.setCompany(getCompany()); - // Default role set to OBSERVER - user.setUserRole(UserRole.OBSERVER); } } return user;