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 2009/10/15 19:18:20 UTC
svn commit: r825575 -
/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java
Author: lu4242
Date: Thu Oct 15 17:18:20 2009
New Revision: 825575
URL: http://svn.apache.org/viewvc?rev=825575&view=rev
Log:
MYFACES-2380 DefaultRestoreViewSupport.calculateViewId does not calculate viewId properly on portlet case (see jsr-301 and portlet-bridge code for detail)
Modified:
myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java?rev=825575&r1=825574&r2=825575&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/lifecycle/DefaultRestoreViewSupport.java Thu Oct 15 17:18:20 2009
@@ -18,7 +18,6 @@
*/
package org.apache.myfaces.lifecycle;
-import java.util.Iterator;
import java.util.Map;
import javax.el.ValueExpression;
@@ -44,6 +43,12 @@
private static final String JAVAX_SERVLET_INCLUDE_SERVLET_PATH = "javax.servlet.include.servlet_path";
private static final String JAVAX_SERVLET_INCLUDE_PATH_INFO = "javax.servlet.include.path_info";
+
+ /**
+ * Constant defined on javax.portlet.faces.Bridge class that helps to
+ * define if the current request is a portlet request or not.
+ */
+ private static final String PORTLET_LIFECYCLE_PHASE = "javax.portlet.faces.phase";
private final Log log = LogFactory.getLog(DefaultRestoreViewSupport.class);
@@ -72,37 +77,46 @@
{
Assert.notNull(facesContext);
ExternalContext externalContext = facesContext.getExternalContext();
- Map requestMap = externalContext.getRequestMap();
+ Map<String, Object> requestMap = externalContext.getRequestMap();
- String viewId = (String) requestMap.get(JAVAX_SERVLET_INCLUDE_PATH_INFO);
+ String viewId = null;
boolean traceEnabled = log.isTraceEnabled();
- if (viewId != null)
+
+ if (requestMap.containsKey(PORTLET_LIFECYCLE_PHASE))
{
- if (traceEnabled)
- {
- log.trace("Calculated viewId '" + viewId + "' from request param '" + JAVAX_SERVLET_INCLUDE_PATH_INFO
- + "'");
- }
+ viewId = (String) externalContext.getRequestPathInfo();
}
else
{
- viewId = externalContext.getRequestPathInfo();
- if (viewId != null && traceEnabled)
+ viewId = (String) requestMap.get(JAVAX_SERVLET_INCLUDE_PATH_INFO);
+ if (viewId != null)
{
- log.trace("Calculated viewId '" + viewId + "' from request path info");
+ if (traceEnabled)
+ {
+ log.trace("Calculated viewId '" + viewId + "' from request param '" + JAVAX_SERVLET_INCLUDE_PATH_INFO
+ + "'");
+ }
}
- }
-
- if (viewId == null)
- {
- viewId = (String) requestMap.get(JAVAX_SERVLET_INCLUDE_SERVLET_PATH);
- if (viewId != null && traceEnabled)
+ else
+ {
+ viewId = externalContext.getRequestPathInfo();
+ if (viewId != null && traceEnabled)
+ {
+ log.trace("Calculated viewId '" + viewId + "' from request path info");
+ }
+ }
+
+ if (viewId == null)
{
- log.trace("Calculated viewId '" + viewId + "' from request param '"
- + JAVAX_SERVLET_INCLUDE_SERVLET_PATH + "'");
+ viewId = (String) requestMap.get(JAVAX_SERVLET_INCLUDE_SERVLET_PATH);
+ if (viewId != null && traceEnabled)
+ {
+ log.trace("Calculated viewId '" + viewId + "' from request param '"
+ + JAVAX_SERVLET_INCLUDE_SERVLET_PATH + "'");
+ }
}
}
-
+
if (viewId == null)
{
viewId = externalContext.getRequestServletPath();