293526 - [JPA 2.0] Orphan-Removal Orm context model need to be refactored
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 079946d..4828830 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
@@ -124,6 +124,7 @@
import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaCacheable2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaDerivedId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaMapsId2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaOrphanRemoval2_0;
import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
import org.eclipse.jpt.core.jpa2.JpaProject2_0;
import org.eclipse.jpt.core.jpa2.MetamodelSynchronizer;
@@ -134,6 +135,8 @@
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_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.JavaResourcePersistentAttribute;
@@ -381,4 +384,8 @@
public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
return new NullJavaCacheable2_0(parent);
}
+
+ public JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent) {
+ return new NullJavaOrphanRemoval2_0(parent);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToManyMapping.java
index a983552..0a6383e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToManyMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToManyMapping.java
@@ -12,7 +12,10 @@
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.java.JavaOneToManyRelationshipReference;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.java.OneToManyAnnotation;
import org.eclipse.jpt.utility.internal.ArrayTools;
@@ -20,11 +23,27 @@
public abstract class AbstractJavaOneToManyMapping<T extends OneToManyAnnotation>
extends AbstractJavaMultiRelationshipMapping<T>
- implements JavaOneToManyMapping2_0
+ implements JavaOneToManyMapping2_0, JavaOrphanRemovalHolder2_0
{
+ protected final JavaOrphanRemovable2_0 orphanRemoval;
protected AbstractJavaOneToManyMapping(JavaPersistentAttribute parent) {
super(parent);
+ this.orphanRemoval = ((JpaFactory2_0) this.getJpaFactory()).buildJavaOrphanRemoval(this);
+ }
+
+ // ********** initialize/update **********
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.orphanRemoval.initialize(this.getResourcePersistentAttribute());
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.orphanRemoval.update(this.getResourcePersistentAttribute());
}
@@ -39,36 +58,26 @@
JPA.JOIN_COLUMN,
JPA.JOIN_COLUMNS);
}
+
+ public String getKey() {
+ return MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY;
+ }
+
+ // ********** JavaOneToManyMapping implementation **********
@Override
public T getMappingAnnotation() {
return super.getMappingAnnotation();
}
- public String getKey() {
- return MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY;
- }
-
@Override
public JavaOneToManyRelationshipReference getRelationshipReference() {
return (JavaOneToManyRelationshipReference) super.getRelationshipReference();
}
-
- // ********** JPA 2.0 behavior **********
- public boolean isOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
+ // ********** JavaOrphanRemovalHolder2_0 implementation **********
- public Boolean getSpecifiedOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public boolean isDefaultOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
+ public JavaOrphanRemovable2_0 getOrphanRemoval() {
+ return this.orphanRemoval;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneMapping.java
index a43aa9d..c953dbf 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaOneToOneMapping.java
@@ -13,7 +13,10 @@
import org.eclipse.jpt.core.context.java.JavaOneToOneRelationshipReference;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaRelationshipReference;
+import org.eclipse.jpt.core.jpa2.JpaFactory2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.java.OneToOneAnnotation;
import org.eclipse.jpt.utility.internal.ArrayTools;
@@ -21,11 +24,28 @@
public abstract class AbstractJavaOneToOneMapping
extends AbstractJavaSingleRelationshipMapping<OneToOneAnnotation>
- implements JavaOneToOneMapping2_0
+ implements JavaOneToOneMapping2_0, JavaOrphanRemovalHolder2_0
{
+ protected final JavaOrphanRemovable2_0 orphanRemoval;
+
// ********** constructor **********
protected AbstractJavaOneToOneMapping(JavaPersistentAttribute parent) {
super(parent);
+ this.orphanRemoval = ((JpaFactory2_0) this.getJpaFactory()).buildJavaOrphanRemoval(this);
+ }
+
+ // ********** initialize/update **********
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.orphanRemoval.initialize(this.getResourcePersistentAttribute());
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.orphanRemoval.update(this.getResourcePersistentAttribute());
}
@Override
@@ -38,11 +58,6 @@
}
@Override
- public OneToOneAnnotation getMappingAnnotation() {
- return super.getMappingAnnotation();
- }
-
- @Override
protected String[] buildSupportingAnnotationNames() {
return ArrayTools.addAll(
super.buildSupportingAnnotationNames(),
@@ -55,11 +70,6 @@
}
@Override
- public JavaOneToOneRelationshipReference getRelationshipReference() {
- return (JavaOneToOneRelationshipReference) super.getRelationshipReference();
- }
-
- @Override
protected Boolean getResourceOptional() {
return this.mappingAnnotation.getOptional();
}
@@ -68,22 +78,22 @@
protected void setResourceOptional(Boolean newOptional) {
this.mappingAnnotation.setOptional(newOptional);
}
+
+ // ********** JavaOneToOneMapping implementation **********
- // ********** JPA 2.0 behavior **********
-
- public boolean isOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
+ @Override
+ public OneToOneAnnotation getMappingAnnotation() {
+ return super.getMappingAnnotation();
+ }
+
+ @Override
+ public JavaOneToOneRelationshipReference getRelationshipReference() {
+ return (JavaOneToOneRelationshipReference) super.getRelationshipReference();
}
- public Boolean getSpecifiedOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
+ // ********** JavaOrphanRemovalHolder2_0 implementation **********
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public boolean isDefaultOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
+ public JavaOrphanRemovable2_0 getOrphanRemoval() {
+ return this.orphanRemoval;
}
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java
index c67fcbd..6db06bc 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToManyMapping.java
@@ -14,16 +14,31 @@
import org.eclipse.jpt.core.context.orm.OrmOneToManyRelationshipReference;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_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.XmlOneToMany;
public abstract class AbstractOrmOneToManyMapping<T extends XmlOneToMany>
extends AbstractOrmMultiRelationshipMapping<T>
- implements OrmOneToManyMapping2_0
+ implements OrmOneToManyMapping2_0, OrmOrphanRemovalHolder2_0
{
+ protected final OrmOrphanRemovable2_0 orphanRemoval;
+
+ // ********** constructor **********
protected AbstractOrmOneToManyMapping(OrmPersistentAttribute parent, T resourceMapping) {
super(parent, resourceMapping);
+ this.orphanRemoval = ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()).buildOrmOrphanRemoval(this, resourceMapping);
+ }
+
+ // ********** update **********
+
+ @Override
+ public void update() {
+ super.update();
+ this.getOrphanRemoval().update();
}
public int getXmlSequence() {
@@ -50,22 +65,10 @@
public OrmOneToManyRelationshipReference getRelationshipReference() {
return (OrmOneToManyRelationshipReference) super.getRelationshipReference();
}
-
- // ********** JPA 2.0 behavior *********s*
- public boolean isOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
+ // ********** OrmOrphanRemovalHolder2_0 implementation **********
- public Boolean getSpecifiedOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public boolean isDefaultOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
+ public OrmOrphanRemovable2_0 getOrphanRemoval() {
+ return this.orphanRemoval;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java
index e0a5e20..61456cc 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmOneToOneMapping.java
@@ -15,18 +15,32 @@
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_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.XmlOneToOne;
public abstract class AbstractOrmOneToOneMapping<T extends XmlOneToOne>
extends AbstractOrmSingleRelationshipMapping<T>
- implements OrmOneToOneMapping2_0
+ implements OrmOneToOneMapping2_0, OrmOrphanRemovalHolder2_0
{
+ protected final OrmOrphanRemovable2_0 orphanRemoval;
+
+ // ********** constructor **********
protected AbstractOrmOneToOneMapping(OrmPersistentAttribute parent, T resourceMapping) {
super(parent, resourceMapping);
+ this.orphanRemoval = ((OrmXml2_0ContextNodeFactory) getXmlContextNodeFactory()).buildOrmOrphanRemoval(this, resourceMapping);
}
+
+ // ********** update **********
+ @Override
+ public void update() {
+ super.update();
+ this.getOrphanRemoval().update();
+ }
@Override
protected OrmRelationshipReference buildRelationshipReference() {
@@ -57,22 +71,10 @@
public OrmOneToOneRelationshipReference getRelationshipReference() {
return (OrmOneToOneRelationshipReference) super.getRelationshipReference();
}
-
- // ********** JPA 2.0 behavior **********
- public boolean isOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
+ // ********** OrmOrphanRemovalHolder2_0 implementation **********
- public Boolean getSpecifiedOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
- }
-
- public boolean isDefaultOrphanRemoval() {
- throw new UnsupportedOperationException("operation not supported in JPA 1.0"); //$NON-NLS-1$
+ public OrmOrphanRemovable2_0 getOrphanRemoval() {
+ return this.orphanRemoval;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmXmlContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmXmlContextNodeFactory.java
index 588ff6f..37d9e3d 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmXmlContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmXmlContextNodeFactory.java
@@ -124,6 +124,7 @@
import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmCacheable2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmDerivedId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmMapsId2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmOrphanRemoval2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmCacheable2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmCacheableHolder2_0;
@@ -131,6 +132,8 @@
import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSingleRelationshipMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmXml2_0ContextNodeFactory;
import org.eclipse.jpt.core.resource.orm.AbstractXmlRelationshipMapping;
@@ -173,6 +176,7 @@
import org.eclipse.jpt.core.resource.orm.v2_0.XmlCacheable2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlDerivedId_2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlMapsId_2_0;
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlOrphanRemovable2_0;
import org.eclipse.jpt.core.resource.xml.JpaXmlResource;
public abstract class AbstractOrmXmlContextNodeFactory implements OrmXml2_0ContextNodeFactory
@@ -391,6 +395,10 @@
return new NullOrmCacheable2_0(parent);
}
+ public OrmOrphanRemovable2_0 buildOrmOrphanRemoval(OrmOrphanRemovalHolder2_0 parent, XmlOrphanRemovable2_0 resource) {
+ return new NullOrmOrphanRemoval2_0(parent);
+ }
+
// ********** ORM Virtual Resource Model **********
public XmlAssociationOverride buildVirtualXmlAssociationOverride(String name, OrmTypeMapping parent, JoiningStrategy joiningStrategy) {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmOneToOneMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmOneToOneMapping.java
index 3c0a879..1b7a9a2 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmOneToOneMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa1/context/orm/GenericOrmOneToOneMapping.java
@@ -14,11 +14,13 @@
import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-public class GenericOrmOneToOneMapping extends AbstractOrmOneToOneMapping<XmlOneToOne>
+public class GenericOrmOneToOneMapping
+ extends AbstractOrmOneToOneMapping<XmlOneToOne>
{
-
+
+ // ********** constructor **********
public GenericOrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
super(parent, resourceMapping);
}
-
-}
+
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/GenericJpaFactory2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/GenericJpaFactory2_0.java
index f215f54..dd1f368 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/GenericJpaFactory2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/GenericJpaFactory2_0.java
@@ -32,6 +32,7 @@
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaMapsId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToManyMapping2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToOneMapping2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrphanRemoval2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentAttribute2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentType2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaSequenceGenerator2_0;
@@ -45,6 +46,8 @@
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_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.JavaResourcePersistentAttribute;
@@ -144,4 +147,9 @@
public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
return new GenericJavaCacheable2_0(parent);
}
+
+ @Override
+ public JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent) {
+ return new GenericJavaOrphanRemoval2_0(parent);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0.java
index e3bc7e8..6d9db77 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0.java
@@ -11,7 +11,6 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaOneToManyMapping;
-import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.OneToMany2_0Annotation;
import org.eclipse.jpt.utility.internal.ArrayTools;
@@ -22,65 +21,17 @@
public class GenericJavaOneToManyMapping2_0
extends GenericJavaOneToManyMapping<OneToMany2_0Annotation>
{
- protected Boolean specifiedOrphanRemoval = false;
// ********** constructor **********
public GenericJavaOneToManyMapping2_0(JavaPersistentAttribute parent) {
super(parent);
}
-
- @Override
- protected void initialize() {
- super.initialize();
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- protected void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
+
@Override
protected String[] buildSupportingAnnotationNames() {
return ArrayTools.addAll(
super.buildSupportingAnnotationNames(),
JPA2_0.ONE_TO_MANY__ORPHAN_REMOVAL);
}
-
- // ********** OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.specifiedOrphanRemoval != null) ? this.specifiedOrphanRemoval.booleanValue() : this.isDefaultOrphanRemoval();
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- ((OneToMany2_0Annotation) this.mappingAnnotation).setOrphanRemoval(newOrphanRemoval);
- this.firePropertyChanged(OneToManyMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OneToManyMapping2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return ((OneToMany2_0Annotation) this.mappingAnnotation).getOrphanRemoval();
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OneToManyMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0.java
index e7345e1..7112fbb 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0.java
@@ -11,9 +11,7 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaOneToOneMapping;
-import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
-import org.eclipse.jpt.core.jpa2.resource.java.OneToOne2_0Annotation;
import org.eclipse.jpt.utility.internal.ArrayTools;
/**
@@ -22,7 +20,6 @@
public class GenericJavaOneToOneMapping2_0
extends GenericJavaOneToOneMapping
{
- private Boolean specifiedOrphanRemoval = false;
// ********** constructor **********
public GenericJavaOneToOneMapping2_0(JavaPersistentAttribute parent) {
@@ -30,57 +27,10 @@
}
@Override
- protected void initialize() {
- super.initialize();
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- protected void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- @Override
protected String[] buildSupportingAnnotationNames() {
return ArrayTools.addAll(
super.buildSupportingAnnotationNames(),
JPA2_0.ONE_TO_ONE__ORPHAN_REMOVAL);
}
-
- // ********** JPA 2.0 - OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.specifiedOrphanRemoval != null) ? this.specifiedOrphanRemoval.booleanValue() : this.isDefaultOrphanRemoval();
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- ((OneToOne2_0Annotation) this.mappingAnnotation).setOrphanRemoval(newOrphanRemoval);
- this.firePropertyChanged(OneToOneMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OneToOneMapping2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return ((OneToOne2_0Annotation) this.mappingAnnotation).getOrphanRemoval();
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OneToOneMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOrphanRemoval2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOrphanRemoval2_0.java
new file mode 100644
index 0000000..8587f04
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/GenericJavaOrphanRemoval2_0.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+* 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.core.internal.jpa2.context.java;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaJpaContextNode;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.resource.java.OrphanRemovable2_0Annotation;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
+import org.eclipse.jpt.core.utility.TextRange;
+
+/**
+ * GenericJavaOrphanRemoval2_0
+ */
+public class GenericJavaOrphanRemoval2_0
+ extends AbstractJavaJpaContextNode
+ implements JavaOrphanRemovable2_0
+{
+ protected boolean defaultOrphanRemoval;
+ protected Boolean specifiedOrphanRemoval;
+
+ protected JavaResourcePersistentAttribute resourcePersistentAttribute;
+
+ public GenericJavaOrphanRemoval2_0(JavaOrphanRemovalHolder2_0 parent) {
+ super(parent);
+ }
+
+ @Override
+ public JavaOrphanRemovalHolder2_0 getParent() {
+ return (JavaOrphanRemovalHolder2_0) super.getParent();
+ }
+
+ protected String getAnnotationName() {
+ return ((JavaAttributeMapping)getParent()).getAnnotationName();
+ }
+
+ protected OrphanRemovable2_0Annotation getResourceOrphanRemovable() {
+ return (OrphanRemovable2_0Annotation) this.resourcePersistentAttribute.getAnnotation(this.getAnnotationName());
+ }
+
+ // ********** OrphanRemovable2_0 implementation **********
+
+ public boolean isOrphanRemoval() {
+ return this.specifiedOrphanRemoval != null ? this.specifiedOrphanRemoval.booleanValue() : this.defaultOrphanRemoval;
+ }
+
+ public Boolean getSpecifiedOrphanRemoval() {
+ return this.specifiedOrphanRemoval;
+ }
+
+ public boolean isDefaultOrphanRemoval() {
+ return this.defaultOrphanRemoval;
+ }
+
+ protected void setDefaultOrphanRemoval(boolean newDefaultOrphanRemoval) {
+ boolean old = this.defaultOrphanRemoval;
+ this.defaultOrphanRemoval = newDefaultOrphanRemoval;
+ this.firePropertyChanged(DEFAULT_ORPHAN_REMOVAL_PROPERTY, old, newDefaultOrphanRemoval);
+ }
+
+ public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
+ Boolean old = this.specifiedOrphanRemoval;
+ this.specifiedOrphanRemoval = newOrphanRemoval;
+ this.getResourceOrphanRemovable().setOrphanRemoval(newOrphanRemoval);
+ this.firePropertyChanged(SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
+ }
+
+ protected void setSpecifiedOrphanRemoval_(Boolean newSpecifiedOrphanRemoval) {
+ Boolean old = this.specifiedOrphanRemoval;
+ this.specifiedOrphanRemoval = newSpecifiedOrphanRemoval;
+ this.firePropertyChanged(SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newSpecifiedOrphanRemoval);
+ }
+
+ // ********** initialize/update **********
+
+ public void initialize(JavaResourcePersistentAttribute jrpa) {
+ this.resourcePersistentAttribute = jrpa;
+ OrphanRemovable2_0Annotation resource = this.getResourceOrphanRemovable();
+ this.specifiedOrphanRemoval = this.getSpecifiedOrphanRemovalFrom(resource);
+ }
+
+ public void update(JavaResourcePersistentAttribute jrpa) {
+ this.resourcePersistentAttribute = jrpa;
+ OrphanRemovable2_0Annotation resource = this.getResourceOrphanRemovable();
+ this.setSpecifiedOrphanRemoval_(this.getSpecifiedOrphanRemovalFrom(resource));
+ }
+
+ private Boolean getSpecifiedOrphanRemovalFrom(OrphanRemovable2_0Annotation resource) {
+ return (resource == null) ? null : resource.getOrphanRemoval();
+ }
+
+ // ********** validation **********
+
+ public TextRange getValidationTextRange(CompilationUnit astRoot) {
+ // TODO
+ return null;
+ }
+
+
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/NullJavaOrphanRemoval2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/NullJavaOrphanRemoval2_0.java
new file mode 100644
index 0000000..03633a8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/java/NullJavaOrphanRemoval2_0.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+* 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.core.internal.jpa2.context.java;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaJpaContextNode;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
+import org.eclipse.jpt.core.utility.TextRange;
+
+/**
+ * NullJavaOrphanRemoval2_0
+ */
+public class NullJavaOrphanRemoval2_0
+ extends AbstractJavaJpaContextNode
+ implements JavaOrphanRemovable2_0
+{
+ // ********** constructor **********
+ public NullJavaOrphanRemoval2_0(JavaOrphanRemovalHolder2_0 parent) {
+ super(parent);
+ }
+
+ // ********** OrphanRemovable2_0 implementation **********
+
+ public boolean isOrphanRemoval() {
+ return false;
+ }
+
+ public Boolean getSpecifiedOrphanRemoval() {
+ return null;
+ }
+
+ public boolean isDefaultOrphanRemoval() {
+ return false;
+ }
+
+ public void setSpecifiedOrphanRemoval(Boolean newSpecifiedOrphanRemoval) {
+ throw new UnsupportedOperationException();
+ }
+
+ // ********** JavaOrphanRemovable2_0 implementation **********
+
+ public void initialize(JavaResourcePersistentAttribute jrpa) {
+ // do nothing
+ }
+
+ public void update(JavaResourcePersistentAttribute jrpa) {
+ // do nothing
+ }
+
+ // ********** validation **********
+
+ public TextRange getValidationTextRange(CompilationUnit astRoot) {
+ return null;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0.java
deleted file mode 100644
index a68b3ca..0000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-* 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.core.internal.jpa2.context.orm;
-
-import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToManyMapping;
-import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
-import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
-
-/**
- * GenericOrmOneToManyMapping2_0
- */
-public class GenericOrmOneToManyMapping2_0
- extends GenericOrmOneToManyMapping
-{
- protected Boolean specifiedOrphanRemoval;
-
- // ********** constructor **********
- public GenericOrmOneToManyMapping2_0(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
- super(parent, resourceMapping);
-
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- public void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return this.resourceAttributeMapping.getOrphanRemoval();
- }
-
- // ********** OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.getSpecifiedOrphanRemoval() == null) ? this.isDefaultOrphanRemoval() : this.getSpecifiedOrphanRemoval().booleanValue();
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.resourceAttributeMapping.setOrphanRemoval(newOrphanRemoval);
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0.java
deleted file mode 100644
index 921b031..0000000
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
-* 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.core.internal.jpa2.context.orm;
-
-import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToOneMapping;
-import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
-import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-
-/**
- * GenericOrmOneToOneMapping2_0
- */
-public class GenericOrmOneToOneMapping2_0
- extends GenericOrmOneToOneMapping
-{
- protected Boolean specifiedOrphanRemoval;
-
- // ********** constructor **********
- public GenericOrmOneToOneMapping2_0(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
- super(parent, resourceMapping);
-
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- public void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return this.resourceAttributeMapping.getOrphanRemoval();
- }
-
- // ********** OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.getSpecifiedOrphanRemoval() == null) ? this.isDefaultOrphanRemoval() : this.getSpecifiedOrphanRemoval().booleanValue();
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.resourceAttributeMapping.setOrphanRemoval(newOrphanRemoval);
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOrphanRemoval2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOrphanRemoval2_0.java
new file mode 100644
index 0000000..42c2f82
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmOrphanRemoval2_0.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+* 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.core.internal.jpa2.context.orm;
+
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlOrphanRemovable2_0;
+import org.eclipse.jpt.core.utility.TextRange;
+
+/**
+ * GenericOrmOrphanRemoval2_0
+ */
+public class GenericOrmOrphanRemoval2_0 extends AbstractOrmXmlContextNode
+ implements OrmOrphanRemovable2_0
+{
+ protected final XmlOrphanRemovable2_0 resource;
+ protected boolean defaultOrphanRemoval;
+ protected Boolean specifiedOrphanRemoval;
+
+ // ********** constructor **********
+ public GenericOrmOrphanRemoval2_0(OrmOrphanRemovalHolder2_0 parent, XmlOrphanRemovable2_0 resource) {
+ super(parent);
+ this.resource = resource;
+ this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
+ }
+
+ @Override
+ public OrmOrphanRemovalHolder2_0 getParent() {
+ return (OrmOrphanRemovalHolder2_0) super.getParent();
+ }
+
+ // ********** OrphanRemovable2_0 implementation **********
+
+ public boolean isOrphanRemoval() {
+ return (this.specifiedOrphanRemoval != null) ? this.specifiedOrphanRemoval.booleanValue() : this.defaultOrphanRemoval;
+ }
+
+ public Boolean getSpecifiedOrphanRemoval() {
+ return this.specifiedOrphanRemoval;
+ }
+
+ public boolean isDefaultOrphanRemoval() {
+ return this.defaultOrphanRemoval;
+ }
+
+ public void setSpecifiedOrphanRemoval(Boolean newSpecifiedOrphanRemoval) {
+ Boolean old = this.specifiedOrphanRemoval;
+ this.specifiedOrphanRemoval = newSpecifiedOrphanRemoval;
+ this.resource.setOrphanRemoval(newSpecifiedOrphanRemoval);
+ this.firePropertyChanged(SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newSpecifiedOrphanRemoval);
+ }
+
+ protected void setSpecifiedOrphanRemoval_(Boolean newSpecifiedOrphanRemoval) {
+ Boolean old = this.specifiedOrphanRemoval;
+ this.specifiedOrphanRemoval = newSpecifiedOrphanRemoval;
+ this.firePropertyChanged(SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newSpecifiedOrphanRemoval);
+ }
+
+ // ********** initialize/update **********
+ public void update() {
+ this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
+ }
+
+ // ********** validation **********
+ public TextRange getValidationTextRange() {
+ // TODO
+ return null;
+ }
+
+ protected Boolean getResourceOrphanRemoval() {
+ return this.resource.getOrphanRemoval();
+ }
+
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmXml2_0ContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmXml2_0ContextNodeFactory.java
index 7218fd3..7058fd3 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmXml2_0ContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/GenericOrmXml2_0ContextNodeFactory.java
@@ -26,8 +26,6 @@
import org.eclipse.jpt.core.context.orm.OrmAssociationOverrideContainer;
import org.eclipse.jpt.core.context.orm.OrmAssociationOverrideRelationshipReference;
import org.eclipse.jpt.core.context.orm.OrmEmbeddable;
-import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator;
@@ -45,6 +43,8 @@
import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSingleRelationshipMapping2_0;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
@@ -63,6 +63,7 @@
import org.eclipse.jpt.core.resource.orm.v2_0.XmlCacheable2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlDerivedId_2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlMapsId_2_0;
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlOrphanRemovable2_0;
public class GenericOrmXml2_0ContextNodeFactory extends AbstractOrmXmlContextNodeFactory
{
@@ -121,17 +122,12 @@
public OrmCacheable2_0 buildOrmCacheable(OrmCacheableHolder2_0 parent, XmlCacheable2_0 resource) {
return new GenericOrmCacheable2_0(parent, resource);
}
-
- @Override
- public OrmOneToManyMapping buildOrmOneToManyMapping(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
- return new GenericOrmOneToManyMapping2_0(parent, resourceMapping);
- }
-
- @Override
- public OrmOneToOneMapping buildOrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
- return new GenericOrmOneToOneMapping2_0(parent, resourceMapping);
- }
+ @Override
+ public OrmOrphanRemovable2_0 buildOrmOrphanRemoval(OrmOrphanRemovalHolder2_0 parent, XmlOrphanRemovable2_0 resource) {
+ return new GenericOrmOrphanRemoval2_0(parent, resource);
+ }
+
// ********** ORM Virtual Resource Model **********
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/NullOrmOrphanRemoval2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/NullOrmOrphanRemoval2_0.java
new file mode 100644
index 0000000..9c90fa5
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/NullOrmOrphanRemoval2_0.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+* 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.core.internal.jpa2.context.orm;
+
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNode;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.utility.TextRange;
+
+/**
+ * NullOrmOrphanRemovable2_0
+ */
+public class NullOrmOrphanRemoval2_0
+ extends AbstractOrmXmlContextNode
+ implements OrmOrphanRemovable2_0
+{
+ public NullOrmOrphanRemoval2_0(OrmOrphanRemovalHolder2_0 parent) {
+ super(parent);
+ }
+
+ public boolean isDefaultOrphanRemoval() {
+ return false;
+ }
+
+ public boolean isOrphanRemoval() {
+ return false;
+ }
+
+ public Boolean getSpecifiedOrphanRemoval() {
+ return null;
+ }
+
+ public void setSpecifiedOrphanRemoval(Boolean newSpecifiedOrphanRemoval) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void update() {
+ // do nothing
+ }
+
+ public TextRange getValidationTextRange() {
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToMany2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToMany2_0.java
index f6a5220..7fc508e 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToMany2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/jpa2/context/orm/VirtualXmlOneToMany2_0.java
@@ -12,7 +12,10 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlOneToMany;
+import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.FetchType;
@@ -86,13 +89,18 @@
public void setCascade(CascadeType value) {
this.virtualXmlOneToMany.setCascade(value);
}
-
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
+
@Override
public Boolean getOrphanRemoval() {
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(this.javaAttributeMapping);
if (this.isOrmMetadataComplete()) {
- return this.javaAttributeMapping.isDefaultOrphanRemoval();
+ return mappingsOrphanRemoval.isDefaultOrphanRemoval();
}
- return this.javaAttributeMapping.isOrphanRemoval();
+ return mappingsOrphanRemoval.isOrphanRemoval();
}
@Override
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 cf358e8..5c5d7c2 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
@@ -12,7 +12,10 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.internal.context.orm.VirtualXmlOneToOne;
+import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.FetchType;
@@ -100,12 +103,17 @@
this.virtualXmlOneToOne.setCascade(value);
}
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
+
@Override
public Boolean getOrphanRemoval() {
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(this.javaAttributeMapping);
if (this.isOrmMetadataComplete()) {
- return this.javaAttributeMapping.isDefaultOrphanRemoval();
+ return mappingsOrphanRemoval.isDefaultOrphanRemoval();
}
- return this.javaAttributeMapping.isOrphanRemoval();
+ return mappingsOrphanRemoval.isOrphanRemoval();
}
@Override
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 ead464c..1283551 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
@@ -20,6 +20,8 @@
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaSingleRelationshipMapping2_0;
/**
@@ -55,4 +57,6 @@
JavaMapsId2_0 buildJavaMapsId(JavaSingleRelationshipMapping2_0 parent);
JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent);
+
+ JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToManyMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToManyMapping2_0.java
index c6c5eea..ae79424 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToManyMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToManyMapping2_0.java
@@ -19,5 +19,5 @@
* will almost certainly be broken (repeatedly) as the API evolves.
*/
public interface OneToManyMapping2_0
- extends OneToManyMapping, OrphanRemovable2_0
+ extends OneToManyMapping
{}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToOneMapping2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToOneMapping2_0.java
index c6e6401..25f167c 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToOneMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OneToOneMapping2_0.java
@@ -20,5 +20,5 @@
* will almost certainly be broken (repeatedly) as the API evolves.
*/
public interface OneToOneMapping2_0
- extends OneToOneMapping, SingleRelationshipMapping2_0, OrphanRemovable2_0
+ extends OneToOneMapping, SingleRelationshipMapping2_0
{}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OrphanRemovalHolder2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OrphanRemovalHolder2_0.java
new file mode 100644
index 0000000..7308be8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/OrphanRemovalHolder2_0.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+* 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.core.jpa2.context;
+
+import org.eclipse.jpt.core.JpaNode;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface OrphanRemovalHolder2_0 extends JpaNode
+{
+ OrphanRemovable2_0 getOrphanRemoval();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovable2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovable2_0.java
new file mode 100644
index 0000000..669e192
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovable2_0.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+* 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.core.jpa2.context.java;
+
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface JavaOrphanRemovable2_0
+ extends JavaJpaContextNode, OrphanRemovable2_0
+{
+ /**
+ * Initialize model without throwing any events
+ */
+ void initialize(JavaResourcePersistentAttribute jrpa);
+
+ /**
+ * Update model, throwing events as necessary
+ */
+ void update(JavaResourcePersistentAttribute jrpa);
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovalHolder2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovalHolder2_0.java
new file mode 100644
index 0000000..754b419
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/java/JavaOrphanRemovalHolder2_0.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+* 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.core.jpa2.context.java;
+
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface JavaOrphanRemovalHolder2_0 extends OrphanRemovalHolder2_0, JavaJpaContextNode
+{
+ JavaOrphanRemovable2_0 getOrphanRemoval();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovable2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovable2_0.java
new file mode 100644
index 0000000..7771215
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovable2_0.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+* 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.core.jpa2.context.orm;
+
+import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface OrmOrphanRemovable2_0
+ extends XmlContextNode, OrphanRemovable2_0
+{
+ /**
+ * Update model, throwing events as necessary
+ */
+ void update();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovalHolder2_0.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovalHolder2_0.java
new file mode 100644
index 0000000..356a5b2
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmOrphanRemovalHolder2_0.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+* 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.core.jpa2.context.orm;
+
+import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface OrmOrphanRemovalHolder2_0 extends OrphanRemovalHolder2_0, XmlContextNode
+{
+ OrmOrphanRemovable2_0 getOrphanRemoval();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmXml2_0ContextNodeFactory.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmXml2_0ContextNodeFactory.java
index b4447c0..a58d31b 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmXml2_0ContextNodeFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/context/orm/OrmXml2_0ContextNodeFactory.java
@@ -19,6 +19,7 @@
import org.eclipse.jpt.core.resource.orm.v2_0.XmlCacheable2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlDerivedId_2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlMapsId_2_0;
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlOrphanRemovable2_0;
public interface OrmXml2_0ContextNodeFactory extends OrmXmlContextNodeFactory
{
@@ -42,4 +43,6 @@
OrmTypeMapping ormTypeMapping, JavaElementCollectionMapping2_0 javaMapping);
OrmCacheable2_0 buildOrmCacheable(OrmCacheableHolder2_0 parent, XmlCacheable2_0 resource);
+
+ OrmOrphanRemovable2_0 buildOrmOrphanRemoval(OrmOrphanRemovalHolder2_0 parent, XmlOrphanRemovable2_0 resource);
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToMany2_0Annotation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToMany2_0Annotation.java
index e541a65..155e2db 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToMany2_0Annotation.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToMany2_0Annotation.java
@@ -9,34 +9,18 @@
*******************************************************************************/
package org.eclipse.jpt.core.jpa2.resource.java;
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
/**
- * OneToMany2_0Annotation
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
*/
public interface OneToMany2_0Annotation
- extends OneToManyAnnotation
-{
- // ********** orphan removal **********
- /**
- * Corresponds to the orphanRemoval element of the OneToMany annotation.
- * Returns null if the orphanRemoval element does not exist in java.
- */
- Boolean getOrphanRemoval();
- String ORPHAN_REMOVAL_PROPERTY = "orphanRemoval"; //$NON-NLS-1$
-
- /**
- * Corresponds to the orphanRemoval element of the OneToMany annotation.
- * Set to null to remove the orphanRemoval element.
- */
- void setOrphanRemoval(Boolean orphanRemoval);
-
- /**
- * Return the {@link TextRange} for the orphanRemoval element. If the orphanRemoval element
- * does not exist return the {@link TextRange} for the OneToMany annotation.
- */
- TextRange getOrphanRemovalTextRange(CompilationUnit astRoot);
-
-}
+ extends OneToManyAnnotation, OrphanRemovable2_0Annotation
+{}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToOne2_0Annotation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToOne2_0Annotation.java
index 70a0ac5..d216997 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToOne2_0Annotation.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OneToOne2_0Annotation.java
@@ -9,34 +9,18 @@
*******************************************************************************/
package org.eclipse.jpt.core.jpa2.resource.java;
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.core.utility.TextRange;
/**
- * OneToOne2_0Annotation
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
*/
public interface OneToOne2_0Annotation
- extends OneToOneAnnotation
-{
- // ********** orphan removal **********
- /**
- * Corresponds to the orphanRemoval element of the OneToMany annotation.
- * Returns null if the orphanRemoval element does not exist in java.
- */
- Boolean getOrphanRemoval();
-
- /**
- * Corresponds to the orphanRemoval element of the OneToMany annotation.
- * Set to null to remove the orphanRemoval element.
- */
- void setOrphanRemoval(Boolean orphanRemoval);
- String ORPHAN_REMOVAL_PROPERTY = "orphanRemoval"; //$NON-NLS-1$
-
- /**
- * Return the {@link TextRange} for the orphanRemoval element. If the orphanRemoval element
- * does not exist return the {@link TextRange} for the OneToMany annotation.
- */
- TextRange getOrphanRemovalTextRange(CompilationUnit astRoot);
-
-}
+ extends OneToOneAnnotation, OrphanRemovable2_0Annotation
+{}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OrphanRemovable2_0Annotation.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OrphanRemovable2_0Annotation.java
new file mode 100644
index 0000000..b674c93
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/jpa2/resource/java/OrphanRemovable2_0Annotation.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+* 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.core.jpa2.resource.java;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.utility.TextRange;
+
+/**
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.0
+ * @since 3.0
+ */
+public interface OrphanRemovable2_0Annotation
+{
+ // ********** orphan removal **********
+ /**
+ * Corresponds to the orphanRemoval element of the OneToMany annotation.
+ * Returns null if the orphanRemoval element does not exist in java.
+ */
+ Boolean getOrphanRemoval();
+ String ORPHAN_REMOVAL_PROPERTY = "orphanRemoval"; //$NON-NLS-1$
+
+ /**
+ * Corresponds to the orphanRemoval element of the OneToMany annotation.
+ * Set to null to remove the orphanRemoval element.
+ */
+ void setOrphanRemoval(Boolean orphanRemoval);
+
+ /**
+ * Return the {@link TextRange} for the orphanRemoval element. If the orphanRemoval element
+ * does not exist return the {@link TextRange} for the OneToMany annotation.
+ */
+ TextRange getOrphanRemovalTextRange(CompilationUnit astRoot);
+
+}
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 83d6a63..663dc1e 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
@@ -29,6 +29,7 @@
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaDerivedId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaMapsId2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrphanRemoval2_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;
@@ -41,6 +42,8 @@
import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_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;
@@ -114,11 +117,6 @@
}
@Override
- public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
- return new GenericJavaCacheable2_0(parent);
- }
-
- @Override
public JavaOneToManyMapping buildJavaOneToManyMapping(JavaPersistentAttribute parent) {
return new JavaEclipseLinkOneToManyMapping2_0(parent);
}
@@ -127,4 +125,14 @@
public JavaOneToOneMapping buildJavaOneToOneMapping(JavaPersistentAttribute parent) {
return new JavaEclipseLinkOneToOneMapping2_0(parent);
}
+
+ @Override
+ public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
+ return new GenericJavaCacheable2_0(parent);
+ }
+
+ @Override
+ public JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent) {
+ return new GenericJavaOrphanRemoval2_0(parent);
+ }
}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToManyMapping2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToManyMapping2_0.java
index 46f0703..f19eca5 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToManyMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToManyMapping2_0.java
@@ -10,10 +10,10 @@
package org.eclipse.jpt.eclipselink.core.internal.v2_0.context.java;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
-import org.eclipse.jpt.core.jpa2.resource.java.OneToMany2_0Annotation;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.eclipselink.core.internal.context.java.JavaEclipseLinkOneToManyMapping;
import org.eclipse.jpt.eclipselink.core.v2_0.context.EclipseLinkOneToManyMapping2_0;
+import org.eclipse.jpt.utility.internal.ArrayTools;
/**
* JavaEclipseLinkOneToManyMapping2_0
@@ -22,7 +22,6 @@
extends JavaEclipseLinkOneToManyMapping
implements EclipseLinkOneToManyMapping2_0
{
- private Boolean specifiedOrphanRemoval;
// ********** constructor **********
public JavaEclipseLinkOneToManyMapping2_0(JavaPersistentAttribute parent) {
@@ -30,54 +29,10 @@
}
@Override
- protected void initialize() {
- super.initialize();
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- protected void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- // ********** JPA 2.0 - OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.specifiedOrphanRemoval != null) ? this.specifiedOrphanRemoval.booleanValue() : this.isDefaultOrphanRemoval();
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.setResourceOrphanRemoval(newOrphanRemoval);
- this.firePropertyChanged(OneToManyMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OneToManyMapping2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return ((OneToMany2_0Annotation) this.mappingAnnotation).getOrphanRemoval();
- }
-
- protected void setResourceOrphanRemoval(Boolean newOrphanRemoval) {
- ((OneToMany2_0Annotation) this.mappingAnnotation).setOrphanRemoval(newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OneToManyMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
+ protected String[] buildSupportingAnnotationNames() {
+ return ArrayTools.addAll(
+ super.buildSupportingAnnotationNames(),
+ JPA2_0.ONE_TO_ONE__ORPHAN_REMOVAL);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToOneMapping2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToOneMapping2_0.java
index d89b625..f6e36b7 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToOneMapping2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/java/JavaEclipseLinkOneToOneMapping2_0.java
@@ -10,10 +10,10 @@
package org.eclipse.jpt.eclipselink.core.internal.v2_0.context.java;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
-import org.eclipse.jpt.core.jpa2.resource.java.OneToOne2_0Annotation;
+import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.eclipselink.core.internal.context.java.JavaEclipseLinkOneToOneMapping;
import org.eclipse.jpt.eclipselink.core.v2_0.context.EclipseLinkOneToOneMapping2_0;
+import org.eclipse.jpt.utility.internal.ArrayTools;
/**
* JavaEclipseLinkOneToOneMapping2_0
@@ -22,7 +22,6 @@
extends JavaEclipseLinkOneToOneMapping
implements EclipseLinkOneToOneMapping2_0
{
- private Boolean specifiedOrphanRemoval;
// ********** constructor **********
public JavaEclipseLinkOneToOneMapping2_0(JavaPersistentAttribute parent) {
@@ -30,54 +29,10 @@
}
@Override
- protected void initialize() {
- super.initialize();
- this.specifiedOrphanRemoval = this.getResourceOrphanRemoval();
- }
-
- @Override
- protected void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- // ********** JPA 2.0 - OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.specifiedOrphanRemoval != null) ? this.specifiedOrphanRemoval.booleanValue() : this.isDefaultOrphanRemoval();
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.setResourceOrphanRemoval(newOrphanRemoval);
- this.firePropertyChanged(OneToOneMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OneToOneMapping2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return ((OneToOne2_0Annotation) this.mappingAnnotation).getOrphanRemoval();
- }
-
- protected void setResourceOrphanRemoval(Boolean newOrphanRemoval) {
- ((OneToOne2_0Annotation) this.mappingAnnotation).setOrphanRemoval(newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OneToOneMapping2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
+ protected String[] buildSupportingAnnotationNames() {
+ return ArrayTools.addAll(
+ super.buildSupportingAnnotationNames(),
+ JPA2_0.ONE_TO_ONE__ORPHAN_REMOVAL);
}
}
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 d5f7d9b..d66cf55 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
@@ -25,8 +25,6 @@
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.OrmOneToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator;
@@ -38,6 +36,7 @@
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmDerivedId2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmElementCollectionMapping2_0;
import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmMapsId2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOrphanRemoval2_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.java.JavaElementCollectionMapping2_0;
@@ -48,6 +47,8 @@
import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmEmbeddedMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmMapsId2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmSingleRelationshipMapping2_0;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverride;
import org.eclipse.jpt.core.resource.orm.XmlAssociationOverrideContainer;
@@ -56,6 +57,7 @@
import org.eclipse.jpt.core.resource.orm.v2_0.XmlCacheable2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlDerivedId_2_0;
import org.eclipse.jpt.core.resource.orm.v2_0.XmlMapsId_2_0;
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlOrphanRemovable2_0;
import org.eclipse.jpt.eclipselink.core.internal.context.java.JavaEclipseLinkBasicCollectionMapping;
import org.eclipse.jpt.eclipselink.core.internal.context.java.JavaEclipseLinkBasicMapMapping;
import org.eclipse.jpt.eclipselink.core.internal.context.java.JavaEclipseLinkTransformationMapping;
@@ -130,20 +132,14 @@
}
@Override
- public OrmOneToManyMapping buildOrmOneToManyMapping(OrmPersistentAttribute parent, org.eclipse.jpt.core.resource.orm.XmlOneToMany resourceMapping) {
- return new OrmEclipseLinkOneToManyMapping2_0(parent, (XmlOneToMany) resourceMapping);
- }
-
- @Override
- public OrmOneToOneMapping buildOrmOneToOneMapping(OrmPersistentAttribute parent, org.eclipse.jpt.core.resource.orm.XmlOneToOne resourceMapping) {
- return new OrmEclipseLinkOneToOneMapping2_0(parent, (XmlOneToOne) resourceMapping);
- }
-
- @Override
public OrmCacheable2_0 buildOrmCacheable(OrmCacheableHolder2_0 parent, XmlCacheable2_0 resource) {
return new GenericOrmCacheable2_0(parent, resource);
}
+ public OrmOrphanRemovable2_0 buildOrmOrphanRemoval(OrmOrphanRemovalHolder2_0 parent, XmlOrphanRemovable2_0 resource) {
+ return new GenericOrmOrphanRemoval2_0(parent, resource);
+ }
+
// ********** ORM Virtual Resource Model **********
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToManyMapping2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToManyMapping2_0.java
deleted file mode 100644
index b154af7..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToManyMapping2_0.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
-* 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.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
-import org.eclipse.jpt.eclipselink.core.internal.context.orm.OrmEclipseLinkOneToManyMapping;
-import org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToMany;
-
-/**
- * OrmEclipseLinkOneToManyMapping2_0
- */
-public class OrmEclipseLinkOneToManyMapping2_0 extends OrmEclipseLinkOneToManyMapping
-{
- protected Boolean specifiedOrphanRemoval;
-
- public OrmEclipseLinkOneToManyMapping2_0(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
- super(parent, resourceMapping);
- }
-
- @Override
- public void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return this.resourceAttributeMapping.getOrphanRemoval();
- }
-
- // ********** OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.getSpecifiedOrphanRemoval() == null) ? this.isDefaultOrphanRemoval() : this.getSpecifiedOrphanRemoval().booleanValue();
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.resourceAttributeMapping.setOrphanRemoval(newOrphanRemoval);
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToOneMapping2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToOneMapping2_0.java
deleted file mode 100644
index 7d8ea15..0000000
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/OrmEclipseLinkOneToOneMapping2_0.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
-* 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.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
-import org.eclipse.jpt.eclipselink.core.internal.context.orm.OrmEclipseLinkOneToOneMapping;
-import org.eclipse.jpt.eclipselink.core.resource.orm.XmlOneToOne;
-
-/**
- * OrmEclipseLinkOneToOneMapping2_0
- */
-public class OrmEclipseLinkOneToOneMapping2_0 extends OrmEclipseLinkOneToOneMapping
-{
- protected Boolean specifiedOrphanRemoval;
-
- public OrmEclipseLinkOneToOneMapping2_0(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
- super(parent, resourceMapping);
- }
-
- @Override
- public void update() {
- super.update();
- this.setSpecifiedOrphanRemoval_(this.getResourceOrphanRemoval());
- }
-
- protected Boolean getResourceOrphanRemoval() {
- return this.resourceAttributeMapping.getOrphanRemoval();
- }
-
- // ********** OrphanRemovable2_0 implementation **********
-
- @Override
- public boolean isOrphanRemoval() {
- return (this.getSpecifiedOrphanRemoval() == null) ? this.isDefaultOrphanRemoval() : this.getSpecifiedOrphanRemoval().booleanValue();
- }
-
- @Override
- public boolean isDefaultOrphanRemoval() {
- return OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL;
- }
-
- @Override
- public Boolean getSpecifiedOrphanRemoval() {
- return this.specifiedOrphanRemoval;
- }
-
- @Override
- public void setSpecifiedOrphanRemoval(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- this.resourceAttributeMapping.setOrphanRemoval(newOrphanRemoval);
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
- protected void setSpecifiedOrphanRemoval_(Boolean newOrphanRemoval) {
- Boolean old = this.specifiedOrphanRemoval;
- this.specifiedOrphanRemoval = newOrphanRemoval;
- firePropertyChanged(OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY, old, newOrphanRemoval);
- }
-
-}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToMany2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToMany2_0.java
index a11b0f6..f92eb81 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToMany2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToMany2_0.java
@@ -11,6 +11,9 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
+import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
import org.eclipse.jpt.core.resource.orm.FetchType;
@@ -87,20 +90,25 @@
public void setCascade(CascadeType value) {
this.virtualXmlOneToMany.setCascade(value);
}
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
@Override
public Boolean getOrphanRemoval() {
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(this.javaAttributeMapping);
if (this.isOrmMetadataComplete()) {
- return this.javaAttributeMapping.isDefaultOrphanRemoval();
+ return mappingsOrphanRemoval.isDefaultOrphanRemoval();
}
- return this.javaAttributeMapping.isOrphanRemoval();
+ return mappingsOrphanRemoval.isOrphanRemoval();
}
@Override
public void setOrphanRemoval(Boolean newOrphanRemoval) {
throw new UnsupportedOperationException("cannot set values on a virtual mapping"); //$NON-NLS-1$
}
-
+
@Override
public XmlJoinTable getJoinTable() {
return this.virtualXmlOneToMany.getJoinTable();
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToOne2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToOne2_0.java
index 23831be..83a7960 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToOne2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/v2_0/context/orm/VirtualEclipseLinkXmlOneToOne2_0.java
@@ -10,7 +10,10 @@
package org.eclipse.jpt.eclipselink.core.internal.v2_0.context.orm;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.resource.orm.AccessType;
import org.eclipse.jpt.core.resource.orm.CascadeType;
@@ -102,12 +105,17 @@
this.virtualXmlOneToOne.setCascade(value);
}
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
+
@Override
public Boolean getOrphanRemoval() {
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(this.javaAttributeMapping);
if (this.isOrmMetadataComplete()) {
- return this.javaAttributeMapping.isDefaultOrphanRemoval();
+ return mappingsOrphanRemoval.isDefaultOrphanRemoval();
}
- return this.javaAttributeMapping.isOrphanRemoval();
+ return mappingsOrphanRemoval.isOrphanRemoval();
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
index 2aea1b0..c953426 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToManyMapping2_0Composite.java
@@ -9,6 +9,9 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.java;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToManyMapping2_0;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkOneToManyRelationshipReference;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkPrivateOwned;
@@ -104,7 +107,7 @@
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), this.addPane(container, groupBoxMargin));
new EclipseLinkPrivateOwnedComposite(this, this.buildPrivateOwnableHolder(), this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
new OrderingComposite(this, container);
}
@@ -136,5 +139,12 @@
};
}
-}
-
\ No newline at end of file
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<EclipseLinkOneToManyMapping2_0, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
index c89394e..52c7e80 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkOneToOneMapping2_0Composite.java
@@ -9,6 +9,8 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.java;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkJoinFetch;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkOneToOneMapping;
@@ -101,7 +103,7 @@
new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), this.addPane(container, groupBoxMargin));
new OptionalComposite(this, this.addPane(container, groupBoxMargin));
new EclipseLinkPrivateOwnedComposite(this, this.buildPrivateOwnableHolder(), this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
}
@@ -123,5 +125,13 @@
}
};
}
-
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<JavaOneToOneMapping2_0, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
index 12afafc..dc553d6 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToManyMapping2_0Composite.java
@@ -11,6 +11,8 @@
import org.eclipse.jpt.core.context.AccessHolder;
import org.eclipse.jpt.core.context.OneToManyMapping;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.eclipselink.core.v2_0.context.EclipseLinkOneToManyMapping2_0;
import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite;
import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkOneToManyJoiningStrategyPane;
@@ -110,7 +112,7 @@
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
new EclipseLinkJoinFetchComposite(this, this.buildJoinFetchableHolder(), this.addPane(container, groupBoxMargin));
new EclipseLinkPrivateOwnedComposite(this, this.buildPrivateOwnableHolder(), this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
new OrderingComposite(this, container);
}
@@ -123,4 +125,13 @@
}
};
}
-}
\ No newline at end of file
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<T, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
index 57a9473..5b530e1 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/OrmEclipseLinkOneToOneMapping2_0Composite.java
@@ -11,6 +11,8 @@
import org.eclipse.jpt.core.context.AccessHolder;
import org.eclipse.jpt.core.context.OneToOneMapping;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToOneMapping2_0;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkJoinFetch;
@@ -101,7 +103,7 @@
new EclipseLinkJoinFetchComposite(this, buildJoinFetchableHolder(), addPane(container, groupBoxMargin));
new OptionalComposite(this, addPane(container, groupBoxMargin));
new EclipseLinkPrivateOwnedComposite(this, buildPrivateOwnableHolder(), addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, buildCascadeHolder(), addSubPane(container, 5));
}
@@ -132,5 +134,13 @@
}
};
}
-
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<T, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java
index 7cb400c..d4f0c9d 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/OrphanRemoval2_0Composite.java
@@ -9,8 +9,11 @@
*******************************************************************************/
package org.eclipse.jpt.ui.internal.jpa2.details;
+import org.eclipse.jpt.core.context.RelationshipMapping;
import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.ui.internal.jpa2.details.java.JavaOneToOneMapping2_0Composite;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmOneToOneMapping2_0Composite;
import org.eclipse.jpt.ui.internal.widgets.FormPane;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
@@ -20,7 +23,19 @@
import org.eclipse.swt.widgets.Composite;
/**
- * OrphanRemoval2_0Composite
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | [X] Orphan removal (true/false) | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see {@link OrphanRemovable2_0}
+ * @see {@link JavaOneToOneMapping2_0Composite} - A container of this widget
+ * @see {@link OrmOneToOneMapping2_0Composite} - A container of this widget
*/
public class OrphanRemoval2_0Composite extends FormPane<OrphanRemovable2_0>
{
@@ -31,10 +46,10 @@
* @param parent The parent container
*/
public OrphanRemoval2_0Composite(
- FormPane<? extends OrphanRemovable2_0> parentPane,
- Composite parent)
- {
- super(parentPane, parent);
+ FormPane<? extends RelationshipMapping> parentPane,
+ PropertyValueModel<? extends OrphanRemovable2_0> subjectHolder,
+ Composite parent) {
+ super(parentPane, subjectHolder, parent);
}
@Override
@@ -49,7 +64,10 @@
);
}
private WritablePropertyValueModel<Boolean> buildOrphanRemovalHolder() {
- return new PropertyAspectAdapter<OrphanRemovable2_0, Boolean>(this.getSubjectHolder(), OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY) {
+ return new PropertyAspectAdapter<OrphanRemovable2_0, Boolean>(
+ this.getSubjectHolder(),
+ OrphanRemovable2_0.DEFAULT_ORPHAN_REMOVAL_PROPERTY,
+ OrphanRemovable2_0.SPECIFIED_ORPHAN_REMOVAL_PROPERTY) {
@Override
protected Boolean buildValue_() {
return this.subject.getSpecifiedOrphanRemoval();
@@ -63,6 +81,7 @@
}
private PropertyValueModel<String> buildOrphanRemovalStringHolder() {
+
return new TransformationPropertyValueModel<Boolean, String>(this.buildDefaultOrphanRemovalHolder()) {
@Override
protected String transform(Boolean value) {
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
index c587b6b..7debddc 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToManyMapping2_0Composite.java
@@ -9,6 +9,8 @@
*******************************************************************************/
package org.eclipse.jpt.ui.internal.jpa2.details.java;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToManyMapping2_0;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.details.AbstractOneToManyMappingComposite;
@@ -18,6 +20,7 @@
import org.eclipse.jpt.ui.internal.details.OrderingComposite;
import org.eclipse.jpt.ui.internal.details.TargetEntityComposite;
import org.eclipse.jpt.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -83,9 +86,17 @@
new TargetEntityComposite(this, this.addPane(container, groupBoxMargin));
new OneToManyJoiningStrategyPane(this, this.buildJoiningHolder(), container);
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
new OrderingComposite(this, container);
}
-
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<JavaOneToManyMapping2_0, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
index 1ea409e..81b228f 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/java/JavaOneToOneMapping2_0Composite.java
@@ -1,5 +1,7 @@
package org.eclipse.jpt.ui.internal.jpa2.details.java;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneMapping2_0;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.details.CascadeComposite;
@@ -10,6 +12,7 @@
import org.eclipse.jpt.ui.internal.jpa2.details.AbstractOneToOneMapping2_0Composite;
import org.eclipse.jpt.ui.internal.jpa2.details.DerivedId2_0Pane;
import org.eclipse.jpt.ui.internal.jpa2.details.OrphanRemoval2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
@@ -84,7 +87,16 @@
new OneToOneJoiningStrategyPane(this, this.buildJoiningHolder(), container);
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
new OptionalComposite(this, this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
}
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<JavaOneToOneMapping2_0, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
index 81e5f9b..7b9f005 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToManyMapping2_0Composite.java
@@ -12,6 +12,8 @@
import org.eclipse.jpt.core.context.AccessHolder;
import org.eclipse.jpt.core.context.OneToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToManyMapping2_0;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.details.AbstractOneToManyMappingComposite;
@@ -94,7 +96,7 @@
new OneToManyJoiningStrategyPane(this, this.buildJoiningHolder(), container);
new AccessTypeComposite(this, this.buildAccessHolderHolder(), this.addPane(container, groupBoxMargin));
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
new OrderingComposite(this, container);
}
@@ -107,4 +109,13 @@
}
};
}
-}
\ No newline at end of file
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<T, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
index c62b573..9d9b5bc 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmOneToOneMapping2_0Composite.java
@@ -11,6 +11,8 @@
import org.eclipse.jpt.core.context.AccessHolder;
import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.OrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToOneMapping2_0;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
@@ -105,7 +107,7 @@
new AccessTypeComposite(this, this.buildAccessHolderHolder(), this.addPane(container, groupBoxMargin));
new FetchTypeComposite(this, this.addPane(container, groupBoxMargin));
new OptionalComposite(this, this.addPane(container, groupBoxMargin));
- new OrphanRemoval2_0Composite(this, this.addPane(container, groupBoxMargin));
+ new OrphanRemoval2_0Composite(this, this.buildOrphanRemovableHolder(), this.addPane(container, groupBoxMargin));
new CascadeComposite(this, this.buildCascadeHolder(), this.addSubPane(container, 5));
}
@@ -117,4 +119,13 @@
}
};
}
+
+ protected PropertyValueModel<OrphanRemovable2_0> buildOrphanRemovableHolder() {
+ return new PropertyAspectAdapter<T, OrphanRemovable2_0>(this.getSubjectHolder()) {
+ @Override
+ protected OrphanRemovable2_0 buildValue_() {
+ return ((OrphanRemovalHolder2_0) this.subject).getOrphanRemoval();
+ }
+ };
+ }
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
index 4e60bfe..05290c3 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
@@ -16,6 +16,8 @@
import org.eclipse.jpt.core.context.OneToManyMapping;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.resource.java.OneToMany2_0Annotation;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
@@ -176,6 +178,10 @@
AttributeMapping stateFooMapping = oneToManyMapping.getResolvedTargetEntity().resolveAttributeMapping("state.foo");
assertEquals("foo", stateFooMapping.getName());
}
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
public void testDefaultOneToManyGetDefaultOrphanRemoval() throws Exception {
this.createTestEntityWithValidOneToManyMapping();
@@ -183,7 +189,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertEquals(false, oneToManyMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToManyMapping).isDefaultOrphanRemoval());
}
public void testSpecifiedOneToManyGetDefaultOrphanRemoval() throws Exception {
@@ -192,7 +198,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(false, oneToManyMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToManyMapping).isDefaultOrphanRemoval());
}
public void testGetOrphanRemoval() throws Exception {
@@ -201,11 +207,12 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertEquals(false, oneToManyMapping.isOrphanRemoval());
+ assertEquals(false, mappingsOrphanRemoval.isOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
- assertEquals(true, oneToManyMapping.isOrphanRemoval());
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ assertEquals(true, mappingsOrphanRemoval.isOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval() throws Exception {
@@ -214,15 +221,16 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToMany2_0Annotation oneToMany = (OneToMany2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_MANY);
oneToMany.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval2() throws Exception {
@@ -231,8 +239,9 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testSetSpecifiedOrphanRemoval() throws Exception {
@@ -241,9 +250,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -251,7 +261,7 @@
assertEquals(Boolean.TRUE, oneToMany.getOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_MANY)); // .getElement);
}
@@ -261,9 +271,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -272,9 +283,9 @@
assertEquals(Boolean.TRUE, oneToMany.getOrphanRemoval());
oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertEquals(Boolean.TRUE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_MANY));
oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
@@ -286,18 +297,19 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToMany2_0Annotation oneToMany = (OneToMany2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_MANY);
oneToMany.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
oneToMany.setOrphanRemoval(null);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertSame(oneToManyMapping, persistentAttribute.getSpecifiedMapping());
oneToMany.setOrphanRemoval(Boolean.FALSE);
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0Tests.java
index a3fce97..e0657fe 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/java/GenericJavaOneToOneMapping2_0Tests.java
@@ -23,6 +23,8 @@
import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_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.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.MapsId2_0Annotation;
import org.eclipse.jpt.core.jpa2.resource.java.OneToOne2_0Annotation;
@@ -374,6 +376,10 @@
AttributeMapping stateFooMapping = oneToOneMapping.getResolvedTargetEntity().resolveAttributeMapping("state.foo");
assertEquals("foo", stateFooMapping.getName());
}
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
public void testDefaultOneToOneGetDefaultOrphanRemoval() throws Exception {
this.createTestEntity();
@@ -381,7 +387,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertEquals(false, oneToOneMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToOneMapping).isDefaultOrphanRemoval());
}
public void testSpecifiedOneToOneGetDefaultOrphanRemoval() throws Exception {
@@ -390,7 +396,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(false, oneToOneMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToOneMapping).isDefaultOrphanRemoval());
}
public void testGetOrphanRemoval() throws Exception {
@@ -399,11 +405,12 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
-
- assertEquals(false, oneToOneMapping.isOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
- assertEquals(true, oneToOneMapping.isOrphanRemoval());
+ assertEquals(false, mappingsOrphanRemoval.isOrphanRemoval());
+
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ assertEquals(true, mappingsOrphanRemoval.isOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval() throws Exception {
@@ -412,15 +419,16 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToOne2_0Annotation oneToOne = (OneToOne2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_ONE);
oneToOne.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval2() throws Exception {
@@ -430,7 +438,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, this.getOrphanRemovalOf(oneToOneMapping).getSpecifiedOrphanRemoval());
}
public void testSetSpecifiedOrphanRemoval() throws Exception {
@@ -439,9 +447,11 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -449,7 +459,7 @@
assertEquals(Boolean.TRUE, oneToOne.getOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_ONE)); // .getElement);
}
@@ -459,9 +469,11 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -470,12 +482,11 @@
assertEquals(Boolean.TRUE, oneToOne.getOrphanRemoval());
oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertEquals(Boolean.TRUE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_ONE));
-
- oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
}
public void testGetSpecifiedOrphanRemovalUpdatesFromResourceModelChange() throws Exception {
@@ -484,18 +495,19 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToOne2_0Annotation oneToOne = (OneToOne2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_ONE);
oneToOne.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
oneToOne.setOrphanRemoval(null);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertSame(oneToOneMapping, persistentAttribute.getSpecifiedMapping());
oneToOne.setOrphanRemoval(Boolean.FALSE);
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
index 603df70..a7d16c7 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
@@ -18,7 +18,10 @@
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
import org.eclipse.jpt.core.tests.internal.projects.TestJavaProject.SourceWriter;
@@ -157,22 +160,27 @@
assertEquals("foo", stateFooMapping.getName());
}
+ private OrmOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((OrmOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
+
public void testUpdateSpecifiedOrphanRemoval() throws Exception {
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToManyMapping");
OrmOneToManyMapping2_0 ormOneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToManyMapping);
XmlOneToMany oneToManyResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertEquals(null, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToManyResource.getOrphanRemoval());
//set enumerated in the resource model, verify context model updated
oneToManyResource.setOrphanRemoval(Boolean.TRUE);
- assertEquals(Boolean.TRUE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.TRUE, oneToManyResource.getOrphanRemoval());
oneToManyResource.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.FALSE, oneToManyResource.getOrphanRemoval());
}
@@ -180,18 +188,19 @@
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToManyMapping");
OrmOneToManyMapping2_0 ormOneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToManyMapping);
XmlOneToMany oneToManyResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertEquals(null, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToManyResource.getOrphanRemoval());
//set enumerated in the context model, verify resource model updated
- ormOneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
assertEquals(Boolean.TRUE, oneToManyResource.getOrphanRemoval());
- assertEquals(Boolean.TRUE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- ormOneToManyMapping.setSpecifiedOrphanRemoval(Boolean.FALSE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.FALSE);
assertEquals(Boolean.FALSE, oneToManyResource.getOrphanRemoval());
- assertEquals(Boolean.FALSE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Tests.java
index 9b98f6b..c1e6237 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/jpa2/context/orm/GenericOrmOneToOneMapping2_0Tests.java
@@ -18,8 +18,11 @@
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmManyToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
@@ -336,22 +339,27 @@
assertEquals("foo", stateFooMapping.getName());
}
+ private OrmOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((OrmOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
+
public void testUpdateSpecifiedOrphanRemoval() throws Exception {
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOneMapping");
OrmOneToOneMapping2_0 ormOneToOneMapping = (OrmOneToOneMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToOneMapping);
XmlOneToOne oneToOneResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToOnes().get(0);
- assertEquals(null, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToOneResource.getOrphanRemoval());
//set enumerated in the resource model, verify context model updated
oneToOneResource.setOrphanRemoval(Boolean.TRUE);
- assertEquals(Boolean.TRUE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.TRUE, oneToOneResource.getOrphanRemoval());
oneToOneResource.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.FALSE, oneToOneResource.getOrphanRemoval());
}
@@ -359,18 +367,19 @@
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOneMapping");
OrmOneToOneMapping2_0 ormOneToOneMapping = (OrmOneToOneMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToOneMapping);
XmlOneToOne oneToOneResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToOnes().get(0);
- assertEquals(null, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToOneResource.getOrphanRemoval());
//set enumerated in the context model, verify resource model updated
- ormOneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
assertEquals(Boolean.TRUE, oneToOneResource.getOrphanRemoval());
- assertEquals(Boolean.TRUE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- ormOneToOneMapping.setSpecifiedOrphanRemoval(Boolean.FALSE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.FALSE);
assertEquals(Boolean.FALSE, oneToOneResource.getOrphanRemoval());
- assertEquals(Boolean.FALSE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
}
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
index caca95b..7f54c79 100644
--- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
@@ -14,6 +14,8 @@
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.resource.java.OneToMany2_0Annotation;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
@@ -74,6 +76,10 @@
}
});
}
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
public void testDefaultOneToManyGetDefaultOrphanRemoval() throws Exception {
this.createTestEntity();
@@ -81,7 +87,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertEquals(false, oneToManyMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToManyMapping).isDefaultOrphanRemoval());
}
public void testSpecifiedOneToManyGetDefaultOrphanRemoval() throws Exception {
@@ -90,7 +96,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(false, oneToManyMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToManyMapping).isDefaultOrphanRemoval());
}
public void testGetOrphanRemoval() throws Exception {
@@ -99,11 +105,13 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertEquals(false, oneToManyMapping.isOrphanRemoval());
+
+ assertEquals(false, mappingsOrphanRemoval.isOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
- assertEquals(true, oneToManyMapping.isOrphanRemoval());
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ assertEquals(true, mappingsOrphanRemoval.isOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval() throws Exception {
@@ -112,15 +120,16 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToMany2_0Annotation oneToMany = (OneToMany2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_MANY);
oneToMany.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval2() throws Exception {
@@ -129,8 +138,9 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testSetSpecifiedOrphanRemoval() throws Exception {
@@ -139,9 +149,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -149,7 +160,7 @@
assertEquals(Boolean.TRUE, oneToMany.getOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_MANY)); // .getElement);
}
@@ -159,9 +170,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -170,9 +182,9 @@
assertEquals(Boolean.TRUE, oneToMany.getOrphanRemoval());
oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
- assertEquals(Boolean.TRUE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToManyMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_MANY));
oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
@@ -184,18 +196,19 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToMany2_0Annotation oneToMany = (OneToMany2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_MANY);
oneToMany.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
oneToMany.setOrphanRemoval(null);
- assertNull(oneToManyMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertSame(oneToManyMapping, persistentAttribute.getSpecifiedMapping());
oneToMany.setOrphanRemoval(Boolean.FALSE);
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToOneMappingTests.java
index 6fea6a4..32d5329 100644
--- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToOneMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/java/EclipseLink2_0JavaOneToOneMappingTests.java
@@ -23,6 +23,8 @@
import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_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.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.core.jpa2.resource.java.MapsId2_0Annotation;
import org.eclipse.jpt.core.jpa2.resource.java.OneToOne2_0Annotation;
@@ -374,6 +376,10 @@
AttributeMapping stateFooMapping = oneToOneMapping.getResolvedTargetEntity().resolveAttributeMapping("state.foo");
assertEquals("foo", stateFooMapping.getName());
}
+
+ private JavaOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((JavaOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
public void testDefaultOneToOneGetDefaultOrphanRemoval() throws Exception {
this.createTestEntity();
@@ -381,7 +387,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertEquals(false, oneToOneMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToOneMapping).isDefaultOrphanRemoval());
}
public void testSpecifiedOneToOneGetDefaultOrphanRemoval() throws Exception {
@@ -390,7 +396,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(false, oneToOneMapping.isDefaultOrphanRemoval());
+ assertEquals(false, this.getOrphanRemovalOf(oneToOneMapping).isDefaultOrphanRemoval());
}
public void testGetOrphanRemoval() throws Exception {
@@ -399,11 +405,12 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- assertEquals(false, oneToOneMapping.isOrphanRemoval());
+ assertEquals(false, mappingsOrphanRemoval.isOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
- assertEquals(true, oneToOneMapping.isOrphanRemoval());
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ assertEquals(true, mappingsOrphanRemoval.isOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval() throws Exception {
@@ -412,15 +419,16 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToOne2_0Annotation oneToOne = (OneToOne2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_ONE);
oneToOne.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
public void testGetSpecifiedOrphanRemoval2() throws Exception {
@@ -430,7 +438,7 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, this.getOrphanRemovalOf(oneToOneMapping).getSpecifiedOrphanRemoval());
}
public void testSetSpecifiedOrphanRemoval() throws Exception {
@@ -439,9 +447,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -449,7 +458,7 @@
assertEquals(Boolean.TRUE, oneToOne.getOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_ONE)); // .getElement);
}
@@ -459,9 +468,10 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
@@ -470,12 +480,11 @@
assertEquals(Boolean.TRUE, oneToOne.getOrphanRemoval());
oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
- assertEquals(Boolean.TRUE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- oneToOneMapping.setSpecifiedOrphanRemoval(null);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(null);
assertNotNull(attributeResource.getAnnotation(JPA.ONE_TO_ONE));
-
- oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getMapping();
}
public void testGetSpecifiedOrphanRemovalUpdatesFromResourceModelChange() throws Exception {
@@ -484,18 +493,19 @@
PersistentAttribute persistentAttribute = getJavaPersistentType().attributes().next();
OneToOneMapping2_0 oneToOneMapping = (OneToOneMapping2_0) persistentAttribute.getSpecifiedMapping();
+ JavaOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToOneMapping);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
JavaResourcePersistentType typeResource = getJpaProject().getJavaResourcePersistentType(FULLY_QUALIFIED_TYPE_NAME);
JavaResourcePersistentAttribute attributeResource = typeResource.persistableAttributes().next();
OneToOne2_0Annotation oneToOne = (OneToOne2_0Annotation) attributeResource.getAnnotation(JPA.ONE_TO_ONE);
oneToOne.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
oneToOne.setOrphanRemoval(null);
- assertNull(oneToOneMapping.getSpecifiedOrphanRemoval());
+ assertNull(mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertSame(oneToOneMapping, persistentAttribute.getSpecifiedMapping());
oneToOne.setOrphanRemoval(Boolean.FALSE);
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
index c58d567..c20aa08 100644
--- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
@@ -12,7 +12,10 @@
import org.eclipse.jpt.core.MappingKeys;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToManyMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
/**
@@ -25,41 +28,47 @@
super(name);
}
+ private OrmOrphanRemovable2_0 getOrphanRemovalOf(OneToManyMapping2_0 oneToManyMapping) {
+ return ((OrmOrphanRemovalHolder2_0) oneToManyMapping).getOrphanRemoval();
+ }
+
public void testUpdateSpecifiedOrphanRemoval() throws Exception {
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToManyMapping");
- OrmOneToManyMapping2_0 ormOneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOneToManyMapping2_0 oneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
XmlOneToMany oneToManyResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertEquals(null, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToManyResource.getOrphanRemoval());
//set enumerated in the resource model, verify context model updated
oneToManyResource.setOrphanRemoval(Boolean.TRUE);
- assertEquals(Boolean.TRUE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.TRUE, oneToManyResource.getOrphanRemoval());
oneToManyResource.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.FALSE, oneToManyResource.getOrphanRemoval());
}
public void testModifySpecifiedOrphanRemoval() throws Exception {
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToManyMapping");
- OrmOneToManyMapping2_0 ormOneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOneToManyMapping2_0 oneToManyMapping = (OrmOneToManyMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(oneToManyMapping);
XmlOneToMany oneToManyResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertEquals(null, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToManyResource.getOrphanRemoval());
//set enumerated in the context model, verify resource model updated
- ormOneToManyMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
assertEquals(Boolean.TRUE, oneToManyResource.getOrphanRemoval());
- assertEquals(Boolean.TRUE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- ormOneToManyMapping.setSpecifiedOrphanRemoval(Boolean.FALSE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.FALSE);
assertEquals(Boolean.FALSE, oneToManyResource.getOrphanRemoval());
- assertEquals(Boolean.FALSE, ormOneToManyMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
}
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToOneMappingTests.java
index c5d3d66..31580ea 100644
--- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToOneMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink2_0/core/tests/internal/context/orm/EclipseLink2_0OrmOneToOneMappingTests.java
@@ -17,8 +17,11 @@
import org.eclipse.jpt.core.context.PersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.jpa2.context.OneToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmManyToOneMapping2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmOneToOneMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.orm.OrmOrphanRemovalHolder2_0;
import org.eclipse.jpt.core.resource.java.JPA;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
@@ -335,22 +338,27 @@
assertEquals("foo", stateFooMapping.getName());
}
+ private OrmOrphanRemovable2_0 getOrphanRemovalOf(OneToOneMapping2_0 oneToOneMapping) {
+ return ((OrmOrphanRemovalHolder2_0) oneToOneMapping).getOrphanRemoval();
+ }
+
public void testUpdateSpecifiedOrphanRemoval() throws Exception {
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOneMapping");
OrmOneToOneMapping2_0 ormOneToOneMapping = (OrmOneToOneMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToOneMapping);
XmlOneToOne oneToOneResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToOnes().get(0);
- assertEquals(null, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToOneResource.getOrphanRemoval());
//set enumerated in the resource model, verify context model updated
oneToOneResource.setOrphanRemoval(Boolean.TRUE);
- assertEquals(Boolean.TRUE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.TRUE, oneToOneResource.getOrphanRemoval());
oneToOneResource.setOrphanRemoval(Boolean.FALSE);
- assertEquals(Boolean.FALSE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(Boolean.FALSE, oneToOneResource.getOrphanRemoval());
}
@@ -358,18 +366,19 @@
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo");
OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedPersistentAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOneMapping");
OrmOneToOneMapping2_0 ormOneToOneMapping = (OrmOneToOneMapping2_0) ormPersistentAttribute.getMapping();
+ OrmOrphanRemovable2_0 mappingsOrphanRemoval = this.getOrphanRemovalOf(ormOneToOneMapping);
XmlOneToOne oneToOneResource = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToOnes().get(0);
- assertEquals(null, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(null, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
assertEquals(null, oneToOneResource.getOrphanRemoval());
//set enumerated in the context model, verify resource model updated
- ormOneToOneMapping.setSpecifiedOrphanRemoval(Boolean.TRUE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.TRUE);
assertEquals(Boolean.TRUE, oneToOneResource.getOrphanRemoval());
- assertEquals(Boolean.TRUE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.TRUE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
- ormOneToOneMapping.setSpecifiedOrphanRemoval(Boolean.FALSE);
+ mappingsOrphanRemoval.setSpecifiedOrphanRemoval(Boolean.FALSE);
assertEquals(Boolean.FALSE, oneToOneResource.getOrphanRemoval());
- assertEquals(Boolean.FALSE, ormOneToOneMapping.getSpecifiedOrphanRemoval());
+ assertEquals(Boolean.FALSE, mappingsOrphanRemoval.getSpecifiedOrphanRemoval());
}
}