Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-10583

ClassCastException while CDIProject.getBeans() is working

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 3.3.0.Beta1
    • 3.3.0.Beta1
    • cdi
    • None

      EXECUTE: Create two CDI projects: ProjectA and ProjectB. ProjectB depends on ProjectA.
      EXECUTE: Create a bean in ProjectA:

      @Named("cdiBean")
      public class CDIBeanTest {
      }
      

      EXECUTE: Create another bean in ProjectB:

      public class TestBean {
          @Inject @Named("cdiBean") Object foo;
      }
      

      EXECUTE: Close ProjectB
      EXECUTE: Select CDIBeanTest class name in CDIBeanTest.java and press Ctrl+Shift+G

      Two results were found:

      1. Exception:

      java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.classfmt.AnnotationInfo cannot be cast to org.eclipse.jdt.internal.core.SourceRefElementInfo
      	at org.eclipse.jdt.internal.core.SourceRefElement.getSourceRange(SourceRefElement.java:218)
      	at org.eclipse.jdt.internal.core.Annotation.getSourceRange(Annotation.java:121)
      	at org.jboss.tools.common.java.impl.JavaAnnotation.getStartPosition(JavaAnnotation.java:68)
      	at org.jboss.tools.common.java.impl.AnnotationDeclaration.getStartPosition(AnnotationDeclaration.java:84)
      	at org.jboss.tools.cdi.internal.core.impl.AbstractBeanElement.getRestrictedTypeDeclarations(AbstractBeanElement.java:292)
      	at org.jboss.tools.cdi.internal.core.impl.ClassBean.getLegalTypes(ClassBean.java:348)
      	at org.jboss.tools.cdi.internal.core.impl.CDIProject.getBeans(CDIProject.java:372)
      	at org.jboss.tools.cdi.ui.search.CDIBeanQueryParticipant.searchInProject(CDIBeanQueryParticipant.java:96)
      	at org.jboss.tools.cdi.ui.search.CDIBeanQueryParticipant.search(CDIBeanQueryParticipant.java:73)
      	at org.eclipse.jdt.internal.ui.search.JavaSearchQuery$2.run(JavaSearchQuery.java:164)
      	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      	at org.eclipse.jdt.internal.ui.search.JavaSearchQuery.run(JavaSearchQuery.java:170)
      	at org.eclipse.search2.internal.ui.InternalSearchUI$InternalSearchJob.run(InternalSearchUI.java:91)
      	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
      

      2. TestBean.foo is found as an injection point and can be opened in external editor

            scabanovich Viacheslav Kabanovich (Inactive)
            dazarov_jira Daniel Azarov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: