diff options
author | pfullbright | 2012-01-17 21:12:53 +0000 |
---|---|---|
committer | pfullbright | 2012-01-17 21:12:53 +0000 |
commit | 748b536d80d33d72c385a788e2551cf37f4b60de (patch) | |
tree | 069a5837668576d0309e1f471fd9ebcac837a92c /jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal | |
parent | ab60e0478eccfcaec07a0c002efcd553f362bdf4 (diff) | |
download | webtools.dali-748b536d80d33d72c385a788e2551cf37f4b60de.tar.gz webtools.dali-748b536d80d33d72c385a788e2551cf37f4b60de.tar.xz webtools.dali-748b536d80d33d72c385a788e2551cf37f4b60de.zip |
validation for XmlPath w/ XmlElements
Diffstat (limited to 'jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal')
-rw-r--r-- | jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java index 3fb0f0d07c..1ea540a818 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java @@ -336,7 +336,7 @@ public class GenericJavaXmlElementsMapping protected void validateDuplicateTypesAndQNames(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { Bag<String> xmlElementTypes = new HashBag<String>(); - Bag<QName> xmlElementQnames = new HashBag<QName>(); + Bag<QName> xmlElementQNames = new HashBag<QName>(); for (XmlElement xmlElement : getXmlElements()) { String typeName = xmlElement.getFullyQualifiedType(); @@ -345,37 +345,45 @@ public class GenericJavaXmlElementsMapping } String elementName = xmlElement.getQName().getName(); if (! StringTools.stringIsEmpty(elementName)) { - xmlElementQnames.add(new QName(xmlElement.getQName().getNamespace(), elementName)); + xmlElementQNames.add(new QName(xmlElement.getQName().getNamespace(), elementName)); } } for (XmlElement xmlElement : getXmlElements()) { - String xmlElementType = xmlElement.getFullyQualifiedType(); - if (xmlElementTypes.count(xmlElementType) > 1) { - messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JaxbValidationMessages.XML_ELEMENTS__DUPLICATE_XML_ELEMENT_TYPE, - new String[] { xmlElementType }, - xmlElement, - xmlElement.getTypeTextRange(astRoot))); - } - - String xmlElementNamespace = xmlElement.getQName().getNamespace(); - String xmlElementName = xmlElement.getQName().getName(); - if (xmlElementQnames.count(new QName(xmlElementNamespace, xmlElementName)) > 1) { - messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, - JaxbValidationMessages.XML_ELEMENTS__DUPLICATE_XML_ELEMENT_QNAME, - new String[] { xmlElementName }, - xmlElement, - xmlElement.getQName().getNameTextRange(astRoot))); - } - } + validateDuplicateType(xmlElement, xmlElementTypes, messages, astRoot); + validateDuplicateQName(xmlElement, xmlElementQNames, messages, astRoot); + } + } + + protected void validateDuplicateType(XmlElement xmlElement, Bag<String> xmlElementTypes, + List<IMessage> messages, CompilationUnit astRoot) { + String xmlElementType = xmlElement.getFullyQualifiedType(); + if (xmlElementTypes.count(xmlElementType) > 1) { + messages.add( + DefaultValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JaxbValidationMessages.XML_ELEMENTS__DUPLICATE_XML_ELEMENT_TYPE, + new String[] { xmlElementType }, + xmlElement, + xmlElement.getTypeTextRange(astRoot))); + } + } + + protected void validateDuplicateQName(XmlElement xmlElement, Bag<QName> xmlElementQNames, + List<IMessage> messages, CompilationUnit astRoot) { + String xmlElementNamespace = xmlElement.getQName().getNamespace(); + String xmlElementName = xmlElement.getQName().getName(); + if (xmlElementQNames.count(new QName(xmlElementNamespace, xmlElementName)) > 1) { + messages.add( + DefaultValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + JaxbValidationMessages.XML_ELEMENTS__DUPLICATE_XML_ELEMENT_QNAME, + new String[] { xmlElementName }, + xmlElement, + xmlElement.getQName().getNameTextRange(astRoot))); + } } - protected class XmlElementContainer extends ContextListContainer<XmlElement, XmlElementAnnotation> { |