Community
Participate
Working Groups
Build Identifier: I20110428-0848 When trying to apply @XmlType to a field, the following CCE would be thrown: ---------------- java.lang.ClassCastException: org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceField cannot be cast to org.eclipse.jpt.jaxb.core.resource.java.JavaResourceAbstractType at org.eclipse.jpt.jaxb.core.internal.resource.java.XmlTypeAnnotationDefinition.buildAnnotation(XmlTypeAnnotationDefinition.java:47) at org.eclipse.jpt.jaxb.core.internal.GenericAnnotationProvider.buildAnnotation(GenericAnnotationProvider.java:84) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.buildAnnotation(SourceAnnotatedElement.java:219) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.addOrSyncAnnotation_(SourceAnnotatedElement.java:286) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceAnnotatedElement.addOrSyncAnnotation(SourceAnnotatedElement.java:266) 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:388) at org.eclipse.jdt.core.dom.MarkerAnnotation.accept0(MarkerAnnotation.java:137) 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.FieldDeclaration.accept0(FieldDeclaration.java:284) 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.SourceType.syncFields(SourceType.java:415) at org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceType.synchronizeWith(SourceType.java:134) 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.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) -------------- Similar exception would be thrown when trying to apply @XmlType to a property complaining org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceField cannot be cast to org.eclipse.jpt.jaxb.core.resource.java.JavaResourceAbstractType. Reproducible: Always
Correction of the last paragraph in the bug description: Similar exception would be thrown when trying to apply @XmlType to a property complaining org.eclipse.jpt.jaxb.core.internal.resource.java.source.SourceMethod cannot be cast to org.eclipse.jpt.jaxb.core.resource.java.JavaResourceAbstractType.
Created attachment 197520 [details] 3.0.1 proposed patch patch for 3.0.1 - no changes to api; only catch the exception and swallow it
fixed post 3.0
Verified in Build I-3.4.0-20110826171354 Verified when you add @XmlType to a field that no CastClassException appears in the error log. See the link to view test steps for verification. http://wiki.eclipse.org/Dali_3.0.1