1 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 ; 27 28 32 public class PreferencesCanBeSetToNullPortlet extends AbstractPortlet 33 { 34 35 public void processAction(final ActionRequest request, ActionResponse response) throws PortletException, PortletSecurityException, IOException 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 44 { 45 PortletPreferences prefs = request.getPreferences(); 47 48 assertEquals("action_single_pref_value", prefs.getValue("action_single_pref", "other")); 50 assertEquals(new String []{"action_multi_pref_value_1","action_multi_pref_value_2"}, 51 prefs.getValues("action_multi_pref", new String [0])); 52 53 prefs.setValue("action_single_pref", null); 55 prefs.setValues("action_multi_pref", null); 56 57 assertEquals(null, prefs.getValue("action_single_pref", "other")); 59 assertEquals(null, prefs.getValue("action_multi_pref", "other")); 60 61 prefs.store(); 63 64 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 77 { 78 PortletPreferences prefs = request.getPreferences(); 80 81 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 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 sendResult(response, result); 105 } 106 } 107 | Popular Tags |