You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/04/27 09:32:08 UTC
svn commit: r164957 - in
/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow:
faces/internal/PageFlowViewHandler.java internal/PageFlowRequestWrapper.java
Author: rich
Date: Wed Apr 27 00:32:08 2005
New Revision: 164957
URL: http://svn.apache.org/viewcvs?rev=164957&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-567 : ClassCastException when hit faces page directly
tests: bvt in netui, bvt.myfaces and bvt.jsf-ri in netui/test/webapps/jsf
BB: self (linux)
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java?rev=164957&r1=164956&r2=164957&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java Wed Apr 27 00:32:08 2005
@@ -93,17 +93,22 @@
if ( request instanceof HttpServletRequest )
{
httpRequest = ( HttpServletRequest ) request;
- PreviousPageInfo prevPageInfo = PageFlowRequestWrapper.unwrap( httpRequest ).getPreviousPageInfo( true );
-
- if ( prevPageInfo != null )
+ PageFlowRequestWrapper rw = PageFlowRequestWrapper.unwrap( httpRequest );
+
+ if ( rw != null )
{
- Object clientState = prevPageInfo.getClientState();
+ PreviousPageInfo prevPageInfo = rw.getPreviousPageInfo( true );
- if ( clientState != null && clientState instanceof PageClientState )
+ if ( prevPageInfo != null )
{
- PageClientState pcs = ( PageClientState ) clientState;
- InternalUtils.setFacesBackingBean( httpRequest, pcs.getBackingBean() );
- return pcs.getViewRoot();
+ Object clientState = prevPageInfo.getClientState();
+
+ if ( clientState != null && clientState instanceof PageClientState )
+ {
+ PageClientState pcs = ( PageClientState ) clientState;
+ InternalUtils.setFacesBackingBean( httpRequest, pcs.getBackingBean() );
+ return pcs.getViewRoot();
+ }
}
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java?rev=164957&r1=164956&r2=164957&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java Wed Apr 27 00:32:08 2005
@@ -52,13 +52,16 @@
return ( PageFlowRequestWrapper ) servletRequest;
}
+ /**
+ * Unwrap to find the PageFlowRequestWrapper. This method may return <code>null</code>.
+ */
public static PageFlowRequestWrapper unwrap( ServletRequest servletRequest )
{
servletRequest = InternalUtils.unwrapMultipart( servletRequest );
while ( ! ( servletRequest instanceof PageFlowRequestWrapper ) )
{
- assert servletRequest instanceof ServletRequestWrapper : servletRequest.getClass().getName();
+ if ( ! ( servletRequest instanceof ServletRequestWrapper ) ) return null;
servletRequest = ( ( ServletRequestWrapper ) servletRequest ).getRequest();
}