Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2009-04-27 20:12:47 +0000
committerkmoore2009-04-27 20:12:47 +0000
commitcd80271fb282884387765566a301ad7dbe9ef3ec (patch)
tree2f5c4e9e31859e2228f428843dd7675db0bb7704
parentc7cbc6a437694cb11aaa7037cda9148b5058b842 (diff)
downloadwebtools.dali-cd80271fb282884387765566a301ad7dbe9ef3ec.tar.gz
webtools.dali-cd80271fb282884387765566a301ad7dbe9ef3ec.tar.xz
webtools.dali-cd80271fb282884387765566a301ad7dbe9ef3ec.zip
252899 - added code assist for Convert value to Id and Version mappings
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaBasicMappingImpl.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaConvert.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaIdMappingImpl.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaVersionMappingImpl.java18
4 files changed, 89 insertions, 36 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaBasicMappingImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaBasicMappingImpl.java
index b44d3851f1..47a6b5b78e 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaBasicMappingImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaBasicMappingImpl.java
@@ -18,13 +18,8 @@ import org.eclipse.jpt.core.internal.context.java.AbstractJavaBasicMapping;
import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkBasicMapping;
import org.eclipse.jpt.eclipselink.core.context.Mutable;
-import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit;
import org.eclipse.jpt.eclipselink.core.resource.java.ConvertAnnotation;
import org.eclipse.jpt.utility.Filter;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.StringTools;
-import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
-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;
@@ -90,44 +85,15 @@ public class EclipseLinkJavaBasicMappingImpl
if (result != null) {
return result;
}
- if (this.convertValueTouches(pos, astRoot)) {
- result = this.persistenceConvertersNames(filter);
+ if (getConverter() != null) {
+ result = getConverter().javaCompletionProposals(pos, filter, astRoot);
if (result != null) {
return result;
}
}
return null;
}
-
- protected boolean convertValueTouches(int pos, CompilationUnit astRoot) {
- if (getResourceConvert() != null) {
- return this.getResourceConvert().valueTouches(pos, astRoot);
- }
- return false;
- }
- protected ConvertAnnotation getResourceConvert() {
- return (ConvertAnnotation) this.resourcePersistentAttribute.getSupportingAnnotation(ConvertAnnotation.ANNOTATION_NAME);
- }
-
- protected Iterator<String> persistenceConvertersNames() {
- if(this.getEclipseLinkPersistenceUnit().convertersSize() == 0) {
- return EmptyIterator.<String> instance();
- }
- return (Iterator<String>)CollectionTools.iterator(this.getEclipseLinkPersistenceUnit().uniqueConverterNames());
- }
-
- private Iterator<String> convertersNames(Filter<String> filter) {
- return new FilteringIterator<String, String>(this.persistenceConvertersNames(), filter);
- }
-
- protected Iterator<String> persistenceConvertersNames(Filter<String> filter) {
- return StringTools.convertToJavaStringLiterals(this.convertersNames(filter));
- }
-
- protected EclipseLinkPersistenceUnit getEclipseLinkPersistenceUnit() {
- return (EclipseLinkPersistenceUnit) this.getPersistenceUnit();
- }
//************ validation ****************
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaConvert.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaConvert.java
index 10da514c9e..306dc3ba23 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaConvert.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaConvert.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.context.java;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
@@ -18,11 +19,17 @@ import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConverter;
+import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit;
import org.eclipse.jpt.eclipselink.core.resource.java.ConvertAnnotation;
import org.eclipse.jpt.eclipselink.core.resource.java.ConverterAnnotation;
import org.eclipse.jpt.eclipselink.core.resource.java.ObjectTypeConverterAnnotation;
import org.eclipse.jpt.eclipselink.core.resource.java.StructConverterAnnotation;
import org.eclipse.jpt.eclipselink.core.resource.java.TypeConverterAnnotation;
+import org.eclipse.jpt.utility.Filter;
+import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.eclipse.jpt.utility.internal.StringTools;
+import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
+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;
@@ -214,6 +221,50 @@ public class EclipseLinkJavaConvert extends AbstractJavaJpaContextNode implement
return null;
}
+ //*************** code assist ******************
+
+ @Override
+ public Iterator<String> javaCompletionProposals(int pos, Filter<String> filter, CompilationUnit astRoot) {
+ Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
+ }
+ if (this.convertValueTouches(pos, astRoot)) {
+ result = this.persistenceConvertersNames(filter);
+ if (result != null) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ protected boolean convertValueTouches(int pos, CompilationUnit astRoot) {
+ if (getResourceConvert() != null) {
+ return this.getResourceConvert().valueTouches(pos, astRoot);
+ }
+ return false;
+ }
+
+ protected Iterator<String> persistenceConvertersNames() {
+ if(this.getEclipseLinkPersistenceUnit().convertersSize() == 0) {
+ return EmptyIterator.<String> instance();
+ }
+ return CollectionTools.iterator(this.getEclipseLinkPersistenceUnit().uniqueConverterNames());
+ }
+
+ private Iterator<String> convertersNames(Filter<String> filter) {
+ return new FilteringIterator<String, String>(this.persistenceConvertersNames(), filter);
+ }
+
+ protected Iterator<String> persistenceConvertersNames(Filter<String> filter) {
+ return StringTools.convertToJavaStringLiterals(this.convertersNames(filter));
+ }
+
+ protected EclipseLinkPersistenceUnit getEclipseLinkPersistenceUnit() {
+ return (EclipseLinkPersistenceUnit) this.getPersistenceUnit();
+ }
+
+ //****************** validation ********************
@Override
public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaIdMappingImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaIdMappingImpl.java
index e40428580e..ab780701fa 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaIdMappingImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaIdMappingImpl.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.context.java;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaConverter;
@@ -18,6 +19,7 @@ import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkIdMapping;
import org.eclipse.jpt.eclipselink.core.context.Mutable;
import org.eclipse.jpt.eclipselink.core.resource.java.ConvertAnnotation;
+import org.eclipse.jpt.utility.Filter;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -75,6 +77,22 @@ public class EclipseLinkJavaIdMappingImpl
this.mutable.update(this.resourcePersistentAttribute);
}
+ // ********** code assist **********
+
+ @Override
+ public Iterator<String> javaCompletionProposals(int pos, Filter<String> filter, CompilationUnit astRoot) {
+ Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
+ }
+ if (getConverter() != null) {
+ result = getConverter().javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
+ }
+ }
+ return null;
+ }
//************ validation ****************
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaVersionMappingImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaVersionMappingImpl.java
index aeab81af3d..dd25921634 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaVersionMappingImpl.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaVersionMappingImpl.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.context.java;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaConverter;
@@ -18,6 +19,7 @@ import org.eclipse.jpt.eclipselink.core.context.Convert;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkVersionMapping;
import org.eclipse.jpt.eclipselink.core.context.Mutable;
import org.eclipse.jpt.eclipselink.core.resource.java.ConvertAnnotation;
+import org.eclipse.jpt.utility.Filter;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -76,6 +78,22 @@ public class EclipseLinkJavaVersionMappingImpl
this.mutable.update(this.resourcePersistentAttribute);
}
+ // ********** code assist **********
+
+ @Override
+ public Iterator<String> javaCompletionProposals(int pos, Filter<String> filter, CompilationUnit astRoot) {
+ Iterator<String> result = super.javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
+ }
+ if (getConverter() != null) {
+ result = getConverter().javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
+ }
+ }
+ return null;
+ }
//************ validation ****************

Back to the top