package org.springframework.samples.jpetstore.web.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public abstract class SecureBaseAction extends BaseAction {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
AccountActionForm acctForm = (AccountActionForm) request.getSession().getAttribute("accountForm");
if (acctForm == null || acctForm.getAccount() == null) {
String url = request.getServletPath();
String query = request.getQueryString();
if (query != null) {
request.setAttribute("signonForwardAction", url+"?"+query);
}
else {
request.setAttribute("signonForwardAction", url);
}
return mapping.findForward("global-signon");
}
else {
return doExecute(mapping, form, request, response);
}
}
protected abstract ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception;
}