You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2007/10/25 22:27:35 UTC

svn commit: r588339 [2/2] - /myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/

Modified: myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletRequestDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletRequestDecorator.java?rev=588339&r1=588338&r2=588339&view=diff
==============================================================================
--- myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletRequestDecorator.java (original)
+++ myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletRequestDecorator.java Thu Oct 25 13:27:34 2007
@@ -25,694 +25,593 @@
 import javax.portlet.PortletMode;
 import javax.portlet.PortletPreferences;
 import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
 import javax.portlet.PortletSession;
 import javax.portlet.WindowState;
 
-
-public class PortletRequestDecorator
-    implements PortletRequest
+public class PortletRequestDecorator implements PortletRequest
 {
-    protected PortletRequest mRequest = null;
-
-    public PortletRequestDecorator(PortletRequest request)
-        throws IllegalArgumentException
-    {
-        if (request == null)
-            throw new IllegalArgumentException();
-        mRequest = request;
-    }
-
-    public PortletRequest getParent()
-    {
-        return mRequest;
-    }
-
-    public PortletRequest getRoot()
-    {
-        PortletRequest root = mRequest;
-        while (root instanceof PortletRequestDecorator)
-        {
-            root = ((PortletRequestDecorator) root).getParent();
-        }
-        return root;
-    }
-
-    /**
-     * Returns true, if the given window state is valid
-     * to be set for this portlet in the context
-     * of the current request.
-     *
-     * @param  state    window state to checked
-     *
-     * @return    true, if it is valid for this portlet
-     *             in this request to change to the
-     *            given window state
-     *
-     */
-    public boolean isWindowStateAllowed(WindowState state)
-    {
-        return mRequest.isWindowStateAllowed(state);
-    }
-
-
-    /**
-     * Returns true, if the given portlet mode is a valid
-     * one to set for this portlet  in the context
-     * of the current request.
-     *
-     * @param  mode    portlet mode to check
-     *
-     * @return    true, if it is valid for this portlet
-     *             in this request to change to the
-     *            given portlet mode
-     *
-     */
-    public boolean isPortletModeAllowed(PortletMode mode)
-    {
-        return mRequest.isPortletModeAllowed(mode);
-    }
-
-
-    /**
-     * Returns the current portlet mode of the portlet.
-     *
-     * @return   the portlet mode
-     */
-    public PortletMode getPortletMode()
-    {
-        return mRequest.getPortletMode();
-    }
-
-
-    /**
-     * Returns the current window state of the portlet.
-     *
-     * @return   the window state
-     */
-    public WindowState getWindowState()
-    {
-        return mRequest.getWindowState();
-    }
-
-
-    /**
-     * Returns the preferences object associated with the portlet.
-     *
-     * @return the portlet preferences
-     */
-    public PortletPreferences getPreferences()
-    {
-        return mRequest.getPreferences();
-    }
-
-
-    /**
-     * Returns the current portlet session or, if there is no current session,
-     * creates one and returns the new session.
-     *  <p>
-     * Creating a new portlet session will result in creating
-     * a new <code>HttpSession</code> on which the portlet session is based on.
-     *
-     * @return the portlet session
-     */
-    public PortletSession getPortletSession()
-    {
-        return mRequest.getPortletSession();
-    }
-
-
-    /**
-     * Returns the current portlet session or, if there is no current session
-     * and the given flag is <CODE>true</CODE>, creates one and returns
-     * the new session.
-     * <P>
-     * If the given flag is <CODE>false</CODE> and there is no current
-     * portlet session, this method returns <CODE>null</CODE>.
-     *  <p>
-     * Creating a new portlet session will result in creating
-     * a new <code>HttpSession</code> on which the portlet session is based on.
-     * 
-     * @param create
-     *               <CODE>true</CODE> to create a new session, <BR>
-     *               <CODE>false</CODE> to return <CODE>null</CODE> if there
-     *               is no current session
-     * @return the portlet session
-     */
-    public PortletSession getPortletSession(boolean create)
-    {
-        return mRequest.getPortletSession(create);
-    }
-
-
-    /**
-     * Returns the value of the specified request property
-     * as a <code>String</code>. If the request did not include a property
-     * of the specified name, this method returns <code>null</code>.
-     * <p>
-     * A portlet can access portal/portlet-container specific properties 
-     * through this method and, if available, the
-     * headers of the HTTP client request.
-     * <p>
-     * This method should only be used if the 
-     * property has only one value. If the property might have
-     * more than one value, use {@link #getProperties}.
-     * <p>
-     * If this method is used with a multivalued
-     * parameter, the value returned is equal to the first value
-     * in the Enumeration returned by <code>getProperties</code>.
-     *
-     * @param name                a <code>String</code> specifying the
-     *                            property name
-     *
-     * @return                    a <code>String</code> containing the
-     *                            value of the requested
-     *                            property, or <code>null</code>
-     *                            if the request does not
-     *                            have a property of that name.
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-    public String getProperty(String name)
-    {
-        return mRequest.getProperty(name);
-    }
-
-
-    /**
-     * Returns all the values of the specified request property
-     * as a <code>Enumeration</code> of <code>String</code> objects.
-     * <p>
-     * If the request did not include any propertys
-     * of the specified name, this method returns an empty
-     * <code>Enumeration</code>.
-     * The property name is case insensitive. You can use
-     * this method with any request property.
-     *
-     * @param name                a <code>String</code> specifying the
-     *                            property name
-     *
-     * @return            a <code>Enumeration</code> containing
-     *                    the values of the requested property. If
-     *                    the request does not have any properties of
-     *                    that name return an empty <code>Enumeration</code>.
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-    public java.util.Enumeration getProperties(String name)
-    {
-        return mRequest.getProperties(name);
-    }
-
-
-    /**
-     *
-     * Returns a <code>Enumeration</code> of all the property names
-     * this request contains. If the request has no
-     * properties, this method returns an empty <code>Enumeration</code>.
-     *
-     *
-     * @return                    an <code>Enumeration</code> of all the
-     *                            property names sent with this
-     *                            request; if the request has
-     *                            no properties, an empty <code>Enumeration</code>.
-     */
-    public java.util.Enumeration getPropertyNames()
-    {
-        return mRequest.getPropertyNames();
-    }
-
-
-    /**
-     * Returns the context of the calling portal.
-     *
-     * @return the context of the calling portal
-     */
-    public PortalContext getPortalContext()
-    {
-        return mRequest.getPortalContext();
-    }
-
-
-    /**
-     * Returns the name of the authentication scheme used for the 
-     * connection between client and portal,
-     * for example, <code>BASIC_AUTH</code>, <code>CLIENT_CERT_AUTH</code>, 
-     * a custom one or <code>null</code> if there was no authentication.
-     *
-     * @return            one of the static members <code>BASIC_AUTH</code>, 
-     *                    <code>FORM_AUTH</code>, <code>CLIENT_CERT_AUTH</code>, 
-     *                    <code>DIGEST_AUTH</code> (suitable for == comparison) 
-     *                    indicating the authentication scheme, 
-     *                    a custom one, or 
-     *                    <code>null</code> if the request was 
-     *                    not authenticated.     
-     */
-    public java.lang.String getAuthType()
-    {
-        return mRequest.getAuthType();
-    }
-
-
-    /**
-     * Returns the context path which is the path prefix associated with the deployed 
-     * portlet application. If the portlet application is rooted at the
-     * base of the web server URL namespace (also known as "default" context), 
-     * this path must be an empty string. Otherwise, it must be the path the
-     * portlet application is rooted to, the path must start with a '/' and 
-     * it must not end with a '/' character.
-     * <p>
-     * To encode a URL the {@link PortletResponse#encodeURL} method must be used.
-     *
-     * @return           a <code>String</code> specifying the
-     *                   portion of the request URL that indicates the context
-     *                   of the request
-     *
-     * @see PortletResponse#encodeURL
-     */
-    public String getContextPath()
-    {
-        return mRequest.getContextPath();
-    }
-
-
-    /**
-     * Returns the login of the user making this request, if the user 
-     * has been authenticated, or null if the user has not been authenticated.
-     *
-     * @return            a <code>String</code> specifying the login
-     *                    of the user making this request, or <code>null</code>
-     *                    if the user login is not known.
-     *
-     */
-    public java.lang.String getRemoteUser()
-    {
-        return mRequest.getRemoteUser();
-    }
-
-
-    /**
-     * Returns a java.security.Principal object containing the name of the 
-     * current authenticated user.
-     *
-     * @return            a <code>java.security.Principal</code> containing
-     *                    the name of the user making this request, or
-     *                    <code>null</code> if the user has not been 
-     *                    authenticated.
-     */
-    public java.security.Principal getUserPrincipal()
-    {
-        return mRequest.getUserPrincipal();
-    }
-
-
-    /**
-     * Returns a boolean indicating whether the authenticated user is 
-     * included in the specified logical "role".  Roles and role membership can be
-     * defined using deployment descriptors.  If the user has not been
-     * authenticated, the method returns <code>false</code>.
-     *
-     * @param role                a <code>String</code> specifying the name
-     *                            of the role
-     *
-     * @return            a <code>boolean</code> indicating whether
-     *                    the user making this request belongs to a given role;
-     *                    <code>false</code> if the user has not been 
-     *                    authenticated.
-     */
-    public boolean isUserInRole(java.lang.String role)
-    {
-        return mRequest.isUserInRole(role);
-    }
-
-
-    /**
-     *
-     * Returns the value of the named attribute as an <code>Object</code>,
-     * or <code>null</code> if no attribute of the given name exists. 
-     * <p>
-     * Attribute names should follow the same conventions as package
-     * names. This specification reserves names matching <code>java.*</code>,
-     * and <code>javax.*</code>. 
-     * <p>
-     * In a distributed portlet web application the <code>Object</code>
-     * needs to be serializable.
-     *
-     * @param name        a <code>String</code> specifying the name of 
-     *                    the attribute
-     *
-     * @return            an <code>Object</code> containing the value 
-     *                    of the attribute, or <code>null</code> if
-     *                    the attribute does not exist.
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     *
-     */
-    public Object getAttribute(String name)
-    {
-        return mRequest.getAttribute(name);
-    }
-
-
-    /**
-     * Returns an <code>Enumeration</code> containing the
-     * names of the attributes available to this request. 
-     * This method returns an empty <code>Enumeration</code>
-     * if the request has no attributes available to it.
-     * 
-     *
-     * @return            an <code>Enumeration</code> of strings 
-     *                    containing the names 
-     *                    of the request attributes, or an empty 
-     *                    <code>Enumeration</code> if the request 
-     *                    has no attributes available to it.
-     */
-    public java.util.Enumeration getAttributeNames()
-    {
-        return mRequest.getAttributeNames();
-    }
-
-
-    /**
-     * Returns the value of a request parameter as a <code>String</code>,
-     * or <code>null</code> if the parameter does not exist. Request parameters
-     * are extra information sent with the request. The returned parameter 
-     * are "x-www-form-urlencoded" decoded.
-     * <p>
-     * Only parameters targeted to the current portlet are accessible.
-     * <p>
-     * This method should only be used if the 
-     * parameter has only one value. If the parameter might have
-     * more than one value, use {@link #getParameterValues}.
-     * <p>
-     * If this method is used with a multivalued
-     * parameter, the value returned is equal to the first value
-     * in the array returned by <code>getParameterValues</code>.
-     *
-     *
-     *
-     * @param name        a <code>String</code> specifying the 
-     *                    name of the parameter
-     *
-     * @return            a <code>String</code> representing the 
-     *                    single value of the parameter
-     *
-     * @see               #getParameterValues
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     *
-     */
-    public String getParameter(String name)
-    {
-        return mRequest.getParameter(name);
-    }
-
-
-    /**
-     *
-     * Returns an <code>Enumeration</code> of <code>String</code>
-     * objects containing the names of the parameters contained
-     * in this request. If the request has 
-     * no parameters, the method returns an 
-     * empty <code>Enumeration</code>. 
-     * <p>
-     * Only parameters targeted to the current portlet are returned.
-     *
-     *
-     * @return            an <code>Enumeration</code> of <code>String</code>
-     *                    objects, each <code>String</code> containing
-     *                    the name of a request parameter; or an 
-     *                    empty <code>Enumeration</code> if the
-     *                    request has no parameters.
-     */
-    public Enumeration getParameterNames()
-    {
-        return mRequest.getParameterNames();
-    }
-
-
-    /**
-     * Returns an array of <code>String</code> objects containing 
-     * all of the values the given request parameter has, or 
-     * <code>null</code> if the parameter does not exist.
-     * The returned parameters are "x-www-form-urlencoded" decoded.
-     * <p>
-     * If the parameter has a single value, the array has a length
-     * of 1.
-     *
-     *
-     * @param name        a <code>String</code> containing the name of 
-     *                    the parameter the value of which is requested
-     *
-     * @return            an array of <code>String</code> objects 
-     *                    containing the parameter values.
-     *
-     * @see               #getParameter
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     *
-     */
-    public String[] getParameterValues(String name)
-    {
-        return mRequest.getParameterValues(name);
-
-    }
-
-
-    /** 
-     * Returns a <code>Map</code> of the parameters of this request.
-     * Request parameters are extra information sent with the request.  
-     * The returned parameters are "x-www-form-urlencoded" decoded.
-     * <p>
-     * The values in the returned <code>Map</code> are from type
-     * String array (<code>String[]</code>).
-     * <p>
-     * If no parameters exist this method returns an empty <code>Map</code>.
-     *
-     * @return     an immutable <code>Map</code> containing parameter names as 
-     *             keys and parameter values as map values, or an empty <code>Map</code>
-     *             if no parameters exist. The keys in the parameter
-     *             map are of type String. The values in the parameter map are of type
-     *             String array (<code>String[]</code>).
-     */
-    public java.util.Map getParameterMap()
-    {
-        return mRequest.getParameterMap();
-    }
-
-
-    /**
-     * Returns a boolean indicating whether this request was made 
-     * using a secure channel between client and the portal, such as HTTPS.
-     * 
-     * @return  true, if the request was made using a secure channel.
-     */
-    public boolean isSecure()
-    {
-        return mRequest.isSecure();
-    }
-
-
-    /**
-     * Stores an attribute in this request.
-     *
-     * <p>Attribute names should follow the same conventions as
-     * package names. Names beginning with <code>java.*</code>,
-     * <code>javax.*</code>, and <code>com.sun.*</code> are
-     * reserved for use by Sun Microsystems.
-     *<br> If the value passed into this method is <code>null</code>, 
-     * the effect is the same as calling {@link #removeAttribute}.
-     *
-     *
-     * @param name                        a <code>String</code> specifying 
-     *                                    the name of the attribute
-     *
-     * @param o                           the <code>Object</code> to be stored
-     *
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-    public void setAttribute(String name, Object o)
-    {
-        mRequest.setAttribute(name, o);
-    }
-
-
-    /**
-     *
-     * Removes an attribute from this request.  This method is not
-     * generally needed, as attributes only persist as long as the request
-     * is being handled.
-     *
-     * <p>Attribute names should follow the same conventions as
-     * package names. Names beginning with <code>java.*</code>,
-     * <code>javax.*</code>, and <code>com.sun.*</code> are
-     * reserved for use by Sun Microsystems.
-     *
-     * @param name                        a <code>String</code> specifying 
-     *                                    the name of the attribute to be removed
-     *
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if name is <code>null</code>.
-     */
-    public void removeAttribute(String name)
-    {
-        mRequest.removeAttribute(name);
-    }
-
-
-    /**
-     *
-     * Returns the session ID indicated in the client request.
-     * This session ID may not be a valid one, it may be an old 
-     * one that has expired or has been invalidated.
-     * If the client request
-     * did not specify a session ID, this method returns
-     * <code>null</code>.
-     *
-     * @return            a <code>String</code> specifying the session
-     *                    ID, or <code>null</code> if the request did
-     *                    not specify a session ID
-     *
-     * @see               #isRequestedSessionIdValid
-     *
-     */
-    public String getRequestedSessionId()
-    {
-        return mRequest.getRequestedSessionId();
-    }
-
-
-    /**
-     *
-     * Checks whether the requested session ID is still valid.
-     *
-     * @return                    <code>true</code> if this
-     *                            request has an id for a valid session
-     *                            in the current session context;
-     *                            <code>false</code> otherwise
-     *
-     * @see                       #getRequestedSessionId
-     * @see                       #getPortletSession
-     */
-    public boolean isRequestedSessionIdValid()
-    {
-        return mRequest.isRequestedSessionIdValid();
-    }
-
-
-    /**
-     * Returns the portal preferred content type for the response.
-     * <p>
-     * The content type only includes the MIME type, not the
-     * character set.
-     * <p>
-     * Only content types that the portlet has defined in its
-     * deployment descriptor are valid return values for
-     * this method call. If the portlet has defined
-     * <code>'*'</code> or <code>'* / *'</code> as supported content
-     * types, these may also be valid return values.
-     *
-     * @return preferred MIME type of the response
-     */
-    public String getResponseContentType()
-    {
-        return mRequest.getResponseContentType();
-    }
-
-
-    /**
-     * Gets a list of content types which the portal accepts for the response.
-     * This list is ordered with the most preferable types listed first.
-     * <p>
-     * The content type only includes the MIME type, not the
-     * character set.
-     * <p>
-     * Only content types that the portlet has defined in its
-     * deployment descriptor are valid return values for
-     * this method call. If the portlet has defined
-     * <code>'*'</code> or <code>'* / *'</code> as supported content
-     * types, these may also be valid return values.
-     *
-     * @return ordered list of MIME types for the response
-     */
-    public java.util.Enumeration getResponseContentTypes()
-    {
-        return mRequest.getResponseContentTypes();
-    }
-
-
-    /**
-     * Returns the preferred Locale in which the portal will accept content.
-     * The Locale may be based on the Accept-Language header of the client.
-     *
-     * @return  the prefered Locale in which the portal will accept content.
-     */
-    public
-
-    java.util.Locale getLocale()
-    {
-        return mRequest.getLocale();
-    }
-
-
-    /**
-     * Returns an Enumeration of Locale objects indicating, in decreasing
-     * order starting with the preferred locale in which the portal will
-     * accept content for this request.
-     * The Locales may be based on the Accept-Language header of the client.
-     * 
-     * @return  an Enumeration of Locales, in decreasing order, in which 
-     *           the portal will accept content for this request
-     */
-    public java.util.Enumeration getLocales()
-    {
-        return mRequest.getLocales();
-    }
-
-
-    /**
-     * Returns the name of the scheme used to make this request.
-     * For example, <code>http</code>, <code>https</code>, or <code>ftp</code>.
-     * Different schemes have different rules for constructing URLs,
-     * as noted in RFC 1738.
-     *
-     * @return            a <code>String</code> containing the name 
-     *                    of the scheme used to make this request
-     */
-    public String getScheme()
-    {
-        return mRequest.getScheme();
-    }
-
-
-    /**
-     * Returns the host name of the server that received the request.
-     *
-     * @return            a <code>String</code> containing the name 
-     *                    of the server to which the request was sent
-     */
-    public String getServerName()
-    {
-        return mRequest.getServerName();
-    }
-
-
-    /**
-     * Returns the port number on which this request was received.
-     *
-     * @return            an integer specifying the port number
-     */
-    public int getServerPort()
-    {
-        return mRequest.getServerPort();
-    }
+  protected PortletRequest mRequest = null;
 
+  public PortletRequestDecorator(PortletRequest request) throws IllegalArgumentException
+  {
+    if (request == null)
+    {
+      throw new IllegalArgumentException();
+    }
+    mRequest = request;
+  }
+
+  public PortletRequest getParent()
+  {
+    return mRequest;
+  }
+
+  public PortletRequest getRoot()
+  {
+    PortletRequest root = mRequest;
+    while (root instanceof PortletRequestDecorator)
+    {
+      root = ((PortletRequestDecorator) root).getParent();
+    }
+    return root;
+  }
+
+  /**
+   * Returns true, if the given window state is valid to be set for this portlet in the context of
+   * the current request.
+   * 
+   * @param state
+   *          window state to checked
+   * 
+   * @return true, if it is valid for this portlet in this request to change to the given window
+   *         state
+   * 
+   */
+  public boolean isWindowStateAllowed(WindowState state)
+  {
+    return mRequest.isWindowStateAllowed(state);
+  }
+
+  /**
+   * Returns true, if the given portlet mode is a valid one to set for this portlet in the context
+   * of the current request.
+   * 
+   * @param mode
+   *          portlet mode to check
+   * 
+   * @return true, if it is valid for this portlet in this request to change to the given portlet
+   *         mode
+   * 
+   */
+  public boolean isPortletModeAllowed(PortletMode mode)
+  {
+    return mRequest.isPortletModeAllowed(mode);
+  }
+
+  /**
+   * Returns the current portlet mode of the portlet.
+   * 
+   * @return the portlet mode
+   */
+  public PortletMode getPortletMode()
+  {
+    return mRequest.getPortletMode();
+  }
+
+  /**
+   * Returns the current window state of the portlet.
+   * 
+   * @return the window state
+   */
+  public WindowState getWindowState()
+  {
+    return mRequest.getWindowState();
+  }
+
+  /**
+   * Returns the preferences object associated with the portlet.
+   * 
+   * @return the portlet preferences
+   */
+  public PortletPreferences getPreferences()
+  {
+    return mRequest.getPreferences();
+  }
+
+  /**
+   * Returns the current portlet session or, if there is no current session, creates one and returns
+   * the new session.
+   * <p>
+   * Creating a new portlet session will result in creating a new <code>HttpSession</code> on
+   * which the portlet session is based on.
+   * 
+   * @return the portlet session
+   */
+  public PortletSession getPortletSession()
+  {
+    return mRequest.getPortletSession();
+  }
+
+  /**
+   * Returns the current portlet session or, if there is no current session and the given flag is
+   * <CODE>true</CODE>, creates one and returns the new session.
+   * <P>
+   * If the given flag is <CODE>false</CODE> and there is no current portlet session, this method
+   * returns <CODE>null</CODE>.
+   * <p>
+   * Creating a new portlet session will result in creating a new <code>HttpSession</code> on
+   * which the portlet session is based on.
+   * 
+   * @param create
+   *          <CODE>true</CODE> to create a new session, <BR>
+   *          <CODE>false</CODE> to return <CODE>null</CODE> if there is no current session
+   * @return the portlet session
+   */
+  public PortletSession getPortletSession(boolean create)
+  {
+    return mRequest.getPortletSession(create);
+  }
+
+  /**
+   * Returns the value of the specified request property as a <code>String</code>. If the request
+   * did not include a property of the specified name, this method returns <code>null</code>.
+   * <p>
+   * A portlet can access portal/portlet-container specific properties through this method and, if
+   * available, the headers of the HTTP client request.
+   * <p>
+   * This method should only be used if the property has only one value. If the property might have
+   * more than one value, use {@link #getProperties}.
+   * <p>
+   * If this method is used with a multivalued parameter, the value returned is equal to the first
+   * value in the Enumeration returned by <code>getProperties</code>.
+   * 
+   * @param name
+   *          a <code>String</code> specifying the property name
+   * 
+   * @return a <code>String</code> containing the value of the requested property, or
+   *         <code>null</code> if the request does not have a property of that name.
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   */
+  public String getProperty(String name)
+  {
+    return mRequest.getProperty(name);
+  }
+
+  /**
+   * Returns all the values of the specified request property as a <code>Enumeration</code> of
+   * <code>String</code> objects.
+   * <p>
+   * If the request did not include any propertys of the specified name, this method returns an
+   * empty <code>Enumeration</code>. The property name is case insensitive. You can use this
+   * method with any request property.
+   * 
+   * @param name
+   *          a <code>String</code> specifying the property name
+   * 
+   * @return a <code>Enumeration</code> containing the values of the requested property. If the
+   *         request does not have any properties of that name return an empty
+   *         <code>Enumeration</code>.
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   */
+  public java.util.Enumeration getProperties(String name)
+  {
+    return mRequest.getProperties(name);
+  }
+
+  /**
+   * 
+   * Returns a <code>Enumeration</code> of all the property names this request contains. If the
+   * request has no properties, this method returns an empty <code>Enumeration</code>.
+   * 
+   * 
+   * @return an <code>Enumeration</code> of all the property names sent with this request; if the
+   *         request has no properties, an empty <code>Enumeration</code>.
+   */
+  public java.util.Enumeration getPropertyNames()
+  {
+    return mRequest.getPropertyNames();
+  }
+
+  /**
+   * Returns the context of the calling portal.
+   * 
+   * @return the context of the calling portal
+   */
+  public PortalContext getPortalContext()
+  {
+    return mRequest.getPortalContext();
+  }
+
+  /**
+   * Returns the name of the authentication scheme used for the connection between client and
+   * portal, for example, <code>BASIC_AUTH</code>, <code>CLIENT_CERT_AUTH</code>, a custom one
+   * or <code>null</code> if there was no authentication.
+   * 
+   * @return one of the static members <code>BASIC_AUTH</code>, <code>FORM_AUTH</code>,
+   *         <code>CLIENT_CERT_AUTH</code>, <code>DIGEST_AUTH</code> (suitable for ==
+   *         comparison) indicating the authentication scheme, a custom one, or <code>null</code>
+   *         if the request was not authenticated.
+   */
+  public java.lang.String getAuthType()
+  {
+    return mRequest.getAuthType();
+  }
+
+  /**
+   * Returns the context path which is the path prefix associated with the deployed portlet
+   * application. If the portlet application is rooted at the base of the web server URL namespace
+   * (also known as "default" context), this path must be an empty string. Otherwise, it must be the
+   * path the portlet application is rooted to, the path must start with a '/' and it must not end
+   * with a '/' character.
+   * <p>
+   * To encode a URL the {@link PortletResponse#encodeURL} method must be used.
+   * 
+   * @return a <code>String</code> specifying the portion of the request URL that indicates the
+   *         context of the request
+   * 
+   * @see PortletResponse#encodeURL
+   */
+  public String getContextPath()
+  {
+    return mRequest.getContextPath();
+  }
+
+  /**
+   * Returns the login of the user making this request, if the user has been authenticated, or null
+   * if the user has not been authenticated.
+   * 
+   * @return a <code>String</code> specifying the login of the user making this request, or
+   *         <code>null</code> if the user login is not known.
+   * 
+   */
+  public java.lang.String getRemoteUser()
+  {
+    return mRequest.getRemoteUser();
+  }
+
+  /**
+   * Returns a java.security.Principal object containing the name of the current authenticated user.
+   * 
+   * @return a <code>java.security.Principal</code> containing the name of the user making this
+   *         request, or <code>null</code> if the user has not been authenticated.
+   */
+  public java.security.Principal getUserPrincipal()
+  {
+    return mRequest.getUserPrincipal();
+  }
+
+  /**
+   * Returns a boolean indicating whether the authenticated user is included in the specified
+   * logical "role". Roles and role membership can be defined using deployment descriptors. If the
+   * user has not been authenticated, the method returns <code>false</code>.
+   * 
+   * @param role
+   *          a <code>String</code> specifying the name of the role
+   * 
+   * @return a <code>boolean</code> indicating whether the user making this request belongs to a
+   *         given role; <code>false</code> if the user has not been authenticated.
+   */
+  public boolean isUserInRole(java.lang.String role)
+  {
+    return mRequest.isUserInRole(role);
+  }
+
+  /**
+   * 
+   * Returns the value of the named attribute as an <code>Object</code>, or <code>null</code>
+   * if no attribute of the given name exists.
+   * <p>
+   * Attribute names should follow the same conventions as package names. This specification
+   * reserves names matching <code>java.*</code>, and <code>javax.*</code>.
+   * <p>
+   * In a distributed portlet web application the <code>Object</code> needs to be serializable.
+   * 
+   * @param name
+   *          a <code>String</code> specifying the name of the attribute
+   * 
+   * @return an <code>Object</code> containing the value of the attribute, or <code>null</code>
+   *         if the attribute does not exist.
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   * 
+   */
+  public Object getAttribute(String name)
+  {
+    return mRequest.getAttribute(name);
+  }
+
+  /**
+   * Returns an <code>Enumeration</code> containing the names of the attributes available to this
+   * request. This method returns an empty <code>Enumeration</code> if the request has no
+   * attributes available to it.
+   * 
+   * 
+   * @return an <code>Enumeration</code> of strings containing the names of the request
+   *         attributes, or an empty <code>Enumeration</code> if the request has no attributes
+   *         available to it.
+   */
+  public java.util.Enumeration getAttributeNames()
+  {
+    return mRequest.getAttributeNames();
+  }
+
+  /**
+   * Returns the value of a request parameter as a <code>String</code>, or <code>null</code> if
+   * the parameter does not exist. Request parameters are extra information sent with the request.
+   * The returned parameter are "x-www-form-urlencoded" decoded.
+   * <p>
+   * Only parameters targeted to the current portlet are accessible.
+   * <p>
+   * This method should only be used if the parameter has only one value. If the parameter might
+   * have more than one value, use {@link #getParameterValues}.
+   * <p>
+   * If this method is used with a multivalued parameter, the value returned is equal to the first
+   * value in the array returned by <code>getParameterValues</code>.
+   * 
+   * 
+   * 
+   * @param name
+   *          a <code>String</code> specifying the name of the parameter
+   * 
+   * @return a <code>String</code> representing the single value of the parameter
+   * 
+   * @see #getParameterValues
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   * 
+   */
+  public String getParameter(String name)
+  {
+    return mRequest.getParameter(name);
+  }
+
+  /**
+   * 
+   * Returns an <code>Enumeration</code> of <code>String</code> objects containing the names of
+   * the parameters contained in this request. If the request has no parameters, the method returns
+   * an empty <code>Enumeration</code>.
+   * <p>
+   * Only parameters targeted to the current portlet are returned.
+   * 
+   * 
+   * @return an <code>Enumeration</code> of <code>String</code> objects, each
+   *         <code>String</code> containing the name of a request parameter; or an empty
+   *         <code>Enumeration</code> if the request has no parameters.
+   */
+  public Enumeration getParameterNames()
+  {
+    return mRequest.getParameterNames();
+  }
+
+  /**
+   * Returns an array of <code>String</code> objects containing all of the values the given
+   * request parameter has, or <code>null</code> if the parameter does not exist. The returned
+   * parameters are "x-www-form-urlencoded" decoded.
+   * <p>
+   * If the parameter has a single value, the array has a length of 1.
+   * 
+   * 
+   * @param name
+   *          a <code>String</code> containing the name of the parameter the value of which is
+   *          requested
+   * 
+   * @return an array of <code>String</code> objects containing the parameter values.
+   * 
+   * @see #getParameter
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   * 
+   */
+  public String[] getParameterValues(String name)
+  {
+    return mRequest.getParameterValues(name);
+
+  }
+
+  /**
+   * Returns a <code>Map</code> of the parameters of this request. Request parameters are extra
+   * information sent with the request. The returned parameters are "x-www-form-urlencoded" decoded.
+   * <p>
+   * The values in the returned <code>Map</code> are from type String array (<code>String[]</code>).
+   * <p>
+   * If no parameters exist this method returns an empty <code>Map</code>.
+   * 
+   * @return an immutable <code>Map</code> containing parameter names as keys and parameter values
+   *         as map values, or an empty <code>Map</code> if no parameters exist. The keys in the
+   *         parameter map are of type String. The values in the parameter map are of type String
+   *         array (<code>String[]</code>).
+   */
+  public java.util.Map getParameterMap()
+  {
+    return mRequest.getParameterMap();
+  }
+
+  /**
+   * Returns a boolean indicating whether this request was made using a secure channel between
+   * client and the portal, such as HTTPS.
+   * 
+   * @return true, if the request was made using a secure channel.
+   */
+  public boolean isSecure()
+  {
+    return mRequest.isSecure();
+  }
+
+  /**
+   * Stores an attribute in this request.
+   * 
+   * <p>
+   * Attribute names should follow the same conventions as package names. Names beginning with
+   * <code>java.*</code>, <code>javax.*</code>, and <code>com.sun.*</code> are reserved for
+   * use by Sun Microsystems. <br>
+   * If the value passed into this method is <code>null</code>, the effect is the same as calling
+   * {@link #removeAttribute}.
+   * 
+   * 
+   * @param name
+   *          a <code>String</code> specifying the name of the attribute
+   * 
+   * @param o
+   *          the <code>Object</code> to be stored
+   * 
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   */
+  public void setAttribute(String name, Object o)
+  {
+    mRequest.setAttribute(name, o);
+  }
+
+  /**
+   * 
+   * Removes an attribute from this request. This method is not generally needed, as attributes only
+   * persist as long as the request is being handled.
+   * 
+   * <p>
+   * Attribute names should follow the same conventions as package names. Names beginning with
+   * <code>java.*</code>, <code>javax.*</code>, and <code>com.sun.*</code> are reserved for
+   * use by Sun Microsystems.
+   * 
+   * @param name
+   *          a <code>String</code> specifying the name of the attribute to be removed
+   * 
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if name is <code>null</code>.
+   */
+  public void removeAttribute(String name)
+  {
+    mRequest.removeAttribute(name);
+  }
+
+  /**
+   * 
+   * Returns the session ID indicated in the client request. This session ID may not be a valid one,
+   * it may be an old one that has expired or has been invalidated. If the client request did not
+   * specify a session ID, this method returns <code>null</code>.
+   * 
+   * @return a <code>String</code> specifying the session ID, or <code>null</code> if the
+   *         request did not specify a session ID
+   * 
+   * @see #isRequestedSessionIdValid
+   * 
+   */
+  public String getRequestedSessionId()
+  {
+    return mRequest.getRequestedSessionId();
+  }
+
+  /**
+   * 
+   * Checks whether the requested session ID is still valid.
+   * 
+   * @return <code>true</code> if this request has an id for a valid session in the current
+   *         session context; <code>false</code> otherwise
+   * 
+   * @see #getRequestedSessionId
+   * @see #getPortletSession
+   */
+  public boolean isRequestedSessionIdValid()
+  {
+    return mRequest.isRequestedSessionIdValid();
+  }
+
+  /**
+   * Returns the portal preferred content type for the response.
+   * <p>
+   * The content type only includes the MIME type, not the character set.
+   * <p>
+   * Only content types that the portlet has defined in its deployment descriptor are valid return
+   * values for this method call. If the portlet has defined <code>'*'</code> or
+   * <code>'* / *'</code> as supported content types, these may also be valid return values.
+   * 
+   * @return preferred MIME type of the response
+   */
+  public String getResponseContentType()
+  {
+    return mRequest.getResponseContentType();
+  }
+
+  /**
+   * Gets a list of content types which the portal accepts for the response. This list is ordered
+   * with the most preferable types listed first.
+   * <p>
+   * The content type only includes the MIME type, not the character set.
+   * <p>
+   * Only content types that the portlet has defined in its deployment descriptor are valid return
+   * values for this method call. If the portlet has defined <code>'*'</code> or
+   * <code>'* / *'</code> as supported content types, these may also be valid return values.
+   * 
+   * @return ordered list of MIME types for the response
+   */
+  public java.util.Enumeration getResponseContentTypes()
+  {
+    return mRequest.getResponseContentTypes();
+  }
+
+  /**
+   * Returns the preferred Locale in which the portal will accept content. The Locale may be based
+   * on the Accept-Language header of the client.
+   * 
+   * @return the prefered Locale in which the portal will accept content.
+   */
+  public java.util.Locale getLocale()
+  {
+    return mRequest.getLocale();
+  }
+
+  /**
+   * Returns an Enumeration of Locale objects indicating, in decreasing order starting with the
+   * preferred locale in which the portal will accept content for this request. The Locales may be
+   * based on the Accept-Language header of the client.
+   * 
+   * @return an Enumeration of Locales, in decreasing order, in which the portal will accept content
+   *         for this request
+   */
+  public java.util.Enumeration getLocales()
+  {
+    return mRequest.getLocales();
+  }
+
+  /**
+   * Returns the name of the scheme used to make this request. For example, <code>http</code>,
+   * <code>https</code>, or <code>ftp</code>. Different schemes have different rules for
+   * constructing URLs, as noted in RFC 1738.
+   * 
+   * @return a <code>String</code> containing the name of the scheme used to make this request
+   */
+  public String getScheme()
+  {
+    return mRequest.getScheme();
+  }
+
+  /**
+   * Returns the host name of the server that received the request.
+   * 
+   * @return a <code>String</code> containing the name of the server to which the request was sent
+   */
+  public String getServerName()
+  {
+    return mRequest.getServerName();
+  }
+
+  /**
+   * Returns the port number on which this request was received.
+   * 
+   * @return an integer specifying the port number
+   */
+  public int getServerPort()
+  {
+    return mRequest.getServerPort();
+  }
 
 }

