1 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 ; 27 import java.util.Map ; 28 29 33 public class MapPortlet extends AbstractPortlet 34 { 35 36 public void processAction(final ActionRequest request, ActionResponse response) throws PortletException, PortletSecurityException, IOException 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 45 { 46 PortletPreferences prefs = request.getPreferences(); 48 Map map = prefs.getMap(); 49 50 assertEquals(2, map.size()); 52 assertTrue(map.containsKey("single_pref")); 53 assertTrue(map.containsValue(new String []{"single_pref_value"})); 54 assertEquals(new String []{"single_pref_value"}, (Object [])map.get("single_pref")); 55 assertTrue(map.containsKey("multi_pref")); 56 assertTrue(map.containsValue(new String []{"multi_pref_value_1","multi_pref_value_2"})); 57 assertEquals(new String []{"multi_pref_value_1","multi_pref_value_2"}, (Object [])map.get("multi_pref")); 58 59 prefs.setValue("single_pref", "new_single_pref_value"); 61 prefs.setValues("multi_pref", new String []{"new_multi_pref_value_1","new_multi_pref_value_2"}); 62 63 map = prefs.getMap(); 65 assertEquals(2, map.size()); 66 assertTrue(map.containsKey("single_pref")); 67 assertTrue(map.containsValue(new String []{"new_single_pref_value"})); 68 assertEquals(new String []{"new_single_pref_value"}, (Object [])map.get("single_pref")); 69 assertTrue(map.containsKey("multi_pref")); 70 assertTrue(map.containsValue(new String []{"new_multi_pref_value_1","new_multi_pref_value_2"})); 71 assertEquals(new String []{"new_multi_pref_value_1","new_multi_pref_value_2"}, (Object [])map.get("multi_pref")); 72 73 prefs.setValue("single_pref", null); 75 prefs.setValues("multi_pref", null); 76 77 map = prefs.getMap(); 79 assertEquals(2, map.size()); 80 assertTrue(map.containsKey("single_pref")); 81 assertTrue(map.containsValue(new String []{null})); 82 assertEquals(new String []{null}, (Object [])map.get("single_pref")); 83 assertTrue(map.containsKey("multi_pref")); 84 assertEquals(new String []{null}, (Object [])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 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 sendResult(response, result); 107 } 108 } 109 | Popular Tags |