Closing Dialogs cause java.lang.IllegalStateException: Invalid index - Server 
Exception during PPR
--------------------------------------------------------------------------------------------------

                 Key: TRINIDAD-1428
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1428
             Project: MyFaces Trinidad
          Issue Type: Bug
          Components: Components
    Affects Versions: 1.2.10-core
         Environment: Window XP SP2, JSF 1.2.10, Tomcat 6.0.18
            Reporter: Cristiano


from release 1.2.10 i found a problem with dialogs opened by a jspx, (see the 
exception stak trace below). 
when i close the dialog window via a tr:commandButton (Confirm or Cancel) or by 
the X close icon the lifecicle of Jsf return a problem in RESTORE_VIEW, so the 
getViewRoot() of the FacesContext in the afterPhase event is NULL. 
This problem is still open in the last trunks.
With release 1.2.8 i've got no problems. 
This is my page that open the dialog:

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"; version="2.0" 
          xmlns:f="http://java.sun.com/jsf/core"; 
          xmlns:h="http://java.sun.com/jsf/html"; 
          xmlns:trh="http://myfaces.apache.org/trinidad/html"; 
          xmlns:tr="http://myfaces.apache.org/trinidad";> 
    <jsp:directive.page contentType="text/html;charset=utf-8"/> 

    <f:view locale="#{Session.locale}"> 
        <f:loadBundle  basename="com.hit.messaggi" var="msgs"/> 
        <trh:script source="/js/jsUploadR.js" /> 
        <tr:document styleClass="BodyDoc" inlineStyle="margin-top:0px" 
title="#{msgs.label_modtitle}"> 
            <tr:form id="myForm" usesUpload="true"> 
                        ..... 
            <tr:commandLink id="loadIssue" text="" partialSubmit="true" 
action="#{modifyAdP.doOpenCalendar}" 
                            useWindow="true" windowWidth="450" 
windowHeight="520" returnListener="#{modifyAdP.selectedIssues}" 
onclick="clearFileValue();"> 
                <tr:image inlineStyle="border:0px;" 
                    source ="/images/IT_AddData.gif" 
                    rendered="#{Session.isItalian}"/> 
                <tr:image inlineStyle="border:0px;" 
                    source ="/images/EN_AddData.gif" 
                    rendered="#{Session.isEnglish}"/> 
            </tr:commandLink> 
                        
                        ..... 
                        </tr:form> 
                </tr:document> 
        </f:view> 
</jsp:root> 
-------------------------------------------------------------- 
And this is my dialog 

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"; version="2.0" 
          xmlns:f="http://java.sun.com/jsf/core"; 
          xmlns:h="http://java.sun.com/jsf/html"; 
          xmlns:trh="http://myfaces.apache.org/trinidad/html"; 
          xmlns:tr="http://myfaces.apache.org/trinidad";> 
    <jsp:directive.page contentType="text/html;charset=utf-8"/> 
    <f:view> 
        <f:loadBundle basename="com.hit.messaggi" var="msgs"/> 
        <tr:document onload="parent.askQuit=false; 
dialogDropDownComponentRefresh();" title="#{msgs.label_isstitle}" 
inlineStyle="background-color:#ededed;"> 
            <script type='text/javascript' language='javascript'> 
            //<![CDATA[ 
            var isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != 
-1; 
            
            function dialogDropDownComponentRefresh() { 
                if (isIE6) { 
                    var allSelectElements = 
document.getElementsByTagName('select'); 
                    if (allSelectElements) { 
                        for (var i=0; i < allSelectElements.length; i++) { 
                            var tr = allSelectElements[i]; 
                            tr.style.cssText = 'display:inline !important; 
visibility: visible !important;'; 
                        } 
                    } 
                } 
            } 
            //]]> 
            </script> 

            <tr:form  id="frmFascicoli"> 
                <table border="0" cellpadding="0" cellspacing="0" width="100%" 
style="background-color:#ededed;"> 
                <tr> 
                    <td align="center"> 
                    <tr:spacer height="10px" /> 
                    
                    <!-- ANNO --> 
                    <tr:spacer height="10px" /> 

                    <tr:selectOneChoice id="cmbYears" autoSubmit="true" 
label="#{msgs.label_issanno}" 
                                        value="#{calIssues.anno}" 
valueChangeListener="#{calIssues.annoChanged}"> 
                        <f:selectItems 
value="#{calIssues.listaAnni}"></f:selectItems> 
                    </tr:selectOneChoice> 

                    </td> 
                </tr> 
                
                <tr> 
                    <td align="center"> 
                    <!-- TABELLA FASCICOLI --> 
                    <tr:panelBorderLayout styleClass="tab_contentResRicMat"> 
                        <tr:table id="IssList" varStatus="status" first="0" 
