From f48cffe6bf2ed04c5b25260fdf52946dea9452f8 Mon Sep 17 00:00:00 2001 From: Brian Vosburgh Date: Wed, 20 Feb 2013 16:50:11 -0500 Subject: convert JAXB to new validation messages --- .../META-INF/MANIFEST.MF | 1 - ...jpt_jaxb_eclipselink_core_validation.properties | 3 + ...ipselink_core_validation_description.properties | 54 ++++++++++ .../internal/context/ELJaxbContextRootImpl.java | 4 +- .../context/java/ELJavaElementFactoryMethod.java | 5 +- .../context/java/ELJavaXmlDiscriminatorNode.java | 7 +- .../context/java/ELJavaXmlDiscriminatorValue.java | 4 +- .../context/java/ELJavaXmlElementsMapping.java | 9 +- .../java/ELJavaXmlInverseReferenceMapping.java | 21 ++-- .../internal/context/java/ELJavaXmlJoinNode.java | 20 ++-- .../context/java/ELJavaXmlJoinNodesMapping.java | 22 ++-- .../core/internal/context/java/ELJavaXmlPath.java | 7 +- .../context/oxm/AbstractOxmTypeMapping.java | 5 +- .../core/internal/context/oxm/OxmFileImpl.java | 13 +-- .../core/internal/context/oxm/OxmJavaTypeImpl.java | 9 +- .../context/oxm/OxmXmlRootElementImpl.java | 9 +- .../core/internal/context/xpath/java/XPath.java | 53 +++++----- .../validation/ELJaxbValidationMessageBuilder.java | 115 --------------------- .../JptJaxbEclipseLinkCoreValidationMessages.java | 101 ++++++++++++------ 19 files changed, 190 insertions(+), 272 deletions(-) create mode 100644 jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation_description.properties delete mode 100644 jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java (limited to 'jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core') diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF index e809a175ca..8738b2eef8 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/META-INF/MANIFEST.MF @@ -44,7 +44,6 @@ Export-Package: org.eclipse.jpt.jaxb.eclipselink.core, org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_2;x-internal:=true, org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_3;x-internal:=true, org.eclipse.jpt.jaxb.eclipselink.core.internal.v2_4;x-internal:=true, - org.eclipse.jpt.jaxb.eclipselink.core.internal.validation;x-internal:=true, org.eclipse.jpt.jaxb.eclipselink.core.resource.java, org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm, org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.util, diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation.properties index 1a2211ecf3..6b2b497911 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation.properties +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation.properties @@ -10,6 +10,9 @@ # JptJaxbEclipseLinkCoreValidationMessages +# NB: The entries in this file must be kept in sync with their descriptions in +# jpt_jaxb_eclipselink_core_validation_description.properties. + PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY = Project is missing a jaxb.properties file specifying the EclipseLink JAXB context factory OXM_FILE__NO_PACKAGE_SPECIFIED = No package name is associated with this OXM file. diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation_description.properties b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation_description.properties new file mode 100644 index 0000000000..3864d9beef --- /dev/null +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/property_files/jpt_jaxb_eclipselink_core_validation_description.properties @@ -0,0 +1,54 @@ +################################################################################ +# Copyright (c) 2011, 2013 Oracle. All rights reserved. +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License v1.0, which accompanies this distribution +# and is available at http://www.eclipse.org/legal/epl-v10.html. +# +# Contributors: +# Oracle - initial API and implementation +################################################################################ + +# JptJaxbEclipseLinkCoreValidationMessages + +# NB: The entries in this file must be kept in sync with the validation messages in +# jpt_jaxb_eclipselink_core_validation.properties. + +PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY= + +OXM_FILE__NO_PACKAGE_SPECIFIED= +OXM_FILE__NO_SUCH_PACKAGE= + +OXM_JAVA_TYPE__NAME_NOT_SPECIFIED= +OXM_JAVA_TYPE__PACKAGE_NAME_NOT_UNIFORM= + +XML_DISCRIMINATOR_NODE__NOT_SPECIFIED= + +XML_DISCRIMINATOR_VALUE__NOT_SPECIFIED= + +XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE= + +XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED= +XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED= +XML_INVERSE_REFERENCE__MAPPED_BY_ILLEGAL_MAPPING_TYPE= + +XML_JOIN_NODE__XML_PATH_NOT_SPECIFIED= +XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_SPECIFIED= +XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_IN_REFERENCED_CLASS_KEYS= + +XML_JOIN_NODES__INVALID_REFERENCED_CLASS= +XML_JOIN_NODES__DUPLICATE_XML_PATH= +XML_JOIN_NODES__DUPLICATE_REFERENCED_XML_PATH= + +XML_PATH__NOT_SPECIFIED= + +XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS= +XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS= + +XPATH__INVALID_FORM_ILLEGAL_SEGMENT= +XPATH__ROOT_NOT_SUPPORTED= +XPATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT= +XPATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT= +XPATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT= +XPATH__INVALID_NS_PREFIX= +XPATH__UNRESOLVED_ELEMENT= +XPATH__UNRESOLVED_ATTRIBUTE= diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRootImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRootImpl.java index e075fbcda8..c7fe999720 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRootImpl.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/ELJaxbContextRootImpl.java @@ -37,7 +37,6 @@ import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaType; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmTypeMapping; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlEnum; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.oxm.OxmFileImpl; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; @@ -266,8 +265,7 @@ public class ELJaxbContextRootImpl } messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY, getJaxbProject())); } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaElementFactoryMethod.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaElementFactoryMethod.java index e39d2da689..e61513182a 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaElementFactoryMethod.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaElementFactoryMethod.java @@ -14,7 +14,6 @@ import org.eclipse.jpt.common.core.resource.java.JavaResourceMethod; import org.eclipse.jpt.jaxb.core.context.XmlRegistry; import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaElementFactoryMethod; import org.eclipse.jpt.jaxb.core.resource.java.JAXB; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -33,10 +32,8 @@ public class ELJavaElementFactoryMethod if (! resourceMethod.getTypeBinding().isSubTypeOf(JAXB.JAXB_ELEMENT)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE, - this, getValidationTextRange())); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorNode.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorNode.java index bd822412d5..f63365414a 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorNode.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorNode.java @@ -20,7 +20,6 @@ import org.eclipse.jpt.jaxb.core.xsd.XsdTypeDefinition; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlDiscriminatorNode; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPath; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPathFactory; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlDiscriminatorNodeAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -116,8 +115,7 @@ public class ELJavaXmlDiscriminatorNode if (StringTools.isBlank(this.value)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_DISCRIMINATOR_NODE__NOT_SPECIFIED, ELJavaXmlDiscriminatorNode.this, getValueTextRange())); @@ -126,8 +124,7 @@ public class ELJavaXmlDiscriminatorNode if (this.value.startsWith(XPath.DELIM)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__ROOT_NOT_SUPPORTED, ELJavaXmlDiscriminatorNode.this, getValueTextRange())); diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorValue.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorValue.java index 926c113a0c..c0ed0a545d 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorValue.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlDiscriminatorValue.java @@ -14,7 +14,6 @@ import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.common.utility.internal.StringTools; import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaContextNode; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlDiscriminatorValue; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlDiscriminatorValueAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -91,8 +90,7 @@ public class ELJavaXmlDiscriminatorValue if (StringTools.isBlank(this.value)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_DISCRIMINATOR_VALUE__NOT_SPECIFIED, ELJavaXmlDiscriminatorValue.this, getValueTextRange())); diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java index b9f27863f5..906aed1a74 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlElementsMapping.java @@ -30,7 +30,6 @@ import org.eclipse.jpt.jaxb.core.resource.java.XmlElementAnnotation; import org.eclipse.jpt.jaxb.core.resource.java.XmlElementWrapperAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementsMapping; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; @@ -162,20 +161,16 @@ public class ELJavaXmlElementsMapping if (xmlElements.hasNext()) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS, - this, getXmlPathsTextRange())); } while (xmlPaths.hasNext()) { ELJavaXmlPath xmlPath = xmlPaths.next(); messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS, - this, xmlPath.getValidationTextRange())); } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java index cdfc07e5ce..75b6f609b8 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlInverseReferenceMapping.java @@ -21,7 +21,6 @@ import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute; import org.eclipse.jpt.jaxb.core.internal.context.java.AbstractJavaAttributeMapping; import org.eclipse.jpt.jaxb.eclipselink.core.ELJaxbMappingKeys; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlInverseReferenceMapping; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlInverseReferenceAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; @@ -165,10 +164,8 @@ public class ELJavaXmlInverseReferenceMapping protected void validateMappedBy(List messages, IReporter reporter) { if (StringTools.isBlank(mappedBy)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED, - this, getMappedByTextRange())); return; } @@ -182,24 +179,20 @@ public class ELJavaXmlInverseReferenceMapping JaxbPersistentAttribute referencedAttribute = getReferencedAttribute(); if (referencedAttribute == null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED, - new String[] { mappedBy, referencedClassMapping.getTypeName().getFullyQualifiedName() }, - this, - getMappedByTextRange())); + getMappedByTextRange(), + mappedBy, referencedClassMapping.getTypeName().getFullyQualifiedName())); } else if ( ! ArrayTools.contains( getValidReferencedAttributeMappingKeys(), referencedAttribute.getMappingKey())) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_INVERSE_REFERENCE__MAPPED_BY_ILLEGAL_MAPPING_TYPE, - new String[] { mappedBy, referencedClassMapping.getTypeName().getFullyQualifiedName() }, - this, - getMappedByTextRange())); + getMappedByTextRange(), + mappedBy, referencedClassMapping.getTypeName().getFullyQualifiedName())); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNode.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNode.java index 425b6737f7..b65fb11170 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNode.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNode.java @@ -27,7 +27,6 @@ import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlJoinNode; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlJoinNodesMapping; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPath; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPathFactory; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlJoinNodeAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -185,8 +184,7 @@ public class ELJavaXmlJoinNode protected void validateXmlPath(List messages) { if (StringTools.isBlank(this.xmlPath)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODE__XML_PATH_NOT_SPECIFIED, ELJavaXmlJoinNode.this, getXmlPathTextRange())); @@ -195,8 +193,7 @@ public class ELJavaXmlJoinNode if (this.xmlPath.startsWith(XPath.DELIM)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__ROOT_NOT_SUPPORTED, ELJavaXmlJoinNode.this, getXmlPathTextRange())); @@ -211,8 +208,7 @@ public class ELJavaXmlJoinNode protected void validateReferencedXmlPath(List messages) { if (StringTools.isBlank(this.referencedXmlPath)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_SPECIFIED, ELJavaXmlJoinNode.this, getReferencedXmlPathTextRange())); @@ -221,8 +217,7 @@ public class ELJavaXmlJoinNode if (this.referencedXmlPath.startsWith(XPath.DELIM)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__ROOT_NOT_SUPPORTED, ELJavaXmlJoinNode.this, getReferencedXmlPathTextRange())); @@ -233,12 +228,11 @@ public class ELJavaXmlJoinNode if (referencedClassMapping != null && ! IterableTools.contains(referencedClassMapping.getKeyXPaths(), this.referencedXmlPath)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_IN_REFERENCED_CLASS_KEYS, - new String[] { referencedClassMapping.getJavaType().getTypeName().getFullyQualifiedName(), this.referencedXmlPath }, ELJavaXmlJoinNode.this, - getReferencedXmlPathTextRange())); + getReferencedXmlPathTextRange(), + referencedClassMapping.getJavaType().getTypeName().getFullyQualifiedName(), this.referencedXmlPath)); } XsdTypeDefinition xsdType = getAttributeMapping().getReferencedXsdTypeDefinition(); diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNodesMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNodesMapping.java index f3b9356f71..3b6c7b37a8 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNodesMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlJoinNodesMapping.java @@ -30,7 +30,6 @@ import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELClassMapping; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlElementsMapping; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlJoinNode; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlJoinNodesMapping; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.ELJaxb; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlJoinNodeAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; @@ -179,12 +178,11 @@ public class ELJavaXmlJoinNodesMapping if (referencedClass == null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODES__INVALID_REFERENCED_CLASS, - new String[] { getValueTypeName() }, ELJavaXmlJoinNodesMapping.this, - getValidationTextRange())); + getValidationTextRange(), + getValueTypeName())); } validateDuplicateXmlPaths(messages, reporter); @@ -220,12 +218,11 @@ public class ELJavaXmlJoinNodesMapping String xmlPath = joinNode.getXmlPath(); if (xmlPaths.count(xmlPath) > 1) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODES__DUPLICATE_XML_PATH, - new String[] { xmlPath }, joinNode, - joinNode.getXmlPathTextRange())); + joinNode.getXmlPathTextRange(), + xmlPath)); } } @@ -234,12 +231,11 @@ public class ELJavaXmlJoinNodesMapping String referencedXmlPath = joinNode.getReferencedXmlPath(); if (referencedXmlPaths.count(referencedXmlPath) > 1) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_JOIN_NODES__DUPLICATE_REFERENCED_XML_PATH, - new String[] { referencedXmlPath }, joinNode, - joinNode.getReferencedXmlPathTextRange())); + joinNode.getReferencedXmlPathTextRange(), + referencedXmlPath)); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java index 08aad6dbd6..2b03fa9f46 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/java/ELJavaXmlPath.java @@ -23,7 +23,6 @@ import org.eclipse.jpt.jaxb.core.xsd.XsdTypeDefinition; import org.eclipse.jpt.jaxb.eclipselink.core.context.java.ELXmlPath; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPath; import org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java.XPathFactory; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.java.XmlPathAnnotation; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -126,8 +125,7 @@ public class ELJavaXmlPath if (StringTools.isBlank(this.value)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XML_PATH__NOT_SPECIFIED, ELJavaXmlPath.this, getValueTextRange())); @@ -136,8 +134,7 @@ public class ELJavaXmlPath if (this.value.startsWith(XPath.DELIM)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__ROOT_NOT_SUPPORTED, ELJavaXmlPath.this, getValueTextRange())); diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/AbstractOxmTypeMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/AbstractOxmTypeMapping.java index b07b91722d..13c4993367 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/AbstractOxmTypeMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/AbstractOxmTypeMapping.java @@ -30,7 +30,6 @@ import org.eclipse.jpt.jaxb.core.context.XmlSeeAlso; import org.eclipse.jpt.jaxb.core.context.java.JavaType; import org.eclipse.jpt.jaxb.core.context.java.JavaTypeMapping; import org.eclipse.jpt.jaxb.core.internal.context.AbstractJaxbContextNode; -import org.eclipse.jpt.jaxb.core.internal.validation.DefaultValidationMessages; import org.eclipse.jpt.jaxb.core.validation.JptJaxbCoreValidationMessages; import org.eclipse.jpt.jaxb.core.xsd.XsdElementDeclaration; import org.eclipse.jpt.jaxb.core.xsd.XsdSchema; @@ -605,10 +604,8 @@ public abstract class AbstractOxmTypeMapping this.getNamespace(), this.buildDefaultNamespace())) { messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbCoreValidationMessages.XML_TYPE__UNMATCHING_NAMESPACE_FOR_ANONYMOUS_TYPE, - this, this.proxy.getNamespaceTextRange())); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmFileImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmFileImpl.java index 00143123af..6f45e6f4b4 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmFileImpl.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmFileImpl.java @@ -20,7 +20,6 @@ import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbContextRoot; import org.eclipse.jpt.jaxb.eclipselink.core.context.ELJaxbPackage; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmFile; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlBindings; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -163,20 +162,16 @@ public class OxmFileImpl if (getJaxbPackage() == null) { if (StringTools.isBlank(getPackageName())) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.OXM_FILE__NO_PACKAGE_SPECIFIED, - this, getPackageNameTextRange())); } else { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.OXM_FILE__NO_SUCH_PACKAGE, - new String[] { getPackageName() }, - this, - getPackageNameTextRange())); + getPackageNameTextRange(), + getPackageName())); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java index 1820e702f5..50d5988694 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmJavaTypeImpl.java @@ -36,7 +36,6 @@ import org.eclipse.jpt.jaxb.core.internal.context.java.GenericJavaJaxbClass; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaAttribute; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmJavaType; import org.eclipse.jpt.jaxb.eclipselink.core.context.oxm.OxmXmlBindings; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaAttribute; import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EJavaType; import org.eclipse.jpt.jaxb.eclipselink.core.resource.oxm.EXmlElement; @@ -622,10 +621,8 @@ public class OxmJavaTypeImpl // type name must be specified if (StringTools.isBlank(this.specifiedName)) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.OXM_JAVA_TYPE__NAME_NOT_SPECIFIED, - this, getNameTextRange())); return; } @@ -634,10 +631,8 @@ public class OxmJavaTypeImpl String packageName = TypeDeclarationTools.packageName(this.specifiedName); if (! StringTools.isBlank(packageName) && ! ObjectTools.equals(packageName, getXmlBindings().getPackageName())) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.OXM_JAVA_TYPE__PACKAGE_NAME_NOT_UNIFORM, - this, getNameTextRange())); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlRootElementImpl.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlRootElementImpl.java index 2fb032ba89..f7272bf2fb 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlRootElementImpl.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/oxm/OxmXmlRootElementImpl.java @@ -22,7 +22,6 @@ import org.eclipse.jpt.jaxb.core.context.JaxbQName; import org.eclipse.jpt.jaxb.core.context.java.JavaType; import org.eclipse.jpt.jaxb.core.context.java.JavaTypeMapping; import org.eclipse.jpt.jaxb.core.internal.context.AbstractJaxbContextNode; -import org.eclipse.jpt.jaxb.core.internal.validation.DefaultValidationMessages; import org.eclipse.jpt.jaxb.core.validation.JptJaxbCoreValidationMessages; import org.eclipse.jpt.jaxb.core.xsd.XsdElementDeclaration; import org.eclipse.jpt.jaxb.core.xsd.XsdSchema; @@ -161,12 +160,10 @@ public class OxmXmlRootElementImpl if (schemaType != null) { if (! schemaType.equals(schemaElement.getType())) { messages.add( - DefaultValidationMessages.buildMessage( - IMessage.HIGH_SEVERITY, + this.buildErrorValidationMessage( JptJaxbCoreValidationMessages.XML_ROOT_ELEMENT_TYPE_CONFLICTS_WITH_XML_TYPE, - new String[] {name, namespace}, - this, - getValidationTextRange())); + getValidationTextRange(), + name, namespace)); } } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/xpath/java/XPath.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/xpath/java/XPath.java index db0f14f5fb..b59a0a6efa 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/xpath/java/XPath.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/context/xpath/java/XPath.java @@ -12,6 +12,7 @@ package org.eclipse.jpt.jaxb.eclipselink.core.internal.context.xpath.java; import java.util.List; import java.util.Vector; import org.eclipse.jpt.common.core.internal.utility.SimpleTextRange; +import org.eclipse.jpt.common.core.internal.utility.ValidationMessageTools; import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.common.utility.internal.ArrayTools; import org.eclipse.jpt.common.utility.internal.StringTools; @@ -29,7 +30,6 @@ import org.eclipse.jpt.jaxb.core.context.XmlSchema; import org.eclipse.jpt.jaxb.core.xsd.XsdAttributeUse; import org.eclipse.jpt.jaxb.core.xsd.XsdElementDeclaration; import org.eclipse.jpt.jaxb.core.xsd.XsdTypeDefinition; -import org.eclipse.jpt.jaxb.eclipselink.core.internal.validation.ELJaxbValidationMessageBuilder; import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -236,10 +236,9 @@ public class XPath { if (getNextStep() != null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT, - context.getContextObject(), + context.getContextObject().getResource(), getTextRange(context))); return; } @@ -254,12 +253,11 @@ public class XPath { XsdAttributeUse xsdAttribute= previousType.getAttribute(namespace, this.localName); if (xsdAttribute == null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__UNRESOLVED_ATTRIBUTE, - new String[] { namespace, this.localName }, - context.getContextObject(), - getTextRange(context))); + context.getContextObject().getResource(), + getTextRange(context), + namespace, this.localName)); return null; } else { @@ -304,12 +302,11 @@ public class XPath { XsdElementDeclaration xsdElement = previousType.getElement(namespace, this.localName); if (xsdElement == null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__UNRESOLVED_ELEMENT, - new String[] { namespace, this.localName }, - context.getContextObject(), - getTextRange(context))); + context.getContextObject().getResource(), + getTextRange(context), + namespace, this.localName)); return null; } else { @@ -351,12 +348,11 @@ public class XPath { protected void validate( Context context, XsdTypeDefinition previousType, List messages) { - messages. add(ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + messages. add(ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__INVALID_FORM_ILLEGAL_SEGMENT, - new String[] { getValue() }, - context.getContextObject(), - getTextRange(context))); + context.getContextObject().getResource(), + getTextRange(context), + getValue())); return; } } @@ -414,12 +410,11 @@ public class XPath { if (namespace == null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__INVALID_NS_PREFIX, - new String[] { this.nsPrefix }, - context.getContextObject(), - getTextRange(context))); + context.getContextObject().getResource(), + getTextRange(context), + this.nsPrefix)); } XsdTypeDefinition nextType = (previousType == null) ? null : validateLocalName(context, previousType, namespace, messages); @@ -463,10 +458,9 @@ public class XPath { if (getIndex() != 0) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT, - context.getContextObject(), + context.getContextObject().getResource(), getTextRange(context))); return; } @@ -579,10 +573,9 @@ public class XPath { if (getNextStep() != null) { messages.add( - ELJaxbValidationMessageBuilder.buildMessage( - IMessage.HIGH_SEVERITY, + ValidationMessageTools.buildErrorValidationMessage( JptJaxbEclipseLinkCoreValidationMessages.XPATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT, - context.getContextObject(), + context.getContextObject().getResource(), getTextRange(context))); } } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java deleted file mode 100644 index 3606ad2f6c..0000000000 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/internal/validation/ELJaxbValidationMessageBuilder.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2013 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.jaxb.eclipselink.core.internal.validation; - -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; -import org.eclipse.core.resources.IResource; -import org.eclipse.jpt.common.core.utility.TextRange; -import org.eclipse.jpt.common.utility.internal.ObjectTools; -import org.eclipse.jpt.jaxb.core.JaxbNode; -import org.eclipse.jpt.jaxb.core.internal.validation.DefaultValidationMessages; -import org.eclipse.wst.validation.internal.core.Message; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.jpt.jaxb.core.internal.validation.JaxbValidator; -import org.eclipse.jpt.jaxb.eclipselink.core.validation.JptJaxbEclipseLinkCoreValidationMessages; - -public class ELJaxbValidationMessageBuilder { - - private static String[] DEFAULT_PARMS = new String[0]; - private static TextRange DEFAULT_TEXT_RANGE = TextRange.Empty.instance(); - - public static IMessage buildMessage(int defaultSeverity, String messageId, JaxbNode targetObject) { - return buildMessage(defaultSeverity, messageId, targetObject.getResource()); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, IResource targetObject) { - return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, JaxbNode targetObject) { - return buildMessage(defaultSeverity, messageId, parms, targetObject.getResource()); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, IResource targetObject) { - return buildMessage(defaultSeverity, messageId, parms, targetObject, DEFAULT_TEXT_RANGE); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, JaxbNode targetObject, TextRange textRange) { - return buildMessage(defaultSeverity, messageId, targetObject.getResource(), textRange); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, IResource targetObject, TextRange textRange) { - return buildMessage(defaultSeverity, messageId, DEFAULT_PARMS, targetObject, textRange); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, JaxbNode targetObject, TextRange textRange) { - return buildMessage(defaultSeverity, messageId, parms, targetObject.getResource(), textRange); - } - - public static IMessage buildMessage(int defaultSeverity, String messageId, String[] parms, IResource targetObject, TextRange textRange) { - return DefaultValidationMessages.buildMessage(defaultSeverity, messageId, parms, targetObject, textRange, MESSAGE_FACTORY); - } - - - private ELJaxbValidationMessageBuilder() { - super(); - throw new UnsupportedOperationException(); - } - - - private static final DefaultValidationMessages.MessageFactory MESSAGE_FACTORY = new EclipseLinkMessageFactory(); - - /* CU private */ static class EclipseLinkMessageFactory - implements DefaultValidationMessages.MessageFactory - { - public IMessage buildMessage(int severity, String messageId, String[] parms, IResource targetObject) { - // TODO check for preference override -// int prefSeverity = JpaValidationPreferences.getProblemSeverityPreference(targetObject, messageId); -// if (prefSeverity != JpaValidationPreferences.NO_SEVERITY_PREFERENCE){ -// severity = prefSeverity; -// } - IMessage message = new EclipseLinkMessage(JptJaxbEclipseLinkCoreValidationMessages.BUNDLE_NAME, severity, messageId, parms, targetObject); - // TODO "Oxm JAXB" validation marker? - message.setMarkerId(JaxbValidator.MARKER_ID); - return message; - } - @Override - public String toString() { - return ObjectTools.toString(this); - } - } - - /** - * We have to build this message so {@link Message} uses the right class - * loader to retrieve the message bundles. - *

