KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > portlet > preferences > spec > PreferencesCanBeSetToNullPortlet


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.spec;
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
28 /**
29  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
30  * @version $Revision: 1.1 $
31  */

32 public class PreferencesCanBeSetToNullPortlet extends AbstractPortlet
33 {
34
35    public void processAction(final ActionRequest request, ActionResponse response) throws PortletException, PortletSecurityException, IOException JavaDoc
36    {
37       int requestCount = getRequestCount(request);
38       if (requestCount == 1)
39       {
40          AssertResult result = new AssertResult();
41          result.execute(new AssertResult.Test()
42          {
43             public void run() throws Exception JavaDoc
44             {
45                // Get prefs
46
PortletPreferences prefs = request.getPreferences();
47
48                // Test the initial value is ok
49
assertEquals("action_single_pref_value", prefs.getValue("action_single_pref", "other"));
50                assertEquals(new String JavaDoc[]{"action_multi_pref_value_1","action_multi_pref_value_2"},
51                             prefs.getValues("action_multi_pref", new String JavaDoc[0]));
52
53                // Set the values to null
54
prefs.setValue("action_single_pref", null);
55                prefs.setValues("action_multi_pref", null);
56
57                // Test with new valus
58
assertEquals(null, prefs.getValue("action_single_pref", "other"));
59                assertEquals(null, prefs.getValue("action_multi_pref", "other"));
60
61                // Trigger store
62
prefs.store();
63
64                // Test with new value after store
65
assertEquals(null, prefs.getValue("action_single_pref", "other"));
66                assertEquals(null, prefs.getValue("action_multi_pref", "other"));
67             }
68          });
69          setRequestLocal(request, result);
70       }
71       else if (requestCount == 2)
72       {
73          AssertResult result = (AssertResult)getRequestLocal(request);
74          result.execute(new AssertResult.Test()
75          {
76             public void run() throws Exception JavaDoc
77             {
78                // Get prefs
79
PortletPreferences prefs = request.getPreferences();
80
81                // Test with new values
82
assertEquals(null, prefs.getValue("action_single_pref", "other"));
83                assertEquals(null, prefs.getValue("action_multi_pref", "other"));
84             }
85          });
86       }
87    }
88
89    public void render(final RenderRequest request, RenderResponse response) throws PortletException, PortletSecurityException, IOException JavaDoc
90    {
91       Result result = null;
92       int requestCount = getRequestCount(request);
93       if (requestCount == 0 || requestCount == 1)
94       {
95          PortletURL url = response.createActionURL();
96          result = new InvokeURLResult(url.toString());
97       }
98       else if (requestCount == 2)
99       {
100          result = (Result)getRequestLocal(request);
101       }
102
103       //
104
sendResult(response, result);
105    }
106 }
107
Popular Tags