Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2010-01-20 23:51:56 +0000
committerpfullbright2010-01-20 23:51:56 +0000
commitca7b12675659c09ac5177a56c4c5f0fce979f2df (patch)
tree86925ea28a233dc0b571646cd3a9371b97463fe7
parent1b6d6585ea6f4001141936b6012ffad552256a92 (diff)
downloadwebtools.dali-ca7b12675659c09ac5177a56c4c5f0fce979f2df.tar.gz
webtools.dali-ca7b12675659c09ac5177a56c4c5f0fce979f2df.tar.xz
webtools.dali-ca7b12675659c09ac5177a56c4c5f0fce979f2df.zip
added target embeddable validation
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java
index 3b06e5742b..082b1a1f5d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java
@@ -12,7 +12,6 @@ package org.eclipse.jpt.core.internal.context.java;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
-
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.AttributeMapping;
import org.eclipse.jpt.core.context.AttributeOverride;
@@ -24,6 +23,8 @@ import org.eclipse.jpt.core.context.java.JavaAttributeOverrideContainer;
import org.eclipse.jpt.core.context.java.JavaBaseEmbeddedMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.context.MappingTools;
+import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages;
+import org.eclipse.jpt.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.core.resource.java.Annotation;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.db.Table;
@@ -69,7 +70,6 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation>
return this.targetEmbeddable;
}
-
@Override
protected void initialize() {
super.initialize();
@@ -181,9 +181,26 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation>
@Override
public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
+ validateTargetEmbeddable(messages, reporter, astRoot);
getAttributeOverrideContainer().validate(messages, reporter, astRoot);
}
+ protected void validateTargetEmbeddable(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
+ if (getTargetEmbeddable() == null) {
+ String targetEmbeddableTypeName = getPersistentAttribute().getTypeName();
+ // if the type isn't resolveable, there'll already be a java error
+ if (targetEmbeddableTypeName != null) {
+ messages.add(
+ DefaultJpaValidationMessages.buildMessage(
+ IMessage.HIGH_SEVERITY,
+ JpaValidationMessages.TARGET_NOT_AN_EMBEDDABLE,
+ new String[] {targetEmbeddableTypeName},
+ this,
+ this.getValidationTextRange(astRoot)));
+ }
+ }
+ }
+
//********** AttributeOverrideContainer.Owner implementation *********

Back to the top