Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2011-12-21 21:07:02 +0000
committerkmoore2011-12-21 21:07:02 +0000
commit2120f49f825afcfe4bf8ac4ba1b0f9b0a71e90ad (patch)
tree39a95d3b5d26cdaf961f76da1a1c24e45a2fecdf /jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core
parent5bf5eee851136455c9053c17ae7ae0cd5db7d6fe (diff)
downloadwebtools.dali-2120f49f825afcfe4bf8ac4ba1b0f9b0a71e90ad.tar.gz
webtools.dali-2120f49f825afcfe4bf8ac4ba1b0f9b0a71e90ad.tar.xz
webtools.dali-2120f49f825afcfe4bf8ac4ba1b0f9b0a71e90ad.zip
Bug 367325 - [EclipseLink] Multitenant include-criteria support
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/context/EclipseLinkMultitenancy2_3.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java1
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java102
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/NullEclipseLinkMultitenantAnnotation2_3.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/binary/BinaryEclipseLinkMultitenantAnnotation2_3.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/source/SourceEclipseLinkMultitenantAnnotation2_3.java78
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/java/EclipseLinkMultitenantAnnotation2_3.java40
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMultitenant.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_4/XmlMultitenant_2_4.java3
10 files changed, 236 insertions, 181 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/EclipseLinkMultitenancy2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/EclipseLinkMultitenancy2_3.java
index 3446faee43..9d3f0aad4d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/EclipseLinkMultitenancy2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/EclipseLinkMultitenancy2_3.java
@@ -52,21 +52,21 @@ public interface EclipseLinkMultitenancy2_3
EclipseLinkMultitenantType2_3 DEFAULT_TYPE = EclipseLinkMultitenantType2_3.SINGLE_TABLE;
-// // ********** include criteria (EclipseLink 2.4+) **********
-//
-// /**
-// * This is the combination of defaultIncludeCriteria and specifiedIncludeCriteria.
-// * If getSpecifiedIncludeCriteria() returns null, then return isDefaultIncludeCriteria()
-// */
-// boolean isIncludeCriteria();
-//
-// Boolean getSpecifiedIncludeCriteria();
-// void setSpecifiedIncludeCriteria(Boolean includeCriteria);
-// String SPECIFIED_INCLUDE_CRITERIA_PROPERTY = "specifiedIncludeCriteria"; //$NON-NLS-1$
-//
-// boolean isDefaultIncludeCriteria();
-// String DEFAULT_INCLUDE_CRITERIA_PROPERTY = "defaultIncludeCriteria"; //$NON-NLS-1$
-// boolean DEFAULT_INCLUDE_CRITERIA = true;
+ // ********** include criteria (EclipseLink 2.4+) **********
+
+ /**
+ * This is the combination of defaultIncludeCriteria and specifiedIncludeCriteria.
+ * If getSpecifiedIncludeCriteria() returns null, then return isDefaultIncludeCriteria()
+ */
+ boolean isIncludeCriteria();
+
+ Boolean getSpecifiedIncludeCriteria();
+ void setSpecifiedIncludeCriteria(Boolean includeCriteria);
+ String SPECIFIED_INCLUDE_CRITERIA_PROPERTY = "specifiedIncludeCriteria"; //$NON-NLS-1$
+
+ boolean isDefaultIncludeCriteria();
+ String DEFAULT_INCLUDE_CRITERIA_PROPERTY = "defaultIncludeCriteria"; //$NON-NLS-1$
+ boolean DEFAULT_INCLUDE_CRITERIA = true;
// ********** tenant discriminator columns **********
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java
index 9a85ca62f8..d679a408a7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaValidationMessages.java
@@ -105,5 +105,6 @@ public interface EclipseLinkJpaValidationMessages {
public static final String MULTITENANT_TABLE_PER_TENANT_NOT_SUPPORTED = "MULTITENANT_TABLE_PER_TENANT_NOT_SUPPORTED";
public static final String MULTITENANT_VPD_MIGHT_NOT_BE_NOT_SUPPORTED = "MULTITENANT_VPD_MIGHT_NOT_BE_NOT_SUPPORTED";
public static final String MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM = "MULTITENANT_VPD_NOT_SUPPORTED_ON_NON_ORACLE_DATABASE_PLATFORM";
+ public static final String MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED = "MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED";
}
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 1376af2ee1..3fce4191fd 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
@@ -65,7 +65,8 @@ public class JavaEclipseLinkMultitenancyImpl2_3
protected EclipseLinkMultitenantType2_3 specifiedType;
protected EclipseLinkMultitenantType2_3 defaultType;
-// protected Boolean specifiedIncludeCriteria;
+ protected Boolean specifiedIncludeCriteria;
+ protected boolean defaultIncludeCriteria;
protected final JavaReadOnlyTenantDiscriminatorColumn2_3.Owner tenantDiscriminatorColumnOwner;
protected final ContextListContainer<JavaTenantDiscriminatorColumn2_3, EclipseLinkTenantDiscriminatorColumnAnnotation2_3> specifiedTenantDiscriminatorColumnContainer;
@@ -81,7 +82,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3
EclipseLinkMultitenantAnnotation2_3 multitenantAnnotation = this.getMultitenantAnnotation();
this.specifiedMultitenant = multitenantAnnotation.isSpecified();
this.specifiedType = EclipseLinkMultitenantType2_3.fromJavaResourceModel(multitenantAnnotation.getValue());
-// this.specifiedIncludeCriteria = multitenantAnnotation.getIncludeCriteria();
+ this.specifiedIncludeCriteria = multitenantAnnotation.getIncludeCriteria();
this.tenantDiscriminatorColumnOwner = this.buildTenantDiscriminatorColumnOwner();
this.specifiedTenantDiscriminatorColumnContainer = this.buildSpecifiedTenantDiscriminatorColumnContainer();
this.defaultTenantDiscriminatorColumn = this.buildTenantDiscriminatorColumn(this.buildNullTenantDiscriminatorColumnAnnotation());
@@ -97,7 +98,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3
EclipseLinkMultitenantAnnotation2_3 multitenantAnnotation = this.getMultitenantAnnotation();
this.setSpecifiedType_(EclipseLinkMultitenantType2_3.fromJavaResourceModel(multitenantAnnotation.getValue()));
-// this.setSpecifiedIncludeCriteria_(multitenantAnnotation.getIncludeCriteria());
+ this.setSpecifiedIncludeCriteria_(multitenantAnnotation.getIncludeCriteria());
this.syncSpecifiedTenantDiscriminatorColumns();
}
@@ -108,6 +109,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3
this.setSpecifiedMultitenant_(this.isMultitenantAnnotationSpecified());
this.setDefaultMultitenant(this.buildDefaultMultitenant());
this.setDefaultType(this.buildDefaultType());
+ this.setDefaultIncludeCriteria(this.buildDefaultIncludeCriteria());
this.setSpecifiedTenantDiscriminatorColumnsAllowed(this.buildSpecifiedTenantDiscriminatorColumnsAllowed());
this.updateDefaultTenantDiscriminatorColumns();
}
@@ -210,30 +212,43 @@ public class JavaEclipseLinkMultitenancyImpl2_3
}
-// // ********** include criteria **********
-//
-// public boolean isIncludeCriteria() {
-// return (this.specifiedIncludeCriteria != null) ? this.specifiedIncludeCriteria.booleanValue() : this.isDefaultIncludeCriteria();
-// }
-//
-// public Boolean getSpecifiedIncludeCriteria() {
-// return this.specifiedIncludeCriteria;
-// }
-//
-// public void setSpecifiedIncludeCriteria(Boolean includeCriteria) {
-// this.getMultitenantAnnotation().setIncludeCriteria(includeCriteria);
-// this.setSpecifiedIncludeCriteria_(includeCriteria);
-// }
-//
-// protected void setSpecifiedIncludeCriteria_(Boolean includeCriteria) {
-// Boolean old = this.specifiedIncludeCriteria;
-// this.specifiedIncludeCriteria = includeCriteria;
-// this.firePropertyChanged(SPECIFIED_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
-// }
-//
-// public boolean isDefaultIncludeCriteria() {
-// return DEFAULT_INCLUDE_CRITERIA;
-// }
+ // ********** include criteria **********
+
+ public boolean isIncludeCriteria() {
+ return (this.specifiedIncludeCriteria != null) ? this.specifiedIncludeCriteria.booleanValue() : this.isDefaultIncludeCriteria();
+ }
+
+ public Boolean getSpecifiedIncludeCriteria() {
+ return this.specifiedIncludeCriteria;
+ }
+
+ public void setSpecifiedIncludeCriteria(Boolean includeCriteria) {
+ this.getMultitenantAnnotation().setIncludeCriteria(includeCriteria);
+ this.setSpecifiedIncludeCriteria_(includeCriteria);
+ }
+
+ protected void setSpecifiedIncludeCriteria_(Boolean includeCriteria) {
+ Boolean old = this.specifiedIncludeCriteria;
+ this.specifiedIncludeCriteria = includeCriteria;
+ this.firePropertyChanged(SPECIFIED_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
+ }
+
+ public boolean isDefaultIncludeCriteria() {
+ return this.defaultIncludeCriteria;
+ }
+
+ protected void setDefaultIncludeCriteria(boolean includeCriteria) {
+ boolean old = this.defaultIncludeCriteria;
+ this.defaultIncludeCriteria = includeCriteria;
+ this.firePropertyChanged(DEFAULT_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
+ }
+
+ protected boolean buildDefaultIncludeCriteria() {
+ if (getType() == EclipseLinkMultitenantType2_3.VPD) {
+ return false;
+ }
+ return DEFAULT_INCLUDE_CRITERIA;
+ }
// ********** tenant discriminator columns **********
@@ -729,6 +744,17 @@ public class JavaEclipseLinkMultitenancyImpl2_3
column.validate(messages, reporter, astRoot);
}
}
+ if (this.getSpecifiedIncludeCriteria() == Boolean.TRUE && getType() == EclipseLinkMultitenantType2_3.VPD) {
+ messages.add(
+ DefaultEclipseLinkJpaValidationMessages.buildMessage(
+ IMessage.NORMAL_SEVERITY,
+ EclipseLinkJpaValidationMessages.MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED,
+ EMPTY_STRING_ARRAY,
+ this,
+ this.getMultitenantAnnotation().getIncludeCriteriaTextRange(astRoot)
+ )
+ );
+ }
}
public TextRange getValidationTextRange(CompilationUnit 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 c507e7c93e..3da6465a6f 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
@@ -66,8 +66,8 @@ public class OrmEclipseLinkMultitenancyImpl2_3
protected EclipseLinkMultitenantType2_3 specifiedType;
protected EclipseLinkMultitenantType2_3 defaultType;
-// protected Boolean specifiedIncludeCriteria;
-// protected boolean defaultIncludeCriteria;
+ protected Boolean specifiedIncludeCriteria;
+ protected boolean defaultIncludeCriteria;
protected final ContextListContainer<OrmTenantDiscriminatorColumn2_3, XmlTenantDiscriminatorColumn_2_3> specifiedTenantDiscriminatorColumnContainer;
protected final OrmReadOnlyTenantDiscriminatorColumn2_3.Owner tenantDiscriminatorColumnOwner;
@@ -83,7 +83,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3
this.specifiedMultitenant = isMultitenantElementSpecified();
this.specifiedType = this.buildSpecifiedType();
-// this.specifiedIncludeCriteria = this.buildSpecifiedIncludeCriteria();
+ this.specifiedIncludeCriteria = this.buildSpecifiedIncludeCriteria();
this.tenantDiscriminatorColumnOwner = this.buildTenantDiscriminatorColumnOwner();
this.specifiedTenantDiscriminatorColumnContainer = this.buildSpecifiedTenantDiscriminatorColumnContainer();
this.defaultTenantDiscriminatorColumn = this.buildTenantDiscriminatorColumn(null);
@@ -98,7 +98,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3
super.synchronizeWithResourceModel();
this.setSpecifiedMultitenant_(isMultitenantElementSpecified());
this.setSpecifiedType_(this.buildSpecifiedType());
-// this.setSpecifiedIncludeCriteria_(this.buildSpecifiedIncludeCriteria());
+ this.setSpecifiedIncludeCriteria_(this.buildSpecifiedIncludeCriteria());
this.syncSpecifiedTenantDiscriminatorColumns();
}
@@ -114,7 +114,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3
this.setDefaultMultitenant(useJavaValue ? javaMultitenantPolicy.isMultitenant() : this.buildDefaultMultitenant());
this.setDefaultType(useJavaValue ? javaMultitenantPolicy.getType() : this.buildDefaultType());
-// this.setDefaultIncludeCriteria(useJavaValue ? javaMultitenantPolicy.isIncludeCriteria() : DEFAULT_INCLUDE_CRITERIA);
+ this.setDefaultIncludeCriteria(useJavaValue ? javaMultitenantPolicy.isIncludeCriteria() : this.buildDefaultIncludeCriteria());
this.setSpecifiedTenantDiscriminatorColumnsAllowed(this.buildSpecifiedTenantDiscriminatorColumnsAllowed());
this.updateDefaultTenantDiscriminatorColumns();
}
@@ -227,43 +227,50 @@ public class OrmEclipseLinkMultitenancyImpl2_3
// ********** include criteria **********
-// public boolean isIncludeCriteria() {
-// return (this.specifiedIncludeCriteria != null) ? this.specifiedIncludeCriteria.booleanValue() : this.defaultIncludeCriteria;
-// }
-//
-// public Boolean getSpecifiedIncludeCriteria() {
-// return this.specifiedIncludeCriteria;
-// }
-//
-// public void setSpecifiedIncludeCriteria(Boolean includeCriteria) {
-// if (this.valuesAreDifferent(this.specifiedIncludeCriteria, includeCriteria)) {
-// XmlMultitenant xmlMultitenant = this.getXmlMultitenantForUpdate();
-// this.setSpecifiedIncludeCriteria_(includeCriteria);
-// xmlMultitenant.setIncludeCriteria(includeCriteria);
-// }
-// }
-//
-// protected void setSpecifiedIncludeCriteria_(Boolean includeCriteria) {
-// Boolean old = this.specifiedIncludeCriteria;
-// this.specifiedIncludeCriteria = includeCriteria;
-// this.firePropertyChanged(SPECIFIED_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
-// }
-//
-// protected Boolean buildSpecifiedIncludeCriteria() {
-// XmlMultitenant xmlMultitenant = this.getXmlMultitenant();
-// return (xmlMultitenant == null) ? null : xmlMultitenant.getIncludeCriteria();
-// }
-//
-//
-// public boolean isDefaultIncludeCriteria() {
-// return this.defaultIncludeCriteria;
-// }
-//
-// protected void setDefaultIncludeCriteria(boolean includeCriteria) {
-// boolean old = this.defaultIncludeCriteria;
-// this.defaultIncludeCriteria = includeCriteria;
-// this.firePropertyChanged(DEFAULT_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
-// }
+ public boolean isIncludeCriteria() {
+ return (this.specifiedIncludeCriteria != null) ? this.specifiedIncludeCriteria.booleanValue() : this.defaultIncludeCriteria;
+ }
+
+ public Boolean getSpecifiedIncludeCriteria() {
+ return this.specifiedIncludeCriteria;
+ }
+
+ public void setSpecifiedIncludeCriteria(Boolean includeCriteria) {
+ if (this.valuesAreDifferent(this.specifiedIncludeCriteria, includeCriteria)) {
+ XmlMultitenant xmlMultitenant = this.getXmlMultitenantForUpdate();
+ this.setSpecifiedIncludeCriteria_(includeCriteria);
+ xmlMultitenant.setIncludeCriteria(includeCriteria);
+ }
+ }
+
+ protected void setSpecifiedIncludeCriteria_(Boolean includeCriteria) {
+ Boolean old = this.specifiedIncludeCriteria;
+ this.specifiedIncludeCriteria = includeCriteria;
+ this.firePropertyChanged(SPECIFIED_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
+ }
+
+ protected Boolean buildSpecifiedIncludeCriteria() {
+ XmlMultitenant xmlMultitenant = this.getXmlMultitenant();
+ return (xmlMultitenant == null) ? null : xmlMultitenant.getIncludeCriteria();
+ }
+
+
+ public boolean isDefaultIncludeCriteria() {
+ return this.defaultIncludeCriteria;
+ }
+
+ protected void setDefaultIncludeCriteria(boolean includeCriteria) {
+ boolean old = this.defaultIncludeCriteria;
+ this.defaultIncludeCriteria = includeCriteria;
+ this.firePropertyChanged(DEFAULT_INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
+ }
+
+ protected boolean buildDefaultIncludeCriteria() {
+ if (getType() == EclipseLinkMultitenantType2_3.VPD) {
+ return false;
+ }
+ return DEFAULT_INCLUDE_CRITERIA;
+ }
// ********** tenant discriminator columns **********
@@ -746,6 +753,17 @@ public class OrmEclipseLinkMultitenancyImpl2_3
column.validate(messages, reporter);
}
}
+ if (this.getSpecifiedIncludeCriteria() == Boolean.TRUE && getType() == EclipseLinkMultitenantType2_3.VPD) {
+ messages.add(
+ DefaultEclipseLinkJpaValidationMessages.buildMessage(
+ IMessage.NORMAL_SEVERITY,
+ EclipseLinkJpaValidationMessages.MULTITENANT_VPD_INCLUDE_CRITERIA_WILL_BE_IGNORED,
+ EMPTY_STRING_ARRAY,
+ this,
+ this.getXmlMultitenant().getIncludeCriteriaTextRange()
+ )
+ );
+ }
}
public TextRange getValidationTextRange() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/NullEclipseLinkMultitenantAnnotation2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/NullEclipseLinkMultitenantAnnotation2_3.java
index d4bbcf9b16..479ae5fe50 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/NullEclipseLinkMultitenantAnnotation2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/NullEclipseLinkMultitenantAnnotation2_3.java
@@ -50,19 +50,19 @@ public final class NullEclipseLinkMultitenantAnnotation2_3
return null;
}
-// // ***** include criteria
-// public Boolean getIncludeCriteria() {
-// return null;
-// }
-//
-// public void setIncludeCriteria(Boolean includeCriteria) {
-// if (includeCriteria != null) {
-// this.addAnnotation().setIncludeCriteria(includeCriteria);
-// }
-// }
-//
-// public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
-// return null;
-// }
+ // ***** include criteria
+ public Boolean getIncludeCriteria() {
+ return null;
+ }
+
+ public void setIncludeCriteria(Boolean includeCriteria) {
+ if (includeCriteria != null) {
+ this.addAnnotation().setIncludeCriteria(includeCriteria);
+ }
+ }
+
+ public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
+ return null;
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/binary/BinaryEclipseLinkMultitenantAnnotation2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/binary/BinaryEclipseLinkMultitenantAnnotation2_3.java
index 00d5ecc58c..089e362413 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/binary/BinaryEclipseLinkMultitenantAnnotation2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/binary/BinaryEclipseLinkMultitenantAnnotation2_3.java
@@ -27,13 +27,13 @@ public class BinaryEclipseLinkMultitenantAnnotation2_3
implements EclipseLinkMultitenantAnnotation2_3
{
private MultitenantType2_3 value;
-// private Boolean includeCriteria; // added in EclipseLink 2.4
+ private Boolean includeCriteria; // added in EclipseLink 2.4
public BinaryEclipseLinkMultitenantAnnotation2_3(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation) {
super(parent, jdtAnnotation);
this.value = this.buildValue();
-// this.includeCriteria = this.buildIncludeCriteria();
+ this.includeCriteria = this.buildIncludeCriteria();
}
public String getAnnotationName() {
@@ -44,7 +44,7 @@ public class BinaryEclipseLinkMultitenantAnnotation2_3
public void update() {
super.update();
this.setValue_(this.buildValue());
-// this.setIncludeCriteria_(this.buildIncludeCriteria());
+ this.setIncludeCriteria_(this.buildIncludeCriteria());
}
@@ -77,27 +77,27 @@ public class BinaryEclipseLinkMultitenantAnnotation2_3
throw new UnsupportedOperationException();
}
-// // ***** include criteria
-// public Boolean getIncludeCriteria() {
-// return this.includeCriteria;
-// }
-//
-// public void setIncludeCriteria(Boolean includeCriteria) {
-// throw new UnsupportedOperationException();
-// }
-//
-// private void setIncludeCriteria_(Boolean includeCriteria) {
-// Boolean old = this.includeCriteria;
-// this.includeCriteria = includeCriteria;
-// this.firePropertyChanged(INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
-// }
-//
-// private Boolean buildIncludeCriteria() {
-// return (Boolean) this.getJdtMemberValue(EclipseLink.MULTITENANT__INCLUDE_CRITERIA);
-// }
-//
-// public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
-// throw new UnsupportedOperationException();
-// }
+ // ***** include criteria
+ public Boolean getIncludeCriteria() {
+ return this.includeCriteria;
+ }
+
+ public void setIncludeCriteria(Boolean includeCriteria) {
+ throw new UnsupportedOperationException();
+ }
+
+ private void setIncludeCriteria_(Boolean includeCriteria) {
+ Boolean old = this.includeCriteria;
+ this.includeCriteria = includeCriteria;
+ this.firePropertyChanged(INCLUDE_CRITERIA_PROPERTY, old, includeCriteria);
+ }
+
+ private Boolean buildIncludeCriteria() {
+ return (Boolean) this.getJdtMemberValue(EclipseLink.MULTITENANT__INCLUDE_CRITERIA);
+ }
+
+ public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
+ throw new UnsupportedOperationException();
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/source/SourceEclipseLinkMultitenantAnnotation2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/source/SourceEclipseLinkMultitenantAnnotation2_3.java
index c033d340ac..f3a94f289f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/source/SourceEclipseLinkMultitenantAnnotation2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/java/source/SourceEclipseLinkMultitenantAnnotation2_3.java
@@ -13,6 +13,8 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.resource.java.source;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.internal.resource.java.source.SourceAnnotation;
import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
+import org.eclipse.jpt.common.core.internal.utility.jdt.BooleanExpressionConverter;
+import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.EnumDeclarationAnnotationElementAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement;
@@ -38,15 +40,15 @@ public class SourceEclipseLinkMultitenantAnnotation2_3
private static final DeclarationAnnotationElementAdapter<String> VALUE_ADAPTER = buildValueAdapter();
private final AnnotationElementAdapter<String> valueAdapter;
private MultitenantType2_3 value;
-//
-// private static final DeclarationAnnotationElementAdapter<Boolean> INCLUDE_CRITERIA_ADAPTER = buildIncludeCriteriaAdapter();
-// private final AnnotationElementAdapter<Boolean> includeCriteriaAdapter;
-// private Boolean includeCriteria;
+
+ private static final DeclarationAnnotationElementAdapter<Boolean> INCLUDE_CRITERIA_ADAPTER = buildIncludeCriteriaAdapter();
+ private final AnnotationElementAdapter<Boolean> includeCriteriaAdapter;
+ private Boolean includeCriteria;
public SourceEclipseLinkMultitenantAnnotation2_3(JavaResourceAnnotatedElement parent, AnnotatedElement element) {
super(parent, element, DECLARATION_ANNOTATION_ADAPTER);
this.valueAdapter = new AnnotatedElementAnnotationElementAdapter<String>(element, VALUE_ADAPTER);
-// this.includeCriteriaAdapter = new AnnotatedElementAnnotationElementAdapter<Boolean>(element, INCLUDE_CRITERIA_ADAPTER);
+ this.includeCriteriaAdapter = new AnnotatedElementAnnotationElementAdapter<Boolean>(element, INCLUDE_CRITERIA_ADAPTER);
}
@@ -56,19 +58,19 @@ public class SourceEclipseLinkMultitenantAnnotation2_3
public void initialize(CompilationUnit astRoot) {
this.value = this.buildValue(astRoot);
-// this.includeCriteria = this.buildIncludeCriteria(astRoot);
+ this.includeCriteria = this.buildIncludeCriteria(astRoot);
}
public void synchronizeWith(CompilationUnit astRoot) {
this.syncValue(this.buildValue(astRoot));
-// this.syncIncludeCriteria(this.buildIncludeCriteria(astRoot));
+ this.syncIncludeCriteria(this.buildIncludeCriteria(astRoot));
}
@Override
public boolean isUnset() {
return super.isUnset() &&
- (this.value == null)/* &&
- (this.includeCriteria == null)*/;
+ (this.value == null) &&
+ (this.includeCriteria == null);
}
@Override
@@ -108,31 +110,31 @@ public class SourceEclipseLinkMultitenantAnnotation2_3
return this.getElementTextRange(VALUE_ADAPTER, astRoot);
}
-// // ***** include criteria
-// public Boolean getIncludeCriteria() {
-// return this.includeCriteria;
-// }
-//
-// public void setIncludeCriteria(Boolean includeCriteria) {
-// if (this.attributeValueHasChanged(this.includeCriteria, includeCriteria)) {
-// this.includeCriteria = includeCriteria;
-// this.includeCriteriaAdapter.setValue(includeCriteria);
-// }
-// }
-//
-// private void syncIncludeCriteria(Boolean astIncludeCriteria) {
-// Boolean old = this.includeCriteria;
-// this.includeCriteria = astIncludeCriteria;
-// this.firePropertyChanged(INCLUDE_CRITERIA_PROPERTY, old, astIncludeCriteria);
-// }
-//
-// private Boolean buildIncludeCriteria(CompilationUnit astRoot) {
-// return this.includeCriteriaAdapter.getValue(astRoot);
-// }
-//
-// public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
-// return this.getElementTextRange(INCLUDE_CRITERIA_ADAPTER, astRoot);
-// }
+ // ***** include criteria
+ public Boolean getIncludeCriteria() {
+ return this.includeCriteria;
+ }
+
+ public void setIncludeCriteria(Boolean includeCriteria) {
+ if (this.attributeValueHasChanged(this.includeCriteria, includeCriteria)) {
+ this.includeCriteria = includeCriteria;
+ this.includeCriteriaAdapter.setValue(includeCriteria);
+ }
+ }
+
+ private void syncIncludeCriteria(Boolean astIncludeCriteria) {
+ Boolean old = this.includeCriteria;
+ this.includeCriteria = astIncludeCriteria;
+ this.firePropertyChanged(INCLUDE_CRITERIA_PROPERTY, old, astIncludeCriteria);
+ }
+
+ private Boolean buildIncludeCriteria(CompilationUnit astRoot) {
+ return this.includeCriteriaAdapter.getValue(astRoot);
+ }
+
+ public TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot) {
+ return this.getElementTextRange(INCLUDE_CRITERIA_ADAPTER, astRoot);
+ }
// ********** static methods **********
@@ -140,9 +142,9 @@ public class SourceEclipseLinkMultitenantAnnotation2_3
private static DeclarationAnnotationElementAdapter<String> buildValueAdapter() {
return new EnumDeclarationAnnotationElementAdapter(DECLARATION_ANNOTATION_ADAPTER, EclipseLink.MULTITENANT__VALUE);
}
-//
-// private static DeclarationAnnotationElementAdapter<Boolean> buildIncludeCriteriaAdapter() {
-// return new ConversionDeclarationAnnotationElementAdapter<Boolean>(DECLARATION_ANNOTATION_ADAPTER, EclipseLink.MULTITENANT__INCLUDE_CRITERIA, BooleanExpressionConverter.instance());
-// }
+
+ private static DeclarationAnnotationElementAdapter<Boolean> buildIncludeCriteriaAdapter() {
+ return new ConversionDeclarationAnnotationElementAdapter<Boolean>(DECLARATION_ANNOTATION_ADAPTER, EclipseLink.MULTITENANT__INCLUDE_CRITERIA, BooleanExpressionConverter.instance());
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/java/EclipseLinkMultitenantAnnotation2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/java/EclipseLinkMultitenantAnnotation2_3.java
index 0ef58fdd45..7cf96e0e02 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/java/EclipseLinkMultitenantAnnotation2_3.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/java/EclipseLinkMultitenantAnnotation2_3.java
@@ -56,25 +56,25 @@ public interface EclipseLinkMultitenantAnnotation2_3
TextRange getValueTextRange(CompilationUnit astRoot);
-// //********* include criteria added in EclipseLink 2.4 **********
-// /**
-// * Corresponds to the 'includeCriteria' element of the Multitenant annotation.
-// * Return null if the element does not exist in Java.
-// */
-// Boolean getIncludeCriteria();
-// String INCLUDE_CRITERIA_PROPERTY = "includeCriteria"; //$NON-NLS-1$
-//
-// /**
-// * Corresponds to the 'includeCriteria' element of the Multitenant annotation.
-// * Set to null to remove the element.
-// */
-// void setIncludeCriteria(Boolean includeCriteria);
-//
-// /**
-// * Return the {@link TextRange} for the 'includeCriteria' element.
-// * If the element does not exist return the {@link TextRange}
-// * for the Multitenant annotation.
-// */
-// TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot);
+ //********* include criteria added in EclipseLink 2.4 **********
+ /**
+ * Corresponds to the 'includeCriteria' element of the Multitenant annotation.
+ * Return null if the element does not exist in Java.
+ */
+ Boolean getIncludeCriteria();
+ String INCLUDE_CRITERIA_PROPERTY = "includeCriteria"; //$NON-NLS-1$
+
+ /**
+ * Corresponds to the 'includeCriteria' element of the Multitenant annotation.
+ * Set to null to remove the element.
+ */
+ void setIncludeCriteria(Boolean includeCriteria);
+
+ /**
+ * Return the {@link TextRange} for the 'includeCriteria' element.
+ * If the element does not exist return the {@link TextRange}
+ * for the Multitenant annotation.
+ */
+ TextRange getIncludeCriteriaTextRange(CompilationUnit astRoot);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMultitenant.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMultitenant.java
index f6db5c8574..f4fa82820c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMultitenant.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlMultitenant.java
@@ -20,6 +20,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.resource.xml.AbstractJpaEObject;
import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.MultitenantType;
import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3;
@@ -366,6 +367,10 @@ public class XmlMultitenant extends AbstractJpaEObject implements XmlMultitenant
return result.toString();
}
+ public TextRange getIncludeCriteriaTextRange() {
+ return getAttributeTextRange(EclipseLink2_4.MULTITENANT__INCLUDE_CRITERIA);
+ }
+
// ********** translators **********
public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_4/XmlMultitenant_2_4.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_4/XmlMultitenant_2_4.java
index a8c7b5d69f..b3755a2595 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_4/XmlMultitenant_2_4.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/v2_4/XmlMultitenant_2_4.java
@@ -9,6 +9,7 @@
*******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4;
+import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.resource.xml.JpaEObject;
/**
@@ -56,4 +57,6 @@ public interface XmlMultitenant_2_4 extends JpaEObject
*/
void setIncludeCriteria(Boolean value);
+ TextRange getIncludeCriteriaTextRange();
+
} // XmlMultitenant_2_4

Back to the top