You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2007/11/19 17:56:32 UTC
svn commit: r596365 [2/5] - in /myfaces/portlet-bridge/trunk:
api/src/main/java/javax/portlet/faces/
api/src/main/java/javax/portlet/faces/component/
impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/
impl/src/main/java/org/apache/myfa...
Modified: myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/BridgeRenderRequestWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/BridgeRenderRequestWrapper.java?rev=596365&r1=596364&r2=596365&view=diff
==============================================================================
--- myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/BridgeRenderRequestWrapper.java (original)
+++ myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/bridge/wrapper/BridgeRenderRequestWrapper.java Mon Nov 19 08:56:29 2007
@@ -1,198 +1,198 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.myfaces.portlet.faces.bridge.wrapper;
-
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.portlet.RenderRequest;
-
-public class BridgeRenderRequestWrapper extends RenderRequestDecorator
-{
- private Map mActionParams = null;
- private Map mCombinedParamMap = null;
-
- public BridgeRenderRequestWrapper(RenderRequest request, Map actionParams)
- throws IllegalArgumentException
- {
- super(request);
-
- mActionParams = actionParams;
- }
-
- /**
- * 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>.
- *
- */
- @Override
- public String getParameter(String name)
- {
- String[] params = getParameterValues(name);
- if (params != null && params.length > 0)
- {
- return params[0];
- }
- else
- {
- return null;
- }
- }
-
- /**
- *
- * 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.
- */
- @Override
- public Enumeration getParameterNames()
- {
- final Enumeration e = Collections.enumeration(getParameterMap().entrySet());
- Enumeration en = new Enumeration() {
- public boolean hasMoreElements()
- {
- return e.hasMoreElements();
- }
-
- public Object nextElement()
- {
- Map.Entry entry = (Map.Entry) e.nextElement();
- return entry.getKey();
- }
- };
-
- return en;
- }
-
- /**
- * 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>.
- *
- */
- @Override
- public String[] getParameterValues(String name)
- {
- if (name == null)
- {
- throw new IllegalArgumentException();
- }
-
- return (String[]) getParameterMap().get(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>).
- */
- @Override
- public java.util.Map getParameterMap()
- {
- if (mActionParams != null && !mActionParams.isEmpty())
- {
- if (mCombinedParamMap == null)
- {
- mCombinedParamMap = new LinkedHashMap(getParent().getParameterMap());
-
- // now walk through the actionParams adding those that aren't
- // already in the ParameterMap
- Set s = mActionParams.entrySet();
- if (s != null)
- {
- Iterator entries = s.iterator();
- while (entries != null && entries.hasNext())
- {
- Map.Entry entry = (Map.Entry) entries.next();
- String key = (String) entry.getKey();
- if (!mCombinedParamMap.containsKey(key))
- {
- mCombinedParamMap.put(key, entry.getValue());
- }
- }
- // now make this an immutable Map
- mCombinedParamMap = Collections.unmodifiableMap(mCombinedParamMap);
- }
- }
- return mCombinedParamMap;
- }
- else
- {
- return null;
- }
- }
-
-}
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.myfaces.portlet.faces.bridge.wrapper;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.portlet.RenderRequest;
+
+public class BridgeRenderRequestWrapper extends RenderRequestDecorator
+{
+ private Map mActionParams = null;
+ private Map mCombinedParamMap = null;
+
+ public BridgeRenderRequestWrapper(RenderRequest request, Map actionParams)
+ throws IllegalArgumentException
+ {
+ super(request);
+
+ mActionParams = actionParams;
+ }
+
+ /**
+ * 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>.
+ *
+ */
+ @Override
+ public String getParameter(String name)
+ {
+ String[] params = getParameterValues(name);
+ if (params != null && params.length > 0)
+ {
+ return params[0];
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ *
+ * 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.
+ */
+ @Override
+ public Enumeration getParameterNames()
+ {
+ final Enumeration e = Collections.enumeration(getParameterMap().entrySet());
+ Enumeration en = new Enumeration() {
+ public boolean hasMoreElements()
+ {
+ return e.hasMoreElements();
+ }
+
+ public Object nextElement()
+ {
+ Map.Entry entry = (Map.Entry) e.nextElement();
+ return entry.getKey();
+ }
+ };
+
+ return en;
+ }
+
+ /**
+ * 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>.
+ *
+ */
+ @Override
+ public String[] getParameterValues(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ return (String[]) getParameterMap().get(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>).
+ */
+ @Override
+ public java.util.Map getParameterMap()
+ {
+ if (mActionParams != null && !mActionParams.isEmpty())
+ {
+ if (mCombinedParamMap == null)
+ {
+ mCombinedParamMap = new LinkedHashMap(getParent().getParameterMap());
+
+ // now walk through the actionParams adding those that aren't
+ // already in the ParameterMap
+ Set s = mActionParams.entrySet();
+ if (s != null)
+ {
+ Iterator entries = s.iterator();
+ while (entries != null && entries.hasNext())
+ {
+ Map.Entry entry = (Map.Entry) entries.next();
+ String key = (String) entry.getKey();
+ if (!mCombinedParamMap.containsKey(key))
+ {
+ mCombinedParamMap.put(key, entry.getValue());
+ }
+ }
+ // now make this an immutable Map
+ mCombinedParamMap = Collections.unmodifiableMap(mCombinedParamMap);
+ }
+ }
+ return mCombinedParamMap;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+}
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=596365&r1=596364&r2=596365&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 Mon Nov 19 08:56:29 2007
@@ -1,617 +1,617 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.myfaces.portlet.faces.bridge.wrapper;
-
-import java.util.Enumeration;
-
-import javax.portlet.PortalContext;
-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
-{
- 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();
- }
-
-}
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.myfaces.portlet.faces.bridge.wrapper;
+
+import java.util.Enumeration;
+
+import javax.portlet.PortalContext;
+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
+{
+ 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=596365&r1=596364&r2=596365&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 Mon Nov 19 08:56:29 2007
@@ -1,119 +1,119 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.myfaces.portlet.faces.bridge.wrapper;
-
-import javax.portlet.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);
- }
-
-}
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.myfaces.portlet.faces.bridge.wrapper;
+
+import javax.portlet.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);
+ }
+
+}
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=596365&r1=596364&r2=596365&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 Mon Nov 19 08:56:29 2007
@@ -1,33 +1,33 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.myfaces.portlet.faces.bridge.wrapper;
-
-import javax.portlet.RenderRequest;
-
-public class RenderRequestDecorator extends PortletRequestDecorator implements RenderRequest
-{
-
- public RenderRequestDecorator(RenderRequest request) throws IllegalArgumentException
- {
-
- super(request);
- }
-
-}
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.myfaces.portlet.faces.bridge.wrapper;
+
+import javax.portlet.RenderRequest;
+
+public class RenderRequestDecorator extends PortletRequestDecorator implements RenderRequest
+{
+
+ public RenderRequestDecorator(RenderRequest request) throws IllegalArgumentException
+ {
+
+ super(request);
+ }
+
+}
Modified: myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/context/FacesContextFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/context/FacesContextFactoryImpl.java?rev=596365&r1=596364&r2=596365&view=diff
==============================================================================
--- myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/context/FacesContextFactoryImpl.java (original)
+++ myfaces/portlet-bridge/trunk/impl/src/main/java/org/apache/myfaces/portlet/faces/context/FacesContextFactoryImpl.java Mon Nov 19 08:56:29 2007
@@ -1,67 +1,67 @@
-/* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.myfaces.portlet.faces.context;
-
-import javax.faces.FacesException;
-import javax.faces.context.FacesContext;
-import javax.faces.context.FacesContextFactory;
-import javax.faces.lifecycle.Lifecycle;
-
-import javax.portlet.PortletConfig;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
-
-/**
- * A factory object that creates (if needed) and returns new FacesContext instance for running in
- * portlet environment (PortletFacesContextImpl)
- *
- * The class is defined in <faces-context-factory> tag in faces-config.xml
- */
-public class FacesContextFactoryImpl extends FacesContextFactory
-{
- private FacesContextFactory mHandler;
-
- public FacesContextFactoryImpl(FacesContextFactory handler)
- {
- mHandler = handler;
- }
-
- @Override
- public FacesContext getFacesContext(Object config, Object request, Object response,
- Lifecycle lifecycle) throws FacesException
- {
- // if in portlet environment
- if (config instanceof PortletConfig && request instanceof PortletRequest
- && response instanceof PortletResponse)
- {
-
- return new PortletFacesContextImpl(
- new PortletExternalContextImpl((PortletConfig) config,
- (PortletRequest) request,
- (PortletResponse) response),
- lifecycle);
- }
- else
- {
- // otherwise, delegate
- return mHandler.getFacesContext(config, request, response, lifecycle);
- }
- }
-}
+/* Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.myfaces.portlet.faces.context;
+
+import javax.faces.FacesException;
+import javax.faces.context.FacesContext;
+import javax.faces.context.FacesContextFactory;
+import javax.faces.lifecycle.Lifecycle;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+
+/**
+ * A factory object that creates (if needed) and returns new FacesContext instance for running in
+ * portlet environment (PortletFacesContextImpl)
+ *
+ * The class is defined in <faces-context-factory> tag in faces-config.xml
+ */
+public class FacesContextFactoryImpl extends FacesContextFactory
+{
+ private FacesContextFactory mHandler;
+
+ public FacesContextFactoryImpl(FacesContextFactory handler)
+ {
+ mHandler = handler;
+ }
+
+ @Override
+ public FacesContext getFacesContext(Object config, Object request, Object response,
+ Lifecycle lifecycle) throws FacesException
+ {
+ // if in portlet environment
+ if (config instanceof PortletConfig && request instanceof PortletRequest
+ && response instanceof PortletResponse)
+ {
+
+ return new PortletFacesContextImpl(
+ new PortletExternalContextImpl((PortletConfig) config,
+ (PortletRequest) request,
+ (PortletResponse) response),
+ lifecycle);
+ }
+ else
+ {
+ // otherwise, delegate
+ return mHandler.getFacesContext(config, request, response, lifecycle);
+ }
+ }
+}