Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 345280 - ClassCastException: SourceMethod cannot be cast to JavaResourceField
Summary: ClassCastException: SourceMethod cannot be cast to JavaResourceField
Status: RESOLVED INVALID
Alias: None
Product: Dali JPA Tools
Classification: WebTools
Component: JAXB (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: dali.general-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-10 11:00 EDT by Nan Li CLA
Modified: 2011-05-10 12:01 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nan Li CLA 2011-05-10 11:00:59 EDT
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
Comment 1 Paul Fullbright CLA 2011-05-10 12:01:43 EDT
This should be addressed to bug 343851