Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets
In directory
james.mmbase.org:/tmp/cvs-serv24505/portlets-login/src/java/com/finalist/cmsc/portlets
Modified Files:
Tag: b1_5
RegisterPortlet.java
Log Message:
CMSC-1357: made some code overrideable for usage by customer specific portlets
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets
See also: http://www.mmbase.org/jira/browse/CMSC-1357
Index: RegisterPortlet.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-login/src/java/com/finalist/cmsc/portlets/RegisterPortlet.java,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -u -b -r1.1.2.8 -r1.1.2.9
--- RegisterPortlet.java 31 Mar 2009 13:11:07 -0000 1.1.2.8
+++ RegisterPortlet.java 6 Apr 2009 13:08:21 -0000 1.1.2.9
@@ -42,6 +42,7 @@
public static final String ACEGI_SECURITY_FORM_PASSWORDCONF_KEY =
"passwordConfirmation";
public static final String ACEGI_SECURITY_FORM_TERMS = "agreedToTerms";
public static final String ACEGI_SECURITY_DEFAULT = "defaultmessages";
+ public static final String AUTHENTICATION_ID_KEY = "authenticationId";
public static final String GROUPNAME = "groupName";
public static final String ALLGROUPNAMES = "allGroupNames";
@@ -94,7 +95,6 @@
String infix = request.getParameter(ACEGI_SECURITY_FORM_INFIX_KEY);
String lastName = request.getParameter(ACEGI_SECURITY_FORM_LASTNAME_KEY);
String passwordText =
request.getParameter(ACEGI_SECURITY_FORM_PASSWORD_KEY);
- String passwordConfirmation =
request.getParameter(ACEGI_SECURITY_FORM_PASSWORDCONF_KEY);
Long authId = null;
@@ -104,7 +104,7 @@
errorMessages.put(ACEGI_SECURITY_FORM_EMAIL_KEY,
"register.email.match");
}
- validateInputFields(request, errorMessages, preferences, firstName,
lastName, passwordText, passwordConfirmation);
+ validateInputFields(request, errorMessages, preferences);
if (errorMessages.isEmpty()) { //Only continue with Community checks,
when there are no other errors yet.
@@ -113,6 +113,8 @@
Long authenticationId =
authenticationService.getAuthenticationIdForUserId(emailTo);
if (authenticationId == null) {
+ // TODO check if password is mandatory
+ //if (passwordText == null) passwordText="";
Authentication authentication =
authenticationService.createAuthentication(emailTo, passwordText);
if (authentication.getId() != null) {
authId = authentication.getId();
@@ -148,7 +150,7 @@
errorMessages.put(ACEGI_SECURITY_DEFAULT, "One of the email
addresses failed '" + emailFrom + "' or '" + emailTo + "'!");
} catch (MessagingException e) {
log.error("Email MessagingException failed", e);
- errorMessages.put(ACEGI_SECURITY_DEFAULT, "Sending email
failed, from '" + emailFrom + "' or '" + emailTo + "'!");
+ errorMessages.put(ACEGI_SECURITY_DEFAULT, "Sending email
failed, from '" + emailFrom + "' to '" + emailTo + "'!");
}
if (errorMessages.isEmpty()) {
response.setRenderParameter("email", emailTo);
@@ -173,6 +175,8 @@
request.getPortletSession().setAttribute(ACEGI_SECURITY_FORM_FIRSTNAME_KEY,
firstName);
request.getPortletSession().setAttribute(ACEGI_SECURITY_FORM_INFIX_KEY, infix);
request.getPortletSession().setAttribute(ACEGI_SECURITY_FORM_LASTNAME_KEY,
lastName);
+ } else {
+ request.setAttribute(AUTHENTICATION_ID_KEY, authId);
}
}
@@ -193,12 +197,12 @@
if (StringUtils.isNotEmpty(active)) {
request.setAttribute("active", active);
- template = "login/register_success.jsp";
+ template = getTemplate("register_success");
} else {
if (StringUtils.isNotEmpty(email)) {
- template = "login/register_success.jsp";
+ template = getTemplate("register_success");
} else {
- template = "login/register.jsp";
+ template = getTemplate("register");
}
}
@@ -222,8 +226,12 @@
doInclude("view", template, request, response);
}
- protected void validateInputFields(ActionRequest request, Map<String,
String> errorMessages, PortletPreferences preferences, String firstName,
- String lastName, String passwordText, String passwordConfirmation) {
+ protected void validateInputFields(ActionRequest request, Map<String,
String> errorMessages, PortletPreferences preferences) {
+ String firstName =
request.getParameter(ACEGI_SECURITY_FORM_FIRSTNAME_KEY);
+ String lastName =
request.getParameter(ACEGI_SECURITY_FORM_LASTNAME_KEY);
+ String passwordText =
request.getParameter(ACEGI_SECURITY_FORM_PASSWORD_KEY);
+ String passwordConfirmation =
request.getParameter(ACEGI_SECURITY_FORM_PASSWORDCONF_KEY);
+
if (StringUtils.isBlank(firstName)) {
errorMessages.put(ACEGI_SECURITY_FORM_FIRSTNAME_KEY,
"register.firstname.empty");
}
@@ -248,4 +256,27 @@
AuthorityService authorityService = (AuthorityService)
ApplicationContextFactory.getBean("authorityService");
return new TreeSet<String>(authorityService.getAuthorityNames());
}
+
+ /**
+ * Returns jsp template for given key. Can be overridden with a specific
view.
+ *
+ * Currently these keys are used:
+ * <ul>
+ * <li>register_success</li>
+ * <li>register</li>
+ * </ul>
+ * @param key
+ * @return
+ */
+ protected String getTemplate(String key) {
+ if ("register_success".equals(key)) {
+ return "login/register_success.jsp";
+ }
+ if ("register".equals(key)) {
+ return "login/register.jsp";
+ }
+ throw new IllegalArgumentException("Unknown key: " + key);
+ }
+
+
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs