Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
path: root/jpa
diff options
context:
space:
mode:
Diffstat (limited to 'jpa')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaSingleRelationshipMapping.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEmbeddedMapping.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlElementCollection.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlManyToMany.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm2_0.ecore2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/EclipseLink2_0JpaFactory.java20
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/EclipseLinkOrmXml2_0ContextNodeFactory.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlEmbedded2_0.java110
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/EclipseLink2_0OrmPackage.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlEmbedded.java27
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlManyToMany.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiFactory.java10
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/platform/EclipseLink2_0JpaPlatformUiProvider.java2
14 files changed, 207 insertions, 57 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaSingleRelationshipMapping.java
index c5d956fa01..35ad0fbbd2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaSingleRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaSingleRelationshipMapping.java
@@ -117,11 +117,6 @@ public abstract class AbstractJavaSingleRelationshipMapping<T extends Relationsh
// ********** AbstractJavaRelationshipMapping implementation **********
@Override
- public boolean isOverridableAssociationMapping() {
- return true;
- }
-
- @Override
protected String buildDefaultTargetEntity() {
return this.getPersistentAttribute().getSingleReferenceEntityTypeName();
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEmbeddedMapping.java
index 3d5d9b05bc..9639bb004a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEmbeddedMapping.java
@@ -23,6 +23,7 @@ import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmXml2_0ContextNodeFactory;
import org.eclipse.jpt.core.resource.orm.Attributes;
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
import org.eclipse.jpt.core.resource.orm.XmlEmbedded;
import org.eclipse.jpt.utility.internal.iterators.EmptyIterator;
import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
@@ -37,8 +38,8 @@ public abstract class AbstractOrmEmbeddedMapping<T extends XmlEmbedded>
protected AbstractOrmEmbeddedMapping(OrmPersistentAttribute parent, T resourceMapping) {
super(parent, resourceMapping);
- if (this.resourceAttributeMapping instanceof org.eclipse.jpt.core.jpa2.resource.orm.XmlEmbedded) {
- this.associationOverrideContainer = ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()).buildOrmAssociationOverrideContainer(this, this, (org.eclipse.jpt.core.jpa2.resource.orm.XmlEmbedded) this.resourceAttributeMapping);
+ if (resourceMapping instanceof XmlAssociationOverrideContainer) {
+ this.associationOverrideContainer = ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()).buildOrmAssociationOverrideContainer(this, this, (XmlAssociationOverrideContainer) this.resourceAttributeMapping);
}
else {
this.associationOverrideContainer = ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()).buildOrmAssociationOverrideContainer(this, this, null);
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java
index 8a155e6814..be2222f56a 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmAssociationOverrideContainer.java
@@ -284,7 +284,7 @@ public class GenericOrmAssociationOverrideContainer extends AbstractOrmXmlContex
protected XmlAssociationOverride buildResourceAssociationOverride() {
return EmfTools.create(
- getResourceNodeFactory(),
+ getResourceNodeFactory(),
OrmPackage.eINSTANCE.getXmlAssociationOverride(),
XmlAssociationOverride.class);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlElementCollection.java
index 61fef3953f..d582a7d49d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlElementCollection.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlElementCollection.java
@@ -1611,11 +1611,11 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
}
protected static Translator buildMapKeyTemporalTranslator() {
- return new Translator(JPA2_0.TEMPORAL, Orm2_0Package.eINSTANCE.getXmlElementCollection_MapKeyTemporal());
+ return new Translator(JPA2_0.MAP_KEY_TEMPORAL, Orm2_0Package.eINSTANCE.getXmlElementCollection_MapKeyTemporal());
}
protected static Translator buildMapKeyEnumeratedTranslator() {
- return new Translator(JPA2_0.ENUMERATED, Orm2_0Package.eINSTANCE.getXmlElementCollection_MapKeyEnumerated());
+ return new Translator(JPA2_0.MAP_KEY_ENUMERATED, Orm2_0Package.eINSTANCE.getXmlElementCollection_MapKeyEnumerated());
}
} // XmlElementCollection
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlManyToMany.java
index 45b70b0619..c3efcbd7e7 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlManyToMany.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/orm/XmlManyToMany.java
@@ -28,6 +28,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.core.internal.resource.xml.translators.SimpleTranslator;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.EnumType;
+import org.eclipse.jpt.core.resource.orm.JPA;
import org.eclipse.jpt.core.resource.orm.OrmPackage;
import org.eclipse.jpt.core.resource.orm.TemporalType;
import org.eclipse.jpt.core.resource.orm.XmlAccessHolder;
@@ -787,15 +788,15 @@ public class XmlManyToMany extends org.eclipse.jpt.core.resource.orm.XmlManyToMa
}
protected static Translator buildAccessTranslator() {
- return new Translator(JPA2_0.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
}
protected static Translator buildMapKeyTemporalTranslator() {
- return new Translator(JPA2_0.TEMPORAL, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyTemporal());
+ return new Translator(JPA2_0.MAP_KEY_TEMPORAL, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyTemporal());
}
protected static Translator buildMapKeyEnumeratedTranslator() {
- return new Translator(JPA2_0.ENUMERATED, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyEnumerated());
+ return new Translator(JPA2_0.MAP_KEY_ENUMERATED, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyEnumerated());
}
} // XmlManyToMany
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm2_0.ecore b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm2_0.ecore
index c3f1d738c2..e6bbda9705 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm2_0.ecore
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm2_0.ecore
@@ -9,7 +9,7 @@
<eClassifiers xsi:type="ecore:EClass" name="XmlEmbeddable" eSuperTypes="eclipselink_orm1_1.ecore#//XmlEmbeddable"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass" eSuperTypes="eclipselink_orm1_1.ecore#//XmlMappedSuperclass"/>
<eClassifiers xsi:type="ecore:EClass" name="Attributes" eSuperTypes="eclipselink_orm1_1.ecore#//Attributes ../../org.eclipse.jpt.core/model/orm2.ecore#//Attributes"/>
- <eClassifiers xsi:type="ecore:EClass" name="XmlEmbedded" eSuperTypes="eclipselink_orm1_1.ecore#//XmlEmbedded ../../org.eclipse.jpt.core/model/orm2.ecore#//XmlEmbedded"/>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlEmbedded" eSuperTypes="eclipselink_orm1_1.ecore#//XmlEmbedded ../../org.eclipse.jpt.core/model/orm.ecore#//XmlAssociationOverrideContainer"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne" eSuperTypes="eclipselink_orm1_1.ecore#//XmlOneToOne ../../org.eclipse.jpt.core/model/orm2.ecore#//XmlOneToOne"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany" eSuperTypes="../../org.eclipse.jpt.core/model/orm2.ecore#//XmlOneToMany eclipselink_orm1_1.ecore#//XmlOneToMany eclipselink_orm.ecore#//XmlConverterHolder">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mapKeyConvert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/EclipseLink2_0JpaFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/EclipseLink2_0JpaFactory.java
index c8d6b07f08..03880c7171 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/EclipseLink2_0JpaFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/EclipseLink2_0JpaFactory.java
@@ -9,19 +9,26 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.v2_0;
+import org.eclipse.jpt.core.context.JoiningStrategy;
import org.eclipse.jpt.core.context.PersistentType;
import org.eclipse.jpt.core.context.AssociationOverrideContainer.Owner;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverride;
import org.eclipse.jpt.core.context.java.JavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverrideRelationshipReference;
import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.java.JavaSequenceGenerator;
import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaAssociationOverrideRelationshipReference2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaDerivedId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentType2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaSequenceGenerator2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.VirtualAssociationOverride2_0Annotation;
import org.eclipse.jpt.core.jpa2.context.java.JavaDerivedId2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaSingleRelationshipMapping2_0;
+import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaFactory;
@@ -33,8 +40,7 @@ public class EclipseLink2_0JpaFactory
{
protected EclipseLink2_0JpaFactory() {
super();
- }
-
+ }
// ********** Java Context Model **********
@Override
@@ -54,6 +60,16 @@ public class EclipseLink2_0JpaFactory
}
@Override
+ public JavaAssociationOverrideRelationshipReference buildJavaAssociationOverrideRelationshipReference(JavaAssociationOverride parent) {
+ return new GenericJavaAssociationOverrideRelationshipReference2_0(parent);
+ }
+
+ @Override
+ public AssociationOverrideAnnotation buildJavaVirtualAssociationOverrideAnnotation(JavaResourcePersistentMember jrpm, String name, JoiningStrategy joiningStrategy) {
+ return new VirtualAssociationOverride2_0Annotation(jrpm, name, joiningStrategy);
+ }
+
+ @Override
public JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent) {
return new GenericJavaSequenceGenerator2_0(parent);
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/EclipseLinkOrmXml2_0ContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/EclipseLinkOrmXml2_0ContextNodeFactory.java
index 83b23bde5c..c32e4747cb 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/EclipseLinkOrmXml2_0ContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/EclipseLinkOrmXml2_0ContextNodeFactory.java
@@ -9,16 +9,25 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.core.internal.v2_0.context.orm;
+import org.eclipse.jpt.core.context.JoiningStrategy;
import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
+import org.eclipse.jpt.core.context.orm.OrmAssociationOverride;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverrideContainer;
+import org.eclipse.jpt.core.context.orm.OrmAssociationOverrideRelationshipReference;
import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator;
+import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverrideContainer.Owner;
import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmAssociationOverrideContainer;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmAssociationOverrideRelationshipReference2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmSequenceGenerator2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.VirtualXmlAssociationOverride2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0;
+import org.eclipse.jpt.core.jpa2.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlSequenceGenerator;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlContextNodeFactory;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlEmbedded;
public class EclipseLinkOrmXml2_0ContextNodeFactory extends EclipseLinkOrmXmlContextNodeFactory
@@ -30,8 +39,32 @@ public class EclipseLinkOrmXml2_0ContextNodeFactory extends EclipseLinkOrmXmlCon
}
@Override
+ public OrmAssociationOverrideRelationshipReference buildOrmAssociationOverrideRelationshipReference(OrmAssociationOverride parent, org.eclipse.jpt.core.resource.orm.XmlAssociationOverride associationOverride) {
+ return new GenericOrmAssociationOverrideRelationshipReference2_0(parent, (XmlAssociationOverride) associationOverride);
+ }
+
+ @Override
public OrmSequenceGenerator buildOrmSequenceGenerator(XmlContextNode parent, org.eclipse.jpt.core.resource.orm.XmlSequenceGenerator resourceSequenceGenerator) {
return new GenericOrmSequenceGenerator2_0(parent, (XmlSequenceGenerator) resourceSequenceGenerator);
}
+
+//TODO support derived ids in eclipselink orm 2.0
+// @Override
+// public OrmDerivedId2_0 buildOrmDerivedId(OrmSingleRelationshipMapping2_0 parent, XmlDerivedId resource) {
+// return new GenericOrmDerivedId2_0(parent, resource);
+// }
+
+
+ // ********** ORM Virtual Resource Model **********
+
+ @Override
+ public XmlEmbedded buildVirtualXmlEmbedded(OrmTypeMapping ormTypeMapping, JavaEmbeddedMapping javaEmbeddedMapping) {
+ return new VirtualEclipseLinkXmlEmbedded2_0(ormTypeMapping, javaEmbeddedMapping);
+ }
+
+ @Override
+ public XmlAssociationOverride buildVirtualXmlAssociationOverride(String name, OrmTypeMapping parent, JoiningStrategy joiningStrategy) {
+ return new VirtualXmlAssociationOverride2_0(name, parent, joiningStrategy);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlEmbedded2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlEmbedded2_0.java
new file mode 100644
index 0000000000..f7c886b1e2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlEmbedded2_0.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 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.eclipselink.core.internal.v2_0.context.orm;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
+import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
+import org.eclipse.jpt.core.resource.orm.AccessType;
+import org.eclipse.jpt.core.resource.orm.XmlAttributeOverride;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.eclipselink.core.internal.v1_1.context.orm.VirtualEclipseLinkXmlEmbedded1_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlAccessMethods;
+import org.eclipse.jpt.eclipselink.core.resource.orm.XmlProperty;
+import org.eclipse.jpt.eclipselink.core.v2_0.resource.orm.XmlEmbedded;
+
+/**
+ * VirtualBasic is an implementation of Basic used when there is
+ * no tag in the orm.xml and an underlying javaBasicMapping exists.
+ */
+public class VirtualEclipseLinkXmlEmbedded2_0 extends XmlEmbedded
+{
+
+ protected OrmTypeMapping ormTypeMapping;
+
+ protected final JavaEmbeddedMapping javaAttributeMapping;
+
+ protected final VirtualEclipseLinkXmlEmbedded1_1 virtualXmlEmbedded;
+
+ public VirtualEclipseLinkXmlEmbedded2_0(OrmTypeMapping ormTypeMapping, JavaEmbeddedMapping javaEmbeddedMapping) {
+ super();
+ this.ormTypeMapping = ormTypeMapping;
+ this.javaAttributeMapping = javaEmbeddedMapping;
+ this.virtualXmlEmbedded = new VirtualEclipseLinkXmlEmbedded1_1(ormTypeMapping, javaEmbeddedMapping);
+ }
+
+ @Override
+ public String getMappingKey() {
+ return this.virtualXmlEmbedded.getMappingKey();
+ }
+
+ @Override
+ public String getName() {
+ return this.virtualXmlEmbedded.getName();
+ }
+
+ @Override
+ public void setName(String newName) {
+ this.virtualXmlEmbedded.setName(newName);
+ }
+
+ @Override
+ public TextRange getNameTextRange() {
+ return this.virtualXmlEmbedded.getNameTextRange();
+ }
+
+ @Override
+ public EList<XmlAttributeOverride> getAttributeOverrides() {
+ return this.virtualXmlEmbedded.getAttributeOverrides();
+ }
+
+ @Override
+ public XmlAccessMethods getAccessMethods() {
+ return this.virtualXmlEmbedded.getAccessMethods();
+ }
+
+ @Override
+ public void setAccessMethods(XmlAccessMethods value) {
+ this.virtualXmlEmbedded.setAccessMethods(value);
+ }
+
+ @Override
+ public EList<XmlProperty> getProperties() {
+ return this.virtualXmlEmbedded.getProperties();
+ }
+
+ @Override
+ public AccessType getAccess() {
+ return this.virtualXmlEmbedded.getAccess();
+ }
+
+ @Override
+ public void setAccess(AccessType value) {
+ this.virtualXmlEmbedded.setAccess(null);
+ }
+
+// @Override
+// public EList<XmlAttributeOverride> getAssociationOverrides() {
+// EList<XmlAttributeOverride> attributeOverrides = new EObjectContainmentEList<XmlAttributeOverride>(XmlAttributeOverride.class, this, OrmPackage.XML_EMBEDDED__ATTRIBUTE_OVERRIDES);
+// ListIterator<JavaAttributeOverride> javaAttributeOverrides;
+// if (!this.isOrmMetadataComplete()) {
+// javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().attributeOverrides();
+// }
+// else {
+// javaAttributeOverrides = this.javaAttributeMapping.getAttributeOverrideContainer().virtualAttributeOverrides();
+// }
+// for (JavaAttributeOverride javaAttributeOverride : CollectionTools.iterable(javaAttributeOverrides)) {
+// XmlColumn xmlColumn = new VirtualXmlColumn(this.ormTypeMapping, javaAttributeOverride.getColumn());
+// XmlAttributeOverride xmlAttributeOverride = new VirtualXmlAttributeOverride(javaAttributeOverride.getName(), xmlColumn);
+// attributeOverrides.add(xmlAttributeOverride);
+// }
+// return attributeOverrides;
+// }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/EclipseLink2_0OrmPackage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/EclipseLink2_0OrmPackage.java
index 14b29e47aa..4a69ff9d10 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/EclipseLink2_0OrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/EclipseLink2_0OrmPackage.java
@@ -17,6 +17,7 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
import org.eclipse.jpt.core.jpa2.resource.orm.Orm2_0Package;
+import org.eclipse.jpt.core.resource.orm.OrmPackage;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
import org.eclipse.jpt.eclipselink.core.v1_1.resource.orm.EclipseLink1_1OrmPackage;
@@ -3221,6 +3222,7 @@ public class EclipseLink2_0OrmPackage extends EPackageImpl
EclipseLink1_1OrmPackage theEclipseLink1_1OrmPackage = (EclipseLink1_1OrmPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseLink1_1OrmPackage.eNS_URI);
EclipseLinkOrmPackage theEclipseLinkOrmPackage = (EclipseLinkOrmPackage)EPackage.Registry.INSTANCE.getEPackage(EclipseLinkOrmPackage.eNS_URI);
Orm2_0Package theOrm2_0Package = (Orm2_0Package)EPackage.Registry.INSTANCE.getEPackage(Orm2_0Package.eNS_URI);
+ OrmPackage theOrmPackage = (OrmPackage)EPackage.Registry.INSTANCE.getEPackage(OrmPackage.eNS_URI);
XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
// Create type parameters
@@ -3238,7 +3240,7 @@ public class EclipseLink2_0OrmPackage extends EPackageImpl
attributesEClass.getESuperTypes().add(theEclipseLink1_1OrmPackage.getAttributes());
attributesEClass.getESuperTypes().add(theOrm2_0Package.getAttributes());
xmlEmbeddedEClass.getESuperTypes().add(theEclipseLink1_1OrmPackage.getXmlEmbedded());
- xmlEmbeddedEClass.getESuperTypes().add(theOrm2_0Package.getXmlEmbedded());
+ xmlEmbeddedEClass.getESuperTypes().add(theOrmPackage.getXmlAssociationOverrideContainer());
xmlOneToOneEClass.getESuperTypes().add(theEclipseLink1_1OrmPackage.getXmlOneToOne());
xmlOneToOneEClass.getESuperTypes().add(theOrm2_0Package.getXmlOneToOne());
xmlOneToManyEClass.getESuperTypes().add(theOrm2_0Package.getXmlOneToMany());
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlEmbedded.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlEmbedded.java
index 4e892d1316..7b848be0aa 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlEmbedded.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlEmbedded.java
@@ -29,6 +29,7 @@ import org.eclipse.jpt.core.jpa2.resource.orm.XmlAttributeMapping;
import org.eclipse.jpt.core.resource.orm.JPA;
import org.eclipse.jpt.core.resource.orm.OrmPackage;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
import org.eclipse.wst.common.internal.emf.resource.Translator;
/**
@@ -41,7 +42,7 @@ import org.eclipse.wst.common.internal.emf.resource.Translator;
* @model kind="class"
* @generated
*/
-public class XmlEmbedded extends org.eclipse.jpt.eclipselink.core.v1_1.resource.orm.XmlEmbedded
+public class XmlEmbedded extends org.eclipse.jpt.eclipselink.core.v1_1.resource.orm.XmlEmbedded implements XmlAssociationOverrideContainer
{
/**
* The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list.
@@ -84,7 +85,7 @@ public class XmlEmbedded extends org.eclipse.jpt.eclipselink.core.v1_1.resource.
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Association Overrides</em>' containment reference list.
- * @see org.eclipse.jpt.eclipselink.core.v2_0.resource.orm.EclipseLink2_0OrmPackage#getXmlEmbedded_AssociationOverrides()
+ * @see org.eclipse.jpt.eclipselink.core.v2_0.resource.orm.EclipseLink2_0OrmPackage#getXmlAssociationOverrideContainer_AssociationOverrides()
* @model containment="true"
* @generated
*/
@@ -189,18 +190,11 @@ public class XmlEmbedded extends org.eclipse.jpt.eclipselink.core.v1_1.resource.
@Override
public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
{
- if (baseClass == XmlAttributeMapping.class)
+ if (baseClass == XmlAssociationOverrideContainer.class)
{
switch (derivedFeatureID)
{
- default: return -1;
- }
- }
- if (baseClass == org.eclipse.jpt.core.jpa2.resource.orm.XmlEmbedded.class)
- {
- switch (derivedFeatureID)
- {
- case EclipseLink2_0OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: return Orm2_0Package.XML_EMBEDDED__ASSOCIATION_OVERRIDES;
+ case EclipseLink2_0OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES: return OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES;
default: return -1;
}
}
@@ -215,18 +209,11 @@ public class XmlEmbedded extends org.eclipse.jpt.eclipselink.core.v1_1.resource.
@Override
public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
{
- if (baseClass == XmlAttributeMapping.class)
- {
- switch (baseFeatureID)
- {
- default: return -1;
- }
- }
- if (baseClass == org.eclipse.jpt.core.jpa2.resource.orm.XmlEmbedded.class)
+ if (baseClass == XmlAssociationOverrideContainer.class)
{
switch (baseFeatureID)
{
- case Orm2_0Package.XML_EMBEDDED__ASSOCIATION_OVERRIDES: return EclipseLink2_0OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES;
+ case OrmPackage.XML_ASSOCIATION_OVERRIDE_CONTAINER__ASSOCIATION_OVERRIDES: return EclipseLink2_0OrmPackage.XML_EMBEDDED__ASSOCIATION_OVERRIDES;
default: return -1;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlManyToMany.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlManyToMany.java
index 3f83cfd47f..d4948a09cd 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlManyToMany.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/v2_0/resource/orm/XmlManyToMany.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jpt.core.internal.resource.xml.translators.SimpleTranslator;
import org.eclipse.jpt.core.jpa2.resource.orm.Orm2_0Package;
-import org.eclipse.jpt.core.jpa2.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlAttributeMapping;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlAttributeOverride;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlMapKeyClass;
@@ -30,8 +29,10 @@ import org.eclipse.jpt.core.jpa2.resource.orm.XmlMapKeyColumn;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlMapKeyJoinColumn;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlOrderColumn;
import org.eclipse.jpt.core.resource.orm.EnumType;
+import org.eclipse.jpt.core.resource.orm.JPA;
import org.eclipse.jpt.core.resource.orm.OrmPackage;
import org.eclipse.jpt.core.resource.orm.TemporalType;
+import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.XmlColumn;
import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage;
@@ -82,14 +83,10 @@ public class XmlManyToMany extends org.eclipse.jpt.eclipselink.core.v1_1.resourc
protected XmlMapKeyClass mapKeyClass;
/**
- * The default value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMapKeyTemporal()
- * @generated
- * @ordered
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
*/
- protected static final TemporalType MAP_KEY_TEMPORAL_EDEFAULT = TemporalType.DATE;
+ protected static final TemporalType MAP_KEY_TEMPORAL_EDEFAULT = null;
/**
* The cached value of the '{@link #getMapKeyTemporal() <em>Map Key Temporal</em>}' attribute.
@@ -102,14 +99,10 @@ public class XmlManyToMany extends org.eclipse.jpt.eclipselink.core.v1_1.resourc
protected TemporalType mapKeyTemporal = MAP_KEY_TEMPORAL_EDEFAULT;
/**
- * The default value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMapKeyEnumerated()
- * @generated
- * @ordered
+ * changed this to null and removed the generated flag so emf won't generate over it
+ * we don't want a default for enums, just null if the tag does not exist
*/
- protected static final EnumType MAP_KEY_ENUMERATED_EDEFAULT = EnumType.ORDINAL;
+ protected static final EnumType MAP_KEY_ENUMERATED_EDEFAULT = null;
/**
* The cached value of the '{@link #getMapKeyEnumerated() <em>Map Key Enumerated</em>}' attribute.
@@ -1196,7 +1189,7 @@ public class XmlManyToMany extends org.eclipse.jpt.eclipselink.core.v1_1.resourc
buildMapKeyEnumeratedTranslator(),
buildMapKeyConvertTranslator(),
XmlAttributeOverride.buildTranslator(EclipseLink2_0.MAP_KEY_ATTRIBUTE_OVERRIDE, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyAttributeOverrides()),
- XmlAssociationOverride.buildTranslator(EclipseLink2_0.MAP_KEY_ASSOCIATION_OVERRIDE, EclipseLink2_0OrmPackage.eINSTANCE.getXmlManyToMany_MapKeyAssociationOverrides()),
+ org.eclipse.jpt.core.jpa2.resource.orm.XmlAssociationOverride.buildTranslator(EclipseLink2_0.MAP_KEY_ASSOCIATION_OVERRIDE, EclipseLink2_0OrmPackage.eINSTANCE.getXmlManyToMany_MapKeyAssociationOverrides()),
XmlColumn.buildTranslator(EclipseLink2_0.MAP_KEY_COLUMN, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyColumn()),
XmlJoinColumn.buildTranslator(EclipseLink2_0.MAP_KEY_JOIN_COLUMN, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyJoinColumns()),
buildJoinTableTranslator(),
@@ -1208,19 +1201,19 @@ public class XmlManyToMany extends org.eclipse.jpt.eclipselink.core.v1_1.resourc
}
protected static Translator buildAccessTranslator() {
- return new Translator(EclipseLink2_0.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
+ return new Translator(JPA.ACCESS, OrmPackage.eINSTANCE.getXmlAccessHolder_Access(), Translator.DOM_ATTRIBUTE);
}
protected static Translator buildMapKeyTemporalTranslator() {
- return new Translator(EclipseLink2_0.TEMPORAL, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyTemporal());
+ return new Translator(EclipseLink2_0.MAP_KEY_TEMPORAL, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyTemporal());
}
protected static Translator buildMapKeyEnumeratedTranslator() {
- return new Translator(EclipseLink2_0.ENUMERATED, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyEnumerated());
+ return new Translator(EclipseLink2_0.MAP_KEY_ENUMERATED, Orm2_0Package.eINSTANCE.getXmlManyToMany_MapKeyEnumerated());
}
protected static Translator buildMapKeyConvertTranslator() {
- return new Translator(EclipseLink2_0.CONVERT, EclipseLink2_0OrmPackage.eINSTANCE.getXmlManyToMany_MapKeyConvert());
+ return new Translator(EclipseLink2_0.MAP_KEY_CONVERT, EclipseLink2_0OrmPackage.eINSTANCE.getXmlManyToMany_MapKeyConvert());
}
} // XmlManyToMany
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiFactory.java
index b07f97f410..60875390f0 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiFactory.java
@@ -9,11 +9,13 @@
******************************************************************************/
package org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm;
+import org.eclipse.jpt.core.context.orm.OrmEmbeddedMapping;
import org.eclipse.jpt.core.context.orm.OrmEntity;
import org.eclipse.jpt.core.context.orm.OrmIdMapping;
import org.eclipse.jpt.eclipselink.ui.internal.details.orm.BaseEclipseLinkOrmXmlUiFactory;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmEmbeddedMapping2_0Composite;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -36,5 +38,13 @@ public class EclipseLinkOrmXml2_0UiFactory extends BaseEclipseLinkOrmXmlUiFactor
WidgetFactory widgetFactory) {
return new OrmEclipseLinkIdMapping2_0Composite(subjectHolder, parent, widgetFactory);
}
+
+ @Override
+ public JpaComposite createOrmEmbeddedMappingComposite(
+ PropertyValueModel<OrmEmbeddedMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new OrmEmbeddedMapping2_0Composite(subjectHolder, parent, widgetFactory);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/platform/EclipseLink2_0JpaPlatformUiProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/platform/EclipseLink2_0JpaPlatformUiProvider.java
index e9bd35ac2f..27cea09686 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/platform/EclipseLink2_0JpaPlatformUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/platform/EclipseLink2_0JpaPlatformUiProvider.java
@@ -16,6 +16,7 @@ import org.eclipse.jpt.eclipselink.ui.internal.persistence.EclipseLinkPersistenc
import org.eclipse.jpt.eclipselink.ui.internal.v1_1.details.orm.EclipseLinkOrmXml1_1UiDefinition;
import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.java.EclipseLink2_0JavaResourceUiDefinition;
import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkEntityMappings2_0DetailsProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkOrmXml2_0UiDefinition;
import org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.EclipseLinkPersistenceXml2_0UiDefinition;
import org.eclipse.jpt.ui.JpaPlatformUiProvider;
import org.eclipse.jpt.ui.ResourceUiDefinition;
@@ -77,6 +78,7 @@ public class EclipseLink2_0JpaPlatformUiProvider extends AbstractJpaPlatformUiPr
definitions.add(OrmXml2_0UiDefinition.instance());
definitions.add(EclipseLinkOrmXmlUiDefinition.instance());
definitions.add(EclipseLinkOrmXml1_1UiDefinition.instance());
+ definitions.add(EclipseLinkOrmXml2_0UiDefinition.instance());
definitions.add(EclipseLinkPersistenceXmlUiDefinition.instance());
definitions.add(EclipseLinkPersistenceXml2_0UiDefinition.instance());
}

Back to the top