Hi,
 
I found a strange behaviour in one of our pages (facelet).
From time to time there seems to be a state of <tr:outputText>.
I can’t think of a situation where <tr:outputText> should save a state, neither does Trinidad assume this case.
Therefore there is a ClassCastException thrown on RestoreState.
 
Our environment is:
Tomcat 6
Myfaces 1.2.3
Trinidad 1.2.10 (SNAP)
Facelets 1.1.14
 
Any pointers to solve this problem are welcome.
 
Thanks in advance
 
  Harald
 
 
 
facelet fragment:
<table>
  <tr:iterator id="iterator"
               value="#{textFilter.listFilter}"
               var="columnFilter"
               varStatus="status"
              rows="0" >
     <tr>
       <td>
         <!-- ******************** -->  
         <tr:outputText value="#{bundle['aim.text.label.reportgen.textenthaelt']}:" />
         <!-- ******************** -->  
     </td>
       <td>&#0160;</td>
       <td>
         <tr:inputText id="textBedingung"
                       value="#{columnFilter.textBedingungFrontend}"
                       inlineStyle="width:120px;"
                       simple="true"
                       onkeyup="javascript:this.value = this.value.toUpperCase();" />
       </td>
      <td>&#0160;</td>
       <td>&#0160;</td>
     </tr>
   </tr:iterator>           
</table>
 
Exception:
javax.servlet.ServletException: org.apache.myfaces.trinidad.component.core.output.CoreOutputText
        at javax.faces.webapp._ErrorPageWriter.throwException(_ErrorPageWriter.java:401)
        at javax.faces.webapp.FacesServlet.handleLifecycleException(FacesServlet.java:221)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:156)
        at com.airplus.aim.webapp.jsf.AIMFacesServlet.service(AIMFacesServlet.java:63)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        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:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.airplus.aim.webapp.filter.AIMFilter.doFilter(AIMFilter.java:147)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
        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:174)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassCastException: org.apache.myfaces.trinidad.component.core.output.CoreOutputText
        at org.apache.myfaces.trinidad.component.StampState$EVHState.restoreRowState(StampState.java:451)
        at org.apache.myfaces.trinidad.component.StampState.restoreStampState(StampState.java:125)
 
The cause of the exception is:
        EditableValueHolder evh = (EditableValueHolder) child;
 
In case of the exception child is of type CoreOutputText.
 
Harald Kuhn
AirPlus International
Business Information Services
Dornhofstr. 36
63263 Neu-Isenburg
T  +49 (0) 61 02. 2 04 - 8 21
F  +49 (0) 61 02. 2 04 - 1 39
hkuhn@airplus.com
www.airplus.com