KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > portlet > preferences > MapPortlet


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

11 package org.jboss.portal.test.portlet.preferences;
12
13 import org.jboss.portal.junit.result.InvokeURLResult;
14 import org.jboss.portal.junit.result.AssertResult;
15 import org.jboss.portal.junit.Result;
16 import org.jboss.portal.test.portlet.AbstractPortlet;
17
18 import javax.portlet.ActionRequest;
19 import javax.portlet.ActionResponse;
20 import javax.portlet.PortletException;
21 import javax.portlet.PortletSecurityException;
22 import javax.portlet.RenderRequest;
23 import javax.portlet.RenderResponse;
24 import javax.portlet.PortletURL;
25 import javax.portlet.PortletPreferences;
26 import java.io.IOException JavaDoc;
27 import java.util.Map JavaDoc;
28
29 /**
30  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
31  * @version $Revision: 1.1 $
32  */

33 public class MapPortlet extends AbstractPortlet
34 {
35
36    public void processAction(final ActionRequest request, ActionResponse response) throws PortletException, PortletSecurityException, IOException JavaDoc
37    {
38       int requestCount = getRequestCount(request);
39       if (requestCount == 1)
40       {
41          AssertResult result = new AssertResult();
42          result.execute(new AssertResult.Test()
43          {
44             public void run() throws Exception JavaDoc
45             {
46               // Get prefs map
47
PortletPreferences prefs = request.getPreferences();
48                Map JavaDoc map = prefs.getMap();
49
50                //
51
assertEquals(2, map.size());
52                assertTrue(map.containsKey("single_pref"));
53                assertTrue(map.containsValue(new String JavaDoc[]{"single_pref_value"}));
54                assertEquals(new String JavaDoc[]{"single_pref_value"}, (Object JavaDoc[])map.get("single_pref"));
55                assertTrue(map.containsKey("multi_pref"));
56                assertTrue(map.containsValue(new String JavaDoc[]{"multi_pref_value_1","multi_pref_value_2"}));
57                assertEquals(new String JavaDoc[]{"multi_pref_value_1","multi_pref_value_2"}, (Object JavaDoc[])map.get("multi_pref"));
58
59                // Modify prefs
60
prefs.setValue("single_pref", "new_single_pref_value");
61                prefs.setValues("multi_pref", new String JavaDoc[]{"new_multi_pref_value_1","new_multi_pref_value_2"});
62
63                //
64
map = prefs.getMap();
65                assertEquals(2, map.size());
66                assertTrue(map.containsKey("single_pref"));
67                assertTrue(map.containsValue(new String JavaDoc[]{"new_single_pref_value"}));
68                assertEquals(new String JavaDoc[]{"new_single_pref_value"}, (Object JavaDoc[])map.get("single_pref"));
69                assertTrue(map.containsKey("multi_pref"));
70                assertTrue(map.containsValue(new String JavaDoc[]{"new_multi_pref_value_1","new_multi_pref_value_2"}));
71                assertEquals(new String JavaDoc[]{"new_multi_pref_value_1","new_multi_pref_value_2"}, (Object JavaDoc[])map.get("multi_pref"));
72
73                // Modify prefs
74
prefs.setValue("single_pref", null);
75                prefs.setValues("multi_pref", null);
76
77                //
78
map = prefs.getMap();
79                assertEquals(2, map.size());
80                assertTrue(map.containsKey("single_pref"));
81                assertTrue(map.containsValue(new String JavaDoc[]{null}));
82                assertEquals(new String JavaDoc[]{null}, (Object JavaDoc[])map.get("single_pref"));
83                assertTrue(map.containsKey("multi_pref"));
84                assertEquals(new String JavaDoc[]{null}, (Object JavaDoc[])map.get("multi_pref"));
85             }
86          });
87          setRequestLocal(request, result);
88       }
89    }
90
91    public void render(final RenderRequest request, RenderResponse response) throws PortletException, PortletSecurityException, IOException JavaDoc
92    {
93       Result result = null;
94       int requestCount = getRequestCount(request);
95       if (requestCount == 0)
96       {
97          PortletURL url = response.createActionURL();
98          result = new InvokeURLResult(url.toString());
99       }
100       else if (requestCount == 1)
101       {
102          result = (Result)getRequestLocal(request);
103       }
104
105       //
106
sendResult(response, result);
107    }
108 }
109
Popular Tags