Delete unused LoginTemplateHelper classes
LoginTemplateHelper and LoginTemplateHelperBase have been succeeded by LoginWidget, etc.
This commit is contained in:
parent
8266b7b5c1
commit
fd3111dba1
2 changed files with 0 additions and 224 deletions
|
@ -1,197 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.controller.login;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.edit.Authenticate;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.TemplateProcessingHelper.TemplateProcessingException;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.login.LoginProcessBean.State;
|
||||
|
||||
/**
|
||||
* A temporary means of displaying the Login templates within the SiteAdmin
|
||||
* form.
|
||||
*
|
||||
* This class contains stuff that I swiped from {@link Authenticate}. The base
|
||||
* class, {@link LoginTemplateHelperBase}, contains stuff that I swiped from
|
||||
* {@link FreemarkerHttpServlet}.
|
||||
*/
|
||||
public class LoginTemplateHelper extends LoginTemplateHelperBase {
|
||||
private static final Log log = LogFactory.getLog(LoginTemplateHelper.class);
|
||||
|
||||
/** If they are logging in, show them this form. */
|
||||
public static final String TEMPLATE_LOGIN = "login-form.ftl";
|
||||
|
||||
/** If they are changing their password on first login, show them this form. */
|
||||
public static final String TEMPLATE_FORCE_PASSWORD_CHANGE = "login-forcedPasswordChange.ftl";
|
||||
|
||||
/** Show error message */
|
||||
public static final String TEMPLATE_SERVER_ERROR = Template.ERROR_MESSAGE.toString();
|
||||
|
||||
public static final String BODY_LOGIN_NAME = "loginName";
|
||||
public static final String BODY_FORM_ACTION = "formAction";
|
||||
public static final String BODY_INFO_MESSAGE = "infoMessage";
|
||||
public static final String BODY_ERROR_MESSAGE = "errorMessage";
|
||||
public static final String BODY_CANCEL_URL = "cancelUrl";
|
||||
|
||||
public LoginTemplateHelper(HttpServletRequest req) {
|
||||
super(req);
|
||||
}
|
||||
|
||||
/** Version for JSP page */
|
||||
public String showLoginPage(HttpServletRequest request) {
|
||||
VitroRequest vreq = new VitroRequest(request);
|
||||
try {
|
||||
State state = getCurrentLoginState(vreq);
|
||||
log.debug("State on exit: " + state);
|
||||
|
||||
switch (state) {
|
||||
case LOGGED_IN:
|
||||
return "";
|
||||
case FORCED_PASSWORD_CHANGE:
|
||||
return doTemplate(vreq, showPasswordChangeScreen(vreq));
|
||||
default:
|
||||
return doTemplate(vreq, showLoginScreen(vreq));
|
||||
}
|
||||
} catch (TemplateProcessingException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
log.error(e, e);
|
||||
try {
|
||||
return doTemplate(vreq, showError(e));
|
||||
} catch (TemplateProcessingException e1) {
|
||||
log.error(e1.getMessage(), e1);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Version for Freemarker page */
|
||||
public TemplateResponseValues showLoginPanel(VitroRequest vreq) {
|
||||
try {
|
||||
|
||||
State state = getCurrentLoginState(vreq);
|
||||
log.debug("State on exit: " + state);
|
||||
|
||||
switch (state) {
|
||||
// RY Why does this case exist? We don't call this method if a user is logged in.
|
||||
case LOGGED_IN:
|
||||
return null;
|
||||
case FORCED_PASSWORD_CHANGE:
|
||||
// return doTemplate(vreq, showPasswordChangeScreen(vreq), body, config);
|
||||
return showPasswordChangeScreen(vreq);
|
||||
default:
|
||||
// return doTemplate(vreq, showLoginScreen(vreq), body, config);
|
||||
return showLoginScreen(vreq);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e, e);
|
||||
return showError(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* User is just starting the login process. Be sure that we have a
|
||||
* {@link LoginProcessBean} with the correct status. Show them the login
|
||||
* screen.
|
||||
*/
|
||||
private TemplateResponseValues showLoginScreen(VitroRequest vreq)
|
||||
throws IOException {
|
||||
LoginProcessBean bean = LoginProcessBean.getBean(vreq);
|
||||
bean.setState(State.LOGGING_IN);
|
||||
log.trace("Going to login screen: " + bean);
|
||||
|
||||
TemplateResponseValues trv = new TemplateResponseValues(TEMPLATE_LOGIN);
|
||||
trv.put(BODY_FORM_ACTION, getAuthenticateUrl(vreq));
|
||||
trv.put(BODY_LOGIN_NAME, bean.getUsername());
|
||||
|
||||
String infoMessage = bean.getInfoMessageAndClear();
|
||||
if (!infoMessage.isEmpty()) {
|
||||
trv.put(BODY_INFO_MESSAGE, infoMessage);
|
||||
}
|
||||
String errorMessage = bean.getErrorMessageAndClear();
|
||||
if (!errorMessage.isEmpty()) {
|
||||
trv.put(BODY_ERROR_MESSAGE, errorMessage);
|
||||
}
|
||||
|
||||
return trv;
|
||||
}
|
||||
|
||||
/**
|
||||
* The user has given the correct password, but now they are required to
|
||||
* change it (unless they cancel out).
|
||||
*/
|
||||
private TemplateResponseValues showPasswordChangeScreen(VitroRequest vreq) {
|
||||
LoginProcessBean bean = LoginProcessBean.getBean(vreq);
|
||||
bean.setState(State.FORCED_PASSWORD_CHANGE);
|
||||
log.trace("Going to password change screen: " + bean);
|
||||
|
||||
TemplateResponseValues trv = new TemplateResponseValues(
|
||||
TEMPLATE_FORCE_PASSWORD_CHANGE);
|
||||
trv.put(BODY_FORM_ACTION, getAuthenticateUrl(vreq));
|
||||
trv.put(BODY_CANCEL_URL, getCancelUrl(vreq));
|
||||
|
||||
String errorMessage = bean.getErrorMessageAndClear();
|
||||
if (!errorMessage.isEmpty()) {
|
||||
trv.put(BODY_ERROR_MESSAGE, errorMessage);
|
||||
}
|
||||
return trv;
|
||||
}
|
||||
|
||||
private TemplateResponseValues showError(Exception e) {
|
||||
TemplateResponseValues trv = new TemplateResponseValues(
|
||||
TEMPLATE_SERVER_ERROR);
|
||||
trv.put(BODY_ERROR_MESSAGE, "Internal server error:<br /> " + e);
|
||||
return trv;
|
||||
}
|
||||
|
||||
/**
|
||||
* We processed a response, and want to show a template. Version for JSP
|
||||
* page.
|
||||
*/
|
||||
private String doTemplate(VitroRequest vreq, TemplateResponseValues values) throws TemplateProcessingException {
|
||||
// Set it up like FreeMarkerHttpServlet.doGet() would do.
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.putAll(getPageTemplateValues(vreq));
|
||||
map.putAll(values.getMap());
|
||||
|
||||
return processTemplateToString(values.getTemplateName(), map, vreq);
|
||||
}
|
||||
|
||||
/**
|
||||
* Where are we in the process? Logged in? Not? Somewhere in between?
|
||||
*/
|
||||
private State getCurrentLoginState(HttpServletRequest request) {
|
||||
if (LoginStatusBean.getBean(request).isLoggedIn()) {
|
||||
return State.LOGGED_IN;
|
||||
} else {
|
||||
return LoginProcessBean.getBean(request).getState();
|
||||
}
|
||||
}
|
||||
|
||||
/** What's the URL for this servlet? */
|
||||
private String getAuthenticateUrl(HttpServletRequest request) {
|
||||
String contextPath = request.getContextPath();
|
||||
String urlParams = "?login=block";
|
||||
return contextPath + "/authenticate" + urlParams;
|
||||
}
|
||||
|
||||
/** What's the URL for this servlet, with the cancel parameter added? */
|
||||
private String getCancelUrl(HttpServletRequest request) {
|
||||
String contextPath = request.getContextPath();
|
||||
String urlParams = "?login=block&cancel=true";
|
||||
return contextPath + "/authenticate" + urlParams;
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.controller.login;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
|
||||
|
||||
/**
|
||||
* A temporary means of displaying the Login templates within the SiteAdmin
|
||||
* form.
|
||||
*
|
||||
* The constructor insures that the ServletContext is set.
|
||||
*/
|
||||
public class LoginTemplateHelperBase extends FreemarkerHttpServlet {
|
||||
private final ServletContext servletContext;
|
||||
|
||||
LoginTemplateHelperBase(HttpServletRequest req) {
|
||||
this.servletContext = req.getSession().getServletContext();
|
||||
}
|
||||
|
||||
public ServletContext getServletContext() {
|
||||
return servletContext;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue