diff options
author | pfullbright | 2012-04-13 18:51:15 +0000 |
---|---|---|
committer | pfullbright | 2012-04-13 18:51:15 +0000 |
commit | f6578799562f59b9a28a6e5c74542d2110d88e97 (patch) | |
tree | f14c4c319d77033a924d6deb1f19073134afdc05 | |
parent | 9b9be28ee805ed501bc9e585d685952480af9c76 (diff) | |
download | webtools.dali-f6578799562f59b9a28a6e5c74542d2110d88e97.tar.gz webtools.dali-f6578799562f59b9a28a6e5c74542d2110d88e97.tar.xz webtools.dali-f6578799562f59b9a28a6e5c74542d2110d88e97.zip |
bug 376737 - fixed ArrayIndexOutOfBoundsException for XmlPath annotation
5 files changed, 20 insertions, 6 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java index ad0ddd796d..dc5fc5de21 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyAttributeMapping.java @@ -104,7 +104,10 @@ public class ELJavaXmlAnyAttributeMapping } protected XmlPathAnnotation getXmlPathAnnotation() { - return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + if (getJavaResourceAttribute().getAnnotationsSize(ELJaxb.XML_PATH) > 0) { + return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + } + return null; } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java index 8ae546f227..ee8b129d95 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAnyElementMapping.java @@ -111,7 +111,10 @@ public class ELJavaXmlAnyElementMapping } protected XmlPathAnnotation getXmlPathAnnotation() { - return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + if (getJavaResourceAttribute().getAnnotationsSize(ELJaxb.XML_PATH) > 0) { + return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + } + return null; } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java index 7905468307..441844448c 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMapping.java @@ -120,7 +120,10 @@ public class ELJavaXmlAttributeMapping } protected XmlPathAnnotation getXmlPathAnnotation() { - return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + if (getJavaResourceAttribute().getAnnotationsSize(ELJaxb.XML_PATH) > 0) { + return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + } + return null; } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java index 957ce246ae..6d775a9a16 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlAttributeMappingDefinition.java @@ -58,8 +58,10 @@ public class ELJavaXmlAttributeMappingDefinition public boolean isDefault(JaxbPersistentAttribute persistentAttribute) { // test whether annotated with @XmlPath, and if so, if last segment starts with "@" // (presence of "@" elsewhere may be a node select clause) - XmlPathAnnotation xmlPathAnnotation = - (XmlPathAnnotation) persistentAttribute.getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + XmlPathAnnotation xmlPathAnnotation = null; + if (persistentAttribute.getJavaResourceAttribute().getAnnotationsSize(ELJaxb.XML_PATH) > 0) { + xmlPathAnnotation = (XmlPathAnnotation) persistentAttribute.getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + } if (xmlPathAnnotation == null) { return false; } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java index 7cd13a2051..3567470085 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementMapping.java @@ -129,7 +129,10 @@ public class ELJavaXmlElementMapping } protected XmlPathAnnotation getXmlPathAnnotation() { - return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + if (getJavaResourceAttribute().getAnnotationsSize(ELJaxb.XML_PATH) > 0) { + return (XmlPathAnnotation) getJavaResourceAttribute().getAnnotation(0, ELJaxb.XML_PATH); + } + return null; } |