KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > portlet > TestSessionPortlet


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.test.portlet;
10
11 import java.io.IOException JavaDoc;
12 import java.io.Writer JavaDoc;
13 import java.util.Enumeration JavaDoc;
14
15 import javax.portlet.ActionRequest;
16 import javax.portlet.ActionResponse;
17 import javax.portlet.GenericPortlet;
18 import javax.portlet.PortletException;
19 import javax.portlet.PortletSession;
20 import javax.portlet.PortletURL;
21 import javax.portlet.RenderRequest;
22 import javax.portlet.RenderResponse;
23
24 /**
25  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
26  * @version $Revision: 1.2 $
27  */

28 public class TestSessionPortlet extends GenericPortlet
29 {
30    public void processAction(ActionRequest req, ActionResponse resp) throws PortletException, IOException JavaDoc
31    {
32       String JavaDoc name = req.getParameter("name");
33       String JavaDoc value = req.getParameter("value");
34       if (name != null && value != null)
35       {
36          req.getPortletSession().setAttribute(name, value, PortletSession.PORTLET_SCOPE);
37       }
38       if (req.getParameter("invalidate") != null)
39       {
40          req.getPortletSession().invalidate();
41       }
42    }
43
44    public void render(RenderRequest req, RenderResponse resp) throws PortletException, IOException JavaDoc
45    {
46       PortletSession session = req.getPortletSession();
47       PortletURL purl = resp.createActionURL();
48
49       resp.setContentType("text/html");
50       Writer JavaDoc writer = resp.getWriter();
51
52       print(session, PortletSession.PORTLET_SCOPE, writer);
53       writer.write("<br/>");
54
55       print(session, PortletSession.APPLICATION_SCOPE, writer);
56       writer.write("<br/>");
57
58       writer.write("<form action=\"" + purl.toString() + "\" method=\"post\">");
59       writer.write("<input type=\"text\" name=\"name\"/>");
60       writer.write("<input type=\"text\" name=\"value\"/>");
61       writer.write("<input type=\"submit\" value=\"add\"/>");
62       writer.write("</form><br/>");
63
64       purl.setParameter("invalidate", "true");
65       writer.write("<a HREF=\"" + purl.toString() + "\">invalidate</a><br/>");
66    }
67
68    private void print(PortletSession session, int scope, Writer JavaDoc writer) throws IOException JavaDoc
69    {
70       writer.write("<table>");
71       writer.write("<tr><td>name</td><td>value</td>");
72       for (Enumeration JavaDoc e = session.getAttributeNames(scope);e.hasMoreElements();)
73       {
74          String JavaDoc name = (String JavaDoc)e.nextElement();
75          Object JavaDoc value = session.getAttribute(name, scope);
76          writer.write("<tr><td>" + name + "</td><td>" + value + "</td>");
77       }
78       writer.write("</table>");
79    }
80
81 }
82
Popular Tags