org.apache.portals.bridges.util
Class ServletPortletSessionProxy

java.lang.Object
  extended byorg.apache.portals.bridges.util.ServletPortletSessionProxy
All Implemented Interfaces:
InvocationHandler

public class ServletPortletSessionProxy
extends Object
implements InvocationHandler

Proxy for a Servlet HttpSession to wrap a PortletSession, providing only access to PORTLET_SCOPE session attributes and hiding the APPLICATION_SCOPE attributes from the Servlet.
This Proxy can be used to isolate two instances of the same Portlet dispatching to Servlets so they don't overwrite or read each others session attributes.
Caveat: APPLICATION_SCOPE sessions attributes cannot be used anymore (directly) for inter-portlet communication, or when using Servlets directly which also need to "attach" to the PORTLET_SCOPE session attributes.
The PortletWindowUtils class can help out with that though.

Version:
$Id: ServletPortletSessionProxy.java 510753 2007-02-23 01:28:50Z ate $
Author:
Ate Douma
See Also:
PortletWindowUtils

Field Summary
(package private)  javax.portlet.PortletSession portletSession
           
(package private)  javax.servlet.http.HttpSession servletSession
           
 
Constructor Summary
private ServletPortletSessionProxy(javax.servlet.http.HttpSession servletSession, javax.portlet.PortletSession portletSession)
           
 
Method Summary
static javax.servlet.http.HttpSession createProxy(javax.servlet.http.HttpServletRequest request)
           
 Object invoke(Object proxy, Method m, Object[] args)
          (non-Javadoc)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

servletSession

javax.servlet.http.HttpSession servletSession

portletSession

javax.portlet.PortletSession portletSession
Constructor Detail

ServletPortletSessionProxy

private ServletPortletSessionProxy(javax.servlet.http.HttpSession servletSession,
                                   javax.portlet.PortletSession portletSession)
Method Detail

createProxy

public static javax.servlet.http.HttpSession createProxy(javax.servlet.http.HttpServletRequest request)

invoke

public Object invoke(Object proxy,
                     Method m,
                     Object[] args)
              throws Throwable
(non-Javadoc)

Specified by:
invoke in interface InvocationHandler
Throws:
Throwable
See Also:
InvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.