1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.pluto.tags;
21
22 import javax.portlet.PortletConfig;
23 import javax.portlet.PortletRequest;
24 import javax.portlet.RenderResponse;
25 import javax.servlet.jsp.JspException;
26 import javax.servlet.jsp.PageContext;
27 import javax.servlet.jsp.tagext.TagData;
28 import javax.servlet.jsp.tagext.TagExtraInfo;
29 import javax.servlet.jsp.tagext.TagSupport;
30 import javax.servlet.jsp.tagext.VariableInfo;
31
32 import org.apache.pluto.Constants;
33
34
35 /***
36 * Supporting class for the <CODE>defineObjects</CODE> tag.
37 * Creates the following variables to be used in the JSP:
38 * <UL>
39 * <LI><CODE>renderRequest</CODE>
40 * <LI><CODE>renderResponse</CODE>
41 * <LI><CODE>portletConfig</CODE>
42 * </UL>
43 * @see javax.portlet.PortletRequest
44 * @see javax.portlet.RenderResponse
45 * @see javax.portlet.PortletConfig
46 *
47 */
48 public class DefineObjectsTag extends TagSupport
49 {
50
51 /***
52 * Processes the <CODE>defineObjects</CODE> tag.
53 * @return <CODE>SKIP_BODY</CODE>
54 */
55 public int doStartTag() throws JspException
56 {
57 PortletRequest renderRequest = (PortletRequest)pageContext.getRequest().getAttribute(Constants.PORTLET_REQUEST);
58 RenderResponse renderResponse = (RenderResponse)pageContext.getRequest().getAttribute(Constants.PORTLET_RESPONSE);
59 PortletConfig portletConfig = (PortletConfig)pageContext.getRequest().getAttribute(Constants.PORTLET_CONFIG);
60
61 if (pageContext.getAttribute("renderRequest") == null)
62 {
63 pageContext.setAttribute("renderRequest",
64 renderRequest,
65 PageContext.PAGE_SCOPE);
66 }
67
68 if (pageContext.getAttribute("renderResponse") == null)
69 {
70 pageContext.setAttribute("renderResponse",
71 renderResponse,
72 PageContext.PAGE_SCOPE);
73 }
74
75 if (pageContext.getAttribute("portletConfig") == null)
76 {
77 pageContext.setAttribute("portletConfig",
78 portletConfig,
79 PageContext.PAGE_SCOPE);
80 }
81
82 return SKIP_BODY;
83 }
84
85 public static class TEI extends TagExtraInfo
86 {
87
88 public VariableInfo [] getVariableInfo (TagData tagData)
89 {
90 VariableInfo [] info = new VariableInfo [] {
91 new VariableInfo("renderRequest",
92 "javax.portlet.RenderRequest",
93 true,
94 VariableInfo.AT_BEGIN),
95 new VariableInfo("renderResponse",
96 "javax.portlet.RenderResponse",
97 true,
98 VariableInfo.AT_BEGIN),
99 new VariableInfo("portletConfig",
100 "javax.portlet.PortletConfig",
101 true,
102 VariableInfo.AT_BEGIN)
103 };
104
105 return info;
106 }
107 }
108 }