[Suiviobsmer-commits] r425 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages
Author: fdesbois Date: 2010-04-06 10:22:43 +0000 (Tue, 06 Apr 2010) New Revision: 425 Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java Log: Ano #2239 : don't crash application if no smtp is defined -> usefull for stand-alone Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java 2010-04-06 09:35:00 UTC (rev 424) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoBusinessException.java 2010-04-06 10:22:43 UTC (rev 425) @@ -52,7 +52,7 @@ } public static enum Type { - IMPORT_ERROR, NOT_EXISTS, ALREADY_EXISTS, SYNTAX, BAD_CONNECTION, ILLEGAL_CONNECTION; + IMPORT_ERROR, NOT_EXISTS, ALREADY_EXISTS, SYNTAX, BAD_CONNECTION, ILLEGAL_CONNECTION, SMTP_NOT_FOUND; } public Type getType() { 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-06 09:35:00 UTC (rev 424) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowImpl.java 2010-04-06 10:22:43 UTC (rev 425) @@ -21,6 +21,8 @@ package fr.ifremer.wao.entity; +import fr.ifremer.wao.WaoBusinessException; +import fr.ifremer.wao.WaoBusinessException.Type; import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.WaoException; import fr.ifremer.wao.WaoDAOHelper; @@ -34,6 +36,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.lang.BooleanUtils; +import org.apache.commons.mail.EmailException; import org.nuiton.i18n.I18n; import org.nuiton.topia.TopiaContext; import org.nuiton.util.DateUtils; @@ -299,7 +302,8 @@ * @throws WaoException */ @Override - public void saveSampleRowLog(SampleRowLog rowLog) throws WaoException { + public void saveSampleRowLog(SampleRowLog rowLog) + throws WaoException, WaoBusinessException { TopiaContext transaction = null; try { WaoUser author = rowLog.getAuthor(); @@ -338,6 +342,11 @@ WaoUtils.sendEmail(to, subject, msg); } + } catch (EmailException eee) { + throw new WaoBusinessException(Type.SMTP_NOT_FOUND, this.getClass(), + "Aucun serveur smtp disponible, aucun email n'a été" + + " envoyé à " + rowLog.getAuthor().getLogin(), + eee); } catch (Exception eee) { WaoUtils.treateError(transaction, eee, I18n.n_("wao.error.sampleRow.saveSampleRowLog"), 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 09:35:00 UTC (rev 424) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-04-06 10:22:43 UTC (rev 425) @@ -124,8 +124,7 @@ @Override public void executeForgetPassword(TopiaContext transaction, - String login) throws WaoBusinessException, TopiaException, - EmailException { + String login) throws WaoBusinessException, TopiaException { if (!login.contains("@")) { throw new WaoBusinessException(Type.SYNTAX, @@ -149,30 +148,36 @@ 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" + - "\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" + - "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n" + - "Cordialement,\n\n" + - "L'Equipe WAO"; + transaction.commitTransaction(); - context.sendEmail(user.getLogin(), subject, msg); - if (log.isDebugEnabled()) { - log.debug("send email to : " + user.getLogin()); + try { + 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" + + "\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" + + "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n" + + "Cordialement,\n\n" + + "L'Equipe WAO"; + + context.sendEmail(user.getLogin(), subject, msg); + if (log.isDebugEnabled()) { + log.debug("send email to : " + user.getLogin()); + } + } catch (EmailException eee) { + throw new WaoBusinessException(Type.SMTP_NOT_FOUND, this.getClass(), + "Aucun serveur smtp disponible, aucun email n'a été" + + " envoyé à " + login, eee); } - - transaction.commitTransaction(); } @Override public void executeCreateUpdateUser(TopiaContext transaction, WaoUser user, boolean generatePassword) throws TopiaException, IllegalArgumentException, - WaoBusinessException, EmailException { + WaoBusinessException { if (user == null) { throw new IllegalArgumentException("user parameter can't be null"); @@ -198,9 +203,6 @@ if (generatePassword) { password = context.createRandomString(8); user.setPasswordChanged(true); -// if (log.isDebugEnabled()) { -// log.debug("show generated password : " + password); -// } } // For a password set manually by user or generated if (user.isPasswordChanged()) { @@ -210,49 +212,54 @@ dao.update(user); - // FIXME-JC20100122 Use REGEX instead of @ to test if the login is - // a valid email - if (user.getLogin().contains("@") && user.isPasswordChanged()) { - String subject = "[WAO] "; - 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" + - "\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" + - "\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"; + transaction.commitTransaction(); + + try { + // FIXME-JC20100122 Use REGEX instead of @ to test if the login is + // a valid email + if (user.getLogin().contains("@") && user.isPasswordChanged()) { + String subject = "[WAO] "; + 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" + + "\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" + + "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + + "\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 " + - "répondant à ce message.\n\n"; + subject += "Modification de votre compte"; + if (generatePassword) { + 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 " + + "répondant à ce message.\n\n"; + } } + msg += "Cordialement,\n\n" + + "L'Equipe WAO"; + + context.sendEmail(user.getLogin(), subject, msg); } - msg += "Cordialement,\n\n" + - "L'Equipe WAO"; - - context.sendEmail(user.getLogin(), subject, msg); -// if (log.isDebugEnabled()) { -// log.debug("send email to : " + user.getLogin()); -// } + } catch (EmailException eee) { + throw new WaoBusinessException(Type.SMTP_NOT_FOUND, this.getClass(), + "Aucun serveur smtp disponible, aucun email n'a été" + + " envoyé à " + user.getLogin(), eee); } - - transaction.commitTransaction(); } @Override Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) 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-06 09:35:00 UTC (rev 424) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2010-04-06 10:22:43 UTC (rev 425) @@ -22,13 +22,11 @@ package fr.ifremer.wao.ui.pages; import fr.ifremer.wao.WaoBusinessException; +import fr.ifremer.wao.WaoBusinessException.Type; import fr.ifremer.wao.WaoException; -import fr.ifremer.wao.WaoException; -import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.CompanyImpl; import fr.ifremer.wao.entity.WaoUser; -import fr.ifremer.wao.entity.WaoUserImpl; import fr.ifremer.wao.service.ServiceReferential; import fr.ifremer.wao.service.ServiceUser; import fr.ifremer.wao.ui.base.GenericSelectModel; @@ -288,11 +286,15 @@ user.setPasswordChanged(true); } try { - // TODO return true if mail ok serviceUser.createUpdateUser(user, generatePassword); userId = user.getId(); } catch (WaoBusinessException eee) { - layout.addError(eee.getMessage()); + if (eee.getType().equals(Type.SMTP_NOT_FOUND)) { + layout.addInfo(eee.getMessage()); + userId = user.getId(); + } else { + layout.addError(eee.getMessage()); + } } } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-04-06 09:35:00 UTC (rev 424) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowHistoric.java 2010-04-06 10:22:43 UTC (rev 425) @@ -156,7 +156,11 @@ public void onSuccessFromAddComment() throws WaoException { if (canAddComment()) { - sampleRow.saveSampleRowLog(newLog); + try { + sampleRow.saveSampleRowLog(newLog); + } catch (WaoBusinessException eee) { + layout.addInfo(eee.getMessage()); + } } } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-04-06 09:35:00 UTC (rev 424) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/UserProfile.java 2010-04-06 10:22:43 UTC (rev 425) @@ -22,6 +22,7 @@ package fr.ifremer.wao.ui.pages; import fr.ifremer.wao.WaoBusinessException; +import fr.ifremer.wao.WaoBusinessException.Type; import fr.ifremer.wao.WaoException; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.service.ServiceUser; @@ -103,10 +104,12 @@ serviceUser.createUpdateUser(userEditable, false); layout.addInfo("Modifications enregistrées avec succès !"); } catch (WaoBusinessException eee) { - userForm.recordError(eee.getMessage()); -// if (log.isErrorEnabled()) { -// log.error("Error during user save", eee); -// } + if (eee.getType().equals(Type.SMTP_NOT_FOUND)) { + layout.addInfo("Modifications enregistrées avec succès !"); + layout.addInfo(eee.getMessage()); + } else { + userForm.recordError(eee.getMessage()); + } } } }
participants (1)
-
fdesbois@users.labs.libre-entreprise.org