[256003] Account for reserved converters in converter validation. Patch from Nan.
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java
index 3a037df..42ee878 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/JavaEclipseLinkConvert.java
@@ -32,6 +32,7 @@
import org.eclipse.jpt.utility.internal.SimpleAssociation;
import org.eclipse.jpt.utility.internal.StringTools;
import org.eclipse.jpt.utility.internal.iterables.ArrayIterable;
+import org.eclipse.jpt.utility.internal.iterators.ArrayIterator;
import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -306,6 +307,12 @@
}
}
+ for (Iterator<String> names = this.reservedNames(); names.hasNext();){
+ if (converter.equals(names.next())) {
+ return;
+ }
+ }
+
messages.add(
DefaultEclipseLinkJpaValidationMessages.buildMessage(
IMessage.HIGH_SEVERITY,
@@ -317,6 +324,10 @@
);
}
+ public Iterator<String> reservedNames() {
+ return new ArrayIterator<String>(EclipseLinkConvert.RESERVED_CONVERTER_NAMES);
+ }
+
public TextRange getValidationTextRange(CompilationUnit astRoot) {
return this.convertAnnotation.getTextRange(astRoot);
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
index 0c85bc7..48ebfe1 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/OrmEclipseLinkConvert.java
@@ -13,8 +13,6 @@
import java.util.List;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IType;
-import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
-import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.jpt.core.context.Converter;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmConverter;
@@ -31,6 +29,9 @@
import org.eclipse.jpt.utility.internal.Association;
import org.eclipse.jpt.utility.internal.SimpleAssociation;
import org.eclipse.jpt.utility.internal.iterables.ArrayIterable;
+import org.eclipse.jpt.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.utility.internal.iterators.ArrayIterator;
+import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -284,6 +285,12 @@
}
}
+ for (Iterator<String> names = this.reservedNames(); names.hasNext();){
+ if (converter.equals(names.next())) {
+ return;
+ }
+ }
+
messages.add(
DefaultEclipseLinkJpaValidationMessages.buildMessage(
IMessage.HIGH_SEVERITY,
@@ -295,6 +302,10 @@
);
}
+ public Iterator<String> reservedNames() {
+ return new ArrayIterator<String>(EclipseLinkConvert.RESERVED_CONVERTER_NAMES);
+ }
+
public TextRange getValidationTextRange() {
return this.getXmlConvertibleMapping().getConvertTextRange();
}