Author: ate
Date: Tue Mar  8 01:38:45 2011
New Revision: 1079076

URL: http://svn.apache.org/viewvc?rev=1079076&view=rev
Log:
PB-87: javadoc for ServletPortletSessionProxy
- contributed by Antony Stubbs

Modified:
    
portals/bridges/bridges-common/trunk/src/main/java/org/apache/portals/bridges/util/ServletPortletSessionProxy.java

Modified: 
portals/bridges/bridges-common/trunk/src/main/java/org/apache/portals/bridges/util/ServletPortletSessionProxy.java
URL: 
http://svn.apache.org/viewvc/portals/bridges/bridges-common/trunk/src/main/java/org/apache/portals/bridges/util/ServletPortletSessionProxy.java?rev=1079076&r1=1079075&r2=1079076&view=diff
==============================================================================
--- 
portals/bridges/bridges-common/trunk/src/main/java/org/apache/portals/bridges/util/ServletPortletSessionProxy.java
 (original)
+++ 
portals/bridges/bridges-common/trunk/src/main/java/org/apache/portals/bridges/util/ServletPortletSessionProxy.java
 Tue Mar  8 01:38:45 2011
@@ -29,16 +29,23 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpSession;
 
 /**
- * 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.
- * <br/>
- * 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.
- * <br/>
- * 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.<br/>
- * The  {@link PortletWindowUtils} class can help out with that though.
-
+ * 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.
+ * 
+ * <p>
+ * 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.
+ * 
+ * <p>
+ * 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.<br/>
+ * The {@link PortletWindowUtils} class can help out with that though.
+ * 
+ * <p>
+ * Note that this is not strictly required with the Portal 2.0 spec, however 
because Portal Session
+ * Isolation is an optional container feature, this proxy is still very useful.
+ * 
  * @see PortletWindowUtils
  * @author <a href="mailto:[email protected]";>Ate Douma</a>
  * @version $Id$
@@ -49,6 +56,14 @@ public class ServletPortletSessionProxy 
     HttpSession servletSession;
     String portletWindowPrefix;
 
+       /**
+        * Constructor which will attempt to discover the portlet window id to 
use as the portlet name
+        * space and delegate construction to
+        * {@link ServletPortletSessionProxy#createProxy(HttpServletRequest, 
String)}.
+        * 
+        * @param request
+        * @return
+        */
     public static HttpSession createProxy(HttpServletRequest request)
     {
         HttpSession servletSession = request.getSession();
@@ -61,6 +76,15 @@ public class ServletPortletSessionProxy 
         return servletSession;
     }
 
+       /**
+        * Sets up the session proxy using the name space passed in 
<code>portletWindowNamespace</code>,
+        * which is typically the portlet window id.
+        * 
+        * @param request
+        * @param portletWindowNamespace
+        *            the portlet's namespace, typically the portlet's window 
id.
+        * @return the proxied {@link HttpSession}
+        */
     public static HttpSession createProxy(HttpServletRequest request, String 
portletWindowNamespace)
     {
         HttpSession servletSession = request.getSession();
@@ -95,12 +119,13 @@ public class ServletPortletSessionProxy 
         this.portletWindowPrefix = portletWindowPrefix;
     }
 
-    /**
-     * (non-Javadoc)
-     * 
-     * @see java.lang.reflect.InvocationHandler#invoke(java.lang.Object,
-     *      java.lang.reflect.Method, java.lang.Object[])
-     */
+       /**
+        * Main proxy method, used to proxy calls to attribute related methods 
from {@link HttpSession}
+        * by prefixing the attribute names with the portlet window id.
+        * 
+        * @see java.lang.reflect.InvocationHandler#invoke(java.lang.Object, 
java.lang.reflect.Method,
+        *      java.lang.Object[])
+        */
     public Object invoke(Object proxy, Method m, Object[] args) throws 
Throwable
     {
         Object retval = null;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to