Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2011-10-13 17:24:19 +0000
committerkmoore2011-10-13 17:24:19 +0000
commit8ebbae1c2c432349e184702fa4638fbe3088276c (patch)
treee61866024b29c8802966f4e0516d1eaec6fc0a6f /jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core
parent112a2282a56f03cb6b0887994bb6bc220d3bf334 (diff)
downloadwebtools.dali-8ebbae1c2c432349e184702fa4638fbe3088276c.tar.gz
webtools.dali-8ebbae1c2c432349e184702fa4638fbe3088276c.tar.xz
webtools.dali-8ebbae1c2c432349e184702fa4638fbe3088276c.zip
Bug 360731 - [Multi-Tenancy] Invalid validation against default tenant discriminator column on subentity with JOINED strategy - no longer validating the default tenant discriminator columns in this case
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java15
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java11
2 files changed, 16 insertions, 10 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java
index 723a2f8e9c..b397ad2af5 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java
@@ -562,7 +562,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3
return (EclipseLinkPersistenceUnit) super.getPersistenceUnit();
}
- protected boolean isMultitenantMetadataAllowed() {
+ protected boolean isSpecifiedMultitenantMetadataAllowed() {
return this.getParent().isMultitenantMetadataAllowed();
}
@@ -635,8 +635,8 @@ public class JavaEclipseLinkMultitenancyImpl2_3
public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
//TODO validate 2.3 eclipselink does not use TABLE_PER_CLASS (and the new PROTECTED?? this wouldn't be in the 2.3 source)
super.validate(messages, reporter, astRoot);
- if (getSpecifiedTenantDiscriminatorColumnsSize() > 0) {
- if (!this.isMultitenantMetadataAllowed()) {
+ if (this.getSpecifiedTenantDiscriminatorColumnsSize() > 0) {
+ if (!this.isSpecifiedMultitenantMetadataAllowed()) {
messages.add(
DefaultEclipseLinkJpaValidationMessages.buildMessage(
IMessage.NORMAL_SEVERITY,
@@ -647,7 +647,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3
)
);
}
- else if (isMultitenantAnnotationSpecified()) {
+ else if (this.isMultitenantAnnotationSpecified()) {
for (JavaTenantDiscriminatorColumn2_3 column : this.getSpecifiedTenantDiscriminatorColumns()) {
column.validate(messages, reporter, astRoot);
}
@@ -664,8 +664,11 @@ public class JavaEclipseLinkMultitenancyImpl2_3
);
}
}
- for (JavaVirtualTenantDiscriminatorColumn2_3 column : this.getDefaultTenantDiscriminatorColumns()) {
- column.validate(messages, reporter, astRoot);
+ if (this.isSpecifiedMultitenantMetadataAllowed()) {
+ //bug 360731 no need to validate, they will be validated where they are specified
+ for (JavaVirtualTenantDiscriminatorColumn2_3 column : this.getDefaultTenantDiscriminatorColumns()) {
+ column.validate(messages, reporter, astRoot);
+ }
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java
index c146990dfc..7e44a93ecb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java
@@ -609,7 +609,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3
return (javaTypeMapping == null) ? null : javaTypeMapping.getMultitenancy();
}
- protected boolean isMultitenantMetadataAllowed() {
+ protected boolean isSpecifiedMultitenantMetadataAllowed() {
return this.getParent().isMultitenantMetadataAllowed();
}
@@ -663,7 +663,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3
public void validate(List<IMessage> messages, IReporter reporter) {
super.validate(messages, reporter);
if (getSpecifiedTenantDiscriminatorColumnsSize() > 0) {
- if (!this.isMultitenantMetadataAllowed()) {
+ if (!this.isSpecifiedMultitenantMetadataAllowed()) {
messages.add(
DefaultEclipseLinkJpaValidationMessages.buildMessage(
IMessage.NORMAL_SEVERITY,
@@ -680,8 +680,11 @@ public class OrmEclipseLinkMultitenancyImpl2_3
}
}
}
- for (OrmVirtualTenantDiscriminatorColumn2_3 column : this.getDefaultTenantDiscriminatorColumns()) {
- column.validate(messages, reporter);
+ if (this.isSpecifiedMultitenantMetadataAllowed()) {
+ //bug 360731 no need to validate, they will be validated where they are specified
+ for (OrmVirtualTenantDiscriminatorColumn2_3 column : this.getDefaultTenantDiscriminatorColumns()) {
+ column.validate(messages, reporter);
+ }
}
}

Back to the top