Community
Participate
Working Groups
Build Identifier: I20110428-0848 When applying @XmlElementRef or @XmlElementRefs to a property (getter or setter) instead of a field of a class, the following CCE would be thrown: ---------- java.lang.ClassCastException: org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceMethod cannot be cast to org.eclipse.jpt.jaxb.core.resource.java.JavaResourceField at org.eclipse.jpt.jaxb.core.internal.resource.java.XmlElementRefAnnotationDefinition.buildAnnotation(XmlElementRefAnnotationDefinition.java:48) at org.eclipse.jpt.jaxb.core.internal.GenericAnnotationProvider.buildAnnotation(GenericAnnotationProvider.java:109) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.buildNestableAnnotation(SourceAnnotatedElement.java:227) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement$AnnotationContainer.buildNestedAnnotation(SourceAnnotatedElement.java:472) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceNode$AnnotationContainer.initialize(SourceNode.java:85) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.addOrSyncContainerAnnotation_(SourceAnnotatedElement.java:317) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.addOrSyncAnnotation(SourceAnnotatedElement.java:272) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement$SynchronizeAnnotationVisitor.visitChildAnnotation(SourceAnnotatedElement.java:437) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement$AnnotationVisitor.visit_(SourceAnnotatedElement.java:394) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement$AnnotationVisitor.visit(SourceAnnotatedElement.java:383) at org.eclipse.jdt.core.dom.NormalAnnotation.accept0(NormalAnnotation.java:163) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2482) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2553) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:496) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2482) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.syncAnnotations(SourceAnnotatedElement.java:234) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.synchronizeWith(SourceAnnotatedElement.java:103) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceMember.synchronizeWith(SourceMember.java:57) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAttribute.synchronizeWith(SourceAttribute.java:86) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceMethod.synchronizeWith(SourceMethod.java:89) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceType.syncMethods(SourceType.java:479) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceType.synchronizeWith(SourceType.java:135) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceTypeCompilationUnit.syncType(SourceTypeCompilationUnit.java:116) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceTypeCompilationUnit.synchronizeWith(SourceTypeCompilationUnit.java:68) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceCompilationUnit.synchronizeWithJavaSource(SourceCompilationUnit.java:156) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaCompilationUnitDelta(AbstractJaxbProject.java:1125) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDelta(AbstractJaxbProject.java:970) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDeltaChildren(AbstractJaxbProject.java:979) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaPackageFragmentDelta(AbstractJaxbProject.java:1116) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDelta(AbstractJaxbProject.java:967) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDeltaChildren(AbstractJaxbProject.java:979) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaPackageFragmentRootDelta(AbstractJaxbProject.java:1088) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDelta(AbstractJaxbProject.java:964) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDeltaChildren(AbstractJaxbProject.java:979) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaProjectDelta(AbstractJaxbProject.java:1007) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDelta(AbstractJaxbProject.java:961) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDeltaChildren(AbstractJaxbProject.java:979) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaModelDelta(AbstractJaxbProject.java:1001) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.processJavaDelta(AbstractJaxbProject.java:958) at org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.javaElementChanged(AbstractJaxbProject.java:949) at org.eclipse.jpt.jaxb.core.GenericJaxbProjectManager.javaElementChanged_(GenericJaxbProjectManager.java:544) at org.eclipse.jpt.jaxb.core.GenericJaxbProjectManager$6.execute_(GenericJaxbProjectManager.java:533) at org.eclipse.jpt.jaxb.core.GenericJaxbProjectManager$EventHandlerCommand.execute(GenericJaxbProjectManager.java:709) at org.eclipse.jpt.common.utility.internal.AsynchronousCommandExecutor$Consumer.execute(AsynchronousCommandExecutor.java:163) at org.eclipse.jpt.common.utility.internal.ConsumerThreadCoordinator$RunnableConsumer.execute_(ConsumerThreadCoordinator.java:226) at org.eclipse.jpt.common.utility.internal.ConsumerThreadCoordinator$RunnableConsumer.execute(ConsumerThreadCoordinator.java:216) at org.eclipse.jpt.common.utility.internal.ConsumerThreadCoordinator$RunnableConsumer.run(ConsumerThreadCoordinator.java:204) at java.lang.Thread.run(Unknown Source) ----------- Reproducible: Always
This should be addressed to bug 343851