dgraham 2003/09/13 11:40:34
Modified: src/share/org/apache/struts/taglib/tiles InsertTag.java
src/share/org/apache/struts/tiles ActionController.java
Controller.java ControllerSupport.java
TilesRequestProcessor.java UrlController.java
src/tiles-documentation/org/apache/struts/webapp/tiles/portal
UserMenuAction.java
Log:
Added execute() method to Controller interface for
PR# 19022.
Revision Changes Path
1.23 +6 -5
jakarta-struts/src/share/org/apache/struts/taglib/tiles/InsertTag.java
Index: InsertTag.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/tiles/InsertTag.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- InsertTag.java 13 Sep 2003 00:33:27 -0000 1.22
+++ InsertTag.java 13 Sep 2003 18:40:34 -0000 1.23
@@ -913,11 +913,12 @@
// Call controller if any
if (controller != null) {
try {
- controller.perform(
+ controller.execute(
subCompContext,
(HttpServletRequest)
pageContext.getRequest(),
(HttpServletResponse)
pageContext.getResponse(),
pageContext.getServletContext());
+
} catch (Exception e) {
throw new ServletException(e);
}
1.7 +19 -5
jakarta-struts/src/share/org/apache/struts/tiles/ActionController.java
Index: ActionController.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/ActionController.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ActionController.java 13 Sep 2003 00:30:50 -0000 1.6
+++ ActionController.java 13 Sep 2003 18:40:34 -0000 1.7
@@ -92,8 +92,8 @@
/**
* Method associated to a tile and called immediately before tile is
- * included. This implementation calls a Struts Action. No servlet is
- * set by this method.
+ * included. This implementation calls a Struts Action. No servlet is
+ * set by this method.
*
* @param tileContext Current tile context.
* @param request Current request.
@@ -113,5 +113,19 @@
} catch (Exception e) {
throw new ServletException(e);
}
+ }
+
+ /**
+ * @see
org.apache.struts.tiles.Controller#execute(org.apache.struts.tiles.ComponentContext,
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
javax.servlet.ServletContext)
+ */
+ public void execute(
+ ComponentContext tileContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ServletContext servletContext)
+ throws Exception {
+
+ this.action.execute(null, null, request, response);
+
}
}
1.4 +20 -3 jakarta-struts/src/share/org/apache/struts/tiles/Controller.java
Index: Controller.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/Controller.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Controller.java 13 Sep 2003 00:30:50 -0000 1.3
+++ Controller.java 13 Sep 2003 18:40:34 -0000 1.4
@@ -83,6 +83,8 @@
* @param request Current request
* @param response Current response
* @param servletContext Current servlet context
+ * @deprecated Use execute() instead. This will be removed after
+ * Struts 1.2.
*/
public void perform(
ComponentContext tileContext,
@@ -90,4 +92,19 @@
HttpServletResponse response,
ServletContext servletContext)
throws ServletException, IOException;
+
+ /**
+ * Method associated to a tile and called immediately before the tile
+ * is included.
+ * @param tileContext Current tile context.
+ * @param request Current request
+ * @param response Current response
+ * @param servletContext Current servlet context
+ */
+ public void execute(
+ ComponentContext tileContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ServletContext servletContext)
+ throws Exception;
}
1.4 +20 -3
jakarta-struts/src/share/org/apache/struts/tiles/ControllerSupport.java
Index: ControllerSupport.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/ControllerSupport.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ControllerSupport.java 13 Sep 2003 00:30:50 -0000 1.3
+++ ControllerSupport.java 13 Sep 2003 18:40:34 -0000 1.4
@@ -90,5 +90,22 @@
ServletContext servletContext)
throws ServletException, IOException {
+ try {
+ this.execute(tileContext, request, response, servletContext);
+ } catch (Exception e) {
+ throw new ServletException(e);
+ }
+ }
+
+ /**
+ * @see
org.apache.struts.tiles.Controller#execute(org.apache.struts.tiles.ComponentContext,
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
javax.servlet.ServletContext)
+ */
+ public void execute(
+ ComponentContext tileContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ServletContext servletContext)
+ throws Exception {
+
}
}
1.22 +5 -4
jakarta-struts/src/share/org/apache/struts/tiles/TilesRequestProcessor.java
Index: TilesRequestProcessor.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/TilesRequestProcessor.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- TilesRequestProcessor.java 13 Sep 2003 00:33:27 -0000 1.21
+++ TilesRequestProcessor.java 13 Sep 2003 18:40:34 -0000 1.22
@@ -256,11 +256,12 @@
// Execute controller associated to definition, if any.
if (controller != null) {
try {
- controller.perform(
+ controller.execute(
tileContext,
request,
response,
getServletContext());
+
} catch (Exception e) {
throw new ServletException(e);
}
1.5 +23 -3
jakarta-struts/src/share/org/apache/struts/tiles/UrlController.java
Index: UrlController.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/tiles/UrlController.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- UrlController.java 13 Sep 2003 00:30:50 -0000 1.4
+++ UrlController.java 13 Sep 2003 18:40:34 -0000 1.5
@@ -114,4 +114,24 @@
rd.include(request, response);
}
+ /**
+ * @see
org.apache.struts.tiles.Controller#execute(org.apache.struts.tiles.ComponentContext,
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
javax.servlet.ServletContext)
+ */
+ public void execute(
+ ComponentContext tileContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ServletContext servletContext)
+ throws Exception {
+
+ RequestDispatcher rd = servletContext.getRequestDispatcher(url);
+ if (rd == null) {
+ throw new ServletException(
+ "Controller can't find url '" + url + "'.");
+ }
+
+ rd.include(request, response);
+
+ }
+
}
1.6 +29 -6
jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/portal/UserMenuAction.java
Index: UserMenuAction.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/portal/UserMenuAction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- UserMenuAction.java 13 Sep 2003 00:30:50 -0000 1.5
+++ UserMenuAction.java 13 Sep 2003 18:40:34 -0000 1.6
@@ -179,12 +179,12 @@
HttpServletResponse response)
throws Exception {
- this.perform(
+ this.execute(
context,
request,
response,
getServlet().getServletContext());
-
+
return null;
}
@@ -368,6 +368,29 @@
} else if (object instanceof MenuItem) {
result.add(object);
}
+ }
+
+ /**
+ * @see
org.apache.struts.tiles.Controller#execute(org.apache.struts.tiles.ComponentContext,
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
javax.servlet.ServletContext)
+ */
+ public void execute(
+ ComponentContext tileContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ ServletContext servletContext)
+ throws Exception {
+
+ log.debug("Enter action UserMenuAction");
+
+ // Load user settings from user context
+ MenuSettings settings = getUserSettings(request, tileContext);
+
+ // Set parameters for rendering page
+ tileContext.putAttribute(USER_ITEMS_ATTRIBUTE, settings.getItems());
+
+ log.debug("settings=" + settings);
+ log.debug("Exit action UserMenuAction");
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]