diff options
author | kmoore | 2010-03-31 20:41:41 +0000 |
---|---|---|
committer | kmoore | 2010-03-31 20:41:41 +0000 |
commit | 28720d89bc88b21e22e18487b81eac3fb61fd1d5 (patch) | |
tree | be9140337a63ce2e2009e2cae981fb4df2aaa9e6 /jpa | |
parent | 5d203572605cb69d1e8a6b192a9915d3f16c35ee (diff) | |
download | webtools.dali-28720d89bc88b21e22e18487b81eac3fb61fd1d5.tar.gz webtools.dali-28720d89bc88b21e22e18487b81eac3fb61fd1d5.tar.xz webtools.dali-28720d89bc88b21e22e18487b81eac3fb61fd1d5.zip |
257755 - fixed default table name for attribute overrides; no need to validate overrides if the target has been invalidated.
Diffstat (limited to 'jpa')
6 files changed, 38 insertions, 27 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 8a23e6b97f..e6277f943d 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 @@ -198,11 +198,12 @@ 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); + if (validateTargetEmbeddable(messages, reporter, astRoot)) { + validateOverrides(messages, reporter, astRoot); + } } - - protected void validateTargetEmbeddable(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { + + protected boolean 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 @@ -215,10 +216,15 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation> this, this.getValidationTextRange(astRoot))); } + return false; } + return true; } - - + + protected void validateOverrides(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { + getAttributeOverrideContainer().validate(messages, reporter, astRoot); + } + //********** AttributeOverrideContainer.Owner implementation ********* protected class AttributeOverrideContainerOwner diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java index 12a6386e29..afd3274b7b 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java @@ -192,11 +192,12 @@ public abstract class AbstractOrmBaseEmbeddedMapping<T extends AbstractXmlEmbedd @Override public void validate(List<IMessage> messages, IReporter reporter) { super.validate(messages, reporter); - validateTargetEmbeddable(messages, reporter); - getAttributeOverrideContainer().validate(messages, reporter); + if (validateTargetEmbeddable(messages, reporter)) { + validateOverrides(messages, reporter); + } } - protected void validateTargetEmbeddable(List<IMessage> messages, IReporter reporter) { + protected boolean validateTargetEmbeddable(List<IMessage> messages, IReporter reporter) { if (getTargetEmbeddable() == null) { String targetEmbeddableTypeName = getPersistentAttribute().getTypeName(); // if the type isn't resolveable, there'll already be a java error @@ -209,7 +210,13 @@ public abstract class AbstractOrmBaseEmbeddedMapping<T extends AbstractXmlEmbedd this, this.getValidationTextRange())); } + return false; } + return true; + } + + protected void validateOverrides(List<IMessage> messages, IReporter reporter) { + getAttributeOverrideContainer().validate(messages, reporter); } //************ static methods ************ diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverride.java index 5b8f7e29f4..0e7308f1c8 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverride.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverride.java @@ -107,12 +107,11 @@ public class GenericJavaAttributeOverride public String getDefaultTableName() { Column column = resolveOverriddenColumn(); - if (column == null) { - return null; - } - String tableName = column.getSpecifiedTable(); - if (tableName != null) { - return tableName; + if (column != null) { + String tableName = column.getSpecifiedTable(); + if (tableName != null) { + return tableName; + } } return getOwner().getDefaultTableName(); } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedMapping.java index 7bf2cc3a69..23b1790ada 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedMapping.java @@ -179,9 +179,10 @@ public class GenericJavaEmbeddedMapping // ********** validation ********** + @Override - public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { - super.validate(messages, reporter, astRoot); + protected void validateOverrides(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { + super.validateOverrides(messages, reporter, astRoot); this.getAssociationOverrideContainer().validate(messages, reporter, astRoot); } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverride.java index 98a908e135..cc0aa134fe 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverride.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverride.java @@ -105,12 +105,11 @@ public class GenericOrmAttributeOverride public String getDefaultTableName() { Column column = resolveOverriddenColumn(); - if (column == null) { - return null; - } - String tableName = column.getSpecifiedTable(); - if (tableName != null) { - return tableName; + if (column != null) { + String tableName = column.getSpecifiedTable(); + if (tableName != null) { + return tableName; + } } return getOwner().getDefaultTableName(); } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEmbeddedMapping.java index 448dac8fe8..92624997b3 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEmbeddedMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmEmbeddedMapping.java @@ -34,7 +34,6 @@ import org.eclipse.jpt.core.internal.validation.JpaValidationDescriptionMessages import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0; import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0; -import org.eclipse.jpt.core.jpa2.context.orm.OrmXml2_0ContextNodeFactory; import org.eclipse.jpt.core.resource.orm.Attributes; import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride; import org.eclipse.jpt.core.resource.orm.XmlEmbedded; @@ -59,7 +58,7 @@ public class GenericOrmEmbeddedMapping public GenericOrmEmbeddedMapping(OrmPersistentAttribute parent, XmlEmbedded resourceMapping) { super(parent, resourceMapping); this.associationOverrideContainer = - ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()). + getXmlContextNodeFactory(). buildOrmAssociationOverrideContainer( this, new AssociationOverrideContainerOwner()); @@ -212,8 +211,8 @@ public class GenericOrmEmbeddedMapping // ********** validation ********** @Override - public void validate(List<IMessage> messages, IReporter reporter) { - super.validate(messages, reporter); + protected void validateOverrides(List<IMessage> messages, IReporter reporter) { + super.validateOverrides(messages, reporter); this.getAssociationOverrideContainer().validate(messages, reporter); } |