Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfullbright2009-09-02 21:43:25 +0000
committerpfullbright2009-09-02 21:43:25 +0000
commitd50cdb753a3aaa0398db32aa15ec2cbe5a94057b (patch)
tree2564366d4d33655cc8e1039c46430fbfabbd2c73
parent421221eec335cbdfa5ed97464d40775bd560dadc (diff)
downloadwebtools.dali-d50cdb753a3aaa0398db32aa15ec2cbe5a94057b.tar.gz
webtools.dali-d50cdb753a3aaa0398db32aa15ec2cbe5a94057b.tar.xz
webtools.dali-d50cdb753a3aaa0398db32aa15ec2cbe5a94057b.zip
virtual xml support for derived id
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmManyToOneMapping2_0Provider.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Provider.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlManyToOne2_0.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToOne2_0.java33
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/platform/GenericJpaFactory2_0.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/JpaFactory2_0.java12
6 files changed, 97 insertions, 45 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmManyToOneMapping2_0Provider.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmManyToOneMapping2_0Provider.java
index 5bf4430d5d..f61fc943f7 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmManyToOneMapping2_0Provider.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmManyToOneMapping2_0Provider.java
@@ -14,12 +14,12 @@ import org.eclipse.jpt.core.JpaFactory;
import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeMappingProvider;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.orm.Orm2_0Factory;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlManyToOne;
import org.eclipse.jpt.core.resource.orm.XmlAttributeMapping;
@@ -56,12 +56,22 @@ public class GenericOrmManyToOneMapping2_0Provider
return Orm2_0Factory.eINSTANCE.createXmlManyToOne();
}
- public OrmAttributeMapping buildMapping(OrmPersistentAttribute parent, XmlAttributeMapping resourceMapping, JpaFactory factory) {
- return ((JpaFactory2_0) factory).buildOrmManyToOneMapping2_0(parent, (XmlManyToOne) resourceMapping);
+ public OrmAttributeMapping buildMapping(
+ OrmPersistentAttribute parent,
+ XmlAttributeMapping resourceMapping,
+ JpaFactory factory) {
+
+ return ((JpaFactory2_0) factory).buildOrmManyToOneMapping2_0(
+ parent, (XmlManyToOne) resourceMapping);
}
- public XmlAttributeMapping buildVirtualResourceMapping(OrmTypeMapping ormTypeMapping, JavaAttributeMapping javaAttributeMapping, JpaFactory factory) {
- return ((JpaFactory2_0) factory).buildVirtualXmlManyToOne2_0(ormTypeMapping, (JavaManyToOneMapping) javaAttributeMapping);
+ public XmlAttributeMapping buildVirtualResourceMapping(
+ OrmTypeMapping ormTypeMapping,
+ JavaAttributeMapping javaAttributeMapping,
+ JpaFactory factory) {
+
+ return ((JpaFactory2_0) factory).buildVirtualXmlManyToOne2_0(
+ ormTypeMapping,
+ (JavaManyToOneMapping2_0) javaAttributeMapping);
}
-
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Provider.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Provider.java
index a06c5f833a..66fb96eb2c 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Provider.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Provider.java
@@ -14,12 +14,12 @@ import org.eclipse.jpt.core.JpaFactory;
import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmAttributeMappingProvider;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.orm.Orm2_0Factory;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlOneToOne;
import org.eclipse.jpt.core.resource.orm.XmlAttributeMapping;
@@ -56,12 +56,21 @@ public class GenericOrmOneToOneMapping2_0Provider
return Orm2_0Factory.eINSTANCE.createXmlOneToOne();
}
- public OrmAttributeMapping buildMapping(OrmPersistentAttribute parent, XmlAttributeMapping resourceMapping, JpaFactory factory) {
- return ((JpaFactory2_0) factory).buildOrmOneToOneMapping2_0(parent, (XmlOneToOne) resourceMapping);
+ public OrmAttributeMapping buildMapping(
+ OrmPersistentAttribute parent,
+ XmlAttributeMapping resourceMapping,
+ JpaFactory factory) {
+
+ return ((JpaFactory2_0) factory).buildOrmOneToOneMapping2_0(
+ parent, (XmlOneToOne) resourceMapping);
}
-
- public XmlAttributeMapping buildVirtualResourceMapping(OrmTypeMapping ormTypeMapping, JavaAttributeMapping javaAttributeMapping, JpaFactory factory) {
- return ((JpaFactory2_0) factory).buildVirtualXmlOneToOne2_0(ormTypeMapping, (JavaOneToOneMapping) javaAttributeMapping);
+
+ public XmlAttributeMapping buildVirtualResourceMapping(
+ OrmTypeMapping ormTypeMapping,
+ JavaAttributeMapping javaAttributeMapping,
+ JpaFactory factory) {
+
+ return ((JpaFactory2_0) factory).buildVirtualXmlOneToOne2_0(
+ ormTypeMapping, (JavaOneToOneMapping2_0) javaAttributeMapping);
}
-
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlManyToOne2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlManyToOne2_0.java
index fd21113f23..b2e7ff0aef 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlManyToOne2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlManyToOne2_0.java
@@ -10,9 +10,9 @@
package org.eclipse.jpt.core.internal.jpa2.context.orm;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlManyToOne;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlManyToOne;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
@@ -21,20 +21,19 @@ import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
import org.eclipse.jpt.core.utility.TextRange;
-/**
- * VirtualBasic is an implementation of Basic used when there is
- * no tag in the orm.xml and an underlying javaBasicMapping exists.
- */
public class VirtualXmlManyToOne2_0 extends XmlManyToOne
-{
-
+{
protected OrmTypeMapping ormTypeMapping;
- protected final JavaManyToOneMapping javaAttributeMapping;
-
+ protected final JavaManyToOneMapping2_0 javaAttributeMapping;
+
protected final VirtualXmlManyToOne virtualXmlManyToOne;
+
+
+ public VirtualXmlManyToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaManyToOneMapping2_0 javaManyToOneMapping) {
- public VirtualXmlManyToOne2_0(OrmTypeMapping ormTypeMapping, JavaManyToOneMapping javaManyToOneMapping) {
super();
this.ormTypeMapping = ormTypeMapping;
this.javaAttributeMapping = javaManyToOneMapping;
@@ -134,4 +133,18 @@ public class VirtualXmlManyToOne2_0 extends XmlManyToOne
public void setAccess(AccessType value) {
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
+
+ @Override
+ public Boolean getId() {
+ if (isOrmMetadataComplete()) {
+ return null;
+ }
+ boolean javaIdValue = this.javaAttributeMapping.getDerivedId().getValue();
+ return (javaIdValue) ? Boolean.TRUE : null;
+ }
+
+ @Override
+ public void setId(Boolean newId) {
+ throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToOne2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToOne2_0.java
index f5ead92f0b..308dc4fb21 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToOne2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToOne2_0.java
@@ -10,9 +10,9 @@
package org.eclipse.jpt.core.internal.jpa2.context.orm;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlOneToOne;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlOneToOne;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
@@ -22,20 +22,19 @@ import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
import org.eclipse.jpt.core.resource.orm.XmlPrimaryKeyJoinColumn;
import org.eclipse.jpt.core.utility.TextRange;
-/**
- * VirtualBasic is an implementation of Basic used when there is
- * no tag in the orm.xml and an underlying javaBasicMapping exists.
- */
public class VirtualXmlOneToOne2_0 extends XmlOneToOne
-{
-
+{
protected OrmTypeMapping ormTypeMapping;
- protected final JavaOneToOneMapping javaAttributeMapping;
-
+ protected final JavaOneToOneMapping2_0 javaAttributeMapping;
+
protected final VirtualXmlOneToOne virtualXmlOneToOne;
+
+
+ public VirtualXmlOneToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaOneToOneMapping2_0 javaOneToOneMapping) {
- public VirtualXmlOneToOne2_0(OrmTypeMapping ormTypeMapping, JavaOneToOneMapping javaOneToOneMapping) {
super();
this.ormTypeMapping = ormTypeMapping;
this.javaAttributeMapping = javaOneToOneMapping;
@@ -155,4 +154,18 @@ public class VirtualXmlOneToOne2_0 extends XmlOneToOne
public void setAccess(AccessType value) {
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
+
+ @Override
+ public Boolean getId() {
+ if (isOrmMetadataComplete()) {
+ return null;
+ }
+ boolean javaIdValue = this.javaAttributeMapping.getDerivedId().getValue();
+ return (javaIdValue) ? Boolean.TRUE : null;
+ }
+
+ @Override
+ public void setId(Boolean newId) {
+ throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/platform/GenericJpaFactory2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/platform/GenericJpaFactory2_0.java
index b65963550d..8ef30a1c25 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/platform/GenericJpaFactory2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/platform/GenericJpaFactory2_0.java
@@ -108,6 +108,8 @@ import org.eclipse.jpt.core.internal.platform.AbstractJpaFactory;
import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
import org.eclipse.jpt.core.jpa2.JpaProject2_0;
import org.eclipse.jpt.core.jpa2.context.JpaRootContextNode2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmAssociationOverrideRelationshipReference2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSequenceGenerator2_0;
import org.eclipse.jpt.core.jpa2.context.persistence.ClassRef2_0;
@@ -302,14 +304,9 @@ public class GenericJpaFactory2_0
public OrmBasicMapping buildOrmBasicMapping2_0(OrmPersistentAttribute parent, XmlBasic resourceMapping) {
return this.buildOrmBasicMapping(parent, resourceMapping);
}
-
- @Override
- public OrmIdMapping buildOrmIdMapping(OrmPersistentAttribute parent, org.eclipse.jpt.core.resource.orm.XmlId resourceMapping) {
- return new GenericOrmIdMapping2_0(parent, (XmlId)resourceMapping);
- }
public OrmIdMapping buildOrmIdMapping2_0(OrmPersistentAttribute parent, XmlId resourceMapping) {
- return this.buildOrmIdMapping(parent, resourceMapping);
+ return new GenericOrmIdMapping2_0(parent, resourceMapping);
}
public OrmEmbeddedMapping buildOrmEmbeddedMapping2_0(OrmPersistentAttribute parent, XmlEmbedded resourceMapping) {
@@ -384,7 +381,10 @@ public class GenericJpaFactory2_0
return new VirtualXmlManyToMany2_0(ormTypeMapping, javaManyToManyMapping);
}
- public XmlManyToOne buildVirtualXmlManyToOne2_0(OrmTypeMapping ormTypeMapping, JavaManyToOneMapping javaManyToOneMapping) {
+ public XmlManyToOne buildVirtualXmlManyToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaManyToOneMapping2_0 javaManyToOneMapping) {
+
return new VirtualXmlManyToOne2_0(ormTypeMapping, javaManyToOneMapping);
}
@@ -392,7 +392,10 @@ public class GenericJpaFactory2_0
return new VirtualXmlOneToMany2_0(ormTypeMapping, javaOneToManyMapping);
}
- public XmlOneToOne buildVirtualXmlOneToOne2_0(OrmTypeMapping ormTypeMapping, JavaOneToOneMapping javaOneToOneMapping) {
+ public XmlOneToOne buildVirtualXmlOneToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaOneToOneMapping2_0 javaOneToOneMapping) {
+
return new VirtualXmlOneToOne2_0(ormTypeMapping, javaOneToOneMapping);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/JpaFactory2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/JpaFactory2_0.java
index e0c4cb3a9d..6147103100 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/JpaFactory2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/JpaFactory2_0.java
@@ -19,9 +19,7 @@ import org.eclipse.jpt.core.context.java.JavaEmbeddedIdMapping;
import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
import org.eclipse.jpt.core.context.java.JavaIdMapping;
import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
-import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.java.JavaTransientMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.EntityMappings;
@@ -48,6 +46,8 @@ import org.eclipse.jpt.core.context.orm.PersistenceUnitMetadata;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericEntityMappings2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmXml2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmAssociationOverrideRelationshipReference2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSequenceGenerator2_0;
import org.eclipse.jpt.core.jpa2.resource.orm.XmlAssociationOverride;
@@ -142,11 +142,15 @@ public interface JpaFactory2_0
XmlManyToMany buildVirtualXmlManyToMany2_0(OrmTypeMapping ormTypeMapping, JavaManyToManyMapping javaManyToManyMapping);
- XmlManyToOne buildVirtualXmlManyToOne2_0(OrmTypeMapping ormTypeMapping, JavaManyToOneMapping javaManyToOneMapping);
+ XmlManyToOne buildVirtualXmlManyToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaManyToOneMapping2_0 javaManyToOneMapping);
XmlOneToMany buildVirtualXmlOneToMany2_0(OrmTypeMapping ormTypeMapping, JavaOneToManyMapping javaOneToManyMapping);
- XmlOneToOne buildVirtualXmlOneToOne2_0(OrmTypeMapping ormTypeMapping, JavaOneToOneMapping javaOneToOneMapping);
+ XmlOneToOne buildVirtualXmlOneToOne2_0(
+ OrmTypeMapping ormTypeMapping,
+ JavaOneToOneMapping2_0 javaOneToOneMapping);
XmlTransient buildVirtualXmlTransient2_0(OrmTypeMapping ormTypeMapping, JavaTransientMapping javaTransientMapping);

Back to the top