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();
}