Announcement Announcement Module
Collapse
No announcement yet.
1.0.2 sanity testing - feedback requested Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Summary

    ----BUILD 1.0.2 - 38----------------------------
    *Binding OK
    *BACK button OK
    *Refresh OK
    *Double submit OK

    Great stuff!

    [Just avoid 39 to 41]

    Comment


    • #32
      Ok, so the bottom line is:
      - Build 38 worked with flow executor defaults as expected
      - Builds 39 - 41 are broke with your configuration (flow variable and property resolver).

      Right? But the real question is this still a problem? Does the latest build -- build 42 work for you? I'm a little confused there given your last post. We want to make sure any issues are ironed out...
      Last edited by Keith Donald; Apr 4th, 2007, 01:02 PM.

      Comment


      • #33
        - Build 38 worked with flow executor defaults as expected
        Correct

        - Builds 39 - 41 are broke with your configuration (flow variable and property resolver).
        Broken, but cannot be certain about flow variable and property resolver because I cannot get to the page to test this. What I can be certain about is the HtmlDatatable binding doesnt work.

        Sorry for the confusion - basically I had a deployment mix up. The end result is I dont know if there is a problem or not with the property resolver.

        Does the latest build -- build 42 work for you? I'm a little confused there given your last post. We want to make sure any issues are ironed out...
        Broken - same issues as 39 - 41.
        Last edited by jamesclinton; Apr 4th, 2007, 01:17 PM.

        Comment


        • #34
          Can you post the exact stack trace of the failure?

          Thanks,

          Keith

          Comment


          • #35
            There isnt one, the log just displayes:

            [ValueBindingImpl] Exception while determining read-only state of value-binding : #{flowScope.bb.userList.dataTable}.

            Comment


            • #36
              James,

              I have been unable to reproduce this problem using sellitem, restoring its configuration to match yours (in terms of the property and variable resolvers used). Can you please try the next build out (43 I guess?). If this problem still exists for you, can you please submit a JIRA attaching the offending part of the flow, your view templates -- whatever we need to re-create your environment as closely environment.

              The main change in 1.0.2 in terms of lifecycle is the flow execution is now restored AFTER the restore_view phase to allow for it to be restored from the key tracked in the ViewRoot, instead of post back manually. Before, it was restored BEFORE restore view. However, I don't see how this could cause a problem for one component and not another... input appreciated.

              We'll release 1.0.2 once we're comfortable this issued is resolved and the set action enhancements are complete. I'd like to release now Friday if possible, but we should not rush and risk introducing a bug. 1.0.2 has the real potential to be the last maintenance release before 1.1.

              Thanks,

              Keith
              Last edited by Keith Donald; Apr 4th, 2007, 06:15 PM.

              Comment


              • #37
                Ok I've found the exception which relates to the HtmlDataTable binding issue in builds 39 to 42.


                07:44:50,430 INFO [ValueBindingImpl] Exception while determining read-only state of value-binding : #{flowScope.bb.accountList.dataTable}
                07:44:50,540 ERROR [[/xxx]] Exception thrown executing [AnnotatedAction@8eb8bf targetAction = com.xxx.search.flow.SearchAccountFlowFormActionDel egate@317d82, attributes = map['method' -> 'load']] in state 'select.action' of flow 'search-account-flow' -- action execution attributes were 'map['method' -> 'load']'; nested exception is java.lang.IllegalArgumentException: row is unavailable
                org.springframework.webflow.engine.ActionExecution Exception: Exception thrown executing [AnnotatedAction@8eb8bf targetAction = comxxx.search.flow.SearchAccountFlowFormActionDele gate@317d82, attributes = map['method' -> 'load']] in state 'select.action' of flow 'search-account-flow' -- action execution attributes were 'map['method' -> 'load']'; nested exception is java.lang.IllegalArgumentException: row is unavailable
                Caused by:
                java.lang.IllegalArgumentException: row is unavailable
                at javax.faces.model.ListDataModel.getRowData(ListDat aModel.java:66)
                at org.apache.myfaces.component.html.ext.HtmlDataTabl eHack.getRowData(HtmlDataTableHack.java:92)
                at com.xxx.account.AccountList.updateSelectedEntity(A ccountList.java:192)
                at com.xxx.search.flow.SearchAccountFlowFormActionDel egate.load(SearchAccountFlowFormActionDelegate.jav a:110)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:585)
                at org.springframework.webflow.util.DispatchMethodInv oker.invoke(DispatchMethodInvoker.java:103)
                at org.springframework.webflow.action.MultiAction.doE xecute(MultiAction.java:136)
                at org.springframework.webflow.action.AbstractAction. execute(AbstractAction.java:203)
                at org.springframework.webflow.engine.AnnotatedAction .execute(AnnotatedAction.java:142)
                at org.springframework.webflow.engine.ActionExecutor. execute(ActionExecutor.java:61)
                at org.springframework.webflow.engine.ActionState.doE nter(ActionState.java:180)
                at org.springframework.webflow.engine.State.enter(Sta te.java:200)
                at org.springframework.webflow.engine.Transition.exec ute(Transition.java:229)
                at org.springframework.webflow.engine.TransitionableS tate.onEvent(TransitionableState.java:112)
                at org.springframework.webflow.engine.Flow.onEvent(Fl ow.java:572)
                at org.springframework.webflow.engine.impl.RequestCon trolContextImpl.signalEvent(RequestControlContextI mpl.java:208)
                at org.springframework.webflow.engine.impl.FlowExecut ionImpl.signalEvent(FlowExecutionImpl.java:214)
                at org.springframework.webflow.executor.jsf.FlowNavig ationHandler.handleNavigation(FlowNavigationHandle r.java:161)
                at org.springframework.web.jsf.DelegatingNavigationHa ndlerProxy.handleNavigation(DelegatingNavigationHa ndlerProxy.java:111)
                at org.apache.myfaces.application.ActionListenerImpl. processAction(ActionListenerImpl.java:82)
                at org.apache.shale.view.faces.ViewActionListener.pro cessAction(ViewActionListener.java:73)
                at javax.faces.component.UICommand.broadcast(UIComman d.java:109)
                at javax.faces.component.UIData.broadcast(UIData.java :517)
                at javax.faces.component.UIViewRoot._broadcastForPhas e(UIViewRoot.java:97)
                at javax.faces.component.UIViewRoot.processApplicatio n(UIViewRoot.java:171)
                at org.apache.myfaces.lifecycle.InvokeApplicationExec utor.execute(InvokeApplicationExecutor.java:32)
                at org.apache.myfaces.lifecycle.LifecycleImpl.execute Phase(LifecycleImpl.java:95)
                at org.apache.myfaces.lifecycle.LifecycleImpl.execute (LifecycleImpl.java:70)
                at javax.faces.webapp.FacesServlet.service(FacesServl et.java:139)
                at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
                at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:264)
                at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.invoke(FilterSecurityInterceptor.java:107)
                at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.doFilter(FilterSecurityInterceptor.java:72 )
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.ui.ExceptionTranslationFilter.do Filter(ExceptionTranslationFilter.java:110)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.wrapper.SecurityContextHolderAwa reRequestFilter.doFilter(SecurityContextHolderAwar eRequestFilter.java:81)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.providers.anonymous.AnonymousPro cessingFilter.doFilter(AnonymousProcessingFilter.j ava:125)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.ui.AbstractProcessingFilter.doFi lter(AbstractProcessingFilter.java:217)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.ui.logout.LogoutFilter.doFilter( LogoutFilter.java:108)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.context.HttpSessionContextIntegr ationFilter.doFilter(HttpSessionContextIntegration Filter.java:193)
                at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                at org.acegisecurity.util.FilterChainProxy.doFilter(F ilterChainProxy.java:148)
                at org.acegisecurity.util.FilterToBeanProxy.doFilter( FilterToBeanProxy.java:98)
                at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:147)
                at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
                at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
                at org.jboss.web.tomcat.security.SecurityAssociationV alve.invoke(SecurityAssociationValve.java:175)
                at org.jboss.web.tomcat.security.JaccContextValve.inv oke(JaccContextValve.java:74)
                at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
                at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
                at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
                at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
                at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
                at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
                at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
                at org.apache.tomcat.util.net.MasterSlaveWorkerThread .run(MasterSlaveWorkerThread.java:112)
                at java.lang.Thread.run(Thread.java:595)

                MORE.....
                Last edited by jamesclinton; Apr 5th, 2007, 02:52 AM.

                Comment


                • #38
                  CONT....

                  07:44:50,555 ERROR [PhaseListenerManager] Exception in PhaseListener RENDER_RESPONSE(6) beforePhase.
                  java.lang.IllegalStateException: Current state is not a view state - cannot refresh; perhaps an unhandled exception occured in another state?
                  at org.springframework.webflow.engine.impl.FlowExecut ionImpl.refresh(FlowExecutionImpl.java:238)
                  at org.springframework.webflow.executor.jsf.FlowPhase Listener.prepareResponse(FlowPhaseListener.java:25 2)
                  at org.springframework.webflow.executor.jsf.FlowPhase Listener.beforePhase(FlowPhaseListener.java:156)
                  at org.springframework.web.jsf.DelegatingPhaseListene rMulticaster.beforePhase(DelegatingPhaseListenerMu lticaster.java:75)
                  at org.apache.myfaces.lifecycle.PhaseListenerManager. informPhaseListenersBefore(PhaseListenerManager.ja va:73)
                  at org.apache.myfaces.lifecycle.LifecycleImpl.render( LifecycleImpl.java:126)
                  at javax.faces.webapp.FacesServlet.service(FacesServl et.java:140)
                  at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
                  at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:264)
                  at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.invoke(FilterSecurityInterceptor.java:107)
                  at org.acegisecurity.intercept.web.FilterSecurityInte rceptor.doFilter(FilterSecurityInterceptor.java:72 )
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.ui.ExceptionTranslationFilter.do Filter(ExceptionTranslationFilter.java:110)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.wrapper.SecurityContextHolderAwa reRequestFilter.doFilter(SecurityContextHolderAwar eRequestFilter.java:81)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.providers.anonymous.AnonymousPro cessingFilter.doFilter(AnonymousProcessingFilter.j ava:125)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.ui.AbstractProcessingFilter.doFi lter(AbstractProcessingFilter.java:217)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.ui.logout.LogoutFilter.doFilter( LogoutFilter.java:108)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.context.HttpSessionContextIntegr ationFilter.doFilter(HttpSessionContextIntegration Filter.java:193)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFil terChain.doFilter(FilterChainProxy.java:274)
                  at org.acegisecurity.util.FilterChainProxy.doFilter(F ilterChainProxy.java:148)
                  at org.acegisecurity.util.FilterToBeanProxy.doFilter( FilterToBeanProxy.java:98)
                  at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                  at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                  at org.apache.myfaces.webapp.filter.ExtensionsFilter. doFilter(ExtensionsFilter.java:147)
                  at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                  at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                  at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:96)
                  at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:202)
                  at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
                  at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
                  at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
                  at org.jboss.web.tomcat.security.SecurityAssociationV alve.invoke(SecurityAssociationValve.java:175)
                  at org.jboss.web.tomcat.security.JaccContextValve.inv oke(JaccContextValve.java:74)
                  at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
                  at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
                  at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
                  at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
                  at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
                  at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
                  at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
                  at org.apache.tomcat.util.net.MasterSlaveWorkerThread .run(MasterSlaveWorkerThread.java:112)
                  at java.lang.Thread.run(Thread.java:595)

                  Here is my table code:

                  Code:
                  <t:dataTable 
                    id="data"
                    var="record"
                    .
                    .
                    .
                    value="#{flowScope.xxx.accountList.list}"
                    preserveDataModel="false"
                    rowId="#{record.caption}"                  
                    binding="#{flowScope.xxx.accountList.dataTable}">
                  The exception is thrown when I try and get the selected row object like so:

                  Code:
                  AccountView view = (AccountView) this.getDataTable().getRowData();
                  AccountView is basically an entity wrapper.

                  This and the last post was all related to BUILD 42 using config without back button support:

                  Code:
                  <?xml version="1.0" encoding="UTF-8"?>
                  <beans xmlns="http://www.springframework.org/schema/beans"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xmlns:flow="http://www.springframework.org/schema/webflow-config"
                         xsi:schemaLocation="
                             http://www.springframework.org/schema/beans
                             http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                             http://www.springframework.org/schema/webflow-config
                             http://www.springframework.org/schema/webflow-config/spring-webflow-config-1.0.xsd">
                  
                  	<!-- Creates the registry of flow definitions for this application -->
                  	<flow:registry id="flowDefinitionLocator">		
                  		<flow:location path="/WEB-INF/flows/*-flow.xml" />
                  	</flow:registry>
                      
                      <bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
                        <property name="basename" value="messages"/>
                      </bean>
                  
                  
                  	<bean id="jsfNavigationHandler" class="org.springframework.webflow.executor.jsf.FlowNavigationHandler" >
                  	  <description>
                      	Spring configured flow navigation handler delegate, allowing for custom configuration
                  		using standard dependency injection techniques.
                  		
                  		Note: this definition is optional; you may choose to simply specify your FlowNavigationHandler
                  		in your faces-config.xml if its defaults meet your needs.
                  	  </description>
                  	</bean>
                  
                  	<bean id="flowPhaseListener" class="org.springframework.webflow.executor.jsf.FlowPhaseListener"/>
                  	
                  	
                  </beans>
                  ...MORE
                  Last edited by jamesclinton; Apr 5th, 2007, 03:15 AM.

                  Comment


                  • #39
                    jsf.FlowPropertyResolver not working with indexed properties of lists

                    I think there is a bug within the org.springframework.webflow.executor.jsf.FlowPrope rtyResolver. We wanted do introduce webflow with an existing application using lists.

                    A bean property call within the jsp could be:
                    Code:
                    <h:inputText ... value="#{bean.aList[0]}" />
                    This results in ReferenceSyntaxException("Can not apply an index value to Flow map").

                    Because we can't use WebFlow in this case I opened bug in jira (SWF-279).

                    In my opinion adding a return statement within the following method would fix this.

                    Code:
                    public void setValue(Object base, int index, Object value) throws EvaluationException, PropertyNotFoundException { 
                        if (!(base instanceof FlowExecution)) { 
                            resolverDelegate.setValue(base, index, value); 
                            return; 
                        } 
                        throw new ReferenceSyntaxException("Can not apply an index value to Flow map"); 
                    }
                    Sorry for not providing a patch directly because of no access to the repository due to our infrustructure restrictions.

                    Regards,
                    Thomas

                    Comment


                    • #40
                      Originally posted by jamesclinton View Post
                      07:44:50,430 INFO [ValueBindingImpl] Exception while determining read-only state of value-binding : #{flowScope.bb.accountList.dataTable}
                      I believe that message indicates the root of the problem. See the corresponding code from isReadOnly method of the MyFaces ValueBindingImpl:

                      Code:
                      catch (Exception e)
                      {
                          log.info("Exception while determining read-only state of value-binding : "
                                      +_expressionString);
                          // Cannot determine read-only, return true
                          // (todo: is this what the spec requires,
                          // MYFACES-686 suggests using true due to problems with alias bean?)
                          return true;
                      }
                      So in effect, some exception is being thrown when your binding expression is evaluated, causing it to be seen as a Read Only expression. I would think this in turn is causing the backing List not to get set properly on your ListDataModel for the DataTable, leading to the "row is unavailable" error when you call getRowData(). If you can figure out the exception being thrown when the binding expression is evaluated for isReadOnly, that would get this moving in the right direction.

                      -Jeremy

                      Comment


                      • #41
                        Thanks Jeremy,

                        Has there been binding changes since Build 38, which could lead to this happening?

                        James

                        Comment


                        • #42
                          Originally posted by jamesclinton View Post
                          Has there been binding changes since Build 38, which could lead to this happening?
                          Well, knowing the exception that is getting suppressed in that isReadOnly method would tell me for sure, but I suspect it does actually have something to do with the change Keith mentioned where the FlowExecution is now being restored after the RESTORE_VIEW phase because of the flowExecutionKey being embedded in the state of UIViewRoot. I believe binding expressions have to be evaluated during the RESTORE_VIEW phase, and that is when the isReadOnly method is probably getting called in this case. It may be necessary to find an alternate strategy for embedding the flowExecutionKey.

                          -Jeremy

                          Comment


                          • #43
                            I've just tried to use the current snapshot of SWF 1.0.2 in our application and got a serious error. We use ajax4jsf which works great with SWF even with one of the snapshot versions (1.0.2-SNAPSHOT-20070228... I think). With the current version I get a javax.faces.el.EvaluationException when I call the first page of our application wether it uses ajax4jsf or not. I just have to place the ajax4jsf jar in the classpath. Here's the complete stack trace:

                            Code:
                            2007-04-05 18:07:37,366 ERROR [org.apache.myfaces.lifecycle.PhaseListenerManager] - <Exception in PhaseListener RESTORE_VIEW(1) afterPhase>
                            javax.faces.el.EvaluationException: FlowExecution is not bound to current thread context - has the flow ended or expired?
                                    at org.springframework.webflow.executor.jsf.FlowExecutionHolderUtils.getRequiredCurrentFlowExecution(FlowExecutionHolderUtils.java:74)
                                    at org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver.resolveVariable(DelegatingFlowVariableResolver.java:65)
                                    at org.ajax4jsf.framework.ajax.AjaxContext.getCurrentInstance(AjaxContext.java:150)
                                    at org.ajax4jsf.framework.renderer.AjaxPhaseListener.afterPhase(AjaxPhaseListener.java:76)
                                    at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
                                    at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:99)
                                    at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
                                    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
                                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
                                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                                    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
                                    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
                                    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
                                    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
                                    at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:691)
                                    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:661)
                                    at org.apache.jsp.index_jsp._jspService(index_jsp.java:49)
                                    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
                                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                                    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
                                    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
                                    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
                                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
                                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
                                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
                                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
                                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
                                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
                                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
                                    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
                                    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
                                    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
                                    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
                                    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
                                    at java.lang.Thread.run(Thread.java:613)
                            Because ajax4jsf worked in a previous version of SWF I guess that this is a bug which was introduced recently. Should I open a bug report in JIRA? I can also provide a modified version of the sellitem-jsf example with which the problem can be reproduced.

                            Thanks for your help.

                            Comment


                            • #44
                              In the road map there is an issue relating to a4j. The status is WONT FIX. might be worth taking a look at it to see if its related?

                              Comment


                              • #45
                                Yes I suspect these problems are due to the change in the flow execution restoration lifecycle. Previously it was restored in BEFORE RESTORE VIEW, now AFTER RESTORE VIEW. As Jeremy mentioned, this was done to allow for restoration of the flow execution key in the view root so it doesn't have to be tracked by view developers.

                                We are looking into this problem and how to fix it without throwing away the benefits of having JSF track the flow execution for us.

                                Keith

                                Comment

                                Working...
                                X