1 package org.saf.struts;
2
3 import org.apache.struts.action.Action;
4 import org.apache.struts.action.ActionForm;
5 import org.apache.struts.action.ActionForward;
6 import org.apache.struts.action.ActionMapping;
7 import org.apache.struts.action.ActionServlet;
8 import org.apache.struts.config.ModuleConfig;
9 import org.apache.struts.tiles.TilesRequestProcessor;
10
11 import org.saf.struts.util.RequestProcessorUtils;
12
13 import java.io.IOException;
14
15 import javax.servlet.ServletException;
16 import javax.servlet.http.HttpServletRequest;
17 import javax.servlet.http.HttpServletResponse;
18
19
20 public class SafTilesRequestProcessor extends TilesRequestProcessor {
21 private RequestProcessorUtils requestProcessorUtils = null;
22
23 public void init(ActionServlet actionServlet, ModuleConfig moduleConfig)
24 throws ServletException {
25 super.init(actionServlet, moduleConfig);
26 requestProcessorUtils = new RequestProcessorUtils(actionServlet,
27 moduleConfig);
28 }
29
30 protected ActionForward processActionPerform(HttpServletRequest request,
31 HttpServletResponse response, Action action, ActionForm form,
32 ActionMapping mapping) throws IOException, ServletException {
33 ActionForward forward = null;
34 requestProcessorUtils.doBeforeAuthorization(action, mapping, form,
35 request, response);
36
37 if (requestProcessorUtils.isAuthorized(action, mapping, form, request,
38 response)) {
39 requestProcessorUtils.doAfterAuthorization(action, mapping, form,
40 request, response);
41 forward = super.processActionPerform(request, response, action,
42 form, mapping);
43 } else {
44 forward = requestProcessorUtils.doAfterAuthorizationFailed(action, mapping,
45 form, request, response);
46 }
47
48 return forward;
49 }
50 }