diff options
author | pfullbright | 2010-01-20 23:51:56 +0000 |
---|---|---|
committer | pfullbright | 2010-01-20 23:51:56 +0000 |
commit | ca7b12675659c09ac5177a56c4c5f0fce979f2df (patch) | |
tree | 86925ea28a233dc0b571646cd3a9371b97463fe7 | |
parent | 1b6d6585ea6f4001141936b6012ffad552256a92 (diff) | |
download | webtools.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.java | 21 |
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 ********* |