1 11 package org.jboss.portal.test.portlet; 12 13 import org.jboss.portal.junit.HeaderNames; 14 import org.jboss.portal.junit.Result; 15 import org.jboss.portal.junit.ResultCodec; 16 17 import javax.portlet.GenericPortlet; 18 import javax.portlet.PortletRequest; 19 import javax.portlet.RenderResponse; 20 import java.util.Map ; 21 import java.util.Collections ; 22 import java.util.HashMap ; 23 import java.io.PrintWriter ; 24 import java.io.IOException ; 25 26 30 public class AbstractPortlet extends GenericPortlet 31 { 32 33 private Map sessionLocal; 34 35 public AbstractPortlet() 36 { 37 sessionLocal = Collections.synchronizedMap(new HashMap ()); 38 } 39 40 protected void setRequestLocal(PortletRequest req, Object value) 41 { 42 if (value == null) 43 { 44 sessionLocal.remove(req.getProperty(HeaderNames.TEST_ID)); 45 } 46 else 47 { 48 sessionLocal.put(req.getProperty(HeaderNames.TEST_ID), value); 49 } 50 } 51 52 protected Object getRequestLocal(PortletRequest req) 53 { 54 return sessionLocal.get(req.getProperty(HeaderNames.TEST_ID)); 55 } 56 57 protected int getRequestCount(PortletRequest req) 58 { 59 return Integer.parseInt(req.getProperty(HeaderNames.REQUEST_COUNT)); 60 } 61 62 protected void sendResult(RenderResponse resp, Result result) throws IOException 63 { 64 if (result == null) 65 { 66 throw new IllegalArgumentException ("do smth more clever"); 67 } 68 resp.setContentType("text/html"); 69 PrintWriter writer = resp.getWriter(); 70 String marshalledResult = ResultCodec.marshallResult(result); 71 writer.print(marshalledResult); 72 writer.close(); 73 } 74 75 } 76 | Popular Tags |