You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/01/07 00:25:58 UTC
[20/47] isis git commit: ISIS-987: no longer inject applicationName
into EmailNotificationServiceDefault
ISIS-987: no longer inject applicationName into EmailNotificationServiceDefault
... because we don't (yet) support this for Isis-managed services. Instead, pass the application name as part of the event.
Also:
- minor tweaks to HTML templates
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/ef48bd0d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/ef48bd0d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/ef48bd0d
Branch: refs/heads/ISIS-985
Commit: ef48bd0d894d66e0a43779b066db3eb0a47336d3
Parents: 6d8de64
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun Jan 4 15:47:04 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun Jan 4 15:47:04 2015 +0000
----------------------------------------------------------------------
.../password_reset/PasswordResetEmailPanel.java | 9 ++++-
.../password_reset/PasswordResetPanel.java | 4 +++
.../accmngt/signup/RegistrationFormPanel.java | 9 ++++-
.../email/events/EmailEventAbstract.java | 8 ++++-
.../email/events/EmailRegistrationEvent.java | 7 ++--
.../email/events/PasswordResetEvent.java | 7 ++--
.../email/EmailNotificationServiceDefault.java | 36 ++++++++++----------
.../email/EmailVerificationTemplate.html | 8 +++--
.../services/email/PasswordResetTemplate.html | 8 +++--
9 files changed, 65 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetEmailPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetEmailPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetEmailPanel.java
index 804b2df..e7a1899 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetEmailPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetEmailPanel.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.inject.Inject;
+import com.google.inject.name.Named;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.StatelessForm;
@@ -76,7 +77,8 @@ public class PasswordResetEmailPanel extends Panel {
String confirmationUrl = createUrl(email);
- boolean emailSent = emailService.send(new PasswordResetEvent(email, confirmationUrl));
+ final PasswordResetEvent passwordResetEvent = new PasswordResetEvent(email, confirmationUrl, applicationName);
+ boolean emailSent = emailService.send(passwordResetEvent);
if (emailSent) {
Map<String, String> map = new HashMap<>();
map.put("email", email);
@@ -109,4 +111,9 @@ public class PasswordResetEmailPanel extends Panel {
@Inject
private EmailNotificationService emailService;
+
+ @com.google.inject.Inject
+ @Named("applicationName")
+ private String applicationName;
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
index 2373af1..a49429f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPanel.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Callable;
import javax.inject.Inject;
+import com.google.inject.name.Named;
import org.apache.wicket.Page;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -111,4 +112,7 @@ public class PasswordResetPanel extends Panel {
@Inject
private PageClassRegistry pageClassRegistry;
+
}
+
+
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPanel.java
index e233732..c1a55b4 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPanel.java
@@ -25,6 +25,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.inject.Inject;
+import com.google.inject.name.Named;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.StatelessForm;
@@ -87,7 +88,8 @@ public class RegistrationFormPanel extends Panel {
*/
emailService.init();
- boolean emailSent = emailService.send(new EmailRegistrationEvent(email, confirmationUrl));
+ final EmailRegistrationEvent emailRegistrationEvent = new EmailRegistrationEvent(email, confirmationUrl, applicationName);
+ boolean emailSent = emailService.send(emailRegistrationEvent);
if (emailSent) {
Map<String, String> map = new HashMap<>();
map.put("email", email);
@@ -119,4 +121,9 @@ public class RegistrationFormPanel extends Panel {
@Inject
private EmailNotificationService emailService;
+
+ @com.google.inject.Inject
+ @Named("applicationName")
+ private String applicationName;
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailEventAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailEventAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailEventAbstract.java
index d9371ee..36949aa 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailEventAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailEventAbstract.java
@@ -7,12 +7,15 @@ public abstract class EmailEventAbstract {
private final String email;
private final String confirmationUrl;
+ private final String applicationName;
public EmailEventAbstract(
final String email,
- final String confirmationUrl) {
+ final String confirmationUrl,
+ final String applicationName) {
this.email = email;
this.confirmationUrl = confirmationUrl;
+ this.applicationName = applicationName;
}
public String getEmail() {
@@ -23,4 +26,7 @@ public abstract class EmailEventAbstract {
return confirmationUrl;
}
+ public String getApplicationName() {
+ return applicationName;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailRegistrationEvent.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailRegistrationEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailRegistrationEvent.java
index 075dd15..fb430b8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailRegistrationEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/EmailRegistrationEvent.java
@@ -6,9 +6,10 @@ package org.apache.isis.applib.services.email.events;
public class EmailRegistrationEvent extends EmailEventAbstract {
public EmailRegistrationEvent(
- final String email,
- final String confirmationUrl) {
- super(email, confirmationUrl);
+ final String email,
+ final String confirmationUrl,
+ final String applicationName) {
+ super(email, confirmationUrl, applicationName);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/applib/src/main/java/org/apache/isis/applib/services/email/events/PasswordResetEvent.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/PasswordResetEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/PasswordResetEvent.java
index b08e096..3a09b4a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/email/events/PasswordResetEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/email/events/PasswordResetEvent.java
@@ -6,9 +6,10 @@ package org.apache.isis.applib.services.email.events;
public class PasswordResetEvent extends EmailEventAbstract {
public PasswordResetEvent(
- final String email,
- final String confirmationUrl) {
- super(email, confirmationUrl);
+ final String email,
+ final String confirmationUrl,
+ final String applicationName) {
+ super(email, confirmationUrl, applicationName);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailNotificationServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailNotificationServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailNotificationServiceDefault.java
index a4bbddc..1c31780 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailNotificationServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailNotificationServiceDefault.java
@@ -8,7 +8,6 @@ import javax.annotation.PostConstruct;
import com.google.common.base.Charsets;
import com.google.common.base.Strings;
import com.google.common.io.Resources;
-import com.google.inject.name.Named;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
@@ -93,7 +92,13 @@ public class EmailNotificationServiceDefault implements EmailNotificationService
protected boolean send(final EmailEventAbstract emailEvent, final String body) {
- boolean mailSent = true;
+ final String subject = buildSubject(emailEvent);
+ final String to = emailEvent.getEmail();
+
+ return send(subject, to, body);
+ }
+
+ private boolean send(final String subject, final String to, final String body) {
try {
final Email email = new HtmlEmail();
@@ -115,36 +120,34 @@ public class EmailNotificationServiceDefault implements EmailNotificationService
email.setFrom(senderEmailAddress);
- email.setSubject(calculateSubject(emailEvent));
+ email.setSubject(subject);
email.setMsg(body);
- email.addTo(emailEvent.getEmail());
+ email.addTo(to);
email.send();
} catch (EmailException ex) {
LOG.error("An error occurred while trying to send an email about user email verification", ex);
- mailSent = false;
+ return false;
}
- return mailSent;
+ return true;
}
private String replace(final String template, final EmailEventAbstract emailEvent) {
String message = template;
message = EMAIL_PATTERN.matcher(message).replaceFirst(emailEvent.getEmail());
message = CONFIRMATION_URL_PATTERN.matcher(message).replaceFirst(emailEvent.getConfirmationUrl());
- message = APPLICATION_NAME_PATTERN.matcher(message).replaceAll(applicationName);
+ message = APPLICATION_NAME_PATTERN.matcher(message).replaceAll(emailEvent.getApplicationName());
return message;
}
- protected String calculateSubject(Object event) {
- String subject;
- if (event instanceof EmailRegistrationEvent) {
- subject = "["+applicationName+"] Please confirm your identity";
- } else if (event instanceof PasswordResetEvent) {
- subject = "["+applicationName+"] Password reset request";
- } else {
- subject = "[" + applicationName + "]";
+ protected String buildSubject(final EmailEventAbstract emailEvent) {
+ String subject = "["+emailEvent.getApplicationName()+"]";
+ if (emailEvent instanceof EmailRegistrationEvent) {
+ subject += " Please confirm your identity";
+ } else if (emailEvent instanceof PasswordResetEvent) {
+ subject += " Password reset request";
}
return subject;
}
@@ -182,7 +185,4 @@ public class EmailNotificationServiceDefault implements EmailNotificationService
}
- @com.google.inject.Inject
- @Named("applicationName")
- protected String applicationName;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailVerificationTemplate.html
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailVerificationTemplate.html b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailVerificationTemplate.html
index b6a12dc..d31ae30 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailVerificationTemplate.html
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/EmailVerificationTemplate.html
@@ -770,11 +770,15 @@
<table class="twelve columns">
<tr>
<td>
- <h1>Hi, ${email}!</h1>
+ <p>Hi, ${email}!</p>
<h3>Account creation request.</h3>
- <p>It seems someone has requested creation of an account at <strong>${applicationName}</strong>. If this was you then please follow this <a href="${confirmationUrl}">link</a> where you can set a new password. Otherwise please just ignore this email.</p>
+ <p>It seems someone has requested creation of an account at <strong>${applicationName}</strong>. </p>
+
+ <p>If this was you then please follow this <a href="${confirmationUrl}">link</a> where you can set specify a username and new password. </p>
+
+ <p>Otherwise please just ignore this email.</p>
</td>
</tr>
</table>
http://git-wip-us.apache.org/repos/asf/isis/blob/ef48bd0d/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/PasswordResetTemplate.html
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/PasswordResetTemplate.html b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/PasswordResetTemplate.html
index b8c1bde..4cf3c27 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/PasswordResetTemplate.html
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/email/PasswordResetTemplate.html
@@ -792,11 +792,15 @@
<table class="twelve columns">
<tr>
<td>
- <h1>Hi, ${email}!</h1>
+ <p>Hi, ${email}!</p>
<h3>Password reset request.</h3>
- <p>It seems someone has requested reset of your password for <strong>${applicationName}</strong>. If this was you then please follow this <a href="${confirmationUrl}">link</a> where you can set a new password. Otherwise please just ignore this email.</p>
+ <p>It seems someone has requested reset of your password for <strong>${applicationName}</strong>. </p>
+
+ <p>If this was you then please follow this <a href="${confirmationUrl}">link</a> where you can set a new password. </p>
+
+ <p>Otherwise please just ignore this email.</p>
</td>
</tr>
</table>