Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2009-09-10 16:10:15 +0000
committerkmoore2009-09-10 16:10:15 +0000
commit02de74ab4780c7956494e5caa4824f69e7a388ee (patch)
tree7950db9d5a3a764a098d601bc2e11ab479a1a958
parenta8f768f38fa8fb4c6b97a01698e241ecca2ce428 (diff)
downloadwebtools.dali-02de74ab4780c7956494e5caa4824f69e7a388ee.tar.gz
webtools.dali-02de74ab4780c7956494e5caa4824f69e7a388ee.tar.xz
webtools.dali-02de74ab4780c7956494e5caa4824f69e7a388ee.zip
refactored AttributeOverrideContainer to work in both entity and embedded mapping. refactored the UI to remvoe the duplication
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/model/jpaResourceModels.genmodel4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/model/orm.ecore5
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeMapping.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeOverrideContainer.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/BaseEmbeddedMapping.java53
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/ColumnMapping.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/Entity.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaBaseEmbeddedMapping.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedIdMapping.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedMapping.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeOverrideContainer.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmBaseEmbeddedMapping.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedIdMapping.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedMapping.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEntity.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmXmlContextNodeFactory.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractJpaFactory.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractOrmXmlContextNodeFactory.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/MappingTools.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaBaseEmbeddedMapping.java299
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java283
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java35
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbedded.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbeddedId.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverrideContainer.java40
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedIdMapping.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedMapping.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverrideContainer.java106
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlEmbedded.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java26
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEmbeddedMappingComposite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityComposite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityOverridesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/OverridesComposite.java)54
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractOverridesComposite.java118
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AssociationOverrideComposite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AttributeOverrideComposite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/ColumnComposite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedAttributeOverridesComposite.java328
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedMappingOverridesComposite.java82
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EntityOverridesComposite.java61
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/JoinColumnsComposite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/AssociationOverride2_0Composite.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Entity2_0OverridesComposite.java (renamed from jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Overrides2_0Composite.java)32
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java6
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedIdMappingTests.java94
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedMappingTests.java85
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedIdMappingTests.java97
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedMappingTests.java97
55 files changed, 717 insertions, 1427 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/model/jpaResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.core/model/jpaResourceModels.genmodel
index d0f59407af..8b9be4a934 100644
--- a/jpa/plugins/org.eclipse.jpt.core/model/jpaResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.core/model/jpaResourceModels.genmodel
@@ -162,9 +162,7 @@
<genClasses image="false" ecoreClass="orm.ecore#//XmlId">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference orm.ecore#//XmlId/generatedValue"/>
</genClasses>
- <genClasses image="false" ecoreClass="orm.ecore#//AbstractXmlEmbedded">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference orm.ecore#//AbstractXmlEmbedded/attributeOverrides"/>
- </genClasses>
+ <genClasses image="false" ecoreClass="orm.ecore#//AbstractXmlEmbedded"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlEmbeddedId"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlEmbedded"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlConvertibleMapping">
diff --git a/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore b/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
index 96962fdbe0..17861d238d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
+++ b/jpa/plugins/org.eclipse.jpt.core/model/orm.ecore
@@ -181,10 +181,7 @@
containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractXmlEmbedded" abstract="true"
- eSuperTypes="#//AbstractXmlAttributeMapping">
- <eStructuralFeatures xsi:type="ecore:EReference" name="attributeOverrides" upperBound="-1"
- eType="#//XmlAttributeOverride" containment="true" resolveProxies="false"/>
- </eClassifiers>
+ eSuperTypes="#//AbstractXmlAttributeMapping #//XmlAttributeOverrideContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddedId" eSuperTypes="#//AbstractXmlEmbedded"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlEmbedded" eSuperTypes="#//AbstractXmlEmbedded"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlConvertibleMapping" abstract="true"
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
index 0df61a01b1..69c75ce33e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/JpaFactory.java
@@ -238,7 +238,7 @@ public interface JpaFactory
JavaPrimaryKeyJoinColumn buildJavaPrimaryKeyJoinColumn(JavaJpaContextNode parent, JavaBaseJoinColumn.Owner owner);
- JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent);
+ JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent, JavaAttributeOverrideContainer.Owner owner);
JavaAttributeOverride buildJavaAttributeOverride(JavaJpaContextNode parent, AttributeOverride.Owner owner);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeMapping.java
index 03126ab83b..74c5c0d387 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2006, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -27,13 +27,14 @@ public interface AttributeMapping extends JpaContextNode
boolean isDefault();
/**
- * Return a unique key for the IPersistentAttributeMapping. If this is defined in
+ * Return a unique key for the attribute mapping. If this is defined in
* an extension they should be equal.
*/
String getKey();
/**
* Return whether the "attribute" mapping can be overridden.
+ * The attribute mapping must be a ColumnMapping
*/
boolean isOverridableAttributeMapping();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeOverrideContainer.java
index 41ad19d416..c223bae031 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeOverrideContainer.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/AttributeOverrideContainer.java
@@ -9,6 +9,7 @@
******************************************************************************/
package org.eclipse.jpt.core.context;
+import java.util.Iterator;
import java.util.ListIterator;
/**
@@ -72,5 +73,26 @@ public interface AttributeOverrideContainer
* with the given name.
*/
AttributeOverride getAttributeOverrideNamed(String name);
+
+
+ Owner getOwner();
+
+ interface Owner
+ {
+ Iterator<PersistentAttribute> allOverridableAttributes();
+
+ Iterator<String> allOverridableAttributeNames();
+
+ /**
+ * Return the type mapping of the owning persistent type.
+ */
+ TypeMapping getTypeMapping();
+
+ /**
+ * Return the overridable persistent type, not the owning persistent type.
+ * This will be the persistent type of the mapped superclass or embeddable.
+ */
+ PersistentType getOverridablePersistentType();
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/BaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/BaseEmbeddedMapping.java
index cfa7f4c3b3..3962cce614 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/BaseEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/BaseEmbeddedMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,8 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context;
-import java.util.ListIterator;
-
/**
*
*
@@ -20,53 +18,8 @@ import java.util.ListIterator;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface BaseEmbeddedMapping extends AttributeMapping, AttributeOverride.Owner
+public interface BaseEmbeddedMapping extends AttributeMapping, AttributeOverrideContainer.Owner
{
-
- /**
- * Return a list iterator of the attribute overrides whether specified or virtual.
- * This will not be null.
- */
- <T extends AttributeOverride> ListIterator<T> attributeOverrides();
-
- /**
- * Return the number of attribute overrides, both specified and default.
- */
- int attributeOverridesSize();
-
- /**
- * Return a list iterator of the specified attribute overrides.
- * This will not be null.
- */
- <T extends AttributeOverride> ListIterator<T> specifiedAttributeOverrides();
- String SPECIFIED_ATTRIBUTE_OVERRIDES_LIST = "specifiedAttributeOverrides"; //$NON-NLS-1$
-
- /**
- * Return the number of specified attribute overrides.
- */
- int specifiedAttributeOverridesSize();
-
- /**
- * Return a list iterator of the virtual attribute overrides.
- * This will not be null.
- */
- <T extends AttributeOverride> ListIterator<T> virtualAttributeOverrides();
- String VIRTUAL_ATTRIBUTE_OVERRIDES_LIST = "virtualAttributeOverrides"; //$NON-NLS-1$
-
- /**
- * Return the number of virtual attribute overrides.
- */
- int virtualAttributeOverridesSize();
-
- /**
- * Move the specified attribute override from the source index to the target index.
- */
- void moveSpecifiedAttributeOverride(int targetIndex, int sourceIndex);
-
- /**
- * Return the attribute overrides, whether specified or default,
- * with the given name.
- */
- AttributeOverride getAttributeOverrideNamed(String name);
+ AttributeOverrideContainer getAttributeOverrideContainer();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/ColumnMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/ColumnMapping.java
index 8e3c920caa..7342ab68a3 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/ColumnMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/ColumnMapping.java
@@ -18,7 +18,7 @@ package org.eclipse.jpt.core.context;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface ColumnMapping extends JpaContextNode, Column.Owner
+public interface ColumnMapping extends AttributeMapping, Column.Owner
{
Column getColumn();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/Entity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/Entity.java
index 8ce5efa822..0626e6c842 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/Entity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/Entity.java
@@ -21,7 +21,7 @@ import java.util.ListIterator;
* will almost certainly be broken (repeatedly) as the API evolves.
*/
public interface Entity
- extends TypeMapping, IdClassHolder
+ extends TypeMapping, IdClassHolder, AttributeOverrideContainer.Owner
{
// **************** name **************************************
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaBaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaBaseEmbeddedMapping.java
index deea4343bf..d6ec0827b6 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaBaseEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaBaseEmbeddedMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.java;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
/**
@@ -24,12 +23,5 @@ import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
public interface JavaBaseEmbeddedMapping
extends JavaAttributeMapping, BaseEmbeddedMapping
{
- @SuppressWarnings("unchecked")
- ListIterator<JavaAttributeOverride> attributeOverrides();
- @SuppressWarnings("unchecked")
- ListIterator<JavaAttributeOverride> virtualAttributeOverrides();
- @SuppressWarnings("unchecked")
- ListIterator<JavaAttributeOverride> specifiedAttributeOverrides();
-
- JavaAttributeOverride getAttributeOverrideNamed(String name);
+ JavaAttributeOverrideContainer getAttributeOverrideContainer();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedIdMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedIdMapping.java
index 0445bbaee1..6e27e9def1 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedIdMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedIdMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.java;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.EmbeddedIdMapping;
/**
@@ -24,7 +23,4 @@ import org.eclipse.jpt.core.context.EmbeddedIdMapping;
public interface JavaEmbeddedIdMapping
extends JavaBaseEmbeddedMapping, EmbeddedIdMapping
{
- ListIterator<JavaAttributeOverride> attributeOverrides();
- ListIterator<JavaAttributeOverride> virtualAttributeOverrides();
- ListIterator<JavaAttributeOverride> specifiedAttributeOverrides();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedMapping.java
index 1ca4de600e..294cf7ebe4 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/java/JavaEmbeddedMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.java;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.EmbeddedMapping;
/**
@@ -24,7 +23,4 @@ import org.eclipse.jpt.core.context.EmbeddedMapping;
public interface JavaEmbeddedMapping
extends JavaBaseEmbeddedMapping, EmbeddedMapping
{
- ListIterator<JavaAttributeOverride> attributeOverrides();
- ListIterator<JavaAttributeOverride> virtualAttributeOverrides();
- ListIterator<JavaAttributeOverride> specifiedAttributeOverrides();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeOverrideContainer.java
index 354279ff1b..64c0ed036a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeOverrideContainer.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmAttributeOverrideContainer.java
@@ -11,7 +11,9 @@ package org.eclipse.jpt.core.context.orm;
import java.util.ListIterator;
import org.eclipse.jpt.core.context.AttributeOverrideContainer;
+import org.eclipse.jpt.core.context.ColumnMapping;
import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.resource.orm.XmlColumn;
public interface OrmAttributeOverrideContainer extends AttributeOverrideContainer, XmlContextNode
{
@@ -27,4 +29,19 @@ public interface OrmAttributeOverrideContainer extends AttributeOverrideContaine
OrmAttributeOverride getAttributeOverrideNamed(String name);
void update();
+
+ void initializeFromAttributeOverrideContainer(OrmAttributeOverrideContainer oldContainer);
+
+ Owner getOwner();
+
+ interface Owner extends AttributeOverrideContainer.Owner
+ {
+ OrmTypeMapping getTypeMapping();
+
+ /**
+ * Build a virtual xml column based on the overridable column mapping.
+ */
+ XmlColumn buildVirtualXmlColumn(ColumnMapping overridableColumnMapping);
+
+ }
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmBaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmBaseEmbeddedMapping.java
index 584b69c1d1..f488b0e69e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmBaseEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmBaseEmbeddedMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.orm;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
/**
@@ -21,14 +20,8 @@ import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*/
-public interface OrmBaseEmbeddedMapping extends BaseEmbeddedMapping, OrmAttributeMapping
+public interface OrmBaseEmbeddedMapping extends BaseEmbeddedMapping, OrmAttributeMapping, OrmAttributeOverrideContainer.Owner
{
- @SuppressWarnings("unchecked")
- ListIterator<OrmAttributeOverride> attributeOverrides();
- @SuppressWarnings("unchecked")
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides();
- @SuppressWarnings("unchecked")
- ListIterator<OrmAttributeOverride> specifiedAttributeOverrides();
+ OrmAttributeOverrideContainer getAttributeOverrideContainer();
- OrmAttributeOverride getAttributeOverrideNamed(String name);
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedIdMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedIdMapping.java
index 7964f33ae1..c9c23721c1 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedIdMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedIdMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.orm;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.EmbeddedIdMapping;
/**
@@ -23,8 +22,5 @@ import org.eclipse.jpt.core.context.EmbeddedIdMapping;
*/
public interface OrmEmbeddedIdMapping extends EmbeddedIdMapping, OrmBaseEmbeddedMapping
{
- ListIterator<OrmAttributeOverride> attributeOverrides();
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides();
- ListIterator<OrmAttributeOverride> specifiedAttributeOverrides();
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedMapping.java
index 5b733c18b0..8fab908dc4 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEmbeddedMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008 Oracle. All rights reserved.
+ * Copyright (c) 2008, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.core.context.orm;
-import java.util.ListIterator;
import org.eclipse.jpt.core.context.EmbeddedMapping;
/**
@@ -23,7 +22,4 @@ import org.eclipse.jpt.core.context.EmbeddedMapping;
*/
public interface OrmEmbeddedMapping extends EmbeddedMapping, OrmBaseEmbeddedMapping
{
- ListIterator<OrmAttributeOverride> attributeOverrides();
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides();
- ListIterator<OrmAttributeOverride> specifiedAttributeOverrides();
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEntity.java
index da622d16ff..7d8a8dfe9e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmEntity.java
@@ -22,7 +22,7 @@ import org.eclipse.jpt.core.context.java.JavaEntity;
* will almost certainly be broken (repeatedly) as the API evolves.
*/
public interface OrmEntity
- extends Entity, OrmTypeMapping
+ extends Entity, OrmTypeMapping, OrmAttributeOverrideContainer.Owner
{
/**
* Return a list iterator of the virtual(not specified) secondary tables.
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmXmlContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmXmlContextNodeFactory.java
index 63ec937850..fd075d3aa4 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmXmlContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/orm/OrmXmlContextNodeFactory.java
@@ -98,7 +98,7 @@ public interface OrmXmlContextNodeFactory extends XmlContextNodeFactory
OrmJoinColumn buildOrmJoinColumn(XmlContextNode parent, OrmJoinColumn.Owner owner, XmlJoinColumn resourceJoinColumn);
- OrmAttributeOverrideContainer buildOrmAttributeOverrideContainer(XmlContextNode parent, XmlAttributeOverrideContainer resourceAttributeOverrideContainer);
+ OrmAttributeOverrideContainer buildOrmAttributeOverrideContainer(XmlContextNode parent, OrmAttributeOverrideContainer.Owner owner, XmlAttributeOverrideContainer resourceAttributeOverrideContainer);
OrmAssociationOverrideContainer buildOrmAssociationOverrideContainer(XmlContextNode parent, XmlAssociationOverrideContainer resourceAssociationOverrideContainer);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractJpaFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractJpaFactory.java
index 72169fa677..244bd97a44 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractJpaFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractJpaFactory.java
@@ -340,8 +340,8 @@ public abstract class AbstractJpaFactory
return new GenericJavaPrimaryKeyJoinColumn(parent, owner);
}
- public JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent) {
- return new GenericJavaAttributeOverrideContainer(parent);
+ public JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent, JavaAttributeOverrideContainer.Owner owner) {
+ return new GenericJavaAttributeOverrideContainer(parent, owner);
}
public JavaAssociationOverrideContainer buildJavaAssociationOverrideContainer(JavaJpaContextNode parent) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractOrmXmlContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractOrmXmlContextNodeFactory.java
index 4f7abed97b..31ec15fab3 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractOrmXmlContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/AbstractOrmXmlContextNodeFactory.java
@@ -222,8 +222,8 @@ public abstract class AbstractOrmXmlContextNodeFactory implements OrmXmlContextN
return new GenericOrmJoinColumn(parent, owner, resourceJoinColumn);
}
- public OrmAttributeOverrideContainer buildOrmAttributeOverrideContainer(XmlContextNode parent, XmlAttributeOverrideContainer resourceAttributeOverrideContainer) {
- return new GenericOrmAttributeOverrideContainer(parent, resourceAttributeOverrideContainer);
+ public OrmAttributeOverrideContainer buildOrmAttributeOverrideContainer(XmlContextNode parent, OrmAttributeOverrideContainer.Owner owner, XmlAttributeOverrideContainer resourceAttributeOverrideContainer) {
+ return new GenericOrmAttributeOverrideContainer(parent, owner, resourceAttributeOverrideContainer);
}
public OrmAssociationOverrideContainer buildOrmAssociationOverrideContainer(XmlContextNode parent, XmlAssociationOverrideContainer resourceAssociationOverrideContainer) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/MappingTools.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/MappingTools.java
index 146454083c..21f2531341 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/MappingTools.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/MappingTools.java
@@ -11,11 +11,11 @@ package org.eclipse.jpt.core.internal.context;
import java.util.Iterator;
import org.eclipse.jpt.core.context.ColumnMapping;
-import org.eclipse.jpt.core.context.Embeddable;
import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.JoinColumn;
import org.eclipse.jpt.core.context.JoinTable;
import org.eclipse.jpt.core.context.PersistentAttribute;
+import org.eclipse.jpt.core.context.PersistentType;
import org.eclipse.jpt.core.context.RelationshipMapping;
import org.eclipse.jpt.core.context.RelationshipReference;
import org.eclipse.jpt.db.Table;
@@ -148,11 +148,11 @@ public class MappingTools {
return targetEntity.getPrimaryKeyColumnName();
}
- public static ColumnMapping getColumnMapping(String attributeName, Embeddable embeddable) {
- if (attributeName == null || embeddable == null) {
+ public static ColumnMapping getColumnMapping(String attributeName, PersistentType persistentType) {
+ if (attributeName == null || persistentType == null) {
return null;
}
- for (Iterator<PersistentAttribute> stream = embeddable.getPersistentType().allAttributes(); stream.hasNext(); ) {
+ for (Iterator<PersistentAttribute> stream = persistentType.allAttributes(); stream.hasNext(); ) {
PersistentAttribute persAttribute = stream.next();
if (attributeName.equals(persAttribute.getName())) {
if (persAttribute.getMapping() instanceof ColumnMapping) {
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 55eaac59d9..4c124db35f 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
@@ -9,32 +9,19 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.java;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.Iterator;
import java.util.List;
-import java.util.ListIterator;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.context.AttributeOverride;
-import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
-import org.eclipse.jpt.core.context.BaseOverride;
-import org.eclipse.jpt.core.context.ColumnMapping;
import org.eclipse.jpt.core.context.Embeddable;
import org.eclipse.jpt.core.context.PersistentAttribute;
-import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
+import org.eclipse.jpt.core.context.PersistentType;
+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.resource.java.Annotation;
-import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.core.resource.java.AttributeOverridesAnnotation;
import org.eclipse.jpt.core.resource.java.JPA;
-import org.eclipse.jpt.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.utility.Filter;
-import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.utility.internal.iterators.CompositeListIterator;
import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
@@ -46,289 +33,51 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation>
extends AbstractJavaAttributeMapping<T>
implements JavaBaseEmbeddedMapping
{
- protected final List<JavaAttributeOverride> specifiedAttributeOverrides;
-
- protected final List<JavaAttributeOverride> virtualAttributeOverrides;
+ protected final JavaAttributeOverrideContainer attributeOverrideContainer;
private Embeddable embeddable;
protected AbstractJavaBaseEmbeddedMapping(JavaPersistentAttribute parent) {
super(parent);
- this.specifiedAttributeOverrides = new ArrayList<JavaAttributeOverride>();
- this.virtualAttributeOverrides = new ArrayList<JavaAttributeOverride>();
- }
-
- //****************** JavaAttributeMapping implemenation *******************
-
- public Iterator<String> supportingAnnotationNames() {
- return new ArrayIterator<String>(
- JPA.ATTRIBUTE_OVERRIDE,
- JPA.ATTRIBUTE_OVERRIDES);
- }
-
- //****************** AttributeOverride.Owner implemenation *******************
-
- public ColumnMapping getColumnMapping(String attributeName) {
- return MappingTools.getColumnMapping(attributeName, getEmbeddable());
- }
-
- public boolean isVirtual(BaseOverride override) {
- return this.virtualAttributeOverrides.contains(override);
- }
-
- public BaseOverride setVirtual(boolean virtual, BaseOverride override) {
- // Add a new attribute override
- if (virtual) {
- return setAttributeOverrideVirtual((JavaAttributeOverride) override);
- }
- return setAttributeOverrideSpecified((JavaAttributeOverride) override);
- }
-
- protected JavaAttributeOverride setAttributeOverrideVirtual(JavaAttributeOverride attributeOverride) {
- int index = this.specifiedAttributeOverrides.indexOf(attributeOverride);
- this.specifiedAttributeOverrides.remove(index);
- String attributeOverrideName = attributeOverride.getName();
- //add the virtual attribute override so that I can control the order that change notification is sent.
- //otherwise when we remove the annotation from java we will get an update and add the attribute override
- //during the udpate. This causes the UI to be flaky, since change notification might not occur in the correct order
- JavaAttributeOverride virtualAttributeOverride = null;
- if (attributeOverrideName != null) {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(allOverridableAttributes())) {
- if (persistentAttribute.getName().equals(attributeOverrideName)) {
- //store the virtualAttributeOverride so we can fire change notification later
- virtualAttributeOverride = buildVirtualAttributeOverride(persistentAttribute.getName());
- this.virtualAttributeOverrides.add(virtualAttributeOverride);
- break;
- }
- }
- }
-
- getResourcePersistentAttribute().removeAnnotation(index, AttributeOverrideAnnotation.ANNOTATION_NAME, AttributeOverridesAnnotation.ANNOTATION_NAME);
- fireItemRemoved(SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, attributeOverride);
-
- if (virtualAttributeOverride != null) {
- fireItemAdded(VIRTUAL_ATTRIBUTE_OVERRIDES_LIST, virtualAttributeOverridesSize() - 1, virtualAttributeOverride);
- }
- return virtualAttributeOverride;
- }
-
- protected JavaAttributeOverride setAttributeOverrideSpecified(JavaAttributeOverride oldAttributeOverride) {
- int index = specifiedAttributeOverridesSize();
- JavaAttributeOverride newAttributeOverride = getJpaFactory().buildJavaAttributeOverride(this, this);
- this.specifiedAttributeOverrides.add(index, newAttributeOverride);
-
- AttributeOverrideAnnotation attributeOverrideResource =
- (AttributeOverrideAnnotation) getResourcePersistentAttribute().addAnnotation(
- index, AttributeOverrideAnnotation.ANNOTATION_NAME,
- AttributeOverridesAnnotation.ANNOTATION_NAME);
- newAttributeOverride.initialize(attributeOverrideResource);
-
- int defaultIndex = this.virtualAttributeOverrides.indexOf(oldAttributeOverride);
- this.virtualAttributeOverrides.remove(defaultIndex);
-
- newAttributeOverride.setName(oldAttributeOverride.getName());
- newAttributeOverride.getColumn().setSpecifiedName(oldAttributeOverride.getColumn().getName());
-
- this.fireItemRemoved(VIRTUAL_ATTRIBUTE_OVERRIDES_LIST, defaultIndex, oldAttributeOverride);
- this.fireItemAdded(SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, newAttributeOverride);
-
- return newAttributeOverride;
- }
-
-
- //****************** BaseEmbeddedMapping implementation *******************
-
- @SuppressWarnings("unchecked")
- public ListIterator<JavaAttributeOverride> attributeOverrides() {
- return new CompositeListIterator<JavaAttributeOverride>(this.specifiedAttributeOverrides(), this.virtualAttributeOverrides());
- }
-
- public int attributeOverridesSize() {
- return this.specifiedAttributeOverridesSize() + this.virtualAttributeOverridesSize();
- }
-
- public ListIterator<JavaAttributeOverride> virtualAttributeOverrides() {
- return new CloneListIterator<JavaAttributeOverride>(this.virtualAttributeOverrides);
- }
-
- public int virtualAttributeOverridesSize() {
- return this.virtualAttributeOverrides.size();
- }
-
- public ListIterator<JavaAttributeOverride> specifiedAttributeOverrides() {
- return new CloneListIterator<JavaAttributeOverride>(this.specifiedAttributeOverrides);
- }
-
- public int specifiedAttributeOverridesSize() {
- return this.specifiedAttributeOverrides.size();
- }
-
- protected void addSpecifiedAttributeOverride(int index, JavaAttributeOverride attributeOverride) {
- addItemToList(index, attributeOverride, this.specifiedAttributeOverrides, BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- protected void addSpecifiedAttributeOverride(JavaAttributeOverride attributeOverride) {
- addSpecifiedAttributeOverride(this.specifiedAttributeOverrides.size(), attributeOverride);
- }
-
- protected void removeSpecifiedAttributeOverride_(JavaAttributeOverride attributeOverride) {
- removeItemFromList(attributeOverride, this.specifiedAttributeOverrides, BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public void moveSpecifiedAttributeOverride(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.specifiedAttributeOverrides, targetIndex, sourceIndex);
- getResourcePersistentAttribute().moveAnnotation(
- targetIndex, sourceIndex, AttributeOverridesAnnotation.ANNOTATION_NAME);
- fireItemMoved(BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, targetIndex, sourceIndex);
- }
-
- protected void addVirtualAttributeOverride(JavaAttributeOverride attributeOverride) {
- addItemToList(attributeOverride, this.virtualAttributeOverrides, BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- protected void removeVirtualAttributeOverride(JavaAttributeOverride attributeOverride) {
- removeItemFromList(attributeOverride, this.virtualAttributeOverrides, BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public JavaAttributeOverride getAttributeOverrideNamed(String name) {
- return (JavaAttributeOverride) getOverrideNamed(name, attributeOverrides());
+ this.attributeOverrideContainer = this.getJpaFactory().buildJavaAttributeOverrideContainer(this, this);
}
- public boolean containsAttributeOverride(String name) {
- return containsOverride(name, attributeOverrides());
+ public JavaAttributeOverrideContainer getAttributeOverrideContainer() {
+ return this.attributeOverrideContainer;
}
- public boolean containsDefaultAttributeOverride(String name) {
- return containsOverride(name, virtualAttributeOverrides());
- }
-
- public boolean containsSpecifiedAttributeOverride(String name) {
- return containsOverride(name, specifiedAttributeOverrides());
+ public PersistentType getOverridablePersistentType() {
+ Embeddable embeddable = getEmbeddable();
+ return embeddable == null ? null : embeddable.getPersistentType();
}
- protected BaseOverride getOverrideNamed(String name, ListIterator<? extends BaseOverride> overrides) {
- for (BaseOverride override : CollectionTools.iterable(overrides)) {
- String overrideName = override.getName();
- if (overrideName == null && name == null) {
- return override;
- }
- if (overrideName != null && overrideName.equals(name)) {
- return override;
- }
- }
- return null;
- }
+ //****************** JavaAttributeMapping implementation *******************
- protected boolean containsOverride(String name, ListIterator<? extends BaseOverride> overrides) {
- return getOverrideNamed(name, overrides) != null;
- }
+ public Iterator<String> supportingAnnotationNames() {
+ return new ArrayIterator<String>(
+ JPA.ATTRIBUTE_OVERRIDE,
+ JPA.ATTRIBUTE_OVERRIDES);
+ }
public Embeddable getEmbeddable() {
return this.embeddable;
}
-
@Override
protected void initialize() {
super.initialize();
- this.initializeAttributeOverrides();
- this.initializeDefaultAttributeOverrides();
+ this.attributeOverrideContainer.initialize(this.resourcePersistentAttribute);
this.embeddable = this.getPersistentAttribute().getEmbeddable();
}
- protected void initializeAttributeOverrides() {
- Iterator<NestableAnnotation> annotations =
- this.resourcePersistentAttribute.annotations(
- AttributeOverrideAnnotation.ANNOTATION_NAME,
- AttributeOverridesAnnotation.ANNOTATION_NAME);
-
- while(annotations.hasNext()) {
- JavaAttributeOverride attributeOverride = getJpaFactory().buildJavaAttributeOverride(this, this);
- attributeOverride.initialize((AttributeOverrideAnnotation) annotations.next());
- this.specifiedAttributeOverrides.add(attributeOverride);
- }
- }
-
- protected void initializeDefaultAttributeOverrides() {
- for (Iterator<String> i = allOverridableAttributeNames(); i.hasNext(); ) {
- String attributeName = i.next();
- JavaAttributeOverride attributeOverride = getAttributeOverrideNamed(attributeName);
- if (attributeOverride == null) {
- this.virtualAttributeOverrides.add(buildVirtualAttributeOverride(attributeName));
- }
- }
- }
-
@Override
protected void update() {
super.update();
this.embeddable = this.getPersistentAttribute().getEmbeddable();
- this.updateSpecifiedAttributeOverrides();
- this.updateVirtualAttributeOverrides();
-
- }
- protected void updateSpecifiedAttributeOverrides() {
- ListIterator<JavaAttributeOverride> attributeOverrides = specifiedAttributeOverrides();
- Iterator<NestableAnnotation> resourceAttributeOverrides =
- this.resourcePersistentAttribute.annotations(
- AttributeOverrideAnnotation.ANNOTATION_NAME,
- AttributeOverridesAnnotation.ANNOTATION_NAME);
-
- while (attributeOverrides.hasNext()) {
- JavaAttributeOverride attributeOverride = attributeOverrides.next();
- if (resourceAttributeOverrides.hasNext()) {
- attributeOverride.update((AttributeOverrideAnnotation) resourceAttributeOverrides.next());
- }
- else {
- removeSpecifiedAttributeOverride_(attributeOverride);
- }
- }
-
- while (resourceAttributeOverrides.hasNext()) {
- addSpecifiedAttributeOverride(buildAttributeOverride((AttributeOverrideAnnotation) resourceAttributeOverrides.next()));
- }
- }
-
- protected JavaAttributeOverride buildAttributeOverride(AttributeOverrideAnnotation attributeOverrideResource) {
- JavaAttributeOverride attributeOverride = getJpaFactory().buildJavaAttributeOverride(this, this);
- attributeOverride.initialize(attributeOverrideResource);
- return attributeOverride;
- }
-
- protected JavaAttributeOverride buildVirtualAttributeOverride(String attributeName) {
- return buildAttributeOverride(buildVirtualAttributeOverrideAnnotation(attributeName));
- }
-
- protected VirtualAttributeOverrideAnnotation buildVirtualAttributeOverrideAnnotation(String attributeName) {
- ColumnMapping columnMapping = (ColumnMapping) this.getEmbeddable().getPersistentType().getAttributeNamed(attributeName).getMapping();
- return new VirtualAttributeOverrideAnnotation(this.resourcePersistentAttribute, attributeName, columnMapping.getColumn());
+ getAttributeOverrideContainer().update(this.resourcePersistentAttribute);
}
- protected void updateVirtualAttributeOverrides() {
- for (Iterator<String> i = allOverridableAttributeNames(); i.hasNext(); ) {
- String attributeName = i.next();
- JavaAttributeOverride attributeOverride = getAttributeOverrideNamed(attributeName);
- if (attributeOverride == null) {
- addVirtualAttributeOverride(buildVirtualAttributeOverride(attributeName));
- }
- else if (attributeOverride.isVirtual()) {
- attributeOverride.update(buildVirtualAttributeOverrideAnnotation(attributeName));
- }
- }
-
- Collection<String> attributeNames = CollectionTools.collection(allOverridableAttributeNames());
-
- //remove any default mappings that are not included in the attributeNames collection
- for (JavaAttributeOverride attributeOverride : CollectionTools.iterable(virtualAttributeOverrides())) {
- if (!attributeNames.contains(attributeOverride.getName())
- || containsSpecifiedAttributeOverride(attributeOverride.getName())) {
- removeVirtualAttributeOverride(attributeOverride);
- }
- }
- }
-
-
public Iterator<String> allOverridableAttributeNames() {
return new TransformationIterator<PersistentAttribute, String>(this.allOverridableAttributes()) {
@Override
@@ -356,11 +105,10 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation>
if (result != null) {
return result;
}
- for (AttributeOverride override : CollectionTools.iterable(this.attributeOverrides())) {
- result = ((JavaAttributeOverride) override).javaCompletionProposals(pos, filter, astRoot);
- if (result != null) {
- return result;
- }
+
+ result = getAttributeOverrideContainer().javaCompletionProposals(pos, filter, astRoot);
+ if (result != null) {
+ return result;
}
return null;
}
@@ -370,9 +118,6 @@ public abstract class AbstractJavaBaseEmbeddedMapping<T extends Annotation>
@Override
public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) {
super.validate(messages, reporter, astRoot);
-
- for (Iterator<JavaAttributeOverride> stream = attributeOverrides(); stream.hasNext();) {
- stream.next().validate(messages, reporter, astRoot);
- }
+ getAttributeOverrideContainer().validate(messages, reporter, astRoot);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java
index b4af16ee2c..ea19cff0ec 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java
@@ -128,7 +128,7 @@ public abstract class AbstractJavaEntity
this.discriminatorColumn = buildJavaDiscriminatorColumn();
this.specifiedSecondaryTables = new ArrayList<JavaSecondaryTable>();
this.specifiedPrimaryKeyJoinColumns = new ArrayList<JavaPrimaryKeyJoinColumn>();
- this.attributeOverrideContainer = this.getJpaFactory().buildJavaAttributeOverrideContainer(this);
+ this.attributeOverrideContainer = this.getJpaFactory().buildJavaAttributeOverrideContainer(this, this);
this.associationOverrideContainer = this.getJpaFactory().buildJavaAssociationOverrideContainer(this);
this.queryContainer = this.getJpaFactory().buildJavaQueryContainer(this);
this.generatorContainer = this.getJpaFactory().buildJavaGeneratorContainer(this);
@@ -275,8 +275,20 @@ public abstract class AbstractJavaEntity
protected EntityAnnotation getResourceMappingAnnotation() {
return (EntityAnnotation) super.getResourceMappingAnnotation();
}
+
+
+ //****************** AttributeOverrideContainer.Owner implementation *******************
+
+ public TypeMapping getTypeMapping() {
+ return this;
+ }
+
+ public PersistentType getOverridablePersistentType() {
+ return getPersistentType().getSuperPersistentType();
+ }
+
- //****************** TypeMapping implemenation *******************
+ //****************** TypeMapping implementation *******************
public String getKey() {
return MappingKeys.ENTITY_TYPE_MAPPING_KEY;
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 351758f9a3..6141f8c746 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
@@ -9,31 +9,18 @@
******************************************************************************/
package org.eclipse.jpt.core.internal.context.orm;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
-import org.eclipse.jpt.core.context.BaseOverride;
import org.eclipse.jpt.core.context.ColumnMapping;
import org.eclipse.jpt.core.context.Embeddable;
import org.eclipse.jpt.core.context.PersistentAttribute;
-import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
+import org.eclipse.jpt.core.context.PersistentType;
+import org.eclipse.jpt.core.context.java.JavaBaseEmbeddedMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
+import org.eclipse.jpt.core.context.orm.OrmAttributeOverrideContainer;
import org.eclipse.jpt.core.context.orm.OrmBaseEmbeddedMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.context.MappingTools;
-import org.eclipse.jpt.core.internal.context.java.AbstractJavaBaseEmbeddedMapping;
import org.eclipse.jpt.core.resource.orm.AbstractXmlEmbedded;
-import org.eclipse.jpt.core.resource.orm.OrmFactory;
-import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride;
import org.eclipse.jpt.core.resource.orm.XmlColumn;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.iterators.CloneIterator;
-import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.utility.internal.iterators.CompositeListIterator;
import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
@@ -41,175 +28,36 @@ import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
public abstract class AbstractOrmBaseEmbeddedMapping<T extends AbstractXmlEmbedded> extends AbstractOrmAttributeMapping<T> implements OrmBaseEmbeddedMapping
{
- protected final List<OrmAttributeOverride> specifiedAttributeOverrides;
-
- protected final List<OrmAttributeOverride> virtualAttributeOverrides;
+ protected OrmAttributeOverrideContainer attributeOverrideContainer;
private Embeddable embeddable;//TODO hmm, why no property change notification for setting this??
protected AbstractOrmBaseEmbeddedMapping(OrmPersistentAttribute parent, T resourceMapping) {
super(parent, resourceMapping);
this.embeddable = embeddableFor(this.getJavaPersistentAttribute());
- this.specifiedAttributeOverrides = new ArrayList<OrmAttributeOverride>();
- this.virtualAttributeOverrides = new ArrayList<OrmAttributeOverride>();
- this.initializeSpecifiedAttributeOverrides();
- this.initializeVirtualAttributeOverrides();
+ this.attributeOverrideContainer = getXmlContextNodeFactory().buildOrmAttributeOverrideContainer(this, this, this.resourceAttributeMapping);
}
@Override
public void initializeFromOrmBaseEmbeddedMapping(OrmBaseEmbeddedMapping oldMapping) {
super.initializeFromOrmBaseEmbeddedMapping(oldMapping);
- int index = 0;
- for (OrmAttributeOverride attributeOverride : CollectionTools.iterable(oldMapping.specifiedAttributeOverrides())) {
- OrmAttributeOverride newAttributeOverride = addSpecifiedAttributeOverride(index++);
- newAttributeOverride.setName(attributeOverride.getName());
- newAttributeOverride.getColumn().initializeFrom(attributeOverride.getColumn());
- }
- }
-
- @SuppressWarnings("unchecked")
- public ListIterator<OrmAttributeOverride> attributeOverrides() {
- return new CompositeListIterator<OrmAttributeOverride>(specifiedAttributeOverrides(), virtualAttributeOverrides());
- }
-
- public int attributeOverridesSize() {
- return this.specifiedAttributeOverridesSize() + this.virtualAttributeOverridesSize();
- }
-
- public ListIterator<OrmAttributeOverride> virtualAttributeOverrides() {
- return new CloneListIterator<OrmAttributeOverride>(this.virtualAttributeOverrides);
- }
- protected void addVirtualAttributeOverride(OrmAttributeOverride attributeOverride) {
- addItemToList(attributeOverride, this.virtualAttributeOverrides, BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- protected void removeVirtualAttributeOverride(OrmAttributeOverride attributeOverride) {
- removeItemFromList(attributeOverride, this.virtualAttributeOverrides, BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST);
+ this.attributeOverrideContainer.initializeFromAttributeOverrideContainer(oldMapping.getAttributeOverrideContainer());
}
- public int virtualAttributeOverridesSize() {
- return this.virtualAttributeOverrides.size();
+ public OrmAttributeOverrideContainer getAttributeOverrideContainer() {
+ return this.attributeOverrideContainer;
}
- public ListIterator<OrmAttributeOverride> specifiedAttributeOverrides() {
- return new CloneListIterator<OrmAttributeOverride>(this.specifiedAttributeOverrides);
- }
-
- public int specifiedAttributeOverridesSize() {
- return this.specifiedAttributeOverrides.size();
- }
-
- protected OrmAttributeOverride addSpecifiedAttributeOverride(int index) {
- XmlAttributeOverride xmlAttributeOverride = OrmFactory.eINSTANCE.createXmlAttributeOverride();
- OrmAttributeOverride attributeOverride = buildAttributeOverride(xmlAttributeOverride);
- this.specifiedAttributeOverrides.add(index, attributeOverride);
- this.resourceAttributeMapping.getAttributeOverrides().add(index, xmlAttributeOverride);
- this.fireItemAdded(BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, attributeOverride);
- return attributeOverride;
- }
-
- protected void addSpecifiedAttributeOverride(int index, OrmAttributeOverride attributeOverride) {
- addItemToList(index, attributeOverride, this.specifiedAttributeOverrides, BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- protected void addSpecifiedAttributeOverride(OrmAttributeOverride attributeOverride) {
- this.addSpecifiedAttributeOverride(this.specifiedAttributeOverrides.size(), attributeOverride);
- }
-
- protected void removeSpecifiedAttributeOverride_(OrmAttributeOverride attributeOverride) {
- removeItemFromList(attributeOverride, this.specifiedAttributeOverrides, BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST);
- }
-
- public void moveSpecifiedAttributeOverride(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.specifiedAttributeOverrides, targetIndex, sourceIndex);
- this.resourceAttributeMapping.getAttributeOverrides().move(targetIndex, sourceIndex);
- fireItemMoved(BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, targetIndex, sourceIndex);
- }
-
- public OrmAttributeOverride getAttributeOverrideNamed(String attributeName) {
- return (OrmAttributeOverride) getOverrideNamed(attributeName, attributeOverrides());
- }
-
- protected BaseOverride getOverrideNamed(String name, ListIterator<? extends BaseOverride> overrides) {
- for (BaseOverride override : CollectionTools.iterable(overrides)) {
- String overrideName = override.getName();
- if (overrideName == null && name == null) {
- return override;
- }
- if (overrideName != null && overrideName.equals(name)) {
- return override;
- }
- }
- return null;
- }
-
- //****************** AttributeOverride.Owner implemenation *******************
-
- public boolean isVirtual(BaseOverride override) {
- return this.virtualAttributeOverrides.contains(override);
- }
-
- public BaseOverride setVirtual(boolean virtual, BaseOverride override) {
- // Add a new attribute override
- if (virtual) {
- return setVirtual((OrmAttributeOverride) override);
- }
- return setSpecified((OrmAttributeOverride) override);
- }
- protected OrmAttributeOverride setVirtual(OrmAttributeOverride attributeOverride) {
- int index = this.specifiedAttributeOverrides.indexOf(attributeOverride);
- this.specifiedAttributeOverrides.remove(index);
- String attributeOverrideName = attributeOverride.getName();
- //add the virtual attribute override so that I can control the order that change notification is sent.
- //otherwise when we remove the annotation from java we will get an update and add the attribute override
- //during the udpate. This causes the UI to be flaky, since change notification might not occur in the correct order
- OrmAttributeOverride virtualAttributeOverride = null;
- if (attributeOverrideName != null) {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(allOverridableAttributes())) {
- if (persistentAttribute.getName().equals(attributeOverrideName)) {
- JavaAttributeOverride javaAttributeOverride = null;
- if (getJavaEmbeddedMapping() != null) {
- javaAttributeOverride = getJavaEmbeddedMapping().getAttributeOverrideNamed(attributeOverrideName);
- }
- //store the virtualAttributeOverride so we can fire change notification later
- virtualAttributeOverride = buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride);
- this.virtualAttributeOverrides.add(virtualAttributeOverride);
- }
- }
- }
-
- this.resourceAttributeMapping.getAttributeOverrides().remove(index);
- fireItemRemoved(BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, attributeOverride);
-
- if (virtualAttributeOverride != null) {
- fireItemAdded(BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST, virtualAttributeOverridesSize() - 1, virtualAttributeOverride);
- }
- return virtualAttributeOverride;
- }
+ //************* AttributeOverrideContainer.Owner implementation ********************
- protected OrmAttributeOverride setSpecified(OrmAttributeOverride oldAttributeOverride) {
- int index = specifiedAttributeOverridesSize();
- XmlAttributeOverride xmlAttributeOverride = OrmFactory.eINSTANCE.createXmlAttributeOverride();
- OrmAttributeOverride newAttributeOverride = getXmlContextNodeFactory().buildOrmAttributeOverride(this, this, xmlAttributeOverride);
- this.specifiedAttributeOverrides.add(index, newAttributeOverride);
-
- this.resourceAttributeMapping.getAttributeOverrides().add(xmlAttributeOverride);
-
- int defaultIndex = this.virtualAttributeOverrides.indexOf(oldAttributeOverride);
- this.virtualAttributeOverrides.remove(defaultIndex);
-
- newAttributeOverride.setName(oldAttributeOverride.getName());
- newAttributeOverride.getColumn().setSpecifiedName(oldAttributeOverride.getColumn().getName());
-
- this.fireItemRemoved(BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST, defaultIndex, oldAttributeOverride);
- this.fireItemAdded(BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, newAttributeOverride);
-
- return newAttributeOverride;
+ public XmlColumn buildVirtualXmlColumn(ColumnMapping overridableColumnMapping) {
+ return new VirtualXmlAttributeOverrideColumn(overridableColumnMapping.getColumn());
}
- public ColumnMapping getColumnMapping(String attributeName) {
- return MappingTools.getColumnMapping(attributeName, getEmbeddable());
+ public PersistentType getOverridablePersistentType() {
+ Embeddable embeddable = getEmbeddable();
+ return embeddable == null ? null : embeddable.getPersistentType();
}
public Embeddable getEmbeddable() {
@@ -237,117 +85,20 @@ public abstract class AbstractOrmBaseEmbeddedMapping<T extends AbstractXmlEmbedd
};
}
- public AbstractJavaBaseEmbeddedMapping<?> getJavaEmbeddedMapping() {
+ public JavaBaseEmbeddedMapping getJavaEmbeddedMapping() {
JavaPersistentAttribute jpa = this.getJavaPersistentAttribute();
if ((jpa != null) && this.valuesAreEqual(jpa.getMappingKey(), this.getKey())) {
- return (AbstractJavaBaseEmbeddedMapping<?>) jpa.getMapping();
+ return (JavaBaseEmbeddedMapping) jpa.getMapping();
}
return null;
}
-
- protected void initializeSpecifiedAttributeOverrides() {
- for (XmlAttributeOverride attributeOverride : this.resourceAttributeMapping.getAttributeOverrides()) {
- this.specifiedAttributeOverrides.add(buildAttributeOverride(attributeOverride));
- }
- }
-
- protected void initializeVirtualAttributeOverrides() {
- if (getPersistentAttribute().isVirtual()) {
- //specifiedAttributeOverrides are used if the persistentAttribute is virtual
- return;
- }
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(allOverridableAttributes())) {
- OrmAttributeOverride attributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
- if (attributeOverride == null) {
- JavaAttributeOverride javaAttributeOverride = null;
- if (getJavaEmbeddedMapping() != null) {
- javaAttributeOverride = getJavaEmbeddedMapping().getAttributeOverrideNamed(persistentAttribute.getName());
- }
- this.virtualAttributeOverrides.add(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
- }
- }
- }
- protected OrmAttributeOverride buildVirtualAttributeOverride(PersistentAttribute persistentAttribute, JavaAttributeOverride javaAttributeOverride) {
- return buildAttributeOverride(buildVirtualXmlAttributeOverride(persistentAttribute, javaAttributeOverride));
- }
-
- protected XmlAttributeOverride buildVirtualXmlAttributeOverride(PersistentAttribute persistentAttribute, JavaAttributeOverride javaAttributeOverride) {
- XmlColumn xmlColumn;
- if (javaAttributeOverride == null || !isDefault()) {
- ColumnMapping columnMapping = (ColumnMapping) persistentAttribute.getMapping();
- xmlColumn = new VirtualXmlAttributeOverrideColumn(columnMapping.getColumn());
- }
- else {
- xmlColumn = new VirtualXmlColumn(getTypeMapping(), javaAttributeOverride.getColumn());
- }
- return new VirtualXmlAttributeOverride(persistentAttribute.getName(), xmlColumn);
- }
-
- protected OrmAttributeOverride buildAttributeOverride(XmlAttributeOverride attributeOverride) {
- return getXmlContextNodeFactory().buildOrmAttributeOverride(this, this, attributeOverride);
- }
@Override
public void update() {
super.update();
this.embeddable = embeddableFor(this.getJavaPersistentAttribute());
- this.updateSpecifiedAttributeOverrides();
- this.updateVirtualAttributeOverrides();
- }
-
- protected void updateSpecifiedAttributeOverrides() {
- // make a copy of the XML overrides (to prevent ConcurrentModificationException)
- Iterator<XmlAttributeOverride> xmlOverrides = new CloneIterator<XmlAttributeOverride>(this.resourceAttributeMapping.getAttributeOverrides());
-
- for (Iterator<OrmAttributeOverride> contextOverrides = this.specifiedAttributeOverrides(); contextOverrides.hasNext(); ) {
- OrmAttributeOverride contextOverride = contextOverrides.next();
- if (xmlOverrides.hasNext()) {
- contextOverride.update(xmlOverrides.next());
- }
- else {
- removeSpecifiedAttributeOverride_(contextOverride);
- }
- }
-
- while (xmlOverrides.hasNext()) {
- addSpecifiedAttributeOverride(buildAttributeOverride(xmlOverrides.next()));
- }
- }
-
- protected void updateVirtualAttributeOverrides() {
- Iterator<PersistentAttribute> overridableAttributes = allOverridableAttributes();
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides = virtualAttributeOverrides();
-
- if (!getPersistentAttribute().isVirtual()) {
- //specifiedAttributeOverrides are used if the persistentAttribute is virtual
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(overridableAttributes)) {
- OrmAttributeOverride ormAttributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
- if (ormAttributeOverride != null && !ormAttributeOverride.isVirtual()) {
- continue;
- }
- JavaAttributeOverride javaAttributeOverride = null;
- if (getJavaEmbeddedMapping() != null) {
- javaAttributeOverride = getJavaEmbeddedMapping().getAttributeOverrideNamed(persistentAttribute.getName());
- }
- if (ormAttributeOverride != null) {
- if (virtualAttributeOverrides.hasNext()) {
- OrmAttributeOverride virtualAttributeOverride = virtualAttributeOverrides.next();
- virtualAttributeOverride.update(buildVirtualXmlAttributeOverride(persistentAttribute, javaAttributeOverride));
- }
- else {
- addVirtualAttributeOverride(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
- }
- }
- else {
- addVirtualAttributeOverride(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
- }
- }
- }
- for (OrmAttributeOverride virtualAttributeOverride : CollectionTools.iterable(virtualAttributeOverrides)) {
- removeVirtualAttributeOverride(virtualAttributeOverride);
- }
-
+ getAttributeOverrideContainer().update();
}
//************ static methods ************
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
index 0eb8120ff3..feeaea59e6 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
@@ -18,6 +18,7 @@ import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.JpaPlatformVariation.Supported;
import org.eclipse.jpt.core.context.AttributeOverride;
import org.eclipse.jpt.core.context.BaseJoinColumn;
+import org.eclipse.jpt.core.context.ColumnMapping;
import org.eclipse.jpt.core.context.DiscriminatorColumn;
import org.eclipse.jpt.core.context.DiscriminatorType;
import org.eclipse.jpt.core.context.Entity;
@@ -28,6 +29,7 @@ import org.eclipse.jpt.core.context.PrimaryKeyJoinColumn;
import org.eclipse.jpt.core.context.SecondaryTable;
import org.eclipse.jpt.core.context.Table;
import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
import org.eclipse.jpt.core.context.java.JavaEntity;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.java.JavaPrimaryKeyJoinColumn;
@@ -45,11 +47,13 @@ import org.eclipse.jpt.core.context.orm.OrmPrimaryKeyJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmQueryContainer;
import org.eclipse.jpt.core.context.orm.OrmSecondaryTable;
import org.eclipse.jpt.core.context.orm.OrmTable;
+import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.validation.DefaultJpaValidationMessages;
import org.eclipse.jpt.core.internal.validation.JpaValidationMessages;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.core.resource.orm.Inheritance;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
+import org.eclipse.jpt.core.resource.orm.XmlColumn;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.resource.orm.XmlEntityMappings;
import org.eclipse.jpt.core.resource.orm.XmlIdClass;
@@ -231,7 +235,7 @@ public abstract class AbstractOrmEntity
}
protected OrmAttributeOverrideContainer buildAttributeOverrideContainer() {
- return getXmlContextNodeFactory().buildOrmAttributeOverrideContainer(this, this.resourceTypeMapping);
+ return getXmlContextNodeFactory().buildOrmAttributeOverrideContainer(this, this, this.resourceTypeMapping);
}
protected OrmGeneratorContainer buildGeneratorContainer() {
@@ -242,7 +246,8 @@ public abstract class AbstractOrmEntity
return getXmlContextNodeFactory().buildOrmQueryContainer(this, this.resourceTypeMapping);
}
- // ******************* ITypeMapping implementation ********************
+
+ // ******************* TypeMapping implementation ********************
public String getKey() {
return MappingKeys.ENTITY_TYPE_MAPPING_KEY;
@@ -311,6 +316,32 @@ public abstract class AbstractOrmEntity
return getJavaEntity();
}
+
+ //****************** OrmAttributeOverrideContainer.Owner implementation *******************
+
+ public PersistentType getOverridablePersistentType() {
+ return getPersistentType().getSuperPersistentType();
+ }
+
+ public OrmTypeMapping getTypeMapping() {
+ return this;
+ }
+
+ public XmlColumn buildVirtualXmlColumn(ColumnMapping overridableColumnMapping) {
+ JavaAttributeOverride javaAttributeOverride = getJavaAttributeOverrideNamed(overridableColumnMapping.getName());
+ if (javaAttributeOverride == null) {
+ return new VirtualXmlAttributeOverrideColumn(overridableColumnMapping.getColumn());
+ }
+ return new VirtualXmlColumn(this, javaAttributeOverride.getColumn());
+ }
+
+ protected JavaAttributeOverride getJavaAttributeOverrideNamed(String attributeName) {
+ if (getJavaEntity() != null) {
+ return getJavaEntity().getAttributeOverrideContainer().getAttributeOverrideNamed(attributeName);
+ }
+ return null;
+ }
+
public String getName() {
return (this.getSpecifiedName() == null) ? getDefaultName() : this.getSpecifiedName();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbedded.java
index 08723a0267..24dfaed2e2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbedded.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbedded.java
@@ -70,10 +70,10 @@ public class VirtualXmlEmbedded extends XmlEmbedded
EList<XmlAttributeOverride> attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_EMBEDDED__ATTRIBUTE_OVERRIDES);
ListIterator<JavaAttributeOverride> javaAttributeOverrides;
if (!this.isOrmMetadataComplete()) {
- javaAttributeOverrides = this.javaAttributeMapping.attributeOverrides();
+ javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().attributeOverrides();
}
else {
- javaAttributeOverrides = this.javaAttributeMapping.virtualAttributeOverrides();
+ javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().virtualAttributeOverrides();
}
for (JavaAttributeOverride javaAttributeOverride : CollectionTools.iterable(javaAttributeOverrides)) {
XmlColumn xmlColumn = new VirtualXmlColumn(this.ormTypeMapping, javaAttributeOverride.getColumn());
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbeddedId.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbeddedId.java
index df4cbecbdf..058723fb1b 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbeddedId.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlEmbeddedId.java
@@ -70,10 +70,10 @@ public class VirtualXmlEmbeddedId extends XmlEmbeddedId
EList<XmlAttributeOverride> attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_EMBEDDED_ID__ATTRIBUTE_OVERRIDES);
ListIterator<JavaAttributeOverride> javaAttributeOverrides;
if (!this.isOrmMetadataComplete()) {
- javaAttributeOverrides = this.javaAttributeMapping.attributeOverrides();
+ javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().attributeOverrides();
}
else {
- javaAttributeOverrides = this.javaAttributeMapping.virtualAttributeOverrides();
+ javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().virtualAttributeOverrides();
}
for (JavaAttributeOverride javaAttributeOverride : CollectionTools.iterable(javaAttributeOverrides)) {
XmlColumn xmlColumn = new VirtualXmlColumn(this.ormTypeMapping, javaAttributeOverride.getColumn());
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverrideContainer.java
index ff7a99b776..9c47153510 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverrideContainer.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaAttributeOverrideContainer.java
@@ -22,8 +22,8 @@ import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.TypeMapping;
import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
import org.eclipse.jpt.core.context.java.JavaAttributeOverrideContainer;
-import org.eclipse.jpt.core.context.java.JavaEntity;
import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.internal.context.MappingTools;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.jpt.core.internal.context.java.VirtualAttributeOverrideAnnotation;
import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
@@ -47,16 +47,17 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
protected final List<JavaAttributeOverride> virtualAttributeOverrides;
- public GenericJavaAttributeOverrideContainer(JavaJpaContextNode parent) {
+ protected final Owner owner;
+
+ public GenericJavaAttributeOverrideContainer(JavaJpaContextNode parent, Owner owner) {
super(parent);
+ this.owner = owner;
this.specifiedAttributeOverrides = new ArrayList<JavaAttributeOverride>();
this.virtualAttributeOverrides = new ArrayList<JavaAttributeOverride>();
}
- //TODO need a Owner object since the parent could be an Embedded or an Entity
- @Override
- public JavaEntity getParent() {
- return (JavaEntity) super.getParent();
+ public Owner getOwner() {
+ return this.owner;
}
@SuppressWarnings("unchecked")
@@ -110,10 +111,10 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
String attributeOverrideName = attributeOverride.getName();
//add the virtual attribute override so that I can control the order that change notification is sent.
//otherwise when we remove the annotation from java we will get an update and add the attribute override
- //during the udpate. This causes the UI to be flaky, since change notification might not occur in the correct order
+ //during the update. This causes the UI to be flaky, since change notification might not occur in the correct order
JavaAttributeOverride virtualAttributeOverride = null;
if (attributeOverrideName != null) {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getParent().allOverridableAttributes())) {
+ for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getOwner().allOverridableAttributes())) {
if (persistentAttribute.getName().equals(attributeOverrideName)) {
//store the virtualAttributeOverride so we can fire change notification later
virtualAttributeOverride = buildVirtualAttributeOverride(persistentAttribute);
@@ -241,7 +242,7 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
}
protected void initializeVirtualAttributeOverrides() {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getParent().allOverridableAttributes())) {
+ for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getOwner().allOverridableAttributes())) {
JavaAttributeOverride attributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
if (attributeOverride == null) {
this.virtualAttributeOverrides.add(buildVirtualAttributeOverride(persistentAttribute));
@@ -292,8 +293,8 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
return new VirtualAttributeOverrideAnnotation(this.javaResourcePersistentMember, attribute.getName(), columnMapping.getColumn());
}
- protected void updateVirtualAttributeOverrides( ) {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getParent().allOverridableAttributes())) {
+ protected void updateVirtualAttributeOverrides() {
+ for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getOwner().allOverridableAttributes())) {
JavaAttributeOverride attributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
if (attributeOverride == null) {
addVirtualAttributeOverride(buildVirtualAttributeOverride(persistentAttribute));
@@ -303,7 +304,7 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
}
}
- Collection<String> attributeNames = CollectionTools.collection(getParent().allOverridableAttributeNames());
+ Collection<String> attributeNames = CollectionTools.collection(getOwner().allOverridableAttributeNames());
//remove any default mappings that are not included in the attributeNames collection
for (JavaAttributeOverride attributeOverride : CollectionTools.iterable(virtualAttributeOverrides())) {
@@ -353,18 +354,7 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
class AttributeOverrideOwner implements AttributeOverride.Owner {
public ColumnMapping getColumnMapping(String attributeName) {
- if (attributeName == null) {
- return null;
- }
- for (Iterator<PersistentAttribute> stream = getParent().getPersistentType().allAttributes(); stream.hasNext();) {
- PersistentAttribute persAttribute = stream.next();
- if (attributeName.equals(persAttribute.getName())) {
- if (persAttribute.getMapping() instanceof ColumnMapping) {
- return (ColumnMapping) persAttribute.getMapping();
- }
- }
- }
- return null;
+ return MappingTools.getColumnMapping(attributeName, getOwner().getOverridablePersistentType());
}
public boolean isVirtual(BaseOverride override) {
@@ -376,7 +366,7 @@ public class GenericJavaAttributeOverrideContainer extends AbstractJavaJpaContex
}
public TypeMapping getTypeMapping() {
- return getParent();
+ return getOwner().getTypeMapping();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedIdMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedIdMapping.java
index f145173b47..cecd583e01 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedIdMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/java/GenericJavaEmbeddedIdMapping.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -25,7 +25,7 @@ public class GenericJavaEmbeddedIdMapping
super(parent);
}
- //****************** IJavaAttributeMapping implemenation *******************
+ //****************** JavaAttributeMapping implementation *******************
public String getKey() {
return MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY;
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 bbed10a3bf..d68501887b 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
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle. All rights reserved.
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -24,7 +24,7 @@ public class GenericJavaEmbeddedMapping
super(parent);
}
- //****************** IJavaAttributeMapping implemenation *******************
+ //****************** JavaAttributeMapping implementation *******************
public String getKey() {
return MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY;
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverrideContainer.java
index 990411df18..4c126893fc 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverrideContainer.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAttributeOverrideContainer.java
@@ -19,14 +19,11 @@ import org.eclipse.jpt.core.context.ColumnMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.TypeMapping;
import org.eclipse.jpt.core.context.XmlContextNode;
-import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverrideContainer;
-import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.internal.context.MappingTools;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlAttributeOverride;
-import org.eclipse.jpt.core.internal.context.orm.VirtualXmlAttributeOverrideColumn;
-import org.eclipse.jpt.core.internal.context.orm.VirtualXmlColumn;
import org.eclipse.jpt.core.resource.orm.OrmFactory;
import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride;
import org.eclipse.jpt.core.resource.orm.XmlAttributeOverrideContainer;
@@ -48,24 +45,29 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
protected final List<OrmAttributeOverride> virtualAttributeOverrides;
+ protected final Owner owner;
- public GenericOrmAttributeOverrideContainer(XmlContextNode parent, XmlAttributeOverrideContainer resource) {
+ public GenericOrmAttributeOverrideContainer(XmlContextNode parent, Owner owner, XmlAttributeOverrideContainer resource) {
super(parent);
+ this.owner = owner;
this.resourceAttributeOverrideContainer = resource;
this.specifiedAttributeOverrides = new ArrayList<OrmAttributeOverride>();
this.virtualAttributeOverrides = new ArrayList<OrmAttributeOverride>();
this.initializeSpecifiedAttributeOverrides();
this.initializeVirtualAttributeOverrides();
}
-
- //TODO need a Owner object since the parent could be an Embedded or an Entity
- @Override
- public OrmEntity getParent() {
- return (OrmEntity) super.getParent();
+
+ public void initializeFromAttributeOverrideContainer(OrmAttributeOverrideContainer oldContainer) {
+ int index = 0;
+ for (OrmAttributeOverride attributeOverride : CollectionTools.iterable(oldContainer.specifiedAttributeOverrides())) {
+ OrmAttributeOverride newAttributeOverride = addSpecifiedAttributeOverride(index++);
+ newAttributeOverride.setName(attributeOverride.getName());
+ newAttributeOverride.getColumn().initializeFrom(attributeOverride.getColumn());
+ }
}
-
- protected JavaAttributeOverride getJavaAttributeOverrideName(String attributeName) {
- return getParent().getJavaEntity().getAttributeOverrideContainer().getAttributeOverrideNamed(attributeName);
+
+ public Owner getOwner() {
+ return this.owner;
}
@SuppressWarnings("unchecked")
@@ -106,17 +108,13 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
String attributeOverrideName = attributeOverride.getName();
//add the virtual attribute override so that I can control the order that change notification is sent.
//otherwise when we remove the annotation from java we will get an update and add the attribute override
- //during the udpate. This causes the UI to be flaky, since change notification might not occur in the correct order
+ //during the update. This causes the UI to be flaky, since change notification might not occur in the correct order
OrmAttributeOverride virtualAttributeOverride = null;
if (attributeOverrideName != null) {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getParent().allOverridableAttributes())) {
+ for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getOwner().allOverridableAttributes())) {
if (persistentAttribute.getName().equals(attributeOverrideName)) {
- JavaAttributeOverride javaAttributeOverride = null;
- if (getParent().getJavaEntity() != null) {
- javaAttributeOverride = getJavaAttributeOverrideName(attributeOverrideName);
- }
//store the virtualAttributeOverride so we can fire change notification later
- virtualAttributeOverride = buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride);
+ virtualAttributeOverride = buildVirtualAttributeOverride(persistentAttribute);
this.virtualAttributeOverrides.add(virtualAttributeOverride);
}
}
@@ -158,6 +156,15 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
public int specifiedAttributeOverridesSize() {
return this.specifiedAttributeOverrides.size();
}
+
+ protected OrmAttributeOverride addSpecifiedAttributeOverride(int index) {
+ XmlAttributeOverride xmlAttributeOverride = OrmFactory.eINSTANCE.createXmlAttributeOverride();
+ OrmAttributeOverride attributeOverride = buildAttributeOverride(xmlAttributeOverride);
+ this.specifiedAttributeOverrides.add(index, attributeOverride);
+ this.resourceAttributeOverrideContainer.getAttributeOverrides().add(index, xmlAttributeOverride);
+ this.fireItemAdded(SPECIFIED_ATTRIBUTE_OVERRIDES_LIST, index, attributeOverride);
+ return attributeOverride;
+ }
protected void addSpecifiedAttributeOverride(int index, OrmAttributeOverride attributeOverride) {
addItemToList(index, attributeOverride, this.specifiedAttributeOverrides, SPECIFIED_ATTRIBUTE_OVERRIDES_LIST);
@@ -210,18 +217,11 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
return getOverrideNamed(name, overrides) != null;
}
-
-
-
protected void initializeVirtualAttributeOverrides() {
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getParent().allOverridableAttributes())) {
+ for (PersistentAttribute persistentAttribute : CollectionTools.iterable(getOwner().allOverridableAttributes())) {
OrmAttributeOverride ormAttributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
if (ormAttributeOverride == null) {
- JavaAttributeOverride javaAttributeOverride = null;
- if (getParent().getJavaEntity() != null) {
- javaAttributeOverride = getJavaAttributeOverrideName(persistentAttribute.getName());
- }
- this.virtualAttributeOverrides.add(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
+ this.virtualAttributeOverrides.add(buildVirtualAttributeOverride(persistentAttribute));
}
}
}
@@ -237,20 +237,13 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
this.updateVirtualAttributeOverrides();
}
- protected OrmAttributeOverride buildVirtualAttributeOverride(PersistentAttribute persistentAttribute, JavaAttributeOverride javaAttributeOverride) {
- return buildAttributeOverride(buildVirtualXmlAttributeOverride(persistentAttribute, javaAttributeOverride));
+ protected OrmAttributeOverride buildVirtualAttributeOverride(PersistentAttribute overridableAttribute) {
+ return buildAttributeOverride(buildVirtualXmlAttributeOverride(overridableAttribute));
}
- protected XmlAttributeOverride buildVirtualXmlAttributeOverride(PersistentAttribute persistentAttribute, JavaAttributeOverride javaAttributeOverride) {
- XmlColumn xmlColumn;
- if (javaAttributeOverride == null) {
- ColumnMapping columnMapping = (ColumnMapping) persistentAttribute.getMapping();
- xmlColumn = new VirtualXmlAttributeOverrideColumn(columnMapping.getColumn());
- }
- else {
- xmlColumn = new VirtualXmlColumn(getParent(), javaAttributeOverride.getColumn());
- }
- return new VirtualXmlAttributeOverride(persistentAttribute.getName(), xmlColumn);
+ protected XmlAttributeOverride buildVirtualXmlAttributeOverride(PersistentAttribute overridableAttribute) {
+ XmlColumn xmlColumn = getOwner().buildVirtualXmlColumn((ColumnMapping) overridableAttribute.getMapping());
+ return new VirtualXmlAttributeOverride(overridableAttribute.getName(), xmlColumn);
}
@@ -274,29 +267,25 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
}
protected void updateVirtualAttributeOverrides() {
- Iterator<PersistentAttribute> overridableAttributes = getParent().allOverridableAttributes();
+ Iterator<PersistentAttribute> overridableAttributes = getOwner().allOverridableAttributes();
ListIterator<OrmAttributeOverride> virtualAttributeOverridesCopy = virtualAttributeOverrides();
- for (PersistentAttribute persistentAttribute : CollectionTools.iterable(overridableAttributes)) {
- OrmAttributeOverride ormAttributeOverride = getAttributeOverrideNamed(persistentAttribute.getName());
+ for (PersistentAttribute overridableAttribute : CollectionTools.iterable(overridableAttributes)) {
+ OrmAttributeOverride ormAttributeOverride = getAttributeOverrideNamed(overridableAttribute.getName());
if (ormAttributeOverride != null && !ormAttributeOverride.isVirtual()) {
continue;
}
- JavaAttributeOverride javaAttributeOverride = null;
- if (getParent().getJavaEntity() != null) {
- javaAttributeOverride = getJavaAttributeOverrideName(persistentAttribute.getName());
- }
if (ormAttributeOverride != null) {
if (virtualAttributeOverridesCopy.hasNext()) {
OrmAttributeOverride virtualAttributeOverride = virtualAttributeOverridesCopy.next();
- virtualAttributeOverride.update(buildVirtualXmlAttributeOverride(persistentAttribute, javaAttributeOverride));
+ virtualAttributeOverride.update(buildVirtualXmlAttributeOverride(overridableAttribute));
}
else {
- addVirtualAttributeOverride(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
+ addVirtualAttributeOverride(buildVirtualAttributeOverride(overridableAttribute));
}
}
else {
- addVirtualAttributeOverride(buildVirtualAttributeOverride(persistentAttribute, javaAttributeOverride));
+ addVirtualAttributeOverride(buildVirtualAttributeOverride(overridableAttribute));
}
}
for (OrmAttributeOverride virtualAttributeOverride : CollectionTools.iterable(virtualAttributeOverridesCopy)) {
@@ -332,18 +321,7 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
class AttributeOverrideOwner implements AttributeOverride.Owner {
public ColumnMapping getColumnMapping(String attributeName) {
- if (attributeName == null) {
- return null;
- }
- for (Iterator<PersistentAttribute> stream = getParent().getPersistentType().allAttributes(); stream.hasNext();) {
- PersistentAttribute persAttribute = stream.next();
- if (attributeName.equals(persAttribute.getName())) {
- if (persAttribute.getMapping() instanceof ColumnMapping) {
- return (ColumnMapping) persAttribute.getMapping();
- }
- }
- }
- return null;
+ return MappingTools.getColumnMapping(attributeName, getOwner().getOverridablePersistentType());
}
public boolean isVirtual(BaseOverride override) {
@@ -355,7 +333,7 @@ public class GenericOrmAttributeOverrideContainer extends AbstractOrmXmlContextN
}
public TypeMapping getTypeMapping() {
- return getParent();
+ return getOwner().getTypeMapping();
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlEmbedded.java
index 4d5a866df7..a7f3e3f0a0 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlEmbedded.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/AbstractXmlEmbedded.java
@@ -29,18 +29,12 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* will almost certainly be broken (repeatedly) as the API evolves.
* <!-- end-user-doc -->
*
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jpt.core.resource.orm.AbstractXmlEmbedded#getAttributeOverrides <em>Attribute Overrides</em>}</li>
- * </ul>
- * </p>
*
* @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlEmbedded()
* @model kind="class" abstract="true"
* @generated
*/
-public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping
+public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping implements XmlAttributeOverrideContainer
{
/**
* The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list.
@@ -83,7 +77,7 @@ public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Attribute Overrides</em>' containment reference list.
- * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getAbstractXmlEmbedded_AttributeOverrides()
+ * @see org.eclipse.jpt.core.resource.orm.OrmPackage#getXmlAttributeOverrideContainer_AttributeOverrides()
* @model containment="true"
* @generated
*/
@@ -179,10 +173,48 @@ public abstract class AbstractXmlEmbedded extends AbstractXmlAttributeMapping
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (derivedFeatureID)
+ {
+ case OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES: return OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
+ {
+ if (baseClass == XmlAttributeOverrideContainer.class)
+ {
+ switch (baseFeatureID)
+ {
+ case OrmPackage.XML_ATTRIBUTE_OVERRIDE_CONTAINER__ATTRIBUTE_OVERRIDES: return OrmPackage.ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
// ********** translators **********
protected static Translator buildAttributeOverrideTranslator() {
- return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getAbstractXmlEmbedded_AttributeOverrides());
+ return XmlAttributeOverride.buildTranslator(JPA.ATTRIBUTE_OVERRIDE, OrmPackage.eINSTANCE.getXmlAttributeOverrideContainer_AttributeOverrides());
}
} // BaseXmlEmbedded
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
index c2f732b179..a6a63b9442 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/resource/orm/OrmPackage.java
@@ -6582,21 +6582,6 @@ public class OrmPackage extends EPackageImpl
/**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jpt.core.resource.orm.AbstractXmlEmbedded#getAttributeOverrides <em>Attribute Overrides</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Attribute Overrides</em>'.
- * @see org.eclipse.jpt.core.resource.orm.AbstractXmlEmbedded#getAttributeOverrides()
- * @see #getAbstractXmlEmbedded()
- * @generated
- */
- public EReference getAbstractXmlEmbedded_AttributeOverrides()
- {
- return (EReference)abstractXmlEmbeddedEClass.getEStructuralFeatures().get(0);
- }
-
-
- /**
* Returns the meta object for class '{@link org.eclipse.jpt.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -8742,7 +8727,6 @@ public class OrmPackage extends EPackageImpl
createEReference(xmlIdEClass, XML_ID__GENERATED_VALUE);
abstractXmlEmbeddedEClass = createEClass(ABSTRACT_XML_EMBEDDED);
- createEReference(abstractXmlEmbeddedEClass, ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES);
xmlEmbeddedIdEClass = createEClass(XML_EMBEDDED_ID);
@@ -9000,6 +8984,7 @@ public class OrmPackage extends EPackageImpl
xmlIdEClass.getESuperTypes().add(this.getXmlConvertibleMapping());
xmlIdEClass.getESuperTypes().add(this.getXmlGeneratorContainer());
abstractXmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
+ abstractXmlEmbeddedEClass.getESuperTypes().add(this.getXmlAttributeOverrideContainer());
xmlEmbeddedIdEClass.getESuperTypes().add(this.getAbstractXmlEmbedded());
xmlEmbeddedEClass.getESuperTypes().add(this.getAbstractXmlEmbedded());
xmlBasicEClass.getESuperTypes().add(this.getAbstractXmlAttributeMapping());
@@ -9156,7 +9141,6 @@ public class OrmPackage extends EPackageImpl
initEReference(getXmlId_GeneratedValue(), this.getXmlGeneratedValue(), null, "generatedValue", null, 0, 1, XmlId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(abstractXmlEmbeddedEClass, AbstractXmlEmbedded.class, "AbstractXmlEmbedded", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getAbstractXmlEmbedded_AttributeOverrides(), this.getXmlAttributeOverride(), null, "attributeOverrides", null, 0, -1, AbstractXmlEmbedded.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(xmlEmbeddedIdEClass, XmlEmbeddedId.class, "XmlEmbeddedId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -10193,14 +10177,6 @@ public class OrmPackage extends EPackageImpl
public static final EClass ABSTRACT_XML_EMBEDDED = eINSTANCE.getAbstractXmlEmbedded();
/**
- * The meta object literal for the '<em><b>Attribute Overrides</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final EReference ABSTRACT_XML_EMBEDDED__ATTRIBUTE_OVERRIDES = eINSTANCE.getAbstractXmlEmbedded_AttributeOverrides();
-
- /**
* The meta object literal for the '{@link org.eclipse.jpt.core.resource.orm.XmlEmbeddedId <em>Xml Embedded Id</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
index 3fab038300..09e386ef1b 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedIdMapping1_1Composite.java
@@ -15,7 +15,7 @@ import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.ui.internal.details.EmbeddedAttributeOverridesComposite;
+import org.eclipse.jpt.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -58,7 +58,7 @@ public class OrmEclipseLinkEmbeddedIdMapping1_1Composite extends AbstractEmbedde
protected void initializeLayout(Composite container) {
new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EmbeddedAttributeOverridesComposite(
+ new EmbeddedMappingOverridesComposite(
this,
container
);
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
index dc65b92c6e..0cfaceba2e 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v1_1/details/orm/OrmEclipseLinkEmbeddedMapping1_1Composite.java
@@ -15,7 +15,7 @@ import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.ui.internal.details.EmbeddedAttributeOverridesComposite;
+import org.eclipse.jpt.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -59,7 +59,7 @@ public class OrmEclipseLinkEmbeddedMapping1_1Composite extends AbstractEmbeddedM
protected void initializeLayout(Composite container) {
new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EmbeddedAttributeOverridesComposite(
+ new EmbeddedMappingOverridesComposite(
this,
container
);
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEmbeddedMappingComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEmbeddedMappingComposite.java
index 20953b6a8b..a9019806d8 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEmbeddedMappingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEmbeddedMappingComposite.java
@@ -30,7 +30,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see BaseEmbeddedMapping
* @see BaseJpaUiFactory - The factory creating this pane
- * @see EmbeddedAttributeOverridesComposite
+ * @see EmbeddedMappingOverridesComposite
*
* @version 2.0
* @since 1.0
@@ -55,7 +55,7 @@ public abstract class AbstractEmbeddedMappingComposite<T extends BaseEmbeddedMap
@Override
protected void initializeLayout(Composite container) {
- new EmbeddedAttributeOverridesComposite(
+ new EmbeddedMappingOverridesComposite(
this,
container
);
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityComposite.java
index b24526ed94..9e610fca0f 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityComposite.java
@@ -79,7 +79,7 @@ import org.eclipse.swt.widgets.Composite;
* @see EntityNameComposite
* @see InheritanceComposite
* @see IdClassComposite
- * @see OverridesComposite
+ * @see EntityOverridesComposite
* @see TableComposite
* @see GenerationComposite
*
@@ -162,7 +162,7 @@ public abstract class AbstractEntityComposite<T extends Entity> extends FormPane
}
protected void addAttributeOverridesComposite(Composite container) {
- new OverridesComposite(this, container);
+ new EntityOverridesComposite(this, container);
}
protected void initializeInheritancePane(Composite container) {
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/OverridesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityOverridesComposite.java
index 43100f5ac1..95b25e0c59 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/OverridesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityOverridesComposite.java
@@ -9,15 +9,13 @@
******************************************************************************/
package org.eclipse.jpt.ui.internal.details;
-import org.eclipse.jpt.core.context.AssociationOverride;
-import org.eclipse.jpt.core.context.AttributeOverride;
+import org.eclipse.jpt.core.context.AssociationOverrideContainer;
+import org.eclipse.jpt.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.widgets.FormPane;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.PageBook;
/**
* Here the layout of this pane:
@@ -46,10 +44,10 @@ import org.eclipse.ui.part.PageBook;
* @see AttributeOverrideComposite
* @see AssociationOverrideComposite
*
- * @version 2.0
+ * @version 3.0
* @since 1.0
*/
-public class OverridesComposite extends AbstractOverridesComposite
+public abstract class AbstractEntityOverridesComposite extends AbstractOverridesComposite<Entity>
{
/**
@@ -58,33 +56,35 @@ public class OverridesComposite extends AbstractOverridesComposite
* @param parentPane The parent controller of this one
* @param parent The parent container
*/
- public OverridesComposite(FormPane<? extends Entity> parentPane,
+ protected AbstractEntityOverridesComposite(FormPane<? extends Entity> parentPane,
Composite parent) {
super(parentPane, parent);
}
-
- /**
- * Creates a new <code>OverridesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEntity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public OverridesComposite(PropertyValueModel<? extends Entity> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
+
@Override
- protected Pane<AttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<AttributeOverride> attributeOverrideHolder) {
- return new AttributeOverrideComposite(this, attributeOverrideHolder, pageBook);
+ protected boolean supportsAssociationOverrides() {
+ return true;
+ }
+
+ @Override
+ protected PropertyValueModel<AttributeOverrideContainer> buildAttributeOverrideContainerHolder() {
+ return new PropertyAspectAdapter<Entity, AttributeOverrideContainer>(getSubjectHolder()) {
+ @Override
+ protected AttributeOverrideContainer buildValue_() {
+ return this.subject.getAttributeOverrideContainer();
+ }
+ };
}
@Override
- protected Pane<AssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<AssociationOverride> associationOverrideHolder) {
- return new AssociationOverrideComposite(this, associationOverrideHolder, pageBook);
+ protected PropertyValueModel<AssociationOverrideContainer> buildAssociationOverrideContainerHolder() {
+ return new PropertyAspectAdapter<Entity, AssociationOverrideContainer>(getSubjectHolder()) {
+ @Override
+ protected AssociationOverrideContainer buildValue_() {
+ return this.subject.getAssociationOverrideContainer();
+ }
+ };
}
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractOverridesComposite.java
index 426cc1d21a..99bd4baf0d 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractOverridesComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractOverridesComposite.java
@@ -19,8 +19,7 @@ import org.eclipse.jpt.core.context.AssociationOverrideContainer;
import org.eclipse.jpt.core.context.AttributeOverride;
import org.eclipse.jpt.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.core.context.BaseOverride;
-import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.core.context.JpaContextNode;
import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.ui.internal.util.ControlSwitcher;
import org.eclipse.jpt.ui.internal.util.PaneEnabler;
@@ -36,7 +35,6 @@ import org.eclipse.jpt.utility.internal.model.value.CachingTransformationWritabl
import org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel;
import org.eclipse.jpt.utility.internal.model.value.ItemPropertyListValueModelAdapter;
import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.utility.internal.model.value.TransformationWritablePropertyValueModel;
@@ -71,14 +69,11 @@ import org.eclipse.ui.part.PageBook;
* | ------------------------------------------------------------------------- |
* -----------------------------------------------------------------------------</pre>
*
- * @see Entity
- * @see EntityComposite - The parent container
- *
- * @version 2.0
+ * @version 3.0
* @since 1.0
*/
@SuppressWarnings("nls")
-public abstract class AbstractOverridesComposite extends FormPane<Entity>
+public abstract class AbstractOverridesComposite<T extends JpaContextNode> extends FormPane<T>
{
private Pane<AttributeOverride> attributeOverridePane;
private Pane<AssociationOverride> associationOverridePane;
@@ -92,26 +87,12 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
* @param parentPane The parent controller of this one
* @param parent The parent container
*/
- protected AbstractOverridesComposite(FormPane<? extends Entity> parentPane,
+ protected AbstractOverridesComposite(FormPane<? extends T> parentPane,
Composite parent) {
super(parentPane, parent, false);
}
- /**
- * Creates a new <code>OverridesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>Entity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- protected AbstractOverridesComposite(PropertyValueModel<? extends Entity> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
@Override
protected void initialize() {
super.initialize();
@@ -122,6 +103,7 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
return new SimplePropertyValueModel<BaseOverride>();
}
+ protected abstract boolean supportsAssociationOverrides();
@Override
protected void initializeLayout(Composite container) {
@@ -148,11 +130,17 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
// Property pane
PageBook pageBook = addPageBook(container);
- initializeAttributeOverridePane(pageBook);
- initializeAssociationOverridePane(pageBook);
+ initializeOverridePanes(pageBook);
installOverrideControlSwitcher(this.selectedOverrideHolder, pageBook);
}
-
+
+ protected void initializeOverridePanes(PageBook pageBook) {
+ initializeAttributeOverridePane(pageBook);
+ if (supportsAssociationOverrides()) {
+ initializeAssociationOverridePane(pageBook);
+ }
+ }
+
private PropertyValueModel<Boolean> buildSelectedOverrideBooleanHolder() {
return new TransformationPropertyValueModel<BaseOverride, Boolean>(this.selectedOverrideHolder) {
@Override
@@ -162,9 +150,9 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
};
}
- private AddRemoveListPane<Entity> initializeOverridesList(Composite container) {
+ private void initializeOverridesList(Composite container) {
- return new AddRemoveListPane<Entity>(
+ new AddRemoveListPane<T>(
this,
addSubPane(container, 8),
buildOverridesAdapter(),
@@ -186,13 +174,15 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
};
}
- private void initializeAttributeOverridePane(PageBook pageBook) {
+ protected void initializeAttributeOverridePane(PageBook pageBook) {
PropertyValueModel<AttributeOverride> attributeOverrideHolder = buildAttributeOverrideHolder();
this.attributeOverridePane = buildAttributeOverridePane(pageBook, attributeOverrideHolder);
installAttributeOverridePaneEnabler(this.attributeOverridePane, attributeOverrideHolder);
}
- protected abstract Pane<AttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<AttributeOverride> attributeOverrideHolder);
+ protected Pane<AttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<AttributeOverride> attributeOverrideHolder) {
+ return new AttributeOverrideComposite(this, attributeOverrideHolder, pageBook);
+ }
private void installAttributeOverridePaneEnabler(Pane<AttributeOverride> pane, PropertyValueModel<AttributeOverride> overrideHolder) {
new PaneEnabler(
@@ -210,13 +200,15 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
};
}
- private void initializeAssociationOverridePane(PageBook pageBook) {
+ protected void initializeAssociationOverridePane(PageBook pageBook) {
PropertyValueModel<AssociationOverride> associationOverrideHolder = buildAssociationOverrideHolder();
this.associationOverridePane = buildAssociationOverridePane(pageBook, associationOverrideHolder);
installAssociationOverridePaneEnabler(this.associationOverridePane, associationOverrideHolder);
}
- protected abstract Pane<AssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<AssociationOverride> associationOverrideHolder);
+ protected Pane<AssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<AssociationOverride> associationOverrideHolder) {
+ return new AssociationOverrideComposite(this, associationOverrideHolder, pageBook);
+ }
private void installAssociationOverridePaneEnabler(Pane<AssociationOverride> pane, PropertyValueModel<AssociationOverride> overrideHolder) {
new PaneEnabler(
@@ -330,7 +322,7 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
return sb.toString();
}
- private ILabelProvider buildOverrideLabelProvider() {
+ protected ILabelProvider buildOverrideLabelProvider() {
return new LabelProvider() {
@Override
public String getText(Object element) {
@@ -339,7 +331,7 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
};
}
- private Adapter buildOverridesAdapter() {
+ protected Adapter buildOverridesAdapter() {
return new AddRemoveListPane.AbstractAdapter() {
public void addNewItem(ObjectListSelectionModel listSelectionModel) {
@@ -352,35 +344,25 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
};
}
- private ListValueModel<BaseOverride> buildOverridesListHolder() {
+ protected ListValueModel<BaseOverride> buildOverridesListHolder() {
PropertyValueModel<AttributeOverrideContainer> attributeOverrideContainerHolder = buildAttributeOverrideContainerHolder();
- PropertyValueModel<AssociationOverrideContainer> associationOverrideContainerHolder = buildAssociationOverrideContainerHolder();
-
List<ListValueModel<? extends BaseOverride>> list = new ArrayList<ListValueModel<? extends BaseOverride>>();
+
list.add(buildSpecifiedAttributeOverridesListHolder(attributeOverrideContainerHolder));
list.add(buildDefaultAttributeOverridesListHolder(attributeOverrideContainerHolder));
- list.add(buildSpecifiedAssociationOverridesListHolder(associationOverrideContainerHolder));
- list.add(buildDefaultAssociationOverridesListHolder(associationOverrideContainerHolder));
+
+ if (supportsAssociationOverrides()) {
+ PropertyValueModel<AssociationOverrideContainer> associationOverrideContainerHolder = buildAssociationOverrideContainerHolder();
+ list.add(buildSpecifiedAssociationOverridesListHolder(associationOverrideContainerHolder));
+ list.add(buildDefaultAssociationOverridesListHolder(associationOverrideContainerHolder));
+ }
+
return new CompositeListValueModel<ListValueModel<? extends BaseOverride>, BaseOverride>(list);
}
- private PropertyValueModel<AttributeOverrideContainer> buildAttributeOverrideContainerHolder() {
- return new PropertyAspectAdapter<Entity, AttributeOverrideContainer>(getSubjectHolder()) {
- @Override
- protected AttributeOverrideContainer buildValue_() {
- return this.subject.getAttributeOverrideContainer();
- }
- };
- }
+ protected abstract PropertyValueModel<AttributeOverrideContainer> buildAttributeOverrideContainerHolder();
- private PropertyValueModel<AssociationOverrideContainer> buildAssociationOverrideContainerHolder() {
- return new PropertyAspectAdapter<Entity, AssociationOverrideContainer>(getSubjectHolder()) {
- @Override
- protected AssociationOverrideContainer buildValue_() {
- return this.subject.getAssociationOverrideContainer();
- }
- };
- }
+ protected abstract PropertyValueModel<AssociationOverrideContainer> buildAssociationOverrideContainerHolder();
private ListValueModel<BaseOverride> buildOverridesListModel() {
return new ItemPropertyListValueModelAdapter<BaseOverride>(
@@ -392,20 +374,26 @@ public abstract class AbstractOverridesComposite extends FormPane<Entity>
private Transformer<BaseOverride, Control> buildPaneTransformer() {
return new Transformer<BaseOverride, Control>() {
public Control transform(BaseOverride override) {
-
- if (override instanceof AttributeOverride) {
- return AbstractOverridesComposite.this.attributeOverridePane.getControl();
- }
-
- if (override instanceof AssociationOverride) {
- return AbstractOverridesComposite.this.associationOverridePane.getControl();
- }
-
- return null;
+ return AbstractOverridesComposite.this.transformSelectedOverride(override);
}
};
}
+ /**
+ * Given the selected override, return the control that will be displayed
+ */
+ protected Control transformSelectedOverride(BaseOverride selectedOverride) {
+ if (selectedOverride instanceof AttributeOverride) {
+ return AbstractOverridesComposite.this.attributeOverridePane.getControl();
+ }
+
+ if (selectedOverride instanceof AssociationOverride) {
+ return AbstractOverridesComposite.this.associationOverridePane.getControl();
+ }
+
+ return null;
+ }
+
private ListValueModel<AssociationOverride> buildSpecifiedAssociationOverridesListHolder(PropertyValueModel<AssociationOverrideContainer> containerHolder) {
return new ListAspectAdapter<AssociationOverrideContainer, AssociationOverride>(containerHolder, AssociationOverrideContainer.SPECIFIED_ASSOCIATION_OVERRIDES_LIST) {
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AssociationOverrideComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AssociationOverrideComposite.java
index 35ea1bcc85..d6e61bdb91 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AssociationOverrideComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AssociationOverrideComposite.java
@@ -27,7 +27,7 @@ import org.eclipse.swt.widgets.Group;
* -----------------------------------------------------------------------------</pre>
*
* @see AssociationOverride
- * @see OverridesComposite - The parent container
+ * @see EntityOverridesComposite - The parent container
* @see JoinColumnJoiningStrategyPane
*
* @version 2.2
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AttributeOverrideComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AttributeOverrideComposite.java
index d96c8a310f..398b53046f 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AttributeOverrideComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AttributeOverrideComposite.java
@@ -26,7 +26,7 @@ import org.eclipse.swt.widgets.Composite;
* -----------------------------------------------------------------------------</pre>
*
* @see AttributeOverride
- * @see OverridesComposite - The parent container
+ * @see EntityOverridesComposite - The parent container
* @see ColumnComposite
*
* @version 2.0
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/ColumnComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/ColumnComposite.java
index 9c1c91b67d..594da1dd16 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/ColumnComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/ColumnComposite.java
@@ -73,7 +73,7 @@ import org.eclipse.swt.widgets.Composite;
* @see ColumnCombo
* @see TableCombo
* @see BasicMappingComposite - A container of this pane
- * @see EmbeddedAttributeOverridesComposite - A container of this pane
+ * @see EmbeddedMappingOverridesComposite - A container of this pane
* @see IdMappingComposite - A container of this pane
* @see VersionMappingComposite - A container of this pane
*
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedAttributeOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedAttributeOverridesComposite.java
deleted file mode 100644
index d4b79382ab..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedAttributeOverridesComposite.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.ui.internal.details;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.ListIterator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jpt.core.context.AttributeOverride;
-import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
-import org.eclipse.jpt.core.context.BaseOverride;
-import org.eclipse.jpt.core.context.Column;
-import org.eclipse.jpt.core.context.EmbeddedMapping;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.ui.internal.widgets.FormPane;
-import org.eclipse.jpt.ui.internal.widgets.AddRemovePane.Adapter;
-import org.eclipse.jpt.utility.internal.StringTools;
-import org.eclipse.jpt.utility.internal.model.value.CachingTransformationWritablePropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel;
-import org.eclipse.jpt.utility.internal.model.value.ItemPropertyListValueModelAdapter;
-import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.swing.ObjectListSelectionModel;
-import org.eclipse.jpt.utility.model.value.ListValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | AddRemoveListPane | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * | |
- * | x Override Default |
- * | |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | ColumnComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see EmbeddedMapping
- * @see EmbeddedMappingComposite - The parent container
- * @see ColumnComposite
- *
- * @version 2.0
- * @since 1.0
- */
-public class EmbeddedAttributeOverridesComposite extends FormPane<BaseEmbeddedMapping>
-{
- private WritablePropertyValueModel<AttributeOverride> selectedAttributeOverrideHolder;
-
- private WritablePropertyValueModel<Boolean> overrideVirtualAttributeOverrideHolder;
-
- /**
- * Creates a new <code>EmbeddedAttributeOverridesComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public EmbeddedAttributeOverridesComposite(FormPane<? extends BaseEmbeddedMapping> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- /**
- * Creates a new <code>EmbeddedAttributeOverridesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEmbeddedMapping</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public EmbeddedAttributeOverridesComposite(PropertyValueModel<? extends BaseEmbeddedMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.selectedAttributeOverrideHolder = buildAttributeOverrideHolder();
- }
-
- private AddRemoveListPane<BaseEmbeddedMapping> initializeAttributeOverridesList(Composite container) {
-
- return new AddRemoveListPane<BaseEmbeddedMapping>(
- this,
- addSubPane(container, 8),
- buildAttributeOverridesAdapter(),
- buildAttributeOverridesListModel(),
- this.selectedAttributeOverrideHolder,
- buildAttributeOverrideLabelProvider(),
- JpaHelpContextIds.MAPPING_EMBEDDED_ATTRIBUTE_OVERRIDES
- )
- {
- @Override
- protected void initializeButtonPane(Composite container, String helpId) {
- }
-
- @Override
- protected void updateButtons() {
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Attribute Overrides group box
- container = addTitledGroup(
- container,
- JptUiDetailsMessages.OverridesComposite_attributeOverridesGroup
- );
-
- // Attribute Overrides list
- initializeAttributeOverridesList(container);
-
- // Property pane
- initializePropertyPane(addSubPane(container, 5, 0));
- }
-
- private void initializePropertyPane(Composite container) {
-
- // Override Default check box
- Button overrideDefaultButton = addUnmanagedCheckBox(
- addSubPane(container, 0, getGroupBoxMargin()),
- JptUiDetailsMessages.OverridesComposite_overrideDefault,
- getOverrideVirtualAttributeOverrideHolder(),
- null
- );
-
- installOverrideDefaultButtonEnabler(overrideDefaultButton);
-
- // Column widgets
- ColumnComposite columnComposite = new ColumnComposite(
- this,
- buildColumnHolder(this.selectedAttributeOverrideHolder),
- container,
- true,
- false
- );
-
- installColumnCompositeEnabler(columnComposite);
- }
-
- private void installColumnCompositeEnabler(ColumnComposite columnComposite) {
- new PaneEnabler(
- getOverrideVirtualAttributeOverrideHolder(),
- columnComposite
- );
- }
-
- private void installOverrideDefaultButtonEnabler(Button overrideDefaultButton) {
- SWTTools.controlEnabledState(
- buildOverrideVirtualAttributeOverrideEnablerHolder(),
- overrideDefaultButton
- );
- }
-
- private WritablePropertyValueModel<AttributeOverride> buildAttributeOverrideHolder() {
- return new SimplePropertyValueModel<AttributeOverride>();
- }
-
- private ILabelProvider buildAttributeOverrideLabelProvider() {
- return new LabelProvider() {
- @Override
- public String getText(Object element) {
- return buildOverrideDisplayString((AttributeOverride) element);
- }
- };
- }
-
- private Adapter buildAttributeOverridesAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
-
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- }
- };
- }
-
- private ListValueModel<AttributeOverride> buildAttributeOverridesListHolder() {
- List<ListValueModel<AttributeOverride>> list = new ArrayList<ListValueModel<AttributeOverride>>();
- list.add(buildSpecifiedAttributeOverridesListHolder());
- list.add(buildVirtualAttributeOverridesListHolder());
- return new CompositeListValueModel<ListValueModel<AttributeOverride>, AttributeOverride>(list);
- }
-
- private ListValueModel<AttributeOverride> buildAttributeOverridesListModel() {
- return new ItemPropertyListValueModelAdapter<AttributeOverride>(
- buildAttributeOverridesListHolder(),
- BaseOverride.NAME_PROPERTY
- );
- }
-
- private PropertyValueModel<Column> buildColumnHolder(WritablePropertyValueModel<AttributeOverride> attributeOverrideHolder) {
- return new TransformationPropertyValueModel<AttributeOverride, Column>(attributeOverrideHolder) {
- @Override
- protected Column transform_(AttributeOverride value) {
- return value.getColumn();
- }
- };
- }
-
- private ListValueModel<AttributeOverride> buildVirtualAttributeOverridesListHolder() {
- return new ListAspectAdapter<BaseEmbeddedMapping, AttributeOverride>(
- this.getSubjectHolder(),
- BaseEmbeddedMapping.VIRTUAL_ATTRIBUTE_OVERRIDES_LIST)
- {
- @Override
- protected ListIterator<AttributeOverride> listIterator_() {
- return subject.virtualAttributeOverrides();
- }
-
- @Override
- protected int size_() {
- return subject.virtualAttributeOverridesSize();
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildOverrideVirtualAttributeOverrideEnablerHolder() {
- return new TransformationPropertyValueModel<AttributeOverride, Boolean>(this.selectedAttributeOverrideHolder) {
- @Override
- protected Boolean transform(AttributeOverride value) {
- return (value != null);
- }
- };
- }
-
- protected WritablePropertyValueModel<Boolean> getOverrideVirtualAttributeOverrideHolder() {
- if (this.overrideVirtualAttributeOverrideHolder == null) {
- this.overrideVirtualAttributeOverrideHolder = buildOverrideVirtualAttributeOverrideHolder();
- }
- return this.overrideVirtualAttributeOverrideHolder;
- }
-
- private WritablePropertyValueModel<Boolean> buildOverrideVirtualAttributeOverrideHolder() {
- return new CachingTransformationWritablePropertyValueModel<AttributeOverride, Boolean>(this.selectedAttributeOverrideHolder) {
- @Override
- public void setValue(Boolean value) {
- updateAttributeOverride(value);
- }
-
- @Override
- protected Boolean transform_(AttributeOverride value) {
- return !value.isVirtual();
- }
- };
- }
-
- private String buildOverrideDisplayString(AttributeOverride override) {
-
- String name = override.getName();
-
- if (StringTools.stringIsEmpty(name)) {
- name = JptUiDetailsMessages.OverridesComposite_noName;
- }
- else {
- name = name.trim();
- }
-
- return name;
- }
-
- private ListValueModel<AttributeOverride> buildSpecifiedAttributeOverridesListHolder() {
- return new ListAspectAdapter<BaseEmbeddedMapping, AttributeOverride>(
- this.getSubjectHolder(),
- BaseEmbeddedMapping.SPECIFIED_ATTRIBUTE_OVERRIDES_LIST)
- {
- @Override
- protected ListIterator<AttributeOverride> listIterator_() {
- return this.subject.specifiedAttributeOverrides();
- }
-
- @Override
- public int size_() {
- return this.subject.specifiedAttributeOverridesSize();
- }
- };
- }
-
-
- private void updateAttributeOverride(boolean selected) {
-
- if (isPopulating()) {
- return;
- }
-
- setPopulating(true);
-
- try {
- AttributeOverride selectedOverride = this.selectedAttributeOverrideHolder.getValue();
- AttributeOverride newOverride = selectedOverride.setVirtual(!selected);
-
- //select the new override so the UI remains consistent
- this.selectedAttributeOverrideHolder.setValue(newOverride);
- }
- finally {
- setPopulating(false);
- }
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedMappingOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedMappingOverridesComposite.java
new file mode 100644
index 0000000000..46d1cae0f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EmbeddedMappingOverridesComposite.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.ui.internal.details;
+
+import org.eclipse.jpt.core.context.AssociationOverrideContainer;
+import org.eclipse.jpt.core.context.AttributeOverrideContainer;
+import org.eclipse.jpt.core.context.BaseEmbeddedMapping;
+import org.eclipse.jpt.core.context.EmbeddedMapping;
+import org.eclipse.jpt.ui.internal.widgets.FormPane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | AddRemoveListPane | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * | |
+ * | x Override Default |
+ * | |
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | ColumnComposite | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see EmbeddedMapping
+ * @see EmbeddedMappingComposite - The parent container
+ * @see ColumnComposite
+ *
+ * @version 2.0
+ * @since 1.0
+ */
+public class EmbeddedMappingOverridesComposite extends AbstractOverridesComposite<BaseEmbeddedMapping>
+{
+
+ /**
+ * Creates a new <code>EmbeddedAttributeOverridesComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public EmbeddedMappingOverridesComposite(FormPane<? extends BaseEmbeddedMapping> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent);
+ }
+
+ @Override
+ protected boolean supportsAssociationOverrides() {
+ return false;
+ }
+
+ @Override
+ protected PropertyValueModel<AttributeOverrideContainer> buildAttributeOverrideContainerHolder() {
+ return new PropertyAspectAdapter<BaseEmbeddedMapping, AttributeOverrideContainer>(getSubjectHolder()) {
+ @Override
+ protected AttributeOverrideContainer buildValue_() {
+ return this.subject.getAttributeOverrideContainer();
+ }
+ };
+ }
+
+ @Override
+ protected PropertyValueModel<AssociationOverrideContainer> buildAssociationOverrideContainerHolder() {
+ throw new UnsupportedOperationException();
+ }
+
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EntityOverridesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EntityOverridesComposite.java
new file mode 100644
index 0000000000..ed0983fd27
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/EntityOverridesComposite.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.ui.internal.details;
+
+import org.eclipse.jpt.core.context.Entity;
+import org.eclipse.jpt.ui.internal.widgets.FormPane;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | |
+ * | - Attribute Overrides --------------------------------------------------- |
+ * | | --------------------------------------------------------------------- | |
+ * | | | | | |
+ * | | | AddRemoveListPane | | |
+ * | | | | | |
+ * | | --------------------------------------------------------------------- | |
+ * | | | |
+ * | | x Override Default | |
+ * | | | |
+ * | | --------------------------------------------------------------------- | |
+ * | | | | | |
+ * | | | PageBook (AttributeOverrideComposite/AssociationOverrideComposite)| | |
+ * | | | | | |
+ * | | --------------------------------------------------------------------- | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see Entity
+ * @see EntityComposite - The parent container
+ * @see AttributeOverrideComposite
+ * @see AssociationOverrideComposite
+ *
+ * @version 3.0
+ * @since 1.0
+ */
+public class EntityOverridesComposite extends AbstractEntityOverridesComposite
+{
+
+ /**
+ * Creates a new <code>OverridesComposite</code>.
+ *
+ * @param parentPane The parent controller of this one
+ * @param parent The parent container
+ */
+ public EntityOverridesComposite(FormPane<? extends Entity> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent);
+ }
+
+} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/JoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/JoinColumnsComposite.java
index 1c77507a4f..b735c67f0c 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/JoinColumnsComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/JoinColumnsComposite.java
@@ -50,7 +50,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see JoiningStrategyJoinColumnsComposite - A container of this pane
* @see JoinTableComposite - A container of this pane
- * @see OverridesComposite - A container of this pane
+ * @see EntityOverridesComposite - A container of this pane
*
* @version 3.0
* @since 2.0
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/AssociationOverride2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
index 2a8eeb2540..f9c800ca57 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/AssociationOverride2_0Composite.java
@@ -30,7 +30,7 @@ import org.eclipse.swt.widgets.Group;
* -----------------------------------------------------------------------------</pre>
*
* @see AssociationOverride
- * @see OverridesComposite - The parent container
+ * @see EntityOverridesComposite - The parent container
* @see JoinColumnsComposite
*
* @version 2.2
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Overrides2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Entity2_0OverridesComposite.java
index 2a89ce055c..791fa08354 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Overrides2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/Entity2_0OverridesComposite.java
@@ -10,10 +10,8 @@
package org.eclipse.jpt.ui.internal.jpa2.details;
import org.eclipse.jpt.core.context.AssociationOverride;
-import org.eclipse.jpt.core.context.AttributeOverride;
import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.internal.details.AbstractOverridesComposite;
+import org.eclipse.jpt.ui.internal.details.AbstractEntityOverridesComposite;
import org.eclipse.jpt.ui.internal.details.AttributeOverrideComposite;
import org.eclipse.jpt.ui.internal.widgets.FormPane;
import org.eclipse.jpt.ui.internal.widgets.Pane;
@@ -44,14 +42,14 @@ import org.eclipse.ui.part.PageBook;
* -----------------------------------------------------------------------------</pre>
*
* @see Entity
- * @see EntityComposite - The parent container
+ * @see Entity2_0Composite - The parent container
* @see AttributeOverrideComposite
* @see AssociationOverride2_0Composite
*
- * @version 2.2
+ * @version 3.0
* @since 2.2
*/
-public class Overrides2_0Composite extends AbstractOverridesComposite
+public class Entity2_0OverridesComposite extends AbstractEntityOverridesComposite
{
/**
@@ -60,33 +58,15 @@ public class Overrides2_0Composite extends AbstractOverridesComposite
* @param parentPane The parent controller of this one
* @param parent The parent container
*/
- public Overrides2_0Composite(FormPane<? extends Entity> parentPane,
+ public Entity2_0OverridesComposite(FormPane<? extends Entity> parentPane,
Composite parent) {
super(parentPane, parent);
}
- /**
- * Creates a new <code>OverridesComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IEntity</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public Overrides2_0Composite(PropertyValueModel<? extends Entity> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- @Override
- protected Pane<AttributeOverride> buildAttributeOverridePane(PageBook pageBook, PropertyValueModel<AttributeOverride> attributeOverrideHolder) {
- return new AttributeOverrideComposite(this, attributeOverrideHolder, pageBook);
- }
-
@Override
protected Pane<AssociationOverride> buildAssociationOverridePane(PageBook pageBook, PropertyValueModel<AssociationOverride> associationOverrideHolder) {
return new AssociationOverride2_0Composite(this, associationOverrideHolder, pageBook);
}
+
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
index c45eb53f1b..c57624037d 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaEntity2_0Composite.java
@@ -20,7 +20,7 @@ import org.eclipse.jpt.ui.internal.details.IdClassComposite;
import org.eclipse.jpt.ui.internal.details.TableComposite;
import org.eclipse.jpt.ui.internal.details.java.JavaInheritanceComposite;
import org.eclipse.jpt.ui.internal.details.java.JavaSecondaryTablesComposite;
-import org.eclipse.jpt.ui.internal.jpa2.details.Overrides2_0Composite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -84,6 +84,6 @@ public class JavaEntity2_0Composite extends AbstractEntityComposite<JavaEntity>
@Override
protected void addAttributeOverridesComposite(Composite container) {
- new Overrides2_0Composite(this, container);
+ new Entity2_0OverridesComposite(this, container);
}
} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
index 6a25d8138b..60398ca79a 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedIdMapping2_0Composite.java
@@ -16,7 +16,7 @@ import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.ui.internal.details.EmbeddedAttributeOverridesComposite;
+import org.eclipse.jpt.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -59,7 +59,7 @@ public class OrmEmbeddedIdMapping2_0Composite extends AbstractEmbeddedMappingCom
protected void initializeLayout(Composite container) {
new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EmbeddedAttributeOverridesComposite(
+ new EmbeddedMappingOverridesComposite(
this,
container
);
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
index e4fdcd5b91..5288b08907 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEmbeddedMapping2_0Composite.java
@@ -15,7 +15,7 @@ import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractEmbeddedMappingComposite;
import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
-import org.eclipse.jpt.ui.internal.details.EmbeddedAttributeOverridesComposite;
+import org.eclipse.jpt.ui.internal.details.EmbeddedMappingOverridesComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -59,7 +59,7 @@ public class OrmEmbeddedMapping2_0Composite extends AbstractEmbeddedMappingCompo
protected void initializeLayout(Composite container) {
new AccessTypeComposite(this, buildAccessHolderHolder(), container);
- new EmbeddedAttributeOverridesComposite(
+ new EmbeddedMappingOverridesComposite(
this,
container
);
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
index e110265ab1..3b1a0b09f2 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmEntity2_0Composite.java
@@ -15,7 +15,7 @@ import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.BaseJpaUiFactory;
import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmEntityComposite;
import org.eclipse.jpt.ui.internal.jpa2.details.Generation2_0Composite;
-import org.eclipse.jpt.ui.internal.jpa2.details.Overrides2_0Composite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Entity2_0OverridesComposite;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -24,7 +24,7 @@ import org.eclipse.swt.widgets.Composite;
*
* @see OrmEntity
* @see BaseJpaUiFactory - The factory creating this pane
- * @see Overrides2_0Composite
+ * @see Entity2_0OverridesComposite
*/
public class OrmEntity2_0Composite extends AbstractOrmEntityComposite
{
@@ -44,7 +44,7 @@ public class OrmEntity2_0Composite extends AbstractOrmEntityComposite
@Override
protected void addAttributeOverridesComposite(Composite container) {
- new Overrides2_0Composite(this, container);
+ new Entity2_0OverridesComposite(this, container);
}
@Override
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedIdMappingTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedIdMappingTests.java
index 49be5b1e16..9d6acb89d2 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedIdMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedIdMappingTests.java
@@ -15,6 +15,7 @@ import java.util.ListIterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.AttributeOverride;
+import org.eclipse.jpt.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.core.context.BasicMapping;
import org.eclipse.jpt.core.context.Embeddable;
import org.eclipse.jpt.core.context.EmbeddedIdMapping;
@@ -28,6 +29,8 @@ import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.TransientMapping;
import org.eclipse.jpt.core.context.VersionMapping;
import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
+import org.eclipse.jpt.core.context.java.JavaAttributeOverrideContainer;
+import org.eclipse.jpt.core.context.java.JavaEmbeddedIdMapping;
import org.eclipse.jpt.core.context.persistence.ClassRef;
import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaNullAttributeMapping;
import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
@@ -141,7 +144,7 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
persistentAttribute.setSpecifiedMappingKey(MappingKeys.NULL_ATTRIBUTE_MAPPING_KEY);
- assertTrue(((EmbeddedMapping) persistentAttribute.getMapping()).attributeOverrides().hasNext());
+ assertTrue(((EmbeddedMapping) persistentAttribute.getMapping()).getAttributeOverrideContainer().attributeOverrides().hasNext());
assertTrue(persistentAttribute.getMapping().isDefault());
assertNull(attributeResource.getAnnotation(EmbeddedIdAnnotation.ANNOTATION_NAME));
@@ -332,9 +335,9 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
-
- ListIterator<JavaAttributeOverride> specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ JavaEmbeddedIdMapping embeddedIdMapping = (JavaEmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ ListIterator<JavaAttributeOverride> specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertFalse(specifiedAttributeOverrides.hasNext());
@@ -344,13 +347,13 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
//add an annotation to the resource model and verify the context model is updated
AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("FOO");
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
@@ -358,7 +361,7 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAZ");
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
@@ -366,26 +369,26 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
//move an annotation to the resource model and verify the context model is updated
attributeResource.moveAnnotation(1, 0, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertFalse(specifiedAttributeOverrides.hasNext());
}
@@ -395,7 +398,8 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedIdMapping embeddedMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaEmbeddedIdMapping embeddedMapping = (JavaEmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -403,8 +407,8 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
assertNull(attributeResource.getAnnotation(AttributeOverrideAnnotation.ANNOTATION_NAME));
assertNull(attributeResource.getAnnotation(AttributeOverridesAnnotation.ANNOTATION_NAME));
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
- AttributeOverride defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
+ AttributeOverride defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("city", defaultAttributeOverride.getColumn().getName());
assertEquals(TYPE_NAME, defaultAttributeOverride.getColumn().getTable());
@@ -438,8 +442,8 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
assertNull(attributeResource.getAnnotation(AttributeOverrideAnnotation.ANNOTATION_NAME));
assertNull(attributeResource.getAnnotation(AttributeOverridesAnnotation.ANNOTATION_NAME));
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
- defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
+ defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("FOO", defaultAttributeOverride.getColumn().getName());
assertEquals("BAR", defaultAttributeOverride.getColumn().getTable());
@@ -462,7 +466,7 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
cityMapping.getColumn().setSpecifiedLength(null);
cityMapping.getColumn().setSpecifiedPrecision(null);
cityMapping.getColumn().setSpecifiedScale(null);
- defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("city", defaultAttributeOverride.getColumn().getName());
assertEquals(TYPE_NAME, defaultAttributeOverride.getColumn().getTable());
@@ -477,7 +481,7 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
AttributeOverrideAnnotation annotation = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
annotation.setName("city");
- assertEquals(1, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testSpecifiedAttributeOverridesSize() throws Exception {
@@ -487,7 +491,8 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- assertEquals(0, embeddedIdMapping.specifiedAttributeOverridesSize());
+ AttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ assertEquals(0, attributeOverrideContainer.specifiedAttributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -498,7 +503,7 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- assertEquals(2, embeddedIdMapping.specifiedAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.specifiedAttributeOverridesSize());
}
public void testAttributeOverridesSize() throws Exception {
@@ -508,7 +513,8 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- assertEquals(2, embeddedIdMapping.attributeOverridesSize());
+ AttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ assertEquals(2, attributeOverrideContainer.attributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -519,11 +525,11 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("city");
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
}
public void testVirtualAttributeOverridesSize() throws Exception {
@@ -532,8 +538,9 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- assertEquals(2, embeddedIdMapping.virtualAttributeOverridesSize());
+ JavaEmbeddedIdMapping embeddedIdMapping = (JavaEmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -542,15 +549,15 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("FOO");
- assertEquals(2, embeddedIdMapping.virtualAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("city");
- assertEquals(1, embeddedIdMapping.virtualAttributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("state");
- assertEquals(0, embeddedIdMapping.virtualAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testAttributeOverrideSetVirtual() throws Exception {
@@ -560,8 +567,9 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
+ AttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -571,22 +579,22 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals("state", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName());
assertFalse(attributeOverrides.hasNext());
- embeddedIdMapping.specifiedAttributeOverrides().next().setVirtual(true);
+ attributeOverrideContainer.specifiedAttributeOverrides().next().setVirtual(true);
attributeOverrides = attributeResource.annotations(AttributeOverrideAnnotation.ANNOTATION_NAME, AttributeOverridesAnnotation.ANNOTATION_NAME);
assertEquals("state", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName());
assertFalse(attributeOverrides.hasNext());
- assertEquals("city", embeddedIdMapping.virtualAttributeOverrides().next().getName());
- assertEquals(1, embeddedIdMapping.virtualAttributeOverridesSize());
+ assertEquals("city", attributeOverrideContainer.virtualAttributeOverrides().next().getName());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
- embeddedIdMapping.specifiedAttributeOverrides().next().setVirtual(true);
+ attributeOverrideContainer.specifiedAttributeOverrides().next().setVirtual(true);
attributeOverrides = attributeResource.annotations(AttributeOverrideAnnotation.ANNOTATION_NAME, AttributeOverridesAnnotation.ANNOTATION_NAME);
assertFalse(attributeOverrides.hasNext());
- Iterator<AttributeOverride> virtualAttributeOverrides = embeddedIdMapping.virtualAttributeOverrides();
+ Iterator<AttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
assertEquals("city", virtualAttributeOverrides.next().getName());
assertEquals("state", virtualAttributeOverrides.next().getName());
- assertEquals(2, embeddedIdMapping.virtualAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testAttributeOverrideSetVirtual2() throws Exception {
@@ -595,11 +603,12 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- ListIterator<AttributeOverride> virtualAttributeOverrides = embeddedIdMapping.virtualAttributeOverrides();
+ JavaEmbeddedIdMapping embeddedIdMapping = (JavaEmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ ListIterator<JavaAttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
virtualAttributeOverrides.next();
virtualAttributeOverrides.next().setVirtual(false);
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -617,9 +626,10 @@ public class JavaEmbeddedIdMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedIdMapping embeddedIdMapping = (EmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
+ JavaEmbeddedIdMapping embeddedIdMapping = (JavaEmbeddedIdMapping) getJavaPersistentType().getAttributeNamed("myEmbeddedId").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedMappingTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedMappingTests.java
index 3ba811aae2..2114c55890 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/java/JavaEmbeddedMappingTests.java
@@ -15,6 +15,7 @@ import java.util.ListIterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.AttributeOverride;
+import org.eclipse.jpt.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.core.context.BasicMapping;
import org.eclipse.jpt.core.context.Embeddable;
import org.eclipse.jpt.core.context.EmbeddedIdMapping;
@@ -28,6 +29,8 @@ import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.TransientMapping;
import org.eclipse.jpt.core.context.VersionMapping;
import org.eclipse.jpt.core.context.java.JavaAttributeOverride;
+import org.eclipse.jpt.core.context.java.JavaAttributeOverrideContainer;
+import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
import org.eclipse.jpt.core.context.persistence.ClassRef;
import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaNullAttributeMapping;
import org.eclipse.jpt.core.resource.java.AttributeOverrideAnnotation;
@@ -140,7 +143,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
persistentAttribute.setSpecifiedMappingKey(MappingKeys.NULL_ATTRIBUTE_MAPPING_KEY);
- assertTrue(((EmbeddedMapping) persistentAttribute.getMapping()).attributeOverrides().hasNext());
+ assertTrue(((EmbeddedMapping) persistentAttribute.getMapping()).getAttributeOverrideContainer().attributeOverrides().hasNext());
assertTrue(persistentAttribute.getMapping().isDefault());
assertNull(attributeResource.getAnnotation(EmbeddedAnnotation.ANNOTATION_NAME));
@@ -378,9 +381,10 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
- EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
+ JavaEmbeddedMapping embeddedMapping = (JavaEmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
+ JavaAttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
- ListIterator<JavaAttributeOverride> specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ ListIterator<JavaAttributeOverride> specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertFalse(specifiedAttributeOverrides.hasNext());
@@ -390,13 +394,13 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
//add an annotation to the resource model and verify the context model is updated
AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("FOO");
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
@@ -404,7 +408,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAZ");
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
@@ -412,26 +416,26 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
//move an annotation to the resource model and verify the context model is updated
attributeResource.moveAnnotation(1, 0, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", specifiedAttributeOverrides.next().getName());
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", specifiedAttributeOverrides.next().getName());
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", specifiedAttributeOverrides.next().getName());
assertFalse(specifiedAttributeOverrides.hasNext());
attributeResource.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertFalse(specifiedAttributeOverrides.hasNext());
}
@@ -442,6 +446,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -449,8 +454,8 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
assertNull(attributeResource.getAnnotation(AttributeOverrideAnnotation.ANNOTATION_NAME));
assertNull(attributeResource.getAnnotation(AttributeOverridesAnnotation.ANNOTATION_NAME));
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
- AttributeOverride defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
+ AttributeOverride defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("city", defaultAttributeOverride.getColumn().getName());
assertEquals(TYPE_NAME, defaultAttributeOverride.getColumn().getTable());
@@ -484,8 +489,8 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
assertNull(attributeResource.getAnnotation(AttributeOverrideAnnotation.ANNOTATION_NAME));
assertNull(attributeResource.getAnnotation(AttributeOverridesAnnotation.ANNOTATION_NAME));
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
- defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
+ defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("FOO", defaultAttributeOverride.getColumn().getName());
assertEquals("BAR", defaultAttributeOverride.getColumn().getTable());
@@ -508,7 +513,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
cityMapping.getColumn().setSpecifiedLength(null);
cityMapping.getColumn().setSpecifiedPrecision(null);
cityMapping.getColumn().setSpecifiedScale(null);
- defaultAttributeOverride = embeddedMapping.virtualAttributeOverrides().next();
+ defaultAttributeOverride = attributeOverrideContainer.virtualAttributeOverrides().next();
assertEquals("city", defaultAttributeOverride.getName());
assertEquals("city", defaultAttributeOverride.getColumn().getName());
assertEquals(TYPE_NAME, defaultAttributeOverride.getColumn().getTable());
@@ -523,7 +528,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
AttributeOverrideAnnotation annotation = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
annotation.setName("city");
- assertEquals(1, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testSpecifiedAttributeOverridesSize() throws Exception {
@@ -533,7 +538,8 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- assertEquals(0, embeddedMapping.specifiedAttributeOverridesSize());
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ assertEquals(0, attributeOverrideContainer.specifiedAttributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -544,7 +550,7 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- assertEquals(2, embeddedMapping.specifiedAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.specifiedAttributeOverridesSize());
}
public void testAttributeOverridesSize() throws Exception {
@@ -554,7 +560,8 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- assertEquals(2, embeddedMapping.attributeOverridesSize());
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ assertEquals(2, attributeOverrideContainer.attributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -565,11 +572,11 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("BAR");
- assertEquals(4, embeddedMapping.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("city");
- assertEquals(4, embeddedMapping.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
}
public void testVirtualAttributeOverridesSize() throws Exception {
@@ -579,7 +586,8 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -588,15 +596,15 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("FOO");
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("city");
- assertEquals(1, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
attributeOverride = (AttributeOverrideAnnotation) attributeResource.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES);
attributeOverride.setName("state");
- assertEquals(0, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testAttributeOverrideSetVirtual() throws Exception {
@@ -606,8 +614,9 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -617,22 +626,22 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
assertEquals("state", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName());
assertFalse(attributeOverrides.hasNext());
- embeddedMapping.specifiedAttributeOverrides().next().setVirtual(true);
+ attributeOverrideContainer.specifiedAttributeOverrides().next().setVirtual(true);
attributeOverrides = attributeResource.annotations(AttributeOverrideAnnotation.ANNOTATION_NAME, AttributeOverridesAnnotation.ANNOTATION_NAME);
assertEquals("state", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName());
assertFalse(attributeOverrides.hasNext());
- assertEquals("city", embeddedMapping.virtualAttributeOverrides().next().getName());
- assertEquals(1, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals("city", attributeOverrideContainer.virtualAttributeOverrides().next().getName());
+ assertEquals(1, attributeOverrideContainer.virtualAttributeOverridesSize());
- embeddedMapping.specifiedAttributeOverrides().next().setVirtual(true);
+ attributeOverrideContainer.specifiedAttributeOverrides().next().setVirtual(true);
attributeOverrides = attributeResource.annotations(AttributeOverrideAnnotation.ANNOTATION_NAME, AttributeOverridesAnnotation.ANNOTATION_NAME);
assertFalse(attributeOverrides.hasNext());
- Iterator<AttributeOverride> virtualAttributeOverrides = embeddedMapping.virtualAttributeOverrides();
+ Iterator<AttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
assertEquals("city", virtualAttributeOverrides.next().getName());
assertEquals("state", virtualAttributeOverrides.next().getName());
- assertEquals(2, embeddedMapping.virtualAttributeOverridesSize());
+ assertEquals(2, attributeOverrideContainer.virtualAttributeOverridesSize());
}
public void testAttributeOverrideSetVirtual2() throws Exception {
@@ -642,10 +651,11 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- ListIterator<AttributeOverride> virtualAttributeOverrides = embeddedMapping.virtualAttributeOverrides();
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ ListIterator<AttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
virtualAttributeOverrides.next();
virtualAttributeOverrides.next().setVirtual(false);
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -663,8 +673,9 @@ public class JavaEmbeddedMappingTests extends ContextModelTestCase
addXmlClassRef(FULLY_QUALIFIED_EMBEDDABLE_TYPE_NAME);
EmbeddedMapping embeddedMapping = (EmbeddedMapping) getJavaPersistentType().getAttributeNamed("myEmbedded").getMapping();
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
+ AttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedIdMappingTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedIdMappingTests.java
index ed00b3c2fd..056b8d304a 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedIdMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedIdMappingTests.java
@@ -29,6 +29,7 @@ import org.eclipse.jpt.core.context.VersionMapping;
import org.eclipse.jpt.core.context.java.JavaBasicMapping;
import org.eclipse.jpt.core.context.java.JavaEmbeddedIdMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
+import org.eclipse.jpt.core.context.orm.OrmAttributeOverrideContainer;
import org.eclipse.jpt.core.context.orm.OrmColumn;
import org.eclipse.jpt.core.context.orm.OrmEmbeddedIdMapping;
import org.eclipse.jpt.core.context.orm.OrmEmbeddedMapping;
@@ -324,7 +325,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -345,7 +346,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -366,7 +367,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -387,7 +388,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -408,7 +409,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -418,7 +419,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals(ormPersistentAttribute, ormPersistentType.specifiedAttributes().next());
assertTrue(ormPersistentAttribute.getMapping() instanceof EmbeddedMapping);
assertEquals("embeddedId", ormPersistentAttribute.getMapping().getName());
- attributeOverride = ((EmbeddedMapping) ormPersistentAttribute.getMapping()).specifiedAttributeOverrides().next();
+ attributeOverride = ((EmbeddedMapping) ormPersistentAttribute.getMapping()).getAttributeOverrideContainer().specifiedAttributeOverrides().next();
assertEquals("override", attributeOverride.getName());
assertEquals("OVERRIDE_COLUMN", attributeOverride.getColumn().getSpecifiedName());
}
@@ -432,7 +433,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -453,7 +454,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -474,7 +475,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -493,7 +494,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertFalse(embeddedIdMapping.isDefault());
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedIdMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedIdMapping.isDefault());
@@ -549,6 +550,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY, "embeddedMapping");
OrmEmbeddedIdMapping ormEmbeddedIdMapping = (OrmEmbeddedIdMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedIdMapping.getAttributeOverrideContainer();
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
@@ -561,8 +563,8 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals(3, embeddedIdResource.getAttributeOverrides().size());
- ormEmbeddedIdMapping.moveSpecifiedAttributeOverride(2, 0);
- ListIterator<OrmAttributeOverride> attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrideContainer.moveSpecifiedAttributeOverride(2, 0);
+ ListIterator<OrmAttributeOverride> attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
@@ -572,8 +574,8 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals("FOO", embeddedIdResource.getAttributeOverrides().get(2).getName());
- ormEmbeddedIdMapping.moveSpecifiedAttributeOverride(0, 1);
- attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrideContainer.moveSpecifiedAttributeOverride(0, 1);
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
@@ -587,6 +589,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY, "embeddedMapping");
OrmEmbeddedIdMapping ormEmbeddedIdMapping = (OrmEmbeddedIdMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedIdMapping.getAttributeOverrideContainer();
XmlEmbeddedId embeddedIdResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddedIds().get(0);
embeddedIdResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
@@ -597,39 +600,39 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
embeddedIdResource.getAttributeOverrides().get(1).setName("BAR");
embeddedIdResource.getAttributeOverrides().get(2).setName("BAZ");
- ListIterator<OrmAttributeOverride> attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ ListIterator<OrmAttributeOverride> attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedIdResource.getAttributeOverrides().move(2, 0);
- attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedIdResource.getAttributeOverrides().move(0, 1);
- attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedIdResource.getAttributeOverrides().remove(1);
- attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedIdResource.getAttributeOverrides().remove(1);
- attributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedIdResource.getAttributeOverrides().remove(0);
- assertFalse(ormEmbeddedIdMapping.specifiedAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.specifiedAttributeOverrides().hasNext());
}
@@ -644,12 +647,13 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.specifiedAttributes().next();
OrmEmbeddedIdMapping ormEmbeddedIdMapping = (OrmEmbeddedIdMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedIdMapping.getAttributeOverrideContainer();
assertEquals("foo", ormEmbeddedIdMapping.getName());
- assertFalse(ormEmbeddedIdMapping.specifiedAttributeOverrides().hasNext());
- assertFalse(ormEmbeddedIdMapping.virtualAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.specifiedAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.virtualAttributeOverrides().hasNext());
}
public void testVirtualAttributeOverrides() throws Exception {
@@ -661,10 +665,11 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
//embedded mapping is virtual, specified attribute overrides should exist
OrmPersistentAttribute ormPersistentAttribute = persistentType.getAttributeNamed("address");
OrmEmbeddedIdMapping embeddedIdMapping = (OrmEmbeddedIdMapping) ormPersistentAttribute.getMapping();
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
- assertEquals(0, embeddedIdMapping.virtualAttributeOverridesSize());
- assertEquals(4, embeddedIdMapping.specifiedAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ OrmAttributeOverrideContainer attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
OrmAttributeOverride attributeOverride = specifiedAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
attributeOverride = specifiedAttributeOverrides.next();
@@ -675,7 +680,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals("zip", attributeOverride.getName());
JavaEmbeddedIdMapping javaEmbeddedIdMapping = (JavaEmbeddedIdMapping) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- Column javaAttributeOverrideColumn = javaEmbeddedIdMapping.specifiedAttributeOverrides().next().getColumn();
+ Column javaAttributeOverrideColumn = javaEmbeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next().getColumn();
javaAttributeOverrideColumn.setSpecifiedName("FOO_COLUMN");
javaAttributeOverrideColumn.setSpecifiedTable("FOO_TABLE");
@@ -690,10 +695,10 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
JavaBasicMapping javaBasicMapping = (JavaBasicMapping) persistentType2.getJavaPersistentType().getAttributeNamed("state").getMapping();
javaBasicMapping.getColumn().setSpecifiedName("MY_STATE_COLUMN");
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
- assertEquals(0, embeddedIdMapping.virtualAttributeOverridesSize());
- assertEquals(4, embeddedIdMapping.specifiedAttributeOverridesSize());
- specifiedAttributeOverrides = embeddedIdMapping.specifiedAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
attributeOverride = specifiedAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
assertEquals("FOO_COLUMN", attributeOverride.getColumn().getSpecifiedName());
@@ -721,10 +726,11 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
persistentType.getAttributeNamed("address").makeSpecified();
getOrmXmlResource().save(null);
embeddedIdMapping = (OrmEmbeddedIdMapping) persistentType.getAttributeNamed("address").getMapping();
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
- assertEquals(4, embeddedIdMapping.virtualAttributeOverridesSize());
- assertEquals(0, embeddedIdMapping.specifiedAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides = embeddedIdMapping.virtualAttributeOverrides();
+ attributeOverrideContainer = embeddedIdMapping.getAttributeOverrideContainer();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
attributeOverride = virtualAttributeOverrides.next();
assertEquals("id", attributeOverride.getName());
attributeOverride = virtualAttributeOverrides.next();
@@ -747,13 +753,13 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals("zip", attributeOverride.getName());
//set one of the virtual attribute overrides to specified, verify others are still virtual
- embeddedIdMapping.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
- assertEquals(4, embeddedIdMapping.attributeOverridesSize());
- assertEquals(1, embeddedIdMapping.specifiedAttributeOverridesSize());
- assertEquals(3, embeddedIdMapping.virtualAttributeOverridesSize());
- assertEquals("id", embeddedIdMapping.specifiedAttributeOverrides().next().getName());
- virtualAttributeOverrides = embeddedIdMapping.virtualAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ assertEquals(3, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals("id", attributeOverrideContainer.specifiedAttributeOverrides().next().getName());
+ virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
attributeOverride = virtualAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
attributeOverride = virtualAttributeOverrides.next();
@@ -772,11 +778,12 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.virtualAttributes().next();
OrmEmbeddedIdMapping ormEmbeddedIdMapping = (OrmEmbeddedIdMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedIdMapping.getAttributeOverrideContainer();
assertEquals("address", ormEmbeddedIdMapping.getName());
- assertEquals(4, ormEmbeddedIdMapping.specifiedAttributeOverridesSize());
- assertEquals(0, ormEmbeddedIdMapping.virtualAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> ormAttributeOverrides = ormEmbeddedIdMapping.specifiedAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> ormAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
OrmAttributeOverride ormAttributeOverride = ormAttributeOverrides.next();
assertEquals(ATTRIBUTE_OVERRIDE_NAME, ormAttributeOverride.getName());
@@ -865,7 +872,7 @@ public class OrmEmbeddedIdMappingTests extends ContextModelTestCase
assertEquals("address", ormEmbeddedIdMapping.getName());
- assertEquals(0, ormEmbeddedIdMapping.specifiedAttributeOverridesSize());
+ assertEquals(0, ormEmbeddedIdMapping.getAttributeOverrideContainer().specifiedAttributeOverridesSize());
//TODO
// assertEquals(4, CollectionTools.size(ormEmbeddedIdMapping.defaultAttributeOverrides()));
// ListIterator<XmlAttributeOverride> ormAttributeOverrides = ormEmbeddedIdMapping.defaultAttributeOverrides();
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedMappingTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedMappingTests.java
index ab46528dc4..805df1e001 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/context/orm/OrmEmbeddedMappingTests.java
@@ -29,6 +29,7 @@ import org.eclipse.jpt.core.context.VersionMapping;
import org.eclipse.jpt.core.context.java.JavaBasicMapping;
import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeOverride;
+import org.eclipse.jpt.core.context.orm.OrmAttributeOverrideContainer;
import org.eclipse.jpt.core.context.orm.OrmColumn;
import org.eclipse.jpt.core.context.orm.OrmEmbeddedMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
@@ -228,6 +229,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY, "embeddedMapping");
OrmEmbeddedMapping ormEmbeddedMapping = (OrmEmbeddedMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedMapping.getAttributeOverrideContainer();
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
@@ -240,8 +242,8 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals(3, embeddedResource.getAttributeOverrides().size());
- ormEmbeddedMapping.moveSpecifiedAttributeOverride(2, 0);
- ListIterator<OrmAttributeOverride> attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrideContainer.moveSpecifiedAttributeOverride(2, 0);
+ ListIterator<OrmAttributeOverride> attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
@@ -251,8 +253,8 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals("FOO", embeddedResource.getAttributeOverrides().get(2).getName());
- ormEmbeddedMapping.moveSpecifiedAttributeOverride(0, 1);
- attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrideContainer.moveSpecifiedAttributeOverride(0, 1);
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
@@ -266,6 +268,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY, "embeddedMapping");
OrmEmbeddedMapping ormEmbeddedMapping = (OrmEmbeddedMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedMapping.getAttributeOverrideContainer();
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
@@ -276,39 +279,39 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
embeddedResource.getAttributeOverrides().get(1).setName("BAR");
embeddedResource.getAttributeOverrides().get(2).setName("BAZ");
- ListIterator<OrmAttributeOverride> attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ ListIterator<OrmAttributeOverride> attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("FOO", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedResource.getAttributeOverrides().move(2, 0);
- attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedResource.getAttributeOverrides().move(0, 1);
- attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("BAR", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedResource.getAttributeOverrides().remove(1);
- attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertEquals("FOO", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedResource.getAttributeOverrides().remove(1);
- attributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ attributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
assertEquals("BAZ", attributeOverrides.next().getName());
assertFalse(attributeOverrides.hasNext());
embeddedResource.getAttributeOverrides().remove(0);
- assertFalse(ormEmbeddedMapping.specifiedAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.specifiedAttributeOverrides().hasNext());
}
@@ -323,12 +326,13 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.specifiedAttributes().next();
OrmEmbeddedMapping ormEmbeddedMapping = (OrmEmbeddedMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedMapping.getAttributeOverrideContainer();
assertEquals("foo", ormEmbeddedMapping.getName());
- assertFalse(ormEmbeddedMapping.specifiedAttributeOverrides().hasNext());
- assertFalse(ormEmbeddedMapping.virtualAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.specifiedAttributeOverrides().hasNext());
+ assertFalse(attributeOverrideContainer.virtualAttributeOverrides().hasNext());
}
public void testVirtualAttributeOverrides() throws Exception {
@@ -340,10 +344,11 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
//embedded mapping is virtual, specified attribute overrides should exist
OrmPersistentAttribute ormPersistentAttribute = persistentType.getAttributeNamed("address");
OrmEmbeddedMapping embeddedMapping = (OrmEmbeddedMapping) ormPersistentAttribute.getMapping();
- assertEquals(4, embeddedMapping.attributeOverridesSize());
- assertEquals(0, embeddedMapping.virtualAttributeOverridesSize());
- assertEquals(4, embeddedMapping.specifiedAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ OrmAttributeOverrideContainer attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
OrmAttributeOverride attributeOverride = specifiedAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
attributeOverride = specifiedAttributeOverrides.next();
@@ -354,7 +359,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals("zip", attributeOverride.getName());
JavaEmbeddedMapping javaEmbeddedMapping = (JavaEmbeddedMapping) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- Column javaAttributeOverrideColumn = javaEmbeddedMapping.specifiedAttributeOverrides().next().getColumn();
+ Column javaAttributeOverrideColumn = javaEmbeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next().getColumn();
javaAttributeOverrideColumn.setSpecifiedName("FOO_COLUMN");
javaAttributeOverrideColumn.setSpecifiedTable("FOO_TABLE");
@@ -369,10 +374,10 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
JavaBasicMapping javaBasicMapping = (JavaBasicMapping) persistentType2.getJavaPersistentType().getAttributeNamed("state").getMapping();
javaBasicMapping.getColumn().setSpecifiedName("MY_STATE_COLUMN");
- assertEquals(4, embeddedMapping.attributeOverridesSize());
- assertEquals(0, embeddedMapping.virtualAttributeOverridesSize());
- assertEquals(4, embeddedMapping.specifiedAttributeOverridesSize());
- specifiedAttributeOverrides = embeddedMapping.specifiedAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ specifiedAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
attributeOverride = specifiedAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
assertEquals("FOO_COLUMN", attributeOverride.getColumn().getSpecifiedName());
@@ -400,10 +405,11 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
persistentType.getAttributeNamed("address").makeSpecified();
getOrmXmlResource().save(null);
embeddedMapping = (OrmEmbeddedMapping) persistentType.getAttributeNamed("address").getMapping();
- assertEquals(4, embeddedMapping.attributeOverridesSize());
- assertEquals(4, embeddedMapping.virtualAttributeOverridesSize());
- assertEquals(0, embeddedMapping.specifiedAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> virtualAttributeOverrides = embeddedMapping.virtualAttributeOverrides();
+ attributeOverrideContainer = embeddedMapping.getAttributeOverrideContainer();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(4, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
attributeOverride = virtualAttributeOverrides.next();
assertEquals("id", attributeOverride.getName());
attributeOverride = virtualAttributeOverrides.next();
@@ -426,13 +432,13 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals("zip", attributeOverride.getName());
//set one of the virtual attribute overrides to specified, verify others are still virtual
- embeddedMapping.virtualAttributeOverrides().next().setVirtual(false);
+ attributeOverrideContainer.virtualAttributeOverrides().next().setVirtual(false);
- assertEquals(4, embeddedMapping.attributeOverridesSize());
- assertEquals(1, embeddedMapping.specifiedAttributeOverridesSize());
- assertEquals(3, embeddedMapping.virtualAttributeOverridesSize());
- assertEquals("id", embeddedMapping.specifiedAttributeOverrides().next().getName());
- virtualAttributeOverrides = embeddedMapping.virtualAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.attributeOverridesSize());
+ assertEquals(1, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ assertEquals(3, attributeOverrideContainer.virtualAttributeOverridesSize());
+ assertEquals("id", attributeOverrideContainer.specifiedAttributeOverrides().next().getName());
+ virtualAttributeOverrides = attributeOverrideContainer.virtualAttributeOverrides();
attributeOverride = virtualAttributeOverrides.next();
assertEquals("city", attributeOverride.getName());
attributeOverride = virtualAttributeOverrides.next();
@@ -452,11 +458,12 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.virtualAttributes().next();
OrmEmbeddedMapping ormEmbeddedMapping = (OrmEmbeddedMapping) ormPersistentAttribute.getMapping();
+ OrmAttributeOverrideContainer attributeOverrideContainer = ormEmbeddedMapping.getAttributeOverrideContainer();
assertEquals("address", ormEmbeddedMapping.getName());
- assertEquals(4, ormEmbeddedMapping.specifiedAttributeOverridesSize());
- assertEquals(0, ormEmbeddedMapping.virtualAttributeOverridesSize());
- ListIterator<OrmAttributeOverride> ormAttributeOverrides = ormEmbeddedMapping.specifiedAttributeOverrides();
+ assertEquals(4, attributeOverrideContainer.specifiedAttributeOverridesSize());
+ assertEquals(0, attributeOverrideContainer.virtualAttributeOverridesSize());
+ ListIterator<OrmAttributeOverride> ormAttributeOverrides = attributeOverrideContainer.specifiedAttributeOverrides();
OrmAttributeOverride ormAttributeOverride = ormAttributeOverrides.next();
assertEquals(ATTRIBUTE_OVERRIDE_NAME, ormAttributeOverride.getName());
@@ -544,7 +551,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals("address", ormEmbeddedMapping.getName());
- assertEquals(0, ormEmbeddedMapping.specifiedAttributeOverridesSize());
+ assertEquals(0, ormEmbeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverridesSize());
//TODO
// assertEquals(4, CollectionTools.size(ormEmbeddedMapping.defaultAttributeOverrides()));
// ListIterator<XmlAttributeOverride> ormAttributeOverrides = ormEmbeddedMapping.defaultAttributeOverrides();
@@ -589,7 +596,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -610,7 +617,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -631,7 +638,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -652,7 +659,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -673,7 +680,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -683,7 +690,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertEquals(1, ormPersistentType.specifiedAttributesSize());
assertEquals(ormPersistentAttribute, ormPersistentType.specifiedAttributes().next());
assertEquals("embedded", ormPersistentAttribute.getMapping().getName());
- attributeOverride = ((EmbeddedIdMapping) ormPersistentAttribute.getMapping()).specifiedAttributeOverrides().next();
+ attributeOverride = ((EmbeddedIdMapping) ormPersistentAttribute.getMapping()).getAttributeOverrideContainer().specifiedAttributeOverrides().next();
assertEquals("override", attributeOverride.getName());
assertEquals("OVERRIDE_COLUMN", attributeOverride.getColumn().getSpecifiedName());
}
@@ -697,7 +704,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -718,7 +725,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -739,7 +746,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());
@@ -760,7 +767,7 @@ public class OrmEmbeddedMappingTests extends ContextModelTestCase
assertFalse(embeddedMapping.isDefault());
XmlEmbedded embeddedResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getEmbeddeds().get(0);
embeddedResource.getAttributeOverrides().add(OrmFactory.eINSTANCE.createXmlAttributeOverride());
- AttributeOverride attributeOverride = embeddedMapping.specifiedAttributeOverrides().next();
+ AttributeOverride attributeOverride = embeddedMapping.getAttributeOverrideContainer().specifiedAttributeOverrides().next();
attributeOverride.setName("override");
attributeOverride.getColumn().setSpecifiedName("OVERRIDE_COLUMN");
assertFalse(embeddedMapping.isDefault());

Back to the top