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 javax.portlet.ValidatorException; 27 import java.io.IOException ; 28 import java.util.Collections ; 29 30 34 public class InvalidationCancelsStorePortlet extends AbstractPortlet 35 { 36 37 public void processAction(final ActionRequest request, ActionResponse response) throws PortletException, PortletSecurityException, IOException 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 46 { 47 PortletPreferences prefs = request.getPreferences(); 49 50 assertEquals("single_pref_value", prefs.getValue("single_pref", "other")); 52 assertEquals(new String []{"multi_pref_value_1","multi_pref_value_2"}, 53 prefs.getValues("multi_pref", new String []{"other"})); 54 55 prefs.setValue("single_pref", "new_single_pref"); 57 prefs.setValues("multi_pref", new String []{"new_multi_pref_value_1","new_multi_pref_value_2"}); 58 59 try 61 { 62 prefs.store(); 63 } 64 catch (ValidatorException e) 65 { 66 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 80 { 81 PortletPreferences prefs = request.getPreferences(); 83 84 assertEquals("single_pref_value", prefs.getValue("single_pref", "other")); 86 assertEquals(new String []{"multi_pref_value_1","multi_pref_value_2"}, 87 prefs.getValues("multi_pref", new String []{"other"})); 88 } 89 }); 90 } 91 } 92 93 public void render(final RenderRequest request, RenderResponse response) throws PortletException, PortletSecurityException, IOException 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 sendResult(response, result); 109 } 110 } 111 | Popular Tags |