org.apache.wicket.protocol.http.portlet
Class ServletPortletSessionProxy

java.lang.Object
  extended by org.apache.wicket.protocol.http.portlet.ServletPortletSessionProxy
All Implemented Interfaces:
InvocationHandler

public class ServletPortletSessionProxy
extends Object
implements InvocationHandler

Proxy for a Servlet HttpSession to attach to 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 org.apache.portals.bridges.util.PortletWindowUtils class can help out with that though.
Note: copied and adapted from the Apache Portal Bridges Common project

Version:
$Id: ServletPortletSessionProxy.java 739543 2009-01-31 10:57:31Z ate $
Author:
Ate Douma

Method Summary
static javax.servlet.http.HttpSession createProxy(javax.servlet.http.HttpServletRequest request, String portletWindowId)
           
 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
 

Method Detail

createProxy

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

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 © 2004-2011 Apache Software Foundation. All Rights Reserved.