width="95%" emptyText="#{msgs.label_issgrid_norec}" rowSelection="multiple" 
var="row" 
                        binding="#{calIssues.tableIssues}" 
value="#{calIssues.listIssues}" > 
                            <tr:column width="30%" align="center" 
headerText="#{msgs.label_isscodfasc}"> 
                                <tr:outputText value="#{row.fascicoloLabel}"/> 
                            </tr:column> 
                            <tr:column width="30%" align="center" 
headerText="#{msgs.label_issdatacop}"> 
                                <tr:outputText value="#{row.dataCopertina}"/> 
                            </tr:column> 
                            <tr:column width="30%" align="center" 
headerText="#{msgs.label_issdatauscita}"> 
                                <tr:outputText value="#{row.dataUscita}"/> 
                            </tr:column> 
                        </tr:table> 
                    </tr:panelBorderLayout> 
                    
                    <tr:separator /> 
                    <tr:spacer height="10px" /> 
                    </td> 
                </tr> 
                <tr> 
                    <td align="center"> 
                    <!-- PULSANTI --> 
                    <tr:commandButton text="#{msgs.label_issconferma}" 
action="#{calIssues.doSubmit}"  onclick="parent.askQuit=true;"> 
                    </tr:commandButton> 
                    <tr:spacer width="20px"/> 
                    <tr:commandButton text="#{msgs.label_issannulla}" 
immediate="true" action="#{calIssues.doCancel}"> 
                    </tr:commandButton> 
                    </td> 
                </tr> 
                </table> 
            </tr:form> 
        </tr:document> 
    </f:view> 
</jsp:root> 

-------------------------------------------------------------- 

6-mar-2009 8.36.16 com.sun.faces.lifecycle.LifecycleImpl phase 
AVVERTENZA: executePhase(RESTORE_VIEW 
1,org.apache.myfaces.trinidadinternal.context.facescontextfactoryimpl$cacherender...@19ce6db)
 threw exception 
java.lang.IllegalStateException: Invalid index 
        at 
org.apache.myfaces.trinidad.bean.util.StateUtils.restoreKey(StateUtils.java:257)
 
        at 
org.apache.myfaces.trinidad.bean.util.StateUtils.restoreState(StateUtils.java:351)
 
        at 
org.apache.myfaces.trinidad.bean.util.FlaggedPropertyMap.restoreState(FlaggedPropertyMap.java:194)
 
        at 
org.apache.myfaces.trinidad.bean.FacesBeanImpl.restoreState(FacesBeanImpl.java:347)
 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.restoreState(UIXComponentBase.java:928)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:57) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1157)
 
        at 
org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:626)
 
        at 
com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:290) 
        at 
javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:193)
 
        at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:275)
 
        at 
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141) 
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) 
        at 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
 
        at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at com.hit.webapp.RedirectFilter.doFilter(RedirectFilter.java:118) 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
        at java.lang.Thread.run(Thread.java:619) 
6-mar-2009 8.36.16 
org.apache.myfaces.trinidadinternal.config.xmlHttp.XmlHttpConfigurator 
handleError 
GRAVE: Server Exception during PPR, #1 
javax.servlet.ServletException: Invalid index 
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:256) 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
 
        at 
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
 
        at 
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at com.hit.webapp.RedirectFilter.doFilter(RedirectFilter.java:118) 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
        at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.IllegalStateException: Invalid index 
        at 
org.apache.myfaces.trinidad.bean.util.StateUtils.restoreKey(StateUtils.java:257)
 
        at 
org.apache.myfaces.trinidad.bean.util.StateUtils.restoreState(StateUtils.java:351)
 
        at 
org.apache.myfaces.trinidad.bean.util.FlaggedPropertyMap.restoreState(FlaggedPropertyMap.java:194)
 
        at 
org.apache.myfaces.trinidad.bean.FacesBeanImpl.restoreState(FacesBeanImpl.java:347)
 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.restoreState(UIXComponentBase.java:928)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:57) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
org.apache.myfaces.trinidad.component.TreeState.restoreState(TreeState.java:96) 
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:902)
 
        at 
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1157)
 
        at 
org.apache.myfaces.trinidadinternal.application.StateManagerImpl.restoreView(StateManagerImpl.java:626)
 
        at 
com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:290) 
        at 
javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:193)
 
        at 
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:275)
 
        at 
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141) 
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) 
        at 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
        ... 24 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to