KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > core > portlet > test > TestPortlet


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  *****************************************/

9 package org.jboss.portal.core.portlet.test;
10
11 import java.io.IOException JavaDoc;
12 import java.io.PrintWriter JavaDoc;
13 import java.util.Enumeration JavaDoc;
14 import java.util.Set JavaDoc;
15 import java.util.HashSet JavaDoc;
16 import java.util.Iterator JavaDoc;
17
18 import javax.portlet.PortalContext;
19 import javax.portlet.PortletException;
20 import javax.portlet.PortletSecurityException;
21 import javax.portlet.PortletURL;
22
23 import org.jboss.portal.core.CoreConstants;
24 import org.jboss.portal.core.model.User;
25 import org.jboss.portlet.JBossActionRequest;
26 import org.jboss.portlet.JBossActionResponse;
27 import org.jboss.portlet.JBossPortlet;
28 import org.jboss.portlet.JBossRenderRequest;
29 import org.jboss.portlet.JBossRenderResponse;
30
31 /**
32  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
33  * @version $Revision: 1.6 $
34  */

35 public class TestPortlet extends JBossPortlet
36 {
37
38    public void main(JBossActionRequest req, JBossActionResponse resp)
39    {
40       if (req.getParameter("authenticate") != null)
41       {
42          resp.sendAuthenticate();
43       }
44    }
45
46    public void addrole(JBossActionRequest req, JBossActionResponse resp)
47    {
48       String JavaDoc role = req.getParameter("role");
49       Set JavaDoc roles = (Set JavaDoc)req.getPortletSession().getAttribute("roles");
50       if (roles == null)
51       {
52          roles = new HashSet JavaDoc();
53          req.getPortletSession().setAttribute("roles", roles);
54       }
55       roles.add(role);
56    }
57    
58    public void testaction(JBossActionRequest req, JBossActionResponse resp)
59    {
60       resp.setRenderParameter("name", "value");
61    }
62
63    protected void doView(JBossRenderRequest req, JBossRenderResponse resp) throws PortletException, PortletSecurityException, IOException JavaDoc
64    {
65       PortletURL authenticateURL = resp.createActionURL();
66       authenticateURL.setParameter("authenticate", "true");
67
68       resp.setContentType("text/html");
69       PrintWriter JavaDoc writer = resp.getWriter();
70
71       //
72
User user = req.getUser();
73       if (user != null)
74       {
75          writer.write("<p>");
76          writer.write("<div class=\"portlet-section-header\">User infos</div>");
77          writer.write("<div class=\"portlet-section-body\">");
78          writer.write("<div>Last visit date : " + user.getLastVisitDate() + "</div>");
79          writer.write("</div>");
80          writer.write("</p>");
81       }
82
83       //
84
writer.write("<p>");
85       writer.write("<div class=\"portlet-section-header\">Portlet security infos</div>");
86       writer.write("<div class=\"portlet-section-body\">");
87       writer.write("<div>RemoteUser : " + req.getRemoteUser() + "</div>");
88       writer.write("<div>Principal : " + req.getUserPrincipal() + "</div>");
89       writer.write("</div>");
90       writer.write("</p>");
91
92       //
93
writer.write("<p>");
94       writer.write("<div class=\"portlet-section-header\">Portlet security role test</div>");
95       Set JavaDoc roles = (Set JavaDoc)req.getPortletSession().getAttribute("roles");
96       if (roles != null)
97       {
98          writer.write("<div class=\"portlet-section-body\">");
99          for (Iterator JavaDoc i = roles.iterator(); i.hasNext();)
100          {
101             String JavaDoc role = (String JavaDoc)i.next();
102             writer.write("<div>" + role + " " + req.isUserInRole(role) + "</div>");
103          }
104          writer.write("</div>");
105       }
106       PortletURL roleURL = resp.createActionURL();
107       roleURL.setParameter("op", "addrole");
108       writer.write("<div>" +
109                    "<form action=\""+ roleURL + "\" method=\"post\">" +
110                    "<input class=\"portlet-form-input-field\" type=\"text\" name=\"role\" value=\"\"/>" +
111                    "<input class=\"portlet-form-button\" type=\"submit\" value=\"add role\"/>" +
112                    "</form>" +
113                    "</div>");
114       writer.write("</p>");
115
116       //
117
writer.write("<p>");
118       writer.write("<div class=\"portlet-section-header\">Authorization infos</div>");
119       writer.write("<div class=\"portlet-section-body\">");
120       writer.write("<div>has global permission 1 " + req.hasPermission("Perm1") + "</div>");
121       writer.write("<div>has global permission 2 " + req.hasPermission("Perm2") + "</div>");
122       writer.write("</div>");
123       writer.write("</p>");
124
125       //
126
writer.write("<p>");
127       writer.write("<div class=\"portlet-section-header\">Capabilities</div>");
128       writer.write("<div class=\"portlet-section-body\">");
129       writer.write("<div>Content type " + req.getResponseContentType() + "</div>");
130       writer.write("<div>Preferred markup " + req.getProperty(CoreConstants.REQ_PROP_PREFERRED_MARKUP) + "</div>");
131       writer.write("</div>");
132       writer.write("</p>");
133
134       //
135
PortletURL url = resp.createRenderURL();
136       url.setSecure(false);
137       String JavaDoc httpURL = url.toString();
138       url.setSecure(true);
139       String JavaDoc httpsURL = url.toString();
140       writer.write("<p>");
141       writer.write("<div class=\"portlet-section-header\">Secure</div>");
142       writer.write("<div class=\"portlet-section-body\">");
143       writer.write("<div><a HREF=\"" + httpURL + "\">http</a></div>");
144       writer.write("<div><a HREF=\"" + httpsURL + "\">https</a></div>");
145       writer.write("</div>");
146       writer.write("</p>");
147
148       writer.write("<p>");
149       writer.write("<div class=\"portlet-section-header\">Path</div>");
150       writer.write("<div class=\"portlet-section-body\">");
151       writer.write("<div>portal path info = " + req.getAttribute("PATH") + "</div>");
152       writer.write("<div>portal path info = " + req.getParameter("PATH") + "</div>");
153       writer.write("</div>");
154       writer.write("</p>");
155
156       //
157
writer.write("<p>");
158       writer.write("<div class=\"portlet-section-header\">Portal infos</div>");
159       writer.write("<div class=\"portlet-section-body\">");
160       PortalContext portalCtx = req.getPortalContext();
161       writer.write("<div>version : " + portalCtx.getPortalInfo() + "</div>");
162       for (Enumeration JavaDoc e = portalCtx.getPropertyNames();e.hasMoreElements();)
163       {
164          String JavaDoc propertyName = (String JavaDoc)e.nextElement();
165          String JavaDoc propertyValue = portalCtx.getProperty(propertyName);
166          writer.write("<div>" + propertyName + " : " + propertyValue + "</div>");
167       }
168       writer.write("</div>");
169       writer.write("</p>");
170
171       //
172
writer.write("<p>");
173       writer.write("<div class=\"portlet-section-header\">Request attributes</div>");
174       writer.write("<div class=\"portlet-section-body\">");
175       for (Enumeration JavaDoc e = req.getAttributeNames();e.hasMoreElements();)
176       {
177          String JavaDoc name = (String JavaDoc)e.nextElement();
178          Object JavaDoc value = req.getAttribute(name);
179          writer.write("<div>" + name + " : " + value + "</div>");
180       }
181       writer.write("</div>");
182       writer.write("</p>");
183
184       //
185
PortletURL actionURL = resp.createActionURL();
186       actionURL.setParameter("op", "testaction");
187       writer.write("<p>");
188       writer.write("<div class=\"portlet-section-header\">Test action</div>");
189       writer.write("<div class=\"portlet-section-body\">");
190       writer.write("<div><a HREF=\"" + actionURL + "\">action</a></div>");
191       writer.write("</div>");
192       writer.write("</p>");
193
194       //
195
writer.close();
196    }
197 }
198
Popular Tags