You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/03/12 22:52:29 UTC
svn commit: r1299895 - in /myfaces/core/trunk/shared-public: ./
src/main/java/org/apache/myfaces/shared/util/
Author: lu4242
Date: Mon Mar 12 21:52:29 2012
New Revision: 1299895
URL: http://svn.apache.org/viewvc?rev=1299895&view=rev
Log:
synch with myfaces-commons
Modified:
myfaces/core/trunk/shared-public/pom.xml
myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/ExternalContextUtils.java
myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/SelectItemsIterator.java
myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/WebConfigParamUtils.java
Modified: myfaces/core/trunk/shared-public/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared-public/pom.xml?rev=1299895&r1=1299894&r2=1299895&view=diff
==============================================================================
--- myfaces/core/trunk/shared-public/pom.xml (original)
+++ myfaces/core/trunk/shared-public/pom.xml Mon Mar 12 21:52:29 2012
@@ -113,100 +113,6 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <id>add-resource</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>add-resource</goal>
- </goals>
- <configuration>
- <resources>
- <resource>
- <directory>${project.build.directory}/generated-resources/myfaces-javascript-plugin/</directory>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>myfaces-javascript-plugin</artifactId>
- <groupId>org.apache.myfaces.buildtools</groupId>
- <version>1.0.1</version>
- <extensions>true</extensions>
- <executions>
- <execution>
- <id>compile-myfacesscripts</id>
- <goals>
- <goal>compile</goal>
- </goals>
- <phase>generate-resources</phase>
- <configuration>
- <descriptor>${basedir}/src/assembler/myfacesscripts-compiler.xml</descriptor>
- <outputDirectory>${project.build.directory}/generated-resources/myfaces-javascript-plugin/META-INF/resources/org.apache.myfaces/</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>compile-myfacesscripts-uncompressed</id>
- <goals>
- <goal>compile</goal>
- </goals>
- <phase>generate-resources</phase>
- <configuration>
- <descriptor>${basedir}/src/assembler/myfacesscripts-uncompressed-compiler.xml</descriptor>
- <outputDirectory>${project.build.directory}/generated-resources/myfaces-javascript-plugin/META-INF/internal-resources/org.apache.myfaces/</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>compress-myfacesscripts</id>
- <goals>
- <goal>compress</goal>
- </goals>
- <phase>generate-resources</phase>
- <configuration>
- <scripts>target/generated-resources/myfaces-javascript-plugin/META-INF/resources/org.apache.myfaces/</scripts>
- <excludes>
- <exclude>oamSubmit-uncompressed.js</exclude>
- </excludes>
- <compressor>yahooUI</compressor>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <optimizationLevel>0</optimizationLevel>
- <sourceDirectory>src/main/javascript</sourceDirectory>
- <webappDirectory>${basedir}</webappDirectory>
- <outputDirectory>${project.build.directory}/generated-resources/myfaces-javascript-plugin/META-INF/resources/org.apache.myfaces/</outputDirectory>
- </configuration>
- </plugin>
-
- <!--
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.1.2</version>
- <configuration>
- <excludes>
- <exclude>**/*StateUtilsAES_CBCTest*</exclude>
- </excludes>
- </configuration>
- </plugin>
- -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-source</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
<profiles>
Modified: myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/ExternalContextUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/ExternalContextUtils.java?rev=1299895&r1=1299894&r2=1299895&view=diff
==============================================================================
--- myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/ExternalContextUtils.java (original)
+++ myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/ExternalContextUtils.java Mon Mar 12 21:52:29 2012
@@ -27,686 +27,753 @@ import java.util.logging.Logger;
import javax.faces.context.ExternalContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
import javax.servlet.ServletResponseWrapper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.myfaces.shared.view.HttpServletResponseSwitch;
-import org.apache.myfaces.shared.view.ResponseSwitch;
-import org.apache.myfaces.shared.view.ServletResponseSwitch;
-
/**
- * This provides some functionality for determining some things about the
- * native request object that is not provided by the base utils.
- *
- * @version $Revision$ $Date$
+ * This provides some functionality for determining some things about the
+ * native request object that is not provided by JSF. This class is useful
+ * for use in places where Portlet API's may or may not be present and can
+ * also provide access to some request-specific items which are not available on
+ * the JSF ExternalContext. If portlet API's are not present, this class simply
+ * handles the Servlet Request type.
*/
public final class ExternalContextUtils
{
-
- /**
- * Returns <code>true</code> if a particular class relating to the supplied
- * request type is available on the current classpath or <code>false</code>
- * if it is not. This class assumes that all containers have a servlet type
- * request available, but the portlet request types are all dependant on the
- * portlet container being used.
- *
- * @param type the RequestType to test
- * @return a boolean value of <code>true</code> if the container contains the
- * request type in the classpath
- * @since 2.0
- */
- public static final boolean isRequestTypeAvailable(RequestType type)
- {
- switch (type)
+
+ /**
+ * Returns <code>true</code> if a particular class relating to the supplied
+ * request type is available on the current classpath or <code>false</code>
+ * if it is not. This class assumes that all containers have a servlet type
+ * request available, but the portlet request types are all dependant on the
+ * portlet container being used.
+ *
+ * @param type the RequestType to test
+ * @return a boolean value of <code>true</code> if the container contains the
+ * request type in the classpath
+ * @since 2.0
+ */
+ public static final boolean isRequestTypeAvailable(RequestType type)
{
- case SERVLET:
- return true;
-
- case ACTION:
- case RENDER:
- return _PORTLET_CONTEXT_CLASS != null;
-
- case RESOURCE:
- case EVENT:
- return _PORTLET_RENDER_REQUEST_CLASS != null;
-
- default:
- return false;
+ switch (type)
+ {
+ case SERVLET:
+ return true;
+
+ case ACTION:
+ case RENDER:
+ return _PORTLET_CONTEXT_CLASS != null;
+
+ case RESOURCE:
+ case EVENT:
+ return _PORTLET_RENDER_REQUEST_CLASS != null;
+
+ default:
+ return false;
+ }
}
- }
- /**
- * Returns <code>true</code> if a particular request type is supported by the
- * container. For a request type to be supported, the required objects must
- * be on the classpath AND and, in the case of Portlet RequestTypes, an
- * appropriate bridge must be avaialble which supports those objects. This
- * means that if the supplied RequestType is RESOURCE, the
- * javax.portlet.ResourceRequest object must be available on the classpath AND
- * a bridge which supports the Portlet 2.0 specification would also need to be
- * available.
- *
- * @param type the RequestType to test
- * @return a boolean value of <code>true</code> if the container supports the
- * current request type
- * @since 2.0
- */
- public static final boolean isRequestTypeSupported(RequestType type)
- {
- switch (type)
+ /**
+ * Returns <code>true</code> if a particular request type is supported by the
+ * container. For a request type to be supported, the required objects must
+ * be on the classpath AND and, in the case of Portlet RequestTypes, an
+ * appropriate bridge must be avaialble which supports those objects. This
+ * means that if the supplied RequestType is RESOURCE, the
+ * javax.portlet.ResourceRequest object must be available on the classpath AND
+ * a bridge which supports the Portlet 2.0 specification would also need to be
+ * available.
+ *
+ * @param type the RequestType to test
+ * @return a boolean value of <code>true</code> if the container supports the
+ * current request type
+ * @since 2.0
+ */
+ public static final boolean isRequestTypeSupported(RequestType type)
{
- case SERVLET:
- return true;
+ switch (type)
+ {
+ case SERVLET:
+ return true;
+
+ case ACTION:
+ case RENDER:
+ return _PORTLET_10_SUPPORTED;
+
+ case RESOURCE:
+ case EVENT:
+ return _PORTLET_20_SUPPORTED;
+
+ default:
+ return false;
+ }
+ }
+
+ /**
+ * Returns the requestType of this ExternalContext.
+ *
+ * @param externalContext the current external context
+ * @return the appropriate RequestType for this external context
+ * @see RequestType
+ */
+ public static final RequestType getRequestType(ExternalContext externalContext)
+ {
+ //Stuff is laid out strangely in this class in order to optimize
+ //performance. We want to do as few instanceof's as possible so
+ //things are laid out according to the expected frequency of the
+ //various requests occurring.
+ if(_PORTLET_10_SUPPORTED || _PORTLET_20_SUPPORTED)
+ {
+ if (_PORTLET_CONTEXT_CLASS.isInstance(externalContext.getContext()))
+ {
+ //We are inside of a portlet container
+ Object request = externalContext.getRequest();
+
+ if(_PORTLET_RENDER_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.RENDER;
+ }
+
+ if(_PORTLET_RESOURCE_REQUEST_CLASS != null)
+ {
+ if(_PORTLET_ACTION_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.ACTION;
+ }
+
+ //We are in a JSR-286 container
+ if(_PORTLET_RESOURCE_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.RESOURCE;
+ }
+
+ return RequestType.EVENT;
+ }
+
+ return RequestType.ACTION;
+ }
+ }
- case ACTION:
- case RENDER:
- return _PORTLET_10_SUPPORTED;
-
- case RESOURCE:
- case EVENT:
- return _PORTLET_20_SUPPORTED;
+ return RequestType.SERVLET;
+ }
+
+ /**
+ * This method is used when a ExternalContext object is not available,
+ * like in TomahawkFacesContextFactory.
+ *
+ * According to TOMAHAWK-1331, the object context could receive an
+ * instance of javax.portlet.PortletContext or javax.portlet.PortletConfig,
+ * so we check both cases.
+ *
+ * @param context
+ * @param request
+ * @return
+ */
+ public static final RequestType getRequestType(Object context, Object request)
+ {
+ //Stuff is laid out strangely in this class in order to optimize
+ //performance. We want to do as few instanceof's as possible so
+ //things are laid out according to the expected frequency of the
+ //various requests occurring.
+
+ if(_PORTLET_10_SUPPORTED || _PORTLET_20_SUPPORTED)
+ {
+ if (_PORTLET_CONFIG_CLASS.isInstance(context) ||
+ _PORTLET_CONTEXT_CLASS.isInstance(context))
+ {
+ //We are inside of a portlet container
+
+ if(_PORTLET_RENDER_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.RENDER;
+ }
+
+ if(_PORTLET_RESOURCE_REQUEST_CLASS != null)
+ {
+ if(_PORTLET_ACTION_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.ACTION;
+ }
+
+ //We are in a JSR-286 container
+ if(_PORTLET_RESOURCE_REQUEST_CLASS.isInstance(request))
+ {
+ return RequestType.RESOURCE;
+ }
+
+ return RequestType.EVENT;
+ }
+
+ return RequestType.ACTION;
+ }
+ }
- default:
- return false;
+ return RequestType.SERVLET;
+ }
+
+ /**
+ * Returns the current active session id or <code>null</code> if there is
+ * none. If a session is not already created, this method will create one
+ * for you.
+ *
+ * @param ec the current external context
+ * @return a string containing the requestedSessionId
+ */
+ public static String getSessionId(ExternalContext ec)
+ {
+ return getSessionId(ec, true);
+ }
+
+ /**
+ * Returns the current active session id or <code>null</code> if there is
+ * none.
+ *
+ * @param ec the current external context
+ * @param create create a new session if one is not created
+ * @return a string containing the requestedSessionId
+ */
+ public static String getSessionId(ExternalContext ec, boolean create)
+ {
+ Object session = ec.getSession(create);
+ return (null != session) ? (String) _runMethod(session, "getId") : null;
+ }
+
+ /**
+ * Returns the session ID for the client, or <code>null</code> if there is none.
+ *
+ * @param ec the current external context
+ * @return a string containing the requestedSessionId
+ */
+ public static String getRequestedSessionId(ExternalContext ec)
+ {
+ return (String) _runMethod(ec.getRequest(), "getRequestedSessionId");
+ }
+
+ /**
+ * Checks if the requested session ID is still valid.
+ *
+ * @param ec the current external context
+ * @return a boolean containing <code>true</code> if the request session is
+ * valid or <code>false</code> if it is not
+ */
+ public static boolean isRequestedSessionIdValid(ExternalContext ec)
+ {
+ return (Boolean) _runMethod(ec.getRequest(),
+ "isRequestedSessionIdValid");
+ }
+
+ /**
+ * Returns the contextPath of the ServletContext or <code>null</code> for portlets
+ *
+ * @param ec the current external context
+ * @return a String containing the servletContextPath
+ */
+ public static String getServletContextPath(ExternalContext ec)
+ {
+ if (!isPortlet(ec))
+ {
+ return ((ServletContext) ec.getContext()).getContextPath();
+ }
+ else
+ {
+ return null;
+ }
}
- }
-
- /**
- * Returns the requestType of this ExternalContext.
- *
- * @param ec the current external context
- * @return the appropriate RequestType for this external context
- * @see RequestType
- * @since 2.0
- */
- public static final RequestType getRequestType(ExternalContext ec)
- {
- // Stuff is laid out strangely in this class in order to optimize
- // performance. We want to do as few instanceof's as possible so
- // things are laid out according to the expected frequency of the
- // various requests occurring.
- if(_PORTLET_10_SUPPORTED || _PORTLET_20_SUPPORTED)
- {
- if (_PORTLET_CONTEXT_CLASS.isInstance(ec.getContext()))
- {
- //We are inside of a portlet container
- Object request = ec.getRequest();
-
- if(_PORTLET_RENDER_REQUEST_CLASS.isInstance(request))
- {
- return RequestType.RENDER;
- }
-
- if(_PORTLET_RESOURCE_REQUEST_CLASS != null)
- {
- if(_PORTLET_ACTION_REQUEST_CLASS.isInstance(request))
- {
- return RequestType.ACTION;
- }
-
- // We are in a JSR-286 container
- if(_PORTLET_RESOURCE_REQUEST_CLASS.isInstance(request))
- {
- return RequestType.RESOURCE;
- }
-
- return RequestType.EVENT;
- }
-
- return RequestType.ACTION;
- }
- }
-
- return RequestType.SERVLET;
- }
-
- /**
- * Returns the current active session id or <code>null</code> if there is
- * none. If a session is not already created, this method will create one
- * for you.
- *
- * @param ec the current external context
- * @return a string containing the requestedSessionId
- */
- public static String getSessionId(ExternalContext ec)
- {
- return getSessionId(ec, true);
- }
-
- /**
- * Returns the current active session id or <code>null</code> if there is
- * none.
- *
- * @param ec the current external context
- * @param create create a new session if one is not created
- * @return a string containing the requestedSessionId
- */
- public static String getSessionId(ExternalContext ec, boolean create)
- {
- Object session = ec.getSession(create);
- return (null!=session)?(String)_runMethod(session, "getId"):null;
- }
-
- /**
- * Returns the session ID for the client, or <code>null</code> if there is none.
- *
- * @param ec the current external context
- * @return a string containing the requestedSessionId
- */
- public static String getRequestedSessionId(ExternalContext ec)
- {
- return (String) _runMethod(ec.getRequest(), "getRequestedSessionId");
- }
-
- /**
- * Checks if the requested session ID is still valid.
- *
- * @param ec the current external context
- * @return a boolean containing <code>true</code> if the request session is
- * valid or <code>false</code> if it is not
- */
- public static boolean isRequestedSessionIdValid(ExternalContext ec)
- {
- return (Boolean) _runMethod(ec.getRequest(), "isRequestedSessionIdValid");
- }
-
- /**
- * Returns the contextPath of the ServletContext or <code>null</code> for portlets
- *
- * @param ec the current external context
- * @return a String containing the servletContextPath
- */
- public static String getServletContextPath(ExternalContext ec)
- {
- if(!isPortlet(ec))
- {
- return ((ServletContext) ec.getContext()).getContextPath();
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Returns the contextPath of the ServletRequest or <code>null</code> for portlet requests
- *
- * @param ec the current external context
- * @return a String containing the request context path
- * @see ExternalContext#getRequestContextPath()
- *
- * @deprecated use ExternalContext.getRequestContextPath() as of JSF 1.2. This method
- * does not appropriately handle portlet environments, but the functionality
- * is maintained to prevent needing to change the contract.
- */
- @Deprecated
- public static String getRequestContextPath(ExternalContext ec)
- {
- if(!isPortlet(ec))
- {
- return ec.getRequestContextPath();
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Returns the requestURI of the HttpServletRequest or <code>null</code> for
- * portlet requests
- *
- * @param ec the current external context
- * @return A string containing the current request uri
- */
- public static String getRequestURI(ExternalContext ec)
- {
- if (!isPortlet(ec))
- {
- return ((HttpServletRequest) ec.getRequest()).getRequestURI();
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Returns the character encoding or <code>null</code> if there isn't any
- *
- * @param ec the current external context
- * @return a string containing the request's character encoding
- * @see ExternalContext#getRequestCharacterEncoding()
- *
- * @deprecated replaced by an API in JSF. Use ExternalContext.getRequestCharacterEncoding()
- */
- @Deprecated
- public static String getCharacterEncoding(ExternalContext ec)
- {
- return ec.getRequestCharacterEncoding();
- }
-
- /**
- * Returns the name of the underlying context or <code>null</code> if something
- * went wrong in trying to retrieve the context.
- *
- * @param ec the current external context
- * @return a String containing the context name
- */
- public static String getContextName(ExternalContext ec)
- {
- try
- {
- if (isPortlet(ec))
- {
- return (String) _runMethod(ec.getContext(), "getPortletContextName");
- }
- else
- {
- return ((ServletContext) ec.getContext()).getServletContextName();
- }
- }
- catch (final ClassCastException e)
- {
- _LOG.severe(e.getMessage());
- }
- return null;
- }
-
- /**
- * Returns the name and version of the underlying servlet container or <code>null</code> if something
- * went wrong in trying to retrieve the context.
- *
- * @param ec the current external context
- * @return a String containing the name and version of the underlying servlet container
- */
- public static String getServerInfo(ExternalContext ec)
- {
- try
- {
- if (isPortlet(ec))
- {
- return (String) _runMethod(ec.getContext(), "getServerInfo");
- }
- else
- {
- return ((ServletContext) ec.getContext()).getServerInfo();
- }
- }
- catch (final ClassCastException e)
- {
- _LOG.severe(e.getMessage());
- }
- return null;
- }
-
- /**
- * Returns the content length or -1 if the unknown.
- *
- * @param ec the current external context
- * @return the length or -1 if the length is unknown
- */
- public static int getContentLength(ExternalContext ec)
- {
- if(isRequestFromClient(ec))
- {
- return (Integer) _runMethod(ec.getRequest(), "getContentLength");
- }
-
- return -1;
- }
-
- /**
- * Returns the content type from the current externalContext or
- * <code>null</code> if unknown.
- *
- * @param ec the current external context
- * @return a String contining the the content type or <code>null</code>
- * @see ExternalContext#getRequestContentType()
- *
- * @deprecated use ExternalContext.getRequestContentType()
- */
- @Deprecated
- public static String getContentType(ExternalContext ec)
- {
- return ec.getRequestContentType();
- }
-
- /**
- * Returns the request input stream if one is available
- *
- * @param ec the current external context
- * @return the request's input stream
- * @throws IOException if there was a problem getting the input stream
- */
- public static InputStream getRequestInputStream(ExternalContext ec)
- throws IOException
- {
- RequestType type = getRequestType(ec);
- if(type.isRequestFromClient())
- {
- Object req = ec.getRequest();
- if(type.isPortlet())
- {
- return (InputStream)_runMethod(req, "getPortletInputStream");
- }
- else
- {
- return ((ServletRequest) ec.getRequest()).getInputStream();
- }
+
+ /**
+ * Returns the contextPath of the ServletRequest or <code>null</code> for portlet requests
+ *
+ * @param ec the current external context
+ * @return a String containing the request context path
+ * @see ExternalContext#getRequestContextPath()
+ *
+ * @deprecated use ExternalContext.getRequestContextPath() as of JSF 1.2. This method
+ * does not appropriately handle portlet environments, but the functionality
+ * is maintained to prevent needing to change the contract.
+ */
+ @Deprecated
+ public static String getRequestContextPath(ExternalContext ec)
+ {
+ if (!isPortlet(ec))
+ {
+ return ec.getRequestContextPath();
+ }
+ else
+ {
+ return null;
+ }
}
-
- return null;
- }
- /**
- * Returns <code>true</code> if this externalContext represents an "action".
- * An action request is any ServletRequest or a portlet ActionRequest or
- * ResourceRequest.
- *
- * @param ec the current external context
- * @return a boolean of <code>true</code> if this request is an action-type
- * request.
- * @see #isRequestFromClient(ExternalContext)
- *
- * @deprecated replaced with {@link #isRequestFromClient(ExternalContext)}
- */
- @Deprecated
- public static boolean isAction(ExternalContext ec)
- {
- return isRequestFromClient(ec);
- }
-
- /**
- * Returns the value of {@link RequestType#isPortlet()} for the current
- * RequestType. This is a convenience function designed to perform a quick
- * check of the current request. If more capabilities need to be tested for
- * the given request, then it is more efficient to pull this information from
- * the RequestType itself.
- *
- * @param ec the current external context
- * @return a boolean value of <code>true</code> if the current RequestType
- * is a portlet request.
- *
- * @see RequestType#isPortlet()
- * @see #getRequestType(ExternalContext)
- */
- public static boolean isPortlet(ExternalContext ec)
- {
- return getRequestType(ec).isPortlet();
- }
-
- /**
- * Returns the value of {@link RequestType#isResponseWritable()} for the
- * current RequestType. This is a convenience function designed to perform a
- * quick check of the current request. If more capabilities need to be tested
- * for the given request, then it is more efficient to pull this information
- * from the RequestType itself.
- *
- * @param ec the current external context
- * @return a boolean value of <code>true</code> if the current RequestType
- * is a "render" type response.
- *
- * @see RequestType#isResponseWritable()
- * @see #getRequestType(ExternalContext)
- * @since 2.0
- */
- public static final boolean isResponseWritable(ExternalContext ec)
- {
- return getRequestType(ec).isResponseWritable();
- }
-
- /**
- * Returns the value of {@link RequestType#isRequestFromClient()} for the
- * current RequestType. This is a convenience function designed to perform a
- * quick check of the current request. If more capabilities need to be tested
- * for the given request, then it is more efficient to pull this information
- * from the RequestType itself.
- *
- * @param ec the current external context
- * @return a boolean value of <code>true</code> if the current RequestType
- * represents a request from the client.
- *
- * @see RequestType#isResponseWritable()
- * @see #getRequestType(ExternalContext)
- * @since 2.0
- */
- public static final boolean isRequestFromClient(ExternalContext ec)
- {
- return getRequestType(ec).isRequestFromClient();
- }
-
- /**
- * Returns wherther of not this external context represents a true HttpServletRequest or
- * not. Some portal containers implement the PortletRequest/Response objects as
- * HttpServletRequestWrappers, and those objects should not be treated as an
- * HttpServlerRequest. As such, this method first tests to see if the request is
- * a portlet request and, if not, then tests to see if the request is an instanceof
- * HttpServletRequest.
- *
- * @param ec the current external context
- * @return a boolean value of <code>true</code> if the current request is an
- * HttpServletRequest
- * @since 1.1
- */
- public static boolean isHttpServletRequest(ExternalContext ec)
- {
- return (!isPortlet(ec) && (ec.getRequest() instanceof HttpServletRequest));
- }
-
- /**
- * Returns an HttpServletResponse if one exists on the externalContext or null
- * if it does not. Please note that some portal environments implement the
- * PortletRequest and Response objects as HttpServletRequest/Response objects.
- * This method handles these types of requests properly and will therefore
- * return null in portal environments.
- *
- * @param response
- * @return an HttpServletResponse if we have one or null if we do not
- * @since 4.0
- */
- public static HttpServletResponse getHttpServletResponse(ExternalContext ec)
- {
- if(isHttpServletRequest(ec))
+ /**
+ * Returns the requestURI of the HttpServletRequest or <code>null</code> for
+ * portlet requests
+ *
+ * @param ec the current external context
+ * @return A string containing the current request uri
+ */
+ public static String getRequestURI(ExternalContext ec)
{
- return (HttpServletResponse)ec.getResponse();
+ if (!isPortlet(ec))
+ {
+ return ((HttpServletRequest) ec.getRequest()).getRequestURI();
+ }
+ else
+ {
+ return null;
+ }
}
-
- return null;
- }
- /**
- * Runs a method on an object and returns the result
- *
- * @param obj the object to run the method on
- * @param methodName the name of the method
- * @return the results of the method run
- */
- private static Object _runMethod(Object obj, String methodName)
- {
- try
- {
- Method sessionIdMethod = obj.getClass().getMethod(methodName);
- return sessionIdMethod.invoke(obj);
- }
- catch (Exception e)
- {
- return null;
- }
-
- }
-
- // prevent this from being instantiated
- private ExternalContextUtils()
- {}
-
- private static final Logger _LOG = Logger.getLogger(ExternalContextUtils.class.getName());
-
- // =-= Scott O'Bryan =-=
- // Performance enhancement. These will be needed anyway, let's not get them every time.
- private static final Class<?> _PORTLET_ACTION_REQUEST_CLASS;
- private static final Class<?> _PORTLET_RENDER_REQUEST_CLASS;
- private static final Class<?> _PORTLET_RESOURCE_REQUEST_CLASS;
- private static final Class<?> _PORTLET_CONTEXT_CLASS;
- private static final boolean _PORTLET_10_SUPPORTED;
- private static final boolean _PORTLET_20_SUPPORTED;
-
- static
- {
- Class<?> context;
- Class<?> actionRequest;
- Class<?> renderRequest;
- Class<?> resourceRequest;
- boolean portlet20Supported = false;
- boolean portlet10Supported = false;
-
- try
- {
- context = ClassLoaderUtils.loadClass("javax.portlet.PortletContext");
- actionRequest = ClassLoaderUtils.loadClass("javax.portlet.ActionRequest");
- renderRequest = ClassLoaderUtils.loadClass("javax.portlet.RenderRequest");
-
- try
- {
- resourceRequest = ClassLoaderUtils.loadClass("javax.portlet.ResourceRequest");
- }
- catch (ClassNotFoundException e)
- {
- _LOG.fine("Portlet 2.0 API is not available on classpath. Portlet 2.0 functionality is disabled");
- resourceRequest = null;
- }
- }
- catch (final ClassNotFoundException e)
- {
- _LOG
- .fine("Portlet API is not available on the classpath. Portlet configurations are disabled.");
- context = null;
- actionRequest = null;
- renderRequest = null;
- resourceRequest = null;
+ /**
+ * Returns the character encoding or <code>null</code> if there isn't any
+ *
+ * @param ec the current external context
+ * @return a string containing the request's character encoding
+ * @see ExternalContext#getRequestCharacterEncoding()
+ *
+ * @deprecated replaced by an API in JSF. Use ExternalContext.getRequestCharacterEncoding()
+ */
+ @Deprecated
+ public static String getCharacterEncoding(ExternalContext ec)
+ {
+ return ec.getRequestCharacterEncoding();
+ }
+
+ /**
+ * Returns the name of the underlying context or <code>null</code> if something
+ * went wrong in trying to retrieve the context.
+ *
+ * @param ec the current external context
+ * @return a String containing the context name
+ */
+ public static String getContextName(ExternalContext ec)
+ {
+ try
+ {
+ if (isPortlet(ec))
+ {
+ return (String) _runMethod(ec.getContext(),
+ "getPortletContextName");
+ }
+ else
+ {
+ return ((ServletContext) ec.getContext())
+ .getServletContextName();
+ }
+ }
+ catch (final ClassCastException e)
+ {
+ _LOG.severe(e.getMessage());
+ }
+ return null;
}
-
- //Find bridge to tell if portal is supported
- if(context != null)
+
+ /**
+ * Returns the name and version of the underlying servlet container or <code>null</code> if something
+ * went wrong in trying to retrieve the context.
+ *
+ * @param ec the current external context
+ * @return a String containing the name and version of the underlying servlet container
+ */
+ public static String getServerInfo(ExternalContext ec)
{
- // Portlet 1.0 API found. In this case we have to consider that exists alternate
- // bridge implementations like in WebSphere and others.
- portlet10Supported = true;
-
- try
- {
- Class<?> bridge = ClassLoaderUtils.loadClass("javax.portlet.faces.Bridge");
-
- if(bridge != null)
+ try
{
- //Standard bridge defines a spec name which can be used to
- //determine Portlet 2.0 Support.
- String specName = bridge.getPackage().getSpecificationTitle();
- _LOG.fine("Found Bridge: " + specName);
- if(specName != null && specName.startsWith("Portlet 2"))
- {
- portlet20Supported = true;
- }
-
- if(_LOG.isLoggable(Level.INFO))
- {
- String ver = (portlet20Supported)?"2.0":"1.0";
- _LOG.info("Portlet Environment Detected: " + ver);
- }
- }
- }
- catch (ClassNotFoundException e)
- {
- _LOG.fine("Portlet API is present but Standard Apache Portlet Bridge is not. " +
- " This could happen if you are using an alternate Portlet Bridge solution.");
-
- if (resourceRequest != null)
+ if (isPortlet(ec))
+ {
+ return (String) _runMethod(ec.getContext(), "getServerInfo");
+ }
+ else
+ {
+ return ((ServletContext) ec.getContext()).getServerInfo();
+ }
+ }
+ catch (final ClassCastException e)
+ {
+ _LOG.severe(e.getMessage());
+ }
+ return null;
+ }
+
+ /**
+ * Returns the content length or -1 if the unknown.
+ *
+ * @param ec the current external context
+ * @return the length or -1 if the length is unknown
+ */
+ public static int getContentLength(ExternalContext ec)
+ {
+ if (isRequestFromClient(ec))
+ {
+ return (Integer) _runMethod(ec.getRequest(), "getContentLength");
+ }
+
+ return -1;
+ }
+
+ /**
+ * Returns the content type from the current externalContext or
+ * <code>null</code> if unknown.
+ *
+ * @param ec the current external context
+ * @return a String contining the the content type or <code>null</code>
+ * @see ExternalContext#getRequestContentType()
+ *
+ * @deprecated use ExternalContext.getRequestContentType()
+ */
+ @Deprecated
+ public static String getContentType(ExternalContext ec)
+ {
+ return ec.getRequestContentType();
+ }
+
+ /**
+ * Returns the request input stream if one is available
+ *
+ * @param ec the current external context
+ * @return the request's input stream
+ * @throws IOException if there was a problem getting the input stream
+ */
+ public static InputStream getRequestInputStream(ExternalContext ec)
+ throws IOException
+ {
+ RequestType type = getRequestType(ec);
+ if (type.isRequestFromClient())
+ {
+ Object req = ec.getRequest();
+ if (type.isPortlet())
+ {
+ return (InputStream) _runMethod(req, "getPortletInputStream");
+ }
+ else
+ {
+ return ((ServletRequest) ec.getRequest()).getInputStream();
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns <code>true</code> if this externalContext represents an "action".
+ * An action request is any ServletRequest or a portlet ActionRequest or
+ * ResourceRequest.
+ *
+ * @param ec the current external context
+ * @return a boolean of <code>true</code> if this request is an action-type
+ * request.
+ * @see #isRequestFromClient(ExternalContext)
+ *
+ * @deprecated replaced with {@link #isRequestFromClient(ExternalContext)}
+ */
+ @Deprecated
+ public static boolean isAction(ExternalContext ec)
+ {
+ return isRequestFromClient(ec);
+ }
+
+ /**
+ * Returns the value of {@link RequestType#isPortlet()} for the current
+ * RequestType. This is a convenience function designed to perform a quick
+ * check of the current request. If more capabilities need to be tested for
+ * the given request, then it is more efficient to pull this information from
+ * the RequestType itself.
+ *
+ * @param ec the current external context
+ * @return a boolean value of <code>true</code> if the current RequestType
+ * is a portlet request.
+ *
+ * @see RequestType#isPortlet()
+ * @see #getRequestType(ExternalContext)
+ */
+ public static boolean isPortlet(ExternalContext ec)
+ {
+ return getRequestType(ec).isPortlet();
+ }
+
+ /**
+ * Returns the value of {@link RequestType#isResponseWritable()} for the
+ * current RequestType. This is a convenience function designed to perform a
+ * quick check of the current request. If more capabilities need to be tested
+ * for the given request, then it is more efficient to pull this information
+ * from the RequestType itself.
+ *
+ * @param ec the current external context
+ * @return a boolean value of <code>true</code> if the current RequestType
+ * is a "render" type response.
+ *
+ * @see RequestType#isResponseWritable()
+ * @see #getRequestType(ExternalContext)
+ * @since 2.0
+ */
+ public static final boolean isResponseWritable(ExternalContext ec)
+ {
+ return getRequestType(ec).isResponseWritable();
+ }
+
+ /**
+ * Returns the value of {@link RequestType#isRequestFromClient()} for the
+ * current RequestType. This is a convenience function designed to perform a
+ * quick check of the current request. If more capabilities need to be tested
+ * for the given request, then it is more efficient to pull this information
+ * from the RequestType itself.
+ *
+ * @param ec the current external context
+ * @return a boolean value of <code>true</code> if the current RequestType
+ * represents a request from the client.
+ *
+ * @see RequestType#isResponseWritable()
+ * @see #getRequestType(ExternalContext)
+ * @since 2.0
+ */
+ public static final boolean isRequestFromClient(ExternalContext ec)
+ {
+ return getRequestType(ec).isRequestFromClient();
+ }
+
+ /**
+ * Returns wherther of not this external context represents a true HttpServletRequest or
+ * not. Some portal containers implement the PortletRequest/Response objects as
+ * HttpServletRequestWrappers, and those objects should not be treated as an
+ * HttpServlerRequest. As such, this method first tests to see if the request is
+ * a portlet request and, if not, then tests to see if the request is an instanceof
+ * HttpServletRequest.
+ *
+ * @param ec the current external context
+ * @return a boolean value of <code>true</code> if the current request is an
+ * HttpServletRequest
+ * @since 1.1
+ */
+ public static boolean isHttpServletRequest(ExternalContext ec)
+ {
+ return (!isPortlet(ec) && (ec.getRequest() instanceof HttpServletRequest));
+ }
+
+ /**
+ * Returns an HttpServletResponse if one exists on the externalContext or null
+ * if it does not. Please note that some portal environments implement the
+ * PortletRequest and Response objects as HttpServletRequest/Response objects.
+ * This method handles these types of requests properly and will therefore
+ * return null in portal environments.
+ *
+ * @param response
+ * @return an HttpServletResponse if we have one or null if we do not
+ * @since 4.0
+ */
+ public static HttpServletResponse getHttpServletResponse(ExternalContext ec)
+ {
+ if (isHttpServletRequest(ec))
+ {
+ return (HttpServletResponse) ec.getResponse();
+ }
+
+ return null;
+ }
+
+ /**
+ * Runs a method on an object and returns the result
+ *
+ * @param obj the object to run the method on
+ * @param methodName the name of the method
+ * @return the results of the method run
+ */
+ private static Object _runMethod(Object obj, String methodName)
+ {
+ try
+ {
+ Method sessionIdMethod = obj.getClass().getMethod(methodName);
+ return sessionIdMethod.invoke(obj);
+ }
+ catch (Exception e)
+ {
+ return null;
+ }
+
+ }
+
+ // prevent this from being instantiated
+ private ExternalContextUtils()
+ {
+ }
+
+ private static final Logger _LOG = Logger
+ .getLogger(ExternalContextUtils.class.getName());
+
+ // =-= Scott O'Bryan =-=
+ // Performance enhancement. These will be needed anyway, let's not get them every time.
+ private static final Class<?> _PORTLET_ACTION_REQUEST_CLASS;
+ private static final Class<?> _PORTLET_RENDER_REQUEST_CLASS;
+ private static final Class<?> _PORTLET_RESOURCE_REQUEST_CLASS;
+ private static final Class<?> _PORTLET_CONTEXT_CLASS;
+ private static final boolean _PORTLET_10_SUPPORTED;
+ private static final boolean _PORTLET_20_SUPPORTED;
+ private static final Class<?> _PORTLET_CONFIG_CLASS;
+
+ static
+ {
+ Class<?> context;
+ Class<?> config;
+ Class<?> actionRequest;
+ Class<?> renderRequest;
+ Class<?> resourceRequest;
+ boolean portlet20Supported = false;
+ boolean portlet10Supported = false;
+
+ try
+ {
+ context = ClassLoaderUtils
+ .loadClass("javax.portlet.PortletContext");
+ config = ClassLoaderUtils.loadClass("javax.portlet.PortletConfig");
+ actionRequest = ClassLoaderUtils
+ .loadClass("javax.portlet.ActionRequest");
+ renderRequest = ClassLoaderUtils
+ .loadClass("javax.portlet.RenderRequest");
+
+ try
+ {
+ resourceRequest = ClassLoaderUtils
+ .loadClass("javax.portlet.ResourceRequest");
+ }
+ catch (ClassNotFoundException e)
+ {
+ _LOG.fine("Portlet 2.0 API is not available on classpath. Portlet 2.0 functionality is disabled");
+ resourceRequest = null;
+ }
+ }
+ catch (final ClassNotFoundException e)
+ {
+ _LOG.fine("Portlet API is not available on the classpath. Portlet configurations are disabled.");
+ context = null;
+ config = null;
+ actionRequest = null;
+ renderRequest = null;
+ resourceRequest = null;
+ }
+
+ //Find bridge to tell if portal is supported
+ if (context != null)
+ {
+ // Portlet 1.0 API found. In this case we have to consider that exists alternate
+ // bridge implementations like in WebSphere and others.
+ portlet10Supported = true;
+
+ try
+ {
+ Class<?> bridge = ClassLoaderUtils
+ .loadClass("javax.portlet.faces.Bridge");
+
+ if (bridge != null)
+ {
+ //Standard bridge defines a spec name which can be used to
+ //determine Portlet 2.0 Support.
+ String specName = bridge.getPackage()
+ .getSpecificationTitle();
+ _LOG.fine("Found Bridge: " + specName);
+ if (specName != null && specName.startsWith("Portlet 2"))
+ {
+ portlet20Supported = true;
+ }
+
+ if (_LOG.isLoggable(Level.INFO))
+ {
+ String ver = (portlet20Supported) ? "2.0" : "1.0";
+ _LOG.info("Portlet Environment Detected: " + ver);
+ }
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ _LOG.fine("Portlet API is present but Standard Apache Portlet Bridge is not. "
+ + " This could happen if you are using an alternate Portlet Bridge solution.");
+
+ if (resourceRequest != null)
+ {
+ portlet20Supported = true;
+ }
+ }
+ }
+
+ _PORTLET_CONTEXT_CLASS = context;
+ _PORTLET_CONFIG_CLASS = config;
+ _PORTLET_ACTION_REQUEST_CLASS = actionRequest;
+ _PORTLET_RENDER_REQUEST_CLASS = renderRequest;
+ _PORTLET_RESOURCE_REQUEST_CLASS = resourceRequest;
+ _PORTLET_10_SUPPORTED = portlet10Supported;
+ _PORTLET_20_SUPPORTED = portlet20Supported;
+ }
+
+ /**
+ * Trys to obtain a HttpServletResponse from the Response.
+ * Note that this method also trys to unwrap any ServletResponseWrapper
+ * in order to retrieve a valid HttpServletResponse.
+ * @param response
+ * @return if found, the HttpServletResponse, null otherwise
+ */
+ public static HttpServletResponse getHttpServletResponse(Object response)
+ {
+ // unwrap the response until we find a HttpServletResponse
+ while (response != null)
{
- portlet20Supported = true;
+ if (response instanceof HttpServletResponse)
+ {
+ // found
+ return (HttpServletResponse) response;
+ }
+ if (response instanceof ServletResponseWrapper)
+ {
+ // unwrap
+ response = ((ServletResponseWrapper) response).getResponse();
+ }
+ // no more possibilities to find a HttpServletResponse
+ break;
}
- }
+ return null; // not found
}
- _PORTLET_CONTEXT_CLASS = context;
- _PORTLET_ACTION_REQUEST_CLASS = actionRequest;
- _PORTLET_RENDER_REQUEST_CLASS = renderRequest;
- _PORTLET_RESOURCE_REQUEST_CLASS = resourceRequest;
- _PORTLET_10_SUPPORTED = portlet10Supported;
- _PORTLET_20_SUPPORTED = portlet20Supported;
- }
-
- /**
- * Trys to obtain a HttpServletResponse from the Response.
- * Note that this method also trys to unwrap any ServletResponseWrapper
- * in order to retrieve a valid HttpServletResponse.
- * @param response
- * @return if found, the HttpServletResponse, null otherwise
- */
- public static HttpServletResponse getHttpServletResponse(Object response)
- {
- // unwrap the response until we find a HttpServletResponse
- while (response != null)
- {
- if (response instanceof HttpServletResponse)
- {
- // found
- return (HttpServletResponse) response;
- }
- if (response instanceof ServletResponseWrapper)
- {
- // unwrap
- response = ((ServletResponseWrapper) response).getResponse();
- }
- // no more possibilities to find a HttpServletResponse
- break;
- }
- return null; // not found
- }
-
- /**
- * Trys to obtain a ResponseSwitch from the Response.
- * @param response
- * @return if found, the ResponseSwitch, null otherwise
- */
- public static ResponseSwitch getResponseSwitch(Object response)
- {
- // unwrap the response until we find a ResponseSwitch
- while (response != null)
- {
- if (response instanceof ResponseSwitch)
- {
- // found
- return (ResponseSwitch) response;
- }
- if (response instanceof ServletResponseWrapper)
- {
- // unwrap
- response = ((ServletResponseWrapper) response).getResponse();
- }
- // no more possibilities to find a ResponseSwitch
- break;
- }
- return null; // not found
- }
-
- /**
- * Try to create a ResponseSwitch for this response.
- * @param response
- * @return the created ResponseSwitch, if there is a ResponseSwitch
- * implementation for the given response, null otherwise
- */
- public static ResponseSwitch createResponseSwitch(Object response)
- {
- if (response instanceof HttpServletResponse)
- {
- return new HttpServletResponseSwitch((HttpServletResponse) response);
- }
- else if (response instanceof ServletResponse)
- {
- return new ServletResponseSwitch((ServletResponse) response);
- }
- return null;
- }
-
+ /**
+ * Trys to obtain a ResponseSwitch from the Response.
+ * @param response
+ * @return if found, the ResponseSwitch, null otherwise
+ */
+ /*
+ public static ResponseSwitch getResponseSwitch(Object response)
+ {
+ // unwrap the response until we find a ResponseSwitch
+ while (response != null)
+ {
+ if (response instanceof ResponseSwitch)
+ {
+ // found
+ return (ResponseSwitch) response;
+ }
+ if (response instanceof ServletResponseWrapper)
+ {
+ // unwrap
+ response = ((ServletResponseWrapper) response).getResponse();
+ }
+ // no more possibilities to find a ResponseSwitch
+ break;
+ }
+ return null; // not found
+ }*/
+
+ /**
+ * Try to create a ResponseSwitch for this response.
+ * @param response
+ * @return the created ResponseSwitch, if there is a ResponseSwitch
+ * implementation for the given response, null otherwise
+ */
+ /*
+ public static ResponseSwitch createResponseSwitch(Object response)
+ {
+ if (response instanceof HttpServletResponse)
+ {
+ return new HttpServletResponseSwitch((HttpServletResponse) response);
+ }
+ else if (response instanceof ServletResponse)
+ {
+ return new ServletResponseSwitch((ServletResponse) response);
+ }
+ return null;
+ }*/
+
}
Modified: myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/SelectItemsIterator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/SelectItemsIterator.java?rev=1299895&r1=1299894&r2=1299895&view=diff
==============================================================================
--- myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/SelectItemsIterator.java (original)
+++ myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/SelectItemsIterator.java Mon Mar 12 21:52:29 2012
@@ -35,8 +35,7 @@ import javax.faces.component.UISelectIte
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
-import org.apache.myfaces.shared.renderkit.JSFAttr;
-import org.apache.myfaces.shared.renderkit.RendererUtils;
+import org.apache.myfaces.shared.util.renderkit.JsfProperties;
// ATTENTION
// This class is associated with javax.faces.component._SelectItemsIterator.
@@ -51,13 +50,13 @@ public class SelectItemsIterator impleme
{
private static final Logger log = Logger.getLogger(SelectItemsIterator.class.getName());
- private static final String VAR_ATTR = JSFAttr.VAR_ATTR;
- private static final String ITEM_VALUE_ATTR = JSFAttr.ITEM_VALUE_ATTR;
- private static final String ITEM_LABEL_ATTR = JSFAttr.ITEM_LABEL_ATTR;
- private static final String ITEM_DESCRIPTION_ATTR = JSFAttr.ITEM_DESCRIPTION_ATTR;
- private static final String ITEM_DISABLED_ATTR = JSFAttr.ITEM_DISABLED_ATTR;
- private static final String ITEM_LABEL_ESCAPED_ATTR = JSFAttr.ITEM_LABEL_ESCAPED_ATTR;
- private static final String NO_SELECTION_VALUE_ATTR = JSFAttr.NO_SELECTION_VALUE_ATTR;
+ private static final String VAR_PROP = JsfProperties.VAR_PROP;
+ private static final String ITEM_VALUE_PROP = JsfProperties.ITEM_VALUE_PROP;
+ private static final String ITEM_LABEL_PROP = JsfProperties.ITEM_LABEL_PROP;
+ private static final String ITEM_DESCRIPTION_PROP = JsfProperties.ITEM_DESCRIPTION_PROP;
+ private static final String ITEM_DISABLED_PROP = JsfProperties.ITEM_DISABLED_PROP;
+ private static final String ITEM_LABEL_ESCAPED_PROP = JsfProperties.ITEM_LABEL_ESCAPED_PROP;
+ private static final String NO_SELECTION_VALUE_PROP = JsfProperties.NO_SELECTION_VALUE_PROP;
private static final Iterator<UIComponent> _EMPTY_UICOMPONENT_ITERATOR = new _EmptyIterator<UIComponent>();
@@ -69,8 +68,9 @@ public class SelectItemsIterator impleme
public SelectItemsIterator(UIComponent selectItemsParent, FacesContext facesContext)
{
- _children = selectItemsParent.getChildCount() > 0 ?
- selectItemsParent.getChildren().iterator() : _EMPTY_UICOMPONENT_ITERATOR;
+ _children = selectItemsParent.getChildCount() > 0
+ ? selectItemsParent.getChildren().iterator()
+ : _EMPTY_UICOMPONENT_ITERATOR;
_facesContext = facesContext;
}
@@ -137,8 +137,8 @@ public class SelectItemsIterator impleme
ValueExpression expression = uiSelectItem.getValueExpression("value");
throw new IllegalArgumentException("ValueExpression '"
+ (expression == null ? null : expression.getExpressionString()) + "' of UISelectItem : "
- + RendererUtils.getPathToComponent(child) +
- " does not reference an Object of type SelectItem");
+ + DebugUtils.getPathToComponent(child)
+ + " does not reference an Object of type SelectItem");
}
_nextItem = (SelectItem) item;
return true;
@@ -200,7 +200,7 @@ public class SelectItemsIterator impleme
+ " array, Iterable or Map, but of type: {2}",
new Object[] {
(expression == null ? null : expression.getExpressionString()),
- RendererUtils.getPathToComponent(child),
+ DebugUtils.getPathToComponent(child),
(value == null ? null : value.getClass().getName())
});
}
@@ -236,7 +236,7 @@ public class SelectItemsIterator impleme
// write the current item into the request map under the key listed in var, if available
boolean wroteRequestMapVarValue = false;
Object oldRequestMapVarValue = null;
- final String var = (String) attributeMap.get(VAR_ATTR);
+ final String var = (String) attributeMap.get(VAR_PROP);
if(var != null && !"".equals(var))
{
// save the current value of the key listed in var from the request map
@@ -245,7 +245,7 @@ public class SelectItemsIterator impleme
}
// check the itemValue attribute
- Object itemValue = attributeMap.get(ITEM_VALUE_ATTR);
+ Object itemValue = attributeMap.get(ITEM_VALUE_PROP);
if (itemValue == null)
{
// the itemValue attribute was not provided
@@ -255,7 +255,7 @@ public class SelectItemsIterator impleme
// Spec: When iterating over the select items, toString()
// must be called on the string rendered attribute values
- Object itemLabel = attributeMap.get(ITEM_LABEL_ATTR);
+ Object itemLabel = attributeMap.get(ITEM_LABEL_PROP);
if (itemLabel == null)
{
itemLabel = itemValue.toString();
@@ -264,14 +264,14 @@ public class SelectItemsIterator impleme
{
itemLabel = itemLabel.toString();
}
- Object itemDescription = attributeMap.get(ITEM_DESCRIPTION_ATTR);
+ Object itemDescription = attributeMap.get(ITEM_DESCRIPTION_PROP);
if (itemDescription != null)
{
itemDescription = itemDescription.toString();
}
- Boolean itemDisabled = getBooleanAttribute(_currentUISelectItems, ITEM_DISABLED_ATTR, false);
- Boolean itemLabelEscaped = getBooleanAttribute(_currentUISelectItems, ITEM_LABEL_ESCAPED_ATTR, true);
- Object noSelectionValue = attributeMap.get(NO_SELECTION_VALUE_ATTR);
+ Boolean itemDisabled = getBooleanAttribute(_currentUISelectItems, ITEM_DISABLED_PROP, false);
+ Boolean itemLabelEscaped = getBooleanAttribute(_currentUISelectItems, ITEM_LABEL_ESCAPED_PROP, true);
+ Object noSelectionValue = attributeMap.get(NO_SELECTION_VALUE_PROP);
item = new SelectItem(itemValue,
(String) itemLabel,
(String) itemDescription,
Modified: myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/WebConfigParamUtils.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/WebConfigParamUtils.java?rev=1299895&r1=1299894&r2=1299895&view=diff
==============================================================================
--- myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/WebConfigParamUtils.java (original)
+++ myfaces/core/trunk/shared-public/src/main/java/org/apache/myfaces/shared/util/WebConfigParamUtils.java Mon Mar 12 21:52:29 2012
@@ -25,7 +25,7 @@ import javax.faces.context.ExternalConte
* Utility class to handle web config parameters
*
* @author Leonardo Uribe
- * @since 4.0.4
+ * @since 2.0.10 (4.0.4 in shared, 1.0.1 in commons)
*/
public final class WebConfigParamUtils
{