Modified: myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletResponseDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletResponseDecorator.java?rev=588339&r1=588338&r2=588339&view=diff
==============================================================================
--- myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletResponseDecorator.java (original)
+++ myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/PortletResponseDecorator.java Thu Oct 25 13:27:34 2007
@@ -21,109 +21,99 @@
 
 import javax.portlet.PortletResponse;
 
-public class PortletResponseDecorator
-    implements PortletResponse
+public class PortletResponseDecorator implements PortletResponse
 {
-    protected PortletResponse mResponse = null;
-
-
-    public PortletResponseDecorator(PortletResponse response)
-        throws IllegalArgumentException
-    {
-        if (response == null)
-            throw new IllegalArgumentException();
-        mResponse = response;
-    }
-
-    public PortletResponse getParent()
-    {
-        return mResponse;
-    }
-
-    public PortletResponse getRoot()
-    {
-        PortletResponse root = mResponse;
-        while (root instanceof PortletResponseDecorator)
-        {
-            root = ((PortletResponseDecorator) root).getParent();
-        }
-        return root;
-    }
-
-    /**
-     * Adds a String property to an existing key to be returned to the portal.
-     * <p>
-     * This method allows response properties to have multiple values.
-     * <p>
-     * Properties can be used by portlets to provide vendor specific 
-     * information to the portal.
-     *
-     * @param  key    the key of the property to be returned to the portal
-     * @param  value  the value of the property to be returned to the portal
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if key is <code>null</code>.
-     */
-    public
-
-    void addProperty(String key, String value)
-    {
-        mResponse.addProperty(key, value);
-    }
-
-
-    /**
-     * Sets a String property to be returned to the portal.
-     * <p>
-     * Properties can be used by portlets to provide vendor specific 
-     * information to the portal.
-     * <p>
-     * This method resets all properties previously added with the same key.
-     *
-     * @param  key    the key of the property to be returned to the portal
-     * @param  value  the value of the property to be returned to the portal
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if key is <code>null</code>.
-     */
-    public
-
-    void setProperty(String key, String value)
-    {
-        mResponse.setProperty(key, value);
-    }
-
-
-    /**
-     * Returns the encoded URL of the resource, like servlets,
-     * JSPs, images and other static files, at the given path.
-     * <p>
-     * Some portal/portlet-container implementation may require 
-     * those URLs to contain implementation specific data encoded
-     * in it. Because of that, portlets should use this method to 
-     * create such URLs.
-     * <p>
-     * The <code>encodeURL</code> method may include the session ID 
-     * and other portal/portlet-container specific information into the URL. 
-     * If encoding is not needed, it returns the URL unchanged. 
-     *
-     * @param   path
-     *          the URI path to the resource. This must be either
-     *          an absolute URL (e.g. 
-     *          <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
-     *          or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
-     *
-     * @exception  java.lang.IllegalArgumentException 
-     *                            if path doesn't have a leading slash or is not an absolute URL
-     * 
-     * @return   the encoded resource URL as string
-     */
-    public
-
-    String encodeURL(String path)
-    {
-        return mResponse.encodeURL(path);
-    }
+  protected PortletResponse mResponse = null;
 
+  public PortletResponseDecorator(PortletResponse response) throws IllegalArgumentException
+  {
+    if (response == null)
+    {
+      throw new IllegalArgumentException();
+    }
+    mResponse = response;
+  }
+
+  public PortletResponse getParent()
+  {
+    return mResponse;
+  }
+
+  public PortletResponse getRoot()
+  {
+    PortletResponse root = mResponse;
+    while (root instanceof PortletResponseDecorator)
+    {
+      root = ((PortletResponseDecorator) root).getParent();
+    }
+    return root;
+  }
+
+  /**
+   * Adds a String property to an existing key to be returned to the portal.
+   * <p>
+   * This method allows response properties to have multiple values.
+   * <p>
+   * Properties can be used by portlets to provide vendor specific information to the portal.
+   * 
+   * @param key
+   *          the key of the property to be returned to the portal
+   * @param value
+   *          the value of the property to be returned to the portal
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if key is <code>null</code>.
+   */
+  public void addProperty(String key, String value)
+  {
+    mResponse.addProperty(key, value);
+  }
+
+  /**
+   * Sets a String property to be returned to the portal.
+   * <p>
+   * Properties can be used by portlets to provide vendor specific information to the portal.
+   * <p>
+   * This method resets all properties previously added with the same key.
+   * 
+   * @param key
+   *          the key of the property to be returned to the portal
+   * @param value
+   *          the value of the property to be returned to the portal
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if key is <code>null</code>.
+   */
+  public void setProperty(String key, String value)
+  {
+    mResponse.setProperty(key, value);
+  }
+
+  /**
+   * Returns the encoded URL of the resource, like servlets, JSPs, images and other static files, at
+   * the given path.
+   * <p>
+   * Some portal/portlet-container implementation may require those URLs to contain implementation
+   * specific data encoded in it. Because of that, portlets should use this method to create such
+   * URLs.
+   * <p>
+   * The <code>encodeURL</code> method may include the session ID and other
+   * portal/portlet-container specific information into the URL. If encoding is not needed, it
+   * returns the URL unchanged.
+   * 
+   * @param path
+   *          the URI path to the resource. This must be either an absolute URL (e.g.
+   *          <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>) or a full path
+   *          URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
+   * 
+   * @exception java.lang.IllegalArgumentException
+   *              if path doesn't have a leading slash or is not an absolute URL
+   * 
+   * @return the encoded resource URL as string
+   */
+  public String encodeURL(String path)
+  {
+    return mResponse.encodeURL(path);
+  }
 
 }

Modified: myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/RenderRequestDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/RenderRequestDecorator.java?rev=588339&r1=588338&r2=588339&view=diff
==============================================================================
--- myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/RenderRequestDecorator.java (original)
+++ myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/RenderRequestDecorator.java Thu Oct 25 13:27:34 2007
@@ -19,23 +19,15 @@
 
 package org.apache.myfaces.portlet.faces.bridge.wrapper;
 
-
 import javax.portlet.RenderRequest;
 
-import org.apache.myfaces.portlet.faces.bridge.wrapper.PortletRequestDecorator;
-
-public class RenderRequestDecorator
-    extends PortletRequestDecorator
-    implements RenderRequest
+public class RenderRequestDecorator extends PortletRequestDecorator implements RenderRequest
 {
 
+  public RenderRequestDecorator(RenderRequest request) throws IllegalArgumentException
+  {
 
-    public RenderRequestDecorator(RenderRequest request)
-        throws IllegalArgumentException
-    {
-
-        super(request);
-    }
-
+    super(request);
+  }
 
 }