[jbosstools-issues] [JBoss JIRA] (JBIDE-10324) Class Cast Exception in org.jboss.tools.jst.web.kb.internal.scanner.LibraryProxy class

Daniel Azarov (Created) (JIRA) jira-events at lists.jboss.org
Fri Dec 2 15:09:40 EST 2011


Class Cast Exception in org.jboss.tools.jst.web.kb.internal.scanner.LibraryProxy class
--------------------------------------------------------------------------------------

                 Key: JBIDE-10324
                 URL: https://issues.jboss.org/browse/JBIDE-10324
             Project: Tools (JBoss Tools)
          Issue Type: Bug
          Components: common/jst/core
    Affects Versions: 3.3.0.M4
            Reporter: Daniel Azarov
            Assignee: Alexey Kazakov


Test case:

1. Create Dynamic Web Project
2. Add JSF 2 Facet
3. Create TestConverter class 

{code}
package demo;

import javax.faces.convert.FacesConverter;

@FacesConverter("test")
public class TestConverter {

}
{code}

4. Create main.xhtml page:

{code}
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	    		xmlns:ui="http://java.sun.com/jsf/facelets"
	  			xmlns:h="http://java.sun.com/jsf/html"
	  			xmlns:f="http://java.sun.com/jsf/core"
	  			xmlns:s="http://jboss.com/products/seam/taglib"
                xmlns:a="http://richfaces.org/a4j"
				template="template.xhtml">

<!-- content -->
<ui:define name="content">

<div class="section">
  <h:form id="main">
  
    <span class="errors">
       <h:messages globalOnly="true"/>
    </span>
    
	<h1>Search Hotels</h1>
	<fieldset>
		<h:outputText value="#{hotelSearch.searchString}">
   			<f:converter converterId="test"/>
		</h:outputText>
		
	   <h:inputText id="searchString" value="#{hotelSearch.searchString}" style="width: 165px;">
         <a:support event="onkeyup" actionListener="#{hotelSearch.find}" reRender="searchResults" />
       </h:inputText>
       &#160;
	   <a:commandButton id="findHotels" value="Find Hotels" action="#{hotelSearch.find}" reRender="searchResults"/>
       &#160;
       <a:status>
          <f:facet name="start">
             <h:graphicImage value="/img/spinner.gif"/>
          </f:facet>
       </a:status>
	   <br/>
       <h:outputLabel for="pageSize">Maximum results:</h:outputLabel>&#160;
       <h:selectOneMenu value="#{hotelSearch.pageSize}" id="pageSize">
          <f:selectItem itemLabel="5" itemValue="5"/>
          <f:selectItem itemLabel="10" itemValue="10"/>
          <f:selectItem itemLabel="20" itemValue="20"/>
       </h:selectOneMenu>
    </fieldset>
    
  </h:form>
</div>

<a:outputPanel id="searchResults">
  <div class="section">
	<h:outputText value="No Hotels Found" rendered="#{hotels != null and hotels.rowCount==0}"/>
	<h:dataTable id="hotels" value="#{hotels}" var="hot" rendered="#{hotels.rowCount>0}">
		<h:column>
			<f:facet name="header">Name</f:facet>
			#{hot.name}
		</h:column>
		<h:column>
			<f:facet name="header">Address</f:facet>
			#{hot.address}
		</h:column>
		<h:column>
			<f:facet name="header">City, State</f:facet>
			#{hot.city}, #{hot.state}, #{hot.country}
		</h:column> 
		<h:column>
			<f:facet name="header">Zip</f:facet>
			#{hot.zip}
		</h:column>
		<h:column>
			<f:facet name="header">Action</f:facet>
			<s:link id="viewHotel" value="View Hotel" action="#{hotelBooking.selectHotel(hot)}"/>
		</h:column>
	</h:dataTable>
	<s:link value="More results" action="#{hotelSearch.nextPage}" rendered="#{hotelSearch.nextPageAvailable}"/>
  </div>
</a:outputPanel>

<div class="section">
	<h1>Current Hotel Bookings</h1>
</div>
<div class="section">
  <h:form id="bookings">
	<h:outputText value="No Bookings Found" rendered="#{bookings.rowCount==0}"/>
	<h:dataTable id="bookings" value="#{bookings}" var="book" rendered="#{bookings.rowCount>0}">
		<h:column>
			<f:facet name="header">Name</f:facet>
			#{book.hotel.name}
		</h:column>
		<h:column>
			<f:facet name="header">Address</f:facet>
			#{book.hotel.address}
		</h:column>
		<h:column>
			<f:facet name="header">City, State</f:facet>
			#{book.hotel.city}, #{book.hotel.state}
		</h:column>
        <h:column>
            <f:facet name="header">Check in date</f:facet>
            <h:outputText value="#{book.checkinDate}"/>
        </h:column>
        <h:column>
            <f:facet name="header">Check out date</f:facet>
            <h:outputText value="#{book.checkoutDate}"/>
        </h:column>
		<h:column>
			<f:facet name="header">Confirmation number</f:facet>
			#{book.id}
		</h:column>
		<h:column>
			<f:facet name="header">Action</f:facet>
			<h:commandLink id="cancel" value="Cancel" action="#{bookingList.cancel}"/>
		</h:column>
	</h:dataTable>
  </h:form>
</div>

</ui:define>

<!-- sidebar -->
<ui:define name="sidebar">
</ui:define>

</ui:composition>
{code}

5. Build project
6. Restart Studio

Fail:
{code}
!SUBENTRY 1 org.jboss.tools.jst.web.kb 4 75 2011-12-02 11:53:28.783
!MESSAGE Errors running builder 'JBoss Knowledge Base Builder' on project 'JSF2ComponentsValidator'.
!STACK 0
java.lang.ClassCastException: java.lang.String cannot be cast to org.jboss.tools.common.model.XModelObject
	at org.jboss.tools.jst.web.kb.internal.scanner.LibraryProxy.loadXML(LibraryProxy.java:49)
	at org.jboss.tools.jst.web.kb.internal.KbProject.loadSourcePaths2(KbProject.java:568)
	at org.jboss.tools.jst.web.kb.internal.KbProject.load(KbProject.java:323)
	at org.jboss.tools.jst.web.kb.internal.KbProject.resolveStorage(KbProject.java:282)
	at org.jboss.tools.jst.web.kb.internal.KbBuilder.build(KbBuilder.java:100)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list