KickJava   Java API By Example, From Geeks To Geeks.

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


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 javax.portlet.ValidatorException;
27 import java.io.IOException JavaDoc;
28 import java.util.Collections JavaDoc;
29
30 /**
31  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
32  * @version $Revision: 1.1 $
33  */

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