1 17 18 package org.pentaho.ui.portlet; 19 20 import java.util.Date ; 21 import java.util.Iterator ; 22 23 import javax.portlet.PortletSession; 24 25 import org.pentaho.core.session.IPentahoSession; 26 import org.pentaho.core.solution.BaseParameterProvider; 27 import org.pentaho.core.solution.IParameterSetter; 28 29 public class PortletSessionParameterProvider extends BaseParameterProvider implements IParameterSetter { 30 31 private IPentahoSession session; 32 33 public PortletSessionParameterProvider(IPentahoSession session) { 34 this.session = session; 35 } 36 37 public Object getParameter(String name) { 38 if ("name".equals(name)) { return session.getName(); 40 } 41 42 if (session instanceof PentahoPortletSession) { 43 PentahoPortletSession portletSession = (PentahoPortletSession) session; 44 Object value = portletSession.getAttribute(name, PortletSession.PORTLET_SCOPE); 45 if (value != null) { 46 return value; 47 } 48 value = portletSession.getAttribute(name, PortletSession.APPLICATION_SCOPE); 50 return value; 51 } else { 52 return session.getAttribute(name); 53 } 54 } 55 56 public String getStringParameter(String name, String defaultValue) { 57 Object valueObject = getParameter(name); 58 if (valueObject != null) { 59 return valueObject.toString(); 60 } 61 return defaultValue; 62 } 63 64 protected String getValue(String name) { 65 return getStringParameter(name, null); 66 } 67 68 public void setParameter(String name, String value) { 69 session.setAttribute(name, value); 70 } 71 72 public void setParameter(String name, long value) { 73 setParameter(name, Long.toString(value)); 74 } 75 76 public void setParameter(String name, Date value) { 77 session.setAttribute(name, value); 78 } 79 80 public void setParameter(String name, Object value) { 81 session.setAttribute(name, value); 82 } 83 84 public Iterator getParameterNames() { 85 return session.getAttributeNames(); 86 } 87 88 } 89 | Popular Tags |