1 Reply Latest reply on Dec 1, 2007 4:04 AM by Florian Marwede

    HtmlTabPanel class cast exception

    francesco milesi Newbie

      Hi everybody,

      In my xhtml page I have the following line

      <rich:tabPanel id="myId" binding="#{form.tabPanel}" />
      


      and in the form backing bean I put the following code
       private HtmlTabPanel panel;
      
       public void setTabPanel(UIComponent panel) {
       if(this.panel == null) {
       this.panel = (HtmlTabPanel) panel;
      
       HtmlTab tab = new HtmlTab();
       tab.setTitle("Tab 1");
       tab.setDisabled(false);
      
       HtmlTab tab1 = new HtmlTab();
       tab1.setTitle("Tab 2");
       tab1.setDisabled(false);
      
       tab.setParent(this.panel);
       this.panel.getChildren().add(tab);
       tab1.setParent(this.panel);
       this.panel.getChildren().add(tab1);
       }
       }
      
       public UIComponent getTabPanel() {
       return panel;
       }
      



      I added three modules
       <module>
       <ejb>richfaces-ui.jar</ejb>
       </module>
      
       <module>
       <ejb>richfaces-impl.jar</ejb>
       </module>
      
       <module>
       <ejb>richfaces-api.jar</ejb>
       </module>
      

      in my application.xml, I put the corresponding jars in the base directory of my ear file and I removed richfaces-ui.jar and richfaces-impl.jar from the WEB-INF/lib dir of my war.

      When I load the page I get
      GRAVE: Error Rendering View[/dojo_comp_ext.xhtml]
      javax.faces.FacesException: javax.el.ELException: /dojo_comp_ext.xhtml @38,55 binding="#{form.tabPanel}": Error writing 'tabPanel' on type it.romi.ui.Form_$$_javassist_0
       at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:240)
       at org.jboss.seam.jsf.SeamApplication.createComponent(SeamApplication.java:327)
       at com.sun.facelets.tag.jsf.ComponentHandler.createComponent(ComponentHandler.java:224)
      


      caused by
      Caused by: javax.el.ELException: /dojo_comp_ext.xhtml @38,55 binding="#{form.tabPanel}": Error writing 'tabPanel' on type it.romi.ui.Form_$$_javassist_0
       at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:101)
       at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:237)
       ... 68 more
      Caused by: java.lang.ClassCastException: org.richfaces.component.html.HtmlTabPanel cannot be cast to org.richfaces.component.html.HtmlTabPanel
       at it.romi.ui.Form.setTabPanel(Form.java:58)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      


      I also looked in the manifest of those jars and found out they have
      Specification-Version: 3.1.2.GA and Implementation-Version: 3.1.2.GA.
      I generated the project with Seam-gen 2.0.0GA. I also searched jboss-4.2.1.GA for conflicting richfaces jars, but I did not found any.

      Any idea about what is going on?

      Thanks in advance,

      ciao Francesco