- * Another way we could potentially solve this is to have a separate - * EclispeLink JPA validator and set up the extension points so that - * it only runs against JPA projects with the EclispeLink platform.... - */ - /* CU private */ static class EclipseLinkMessage - extends Message - { - EclipseLinkMessage(String bundleName, int severity, String id, String[] params, Object target) { - super(bundleName, severity, id, params, target); - } - - @Override - public ResourceBundle getBundle(Locale locale, ClassLoader classLoader) { - try { - return super.getBundle(locale, this.getClass().getClassLoader()); - } catch (MissingResourceException ex) { - return super.getBundle(locale, classLoader); - } - } - } -} diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/validation/JptJaxbEclipseLinkCoreValidationMessages.java b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/validation/JptJaxbEclipseLinkCoreValidationMessages.java index 2e202e9635..dfb7d01cf8 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/validation/JptJaxbEclipseLinkCoreValidationMessages.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core/src/org/eclipse/jpt/jaxb/eclipselink/core/validation/JptJaxbEclipseLinkCoreValidationMessages.java @@ -9,62 +9,97 @@ ******************************************************************************/ package org.eclipse.jpt.jaxb.eclipselink.core.validation; -@SuppressWarnings("nls") -public interface JptJaxbEclipseLinkCoreValidationMessages { - - // bundle name - String BUNDLE_NAME = "jpt_jaxb_eclipselink_core_validation"; +import org.eclipse.core.resources.IProject; +import org.eclipse.jpt.common.core.internal.utility.ValidationMessageLoader; +import org.eclipse.jpt.common.core.utility.ValidationMessage; +import org.eclipse.jpt.common.utility.internal.ObjectTools; +import org.eclipse.jpt.jaxb.core.JaxbProject; + +/** + * Localized validation messages used by Dali EclipseLink JAXB core. + * + * NB: These are not loaded like "normal" message + * (i.e. like messages loaded by {@link org.eclipse.osgi.util.NLS}); + * instead they are loaded as {@link ValidationMessage}s. + * @see ValidationMessageLoader + */ +public class JptJaxbEclipseLinkCoreValidationMessages { + + private static final ValidationMessageLoader.PreferencesAdapter PREFERENCES_ADAPTER = new PreferencesAdapter(); + private static class PreferencesAdapter + implements ValidationMessageLoader.PreferencesAdapter + { + PreferencesAdapter() { + super(); + } + // TODO + public int getSeverity(IProject project, String messageID, int defaultSeverity) { + return defaultSeverity; + // return JaxbEclipseLinkPreferences.getValidationMessageSeverity(project, messageID, defaultSeverity); + } + @Override + public String toString() { + return ObjectTools.toString(this); + } + } + + private static final String MESSAGE_BUNDLE_NAME = "jpt_jaxb_eclipselink_core_validation"; //$NON-NLS-1$ + private static final String DESCRIPTION_BUNDLE_NAME = "jpt_jaxb_eclipselink_core_validation_description"; //$NON-NLS-1$ + private static final Class BUNDLE_CLASS = JptJaxbEclipseLinkCoreValidationMessages.class; + static { + ValidationMessageLoader.load(BUNDLE_CLASS, MESSAGE_BUNDLE_NAME, DESCRIPTION_BUNDLE_NAME, JaxbProject.MARKER_TYPE, PREFERENCES_ADAPTER); + } // validation on project - String PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY = "PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY"; + public static ValidationMessage PROJECT_MISSING_ECLIPSELINK_JAXB_CONTEXT_FACTORY; // oxm file - String OXM_FILE__NO_PACKAGE_SPECIFIED = "OXM_FILE__NO_PACKAGE_SPECIFIED"; - String OXM_FILE__NO_SUCH_PACKAGE = "OXM_FILE__NO_SUCH_PACKAGE"; + public static ValidationMessage OXM_FILE__NO_PACKAGE_SPECIFIED; + public static ValidationMessage OXM_FILE__NO_SUCH_PACKAGE; // oxm java type - String OXM_JAVA_TYPE__NAME_NOT_SPECIFIED = "OXM_JAVA_TYPE__NAME_NOT_SPECIFIED"; - String OXM_JAVA_TYPE__PACKAGE_NAME_NOT_UNIFORM = "OXM_JAVA_TYPE__PACKAGE_NAME_NOT_UNIFORM"; + public static ValidationMessage OXM_JAVA_TYPE__NAME_NOT_SPECIFIED; + public static ValidationMessage OXM_JAVA_TYPE__PACKAGE_NAME_NOT_UNIFORM; // xml discriminator node - String XML_DISCRIMINATOR_NODE__NOT_SPECIFIED = "XML_DISCRIMINATOR_NODE__NOT_SPECIFIED"; + public static ValidationMessage XML_DISCRIMINATOR_NODE__NOT_SPECIFIED; // xml discriminator value - String XML_DISCRIMINATOR_VALUE__NOT_SPECIFIED = "XML_DISCRIMINATOR_VALUE__NOT_SPECIFIED"; + public static ValidationMessage XML_DISCRIMINATOR_VALUE__NOT_SPECIFIED; // xml element decl - String XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE = "XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE"; + public static ValidationMessage XML_ELEMENT_DECL__INVALID_METHOD_SIGNATURE_RETURN_TYPE; // xml inverse reference - String XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED = "XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED"; - String XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED = "XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED"; - String XML_INVERSE_REFERENCE__MAPPED_BY_ILLEGAL_MAPPING_TYPE = "XML_INVERSE_REFERENCE__MAPPED_BY_ILLEGAL_MAPPING_TYPE"; + public static ValidationMessage XML_INVERSE_REFERENCE__MAPPED_BY_NOT_SPECIFIED; + public static ValidationMessage XML_INVERSE_REFERENCE__MAPPED_BY_NOT_RESOLVED; + public static ValidationMessage XML_INVERSE_REFERENCE__MAPPED_BY_ILLEGAL_MAPPING_TYPE; // xml join node - String XML_JOIN_NODE__XML_PATH_NOT_SPECIFIED = "XML_JOIN_NODE__XML_PATH_NOT_SPECIFIED"; - String XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_SPECIFIED = "XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_SPECIFIED"; - String XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_IN_REFERENCED_CLASS_KEYS = "XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_IN_REFERENCED_CLASS_KEYS"; + public static ValidationMessage XML_JOIN_NODE__XML_PATH_NOT_SPECIFIED; + public static ValidationMessage XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_SPECIFIED; + public static ValidationMessage XML_JOIN_NODE__REFERENCED_XML_PATH_NOT_IN_REFERENCED_CLASS_KEYS; // xml join nodes - String XML_JOIN_NODES__INVALID_REFERENCED_CLASS = "XML_JOIN_NODES__INVALID_REFERENCED_CLASS"; - String XML_JOIN_NODES__DUPLICATE_XML_PATH = "XML_JOIN_NODES__DUPLICATE_XML_PATH"; - String XML_JOIN_NODES__DUPLICATE_REFERENCED_XML_PATH = "XML_JOIN_NODES__DUPLICATE_REFERENCED_XML_PATH"; + public static ValidationMessage XML_JOIN_NODES__INVALID_REFERENCED_CLASS; + public static ValidationMessage XML_JOIN_NODES__DUPLICATE_XML_PATH; + public static ValidationMessage XML_JOIN_NODES__DUPLICATE_REFERENCED_XML_PATH; // xml path - String XML_PATH__NOT_SPECIFIED = "XML_PATH__NOT_SPECIFIED"; + public static ValidationMessage XML_PATH__NOT_SPECIFIED; // used on XmlElements mapping - String XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS = "XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS"; - String XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS = "XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS"; + public static ValidationMessage XML_PATH__INSUFFICIENT_XML_PATHS_FOR_XML_ELEMENTS; + public static ValidationMessage XML_PATH__INSUFFICIENT_XML_ELEMENTS_FOR_XML_PATHS; // for all XPath usage - String XPATH__INVALID_FORM_ILLEGAL_SEGMENT = "XPATH__INVALID_FORM_ILLEGAL_SEGMENT"; - String XPATH__ROOT_NOT_SUPPORTED = "XPATH__ROOT_NOT_SUPPORTED"; - String XPATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT = "XPATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT"; - String XPATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT = "XPATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT"; - String XPATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT = "XPATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT"; - String XPATH__INVALID_NS_PREFIX = "XPATH__INVALID_NS_PREFIX"; - String XPATH__UNRESOLVED_ELEMENT = "XPATH__UNRESOLVED_ELEMENT"; - String XPATH__UNRESOLVED_ATTRIBUTE = "XPATH__UNRESOLVED_ATTRIBUTE"; + public static ValidationMessage XPATH__INVALID_FORM_ILLEGAL_SEGMENT; + public static ValidationMessage XPATH__ROOT_NOT_SUPPORTED; + public static ValidationMessage XPATH__SELF_SEGMENT_MUST_BE_FIRST_SEGMENT; + public static ValidationMessage XPATH__TEXT_SEGMENT_MUST_BE_LAST_SEGMENT; + public static ValidationMessage XPATH__ATTRIBUTE_SEGMENT_MUST_BE_LAST_SEGMENT; + public static ValidationMessage XPATH__INVALID_NS_PREFIX; + public static ValidationMessage XPATH__UNRESOLVED_ELEMENT; + public static ValidationMessage XPATH__UNRESOLVED_ATTRIBUTE; } -- cgit v1.2.3