Author: tchemit Date: 2014-04-15 11:08:27 +0200 (Tue, 15 Apr 2014) New Revision: 1887 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1887 Log: refs #4560 : review email templates locale Added: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en.mustache trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr.mustache Removed: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en_GB.mustache trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr-FR.mustache Modified: trunk/pom.xml trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/EmailService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/MammalsObservationEmail.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/UserCredentialsEmail.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/WaoMail.java trunk/wao-services/src/test/java/fr/ifremer/wao/services/FakeWaoServiceContext.java trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/mail/EmailServiceTest.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/pom.xml 2014-04-15 09:08:27 UTC (rev 1887) @@ -129,6 +129,11 @@ <!-- Using Java 7 --> <javaVersion>1.7</javaVersion> + <!--TODO remove this when IDEA won't ask to change jdk level at each pom modification--> + <maven.compiler.source>${javaVersion}</maven.compiler.source> + <!--TODO remove this when IDEA won't ask to change jdk level at each pom modification--> + <maven.compiler.target>${javaVersion}</maven.compiler.target> + <signatureArtifactId>java17</signatureArtifactId> <signatureVersion>1.0</signatureVersion> <jsoupVersion>1.7.3</jsoupVersion> Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -712,7 +712,7 @@ if (updateContactCommand.isMammalsInfosChanged()) { - MammalsObservationEmail email = new MammalsObservationEmail(getLocale()); + MammalsObservationEmail email = getEmailService().newMammalsObservationEmail(); email.setContact(contact); // now trying to find to what user we need to send the mail Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -194,7 +194,7 @@ if (updateWaoUserCommand.getPasswordStrategy().isGeneratePassword()) { UserCredentialsEmail userCredentialsEmail = - new UserCredentialsEmail(getLocale()); + getEmailService().newUserCredentialsEmail(); userCredentialsEmail.addTo(waoUser); userCredentialsEmail.setWaoUser(waoUser); userCredentialsEmail.setNewPassword(newPassword); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/EmailService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/EmailService.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/EmailService.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -41,17 +41,25 @@ private static final Log log = LogFactory.getLog(EmailService.class); + public UserCredentialsEmail newUserCredentialsEmail() { + return new UserCredentialsEmail(getLocale()); + } + + public MammalsObservationEmail newMammalsObservationEmail() { + return new MammalsObservationEmail(getLocale()); + } + public void send(WaoMail mail) { if (getApplicationConfig().isDevMode()) { if (log.isInfoEnabled()) { log.info("an email should have been sent if not in devMode: tos = " + - mail.getTos() + ". subject = '" + mail.getSubject() + "'. body = \n" + getBody(mail)); + mail.getTos() + ". subject = '" + mail.getSubject() + "'. body = \n" + getBody(mail)); } if (log.isWarnEnabled()) { - if ( ! mail.isRecipientProvided()) { + if (!mail.isRecipientProvided()) { log.warn("email has no recipient, would not have been sent " + mail); } } @@ -115,11 +123,11 @@ /** On utilise le modèle Mustache */ protected String getBody(WaoMail mail) { - Locale locale = getLocale(); + Locale locale = mail.getLocale(); MustacheFactory mustacheFactory = new DefaultMustacheFactory(); - String templateName = "email/" + mail.getClass().getSimpleName() + "_" + locale.toLanguageTag() + ".mustache"; + String templateName = "email/" + mail.getClass().getSimpleName() + "_" + locale.getLanguage() + ".mustache"; Mustache mustache = mustacheFactory.compile(templateName); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/MammalsObservationEmail.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/MammalsObservationEmail.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/MammalsObservationEmail.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -42,7 +42,7 @@ private Contact contact; - public MammalsObservationEmail(Locale locale) { + protected MammalsObservationEmail(Locale locale) { super(locale); } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/UserCredentialsEmail.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/UserCredentialsEmail.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/UserCredentialsEmail.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -32,7 +32,7 @@ protected String newPassword; - public UserCredentialsEmail(Locale locale) { + protected UserCredentialsEmail(Locale locale) { super(locale); } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/WaoMail.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/WaoMail.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/mail/WaoMail.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -42,6 +42,10 @@ this.locale = locale; } + public Locale getLocale() { + return locale; + } + public Set<String> getTos() { if (tos == null) { tos = Sets.newHashSet(); Copied: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en.mustache (from rev 1885, trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en_GB.mustache) =================================================================== --- trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en.mustache (rev 0) +++ trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en.mustache 2014-04-15 09:08:27 UTC (rev 1887) @@ -0,0 +1,14 @@ +Hi {{waoUser.fullName}}, + +Your credentials have been updated. + +Your login: {{waoUser.login}} + +Your password: {{newPassword}} + +You can change your password online. + +Regards. + +-- +The WAO team. Deleted: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en_GB.mustache =================================================================== --- trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en_GB.mustache 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/resources/email/UserCredentialsEmail_en_GB.mustache 2014-04-15 09:08:27 UTC (rev 1887) @@ -1,14 +0,0 @@ -Hi {{waoUser.fullName}}, - -Your credentials have been updated. - -Your login: {{waoUser.login}} - -Your password: {{newPassword}} - -You can change your password online. - -Regards. - --- -The WAO team. Deleted: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr-FR.mustache =================================================================== --- trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr-FR.mustache 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr-FR.mustache 2014-04-15 09:08:27 UTC (rev 1887) @@ -1,14 +0,0 @@ -Bonjour {{waoUser.firstName}}, - -Vos identifiants de connexion ont changés. - -Votre identifiant : {{waoUser.login}} - -Votre mot de passe : {{newPassword}} - -Vous pouvez modifier ce mot de passe depuis le logiciel. - -Cordialement. - --- -L'équipe WAO. Copied: trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr.mustache (from rev 1885, trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr-FR.mustache) =================================================================== --- trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr.mustache (rev 0) +++ trunk/wao-services/src/main/resources/email/UserCredentialsEmail_fr.mustache 2014-04-15 09:08:27 UTC (rev 1887) @@ -0,0 +1,14 @@ +Bonjour {{waoUser.firstName}}, + +Vos identifiants de connexion ont changés. + +Votre identifiant : {{waoUser.login}} + +Votre mot de passe : {{newPassword}} + +Vous pouvez modifier ce mot de passe depuis le logiciel. + +Cordialement. + +-- +L'équipe WAO. Modified: trunk/wao-services/src/test/java/fr/ifremer/wao/services/FakeWaoServiceContext.java =================================================================== --- trunk/wao-services/src/test/java/fr/ifremer/wao/services/FakeWaoServiceContext.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/test/java/fr/ifremer/wao/services/FakeWaoServiceContext.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -35,6 +35,11 @@ protected Date date; + public FakeWaoServiceContext() { + // default locale + setLocale(Locale.FRANCE); + } + @Override public Random getRandom() { if (random == null) { @@ -56,9 +61,9 @@ this.date = date; } - @Override - public Locale getLocale() { - return Locale.FRANCE; - } +// @Override +// public Locale getLocale() { +// return Locale.FRANCE; +// } } Modified: trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/mail/EmailServiceTest.java =================================================================== --- trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/mail/EmailServiceTest.java 2014-04-15 08:48:50 UTC (rev 1886) +++ trunk/wao-services/src/test/java/fr/ifremer/wao/services/service/mail/EmailServiceTest.java 2014-04-15 09:08:27 UTC (rev 1887) @@ -43,15 +43,84 @@ @Test public void testGetBody() { - UserCredentialsEmail mail = new UserCredentialsEmail(Locale.FRANCE); - mail.setWaoUser(new WaoUserImpl()); - mail.setNewPassword("taiste"); - String body = service.getBody(mail); + { + serviceContext.setLocale(Locale.FRANCE); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); - Assert.assertTrue(body.contains("taiste")); - Assert.assertTrue(body.contains("Bonjour")); + String body = service.getBody(mail); + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Bonjour")); + + } + + { + serviceContext.setLocale(Locale.FRENCH); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); + + String body = service.getBody(mail); + + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Bonjour")); + + } + + { + serviceContext.setLocale(Locale.CANADA_FRENCH); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); + + String body = service.getBody(mail); + + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Bonjour")); + + } + + { + serviceContext.setLocale(Locale.ENGLISH); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); + + String body = service.getBody(mail); + + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Hi")); + + } + + { + serviceContext.setLocale(Locale.US); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); + + String body = service.getBody(mail); + + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Hi")); + + } + + { + serviceContext.setLocale(Locale.CANADA); + UserCredentialsEmail mail = service.newUserCredentialsEmail(); + mail.setWaoUser(new WaoUserImpl()); + mail.setNewPassword("taiste"); + + String body = service.getBody(mail); + + Assert.assertTrue(body.contains("taiste")); + Assert.assertTrue(body.contains("Hi")); + + } } }