diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java')
-rw-r--r-- | jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java | 2452 |
1 files changed, 0 insertions, 2452 deletions
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java deleted file mode 100644 index 15b1405856..0000000000 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java +++ /dev/null @@ -1,2452 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.core.resource.java.JPA; -import org.eclipse.jpt.eclipselink.core.context.CacheCoordinationType; -import org.eclipse.jpt.eclipselink.core.context.CacheType; -import org.eclipse.jpt.eclipselink.core.context.Caching; -import org.eclipse.jpt.eclipselink.core.context.ChangeTrackingType; -import org.eclipse.jpt.eclipselink.core.context.CustomConverter; -import org.eclipse.jpt.eclipselink.core.context.ExistenceType; -import org.eclipse.jpt.eclipselink.core.context.ObjectTypeConverter; -import org.eclipse.jpt.eclipselink.core.context.StructConverter; -import org.eclipse.jpt.eclipselink.core.context.TypeConverter; -import org.eclipse.jpt.eclipselink.core.context.java.EclipseLinkJavaEntity; -import org.eclipse.jpt.eclipselink.core.context.java.JavaCaching; -import org.eclipse.jpt.eclipselink.core.internal.context.orm.ConverterHolder; -import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmEntity; -import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.eclipselink.core.resource.java.EclipseLinkJPA; -import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTrackingType; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlConverter; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlObjectTypeConverter; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlStructConverter; -import org.eclipse.jpt.eclipselink.core.resource.orm.XmlTypeConverter; -import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.iterators.ArrayIterator; - -@SuppressWarnings("nls") -public class EclipseLinkOrmEntityTests extends EclipseLinkOrmContextModelTestCase -{ - - - public EclipseLinkOrmEntityTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntityForReadOnly() throws Exception { - createReadOnlyAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLinkJPA.READ_ONLY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private void createReadOnlyAnnotation() throws Exception{ - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "ReadOnly", ""); - } - - private ICompilationUnit createTestEntityForCustomizer() throws Exception { - createCustomizerAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLinkJPA.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private void createCustomizerAnnotation() throws Exception{ - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "Customizer", "Class value()"); - } - private ICompilationUnit createTestEntityForChangeTracking() throws Exception { - createChangeTrackingAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLinkJPA.CHANGE_TRACKING); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private void createChangeTrackingAnnotation() throws Exception{ - createChangeTrackingTypeEnum(); - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "ChangeTracking", "ChangeTrackingType value() default ChangeTrackingType.AUTO"); - } - - private void createChangeTrackingTypeEnum() throws Exception { - this.createEnumAndMembers(EclipseLinkJPA.PACKAGE, "ChangeTrackingType", "ATTRIBUTE, OBJECT, DEFERRED, AUTO;"); - } - - private ICompilationUnit createTestEntityForCaching() throws Exception { - createCacheAnnotation(); - createExistenceCheckingAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private void createCacheTypeEnum() throws Exception { - this.createEnumAndMembers(EclipseLinkJPA.PACKAGE, "CacheType", "SOFT_WEAK, HARD_WEAK, WEAK, SOFT, FULL, CACHE, NONE;"); - } - - private void createCacheCoordinationTypeEnum() throws Exception { - this.createEnumAndMembers(EclipseLinkJPA.PACKAGE, "CacheCoordinationType", "SEND_OBJECT_CHANGES, INVALIDATE_CHANGED_OBJECTS, SEND_NEW_OBJECTS_WITH_CHANGES, NONE;"); - } - - private void createExistenceTypeEnum() throws Exception { - this.createEnumAndMembers(EclipseLinkJPA.PACKAGE, "ExistenceType", "CHECK_CACHE, CHECK_DATABASE, ASSUME_EXISTENCE, ASSUME_NON_EXISTENCE;"); - } - - private void createCacheAnnotation() throws Exception { - createCacheTypeEnum(); - createCacheCoordinationTypeEnum(); - createTimeOfDayAnnotation(); - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "Cache", - "CacheType type() default SOFT_WEAK; " + - "int size() default 100; " + - "boolean shared() default true; " + - "int expiry() default -1; " + - "TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false); " + - "boolean alwaysRefresh() default false; " + - "boolean refreshOnlyIfNewer() default false; " + - "boolean disableHits() default false; " + - "CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;"); - } - - private void createTimeOfDayAnnotation() throws Exception { - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "TimeOfDay", - "int hour() default 0; " + - "int minute() default 0; " + - "int second() default 0; " + - "int millisecond() default 0;"); - } - - private void createExistenceCheckingAnnotation() throws Exception { - createExistenceTypeEnum(); - - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "ExistenceChecking", - "ExistenceType value() default CHECK_CACHE;; " + - "int size() default 100; " + - "boolean shared() default true; " + - "int expiry() default -1; " + - "TimeOfDay expiryTimeOfDay() default @TimeOfDay(specified=false); " + - "boolean alwaysRefresh() default false; " + - "boolean refreshOnlyIfNewer() default false; " + - "boolean disableHits() default false; " + - "CacheCoordinationType coordinationType() default SEND_OBJECT_CHANGES;"); - } - - private ICompilationUnit createTestEntityForConverters() throws Exception { - createConverterAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForTypeConverters() throws Exception { - createTypeConverterAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForObjectTypeConverters() throws Exception { - createObjectTypeConverterAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForStructConverters() throws Exception { - createStructConverterAnnotation(); - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private void createConverterAnnotation() throws Exception{ - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "Converter", "String name(); String converterClass();"); - } - - private void createTypeConverterAnnotation() throws Exception{ - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "TypeConverter", "String name(); String converterClass();"); - } - - private void createStructConverterAnnotation() throws Exception{ - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "StructConverter", "String name(); String converterClass();"); - } - - private void createObjectTypeConverterAnnotation() throws Exception{ - createConversionValueAnnotation(); - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "ObjectTypeConverter", "String name(); Class dataType() default void.class; Class objectType() default void.class; ConversionValue[] conversionValues();String defaultObjectValue() default \"\";"); - } - - private void createConversionValueAnnotation() throws Exception { - this.createAnnotationAndMembers(EclipseLinkJPA.PACKAGE, "ConversionValue", "String dataValue(); String objectValue();"); - } - - - public void testUpdateReadOnly() throws Exception { - createTestEntityForReadOnly(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkJavaEntity javaContextEntity = (EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to false, check override - - resourceEntity.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceEntity.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // clear xml read only, set java read only to true, check defaults - - resourceEntity.setReadOnly(null); - javaContextEntity.getReadOnly().setSpecifiedReadOnly(Boolean.TRUE); - - assertNull(resourceEntity.getReadOnly()); - assertTrue(javaContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceEntity.getReadOnly()); - assertTrue(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - - // set xml read only to false, check override - - resourceEntity.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceEntity.getReadOnly()); - assertTrue(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceEntity.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getReadOnly()); - assertTrue(javaContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // clear xml read only, set java read only to false, check defaults - - resourceEntity.setReadOnly(null); - javaContextEntity.getReadOnly().setSpecifiedReadOnly(Boolean.FALSE); - - assertNull(resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - - - // set xml read only to false, check override - - resourceEntity.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceEntity.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getReadOnly()); - assertFalse(javaContextEntity.getReadOnly().isReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - } - - public void testModifyReadOnly() throws Exception { - createTestEntityForReadOnly(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to true, check resource - - ormContextEntity.getReadOnly().setSpecifiedReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getReadOnly()); - assertTrue(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to false, check resource - - ormContextEntity.getReadOnly().setSpecifiedReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceEntity.getReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to null, check resource - - ormContextEntity.getReadOnly().setSpecifiedReadOnly(null); - - assertNull(resourceEntity.getReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isReadOnly()); - assertFalse(ormContextEntity.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextEntity.getReadOnly().getSpecifiedReadOnly()); - } - - - public void testUpdateCustomizerClass() throws Exception { - createTestEntityForCustomizer(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkJavaEntity javaContextEntity = (EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertNull(resourceEntity.getCustomizer()); - assertNull(javaContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - // set xml customizer, check defaults - resourceEntity.setCustomizer(EclipseLinkOrmFactory.eINSTANCE.createXmlCustomizer()); - assertNull(resourceEntity.getCustomizer().getCustomizerClassName()); - assertNull(javaContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - - // set xml customizer class, check override - - resourceEntity.getCustomizer().setCustomizerClassName("foo"); - - assertEquals("foo", resourceEntity.getCustomizer().getCustomizerClassName()); - assertNull(javaContextEntity.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - // clear xml customizer class, set java customizer class, check defaults - - resourceEntity.getCustomizer().setCustomizerClassName(null); - javaContextEntity.getCustomizer().setSpecifiedCustomizerClass("bar"); - - assertNull(resourceEntity.getCustomizer().getCustomizerClassName()); - assertEquals("bar", javaContextEntity.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEntity.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceEntity.getCustomizer().getCustomizerClassName()); - assertEquals("bar", javaContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - - // set xml customizer class, check override - - resourceEntity.getCustomizer().setCustomizerClassName("foo"); - - assertEquals("foo", resourceEntity.getCustomizer().getCustomizerClassName()); - assertEquals("bar", javaContextEntity.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextEntity.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - //set xml customizer null - javaContextEntity.getCustomizer().setSpecifiedCustomizerClass(null); - resourceEntity.setCustomizer(null); - assertNull(resourceEntity.getCustomizer()); - assertNull(javaContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - } - - public void testModifyCustomizerClass() throws Exception { - createTestEntityForCustomizer(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getCustomizer()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer, check resource - - ormContextEntity.getCustomizer().setSpecifiedCustomizerClass("foo"); - - assertEquals("foo", resourceEntity.getCustomizer().getCustomizerClassName()); - assertEquals("foo", ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer to null, check resource - - ormContextEntity.getCustomizer().setSpecifiedCustomizerClass(null); - - assertNull(resourceEntity.getCustomizer()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - } - - public void testUpdateChangeTracking() throws Exception { - createTestEntityForChangeTracking(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkJavaEntity javaContextEntity = (EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(ChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to ATTRIBUTE, check context - - resourceEntity.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to OBJECT, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to DEFERRED, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to AUTO, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // clear xml change tracking, set java change tracking, check defaults - - resourceEntity.setChangeTracking(null); - javaContextEntity.getChangeTracking().setSpecifiedType(ChangeTrackingType.ATTRIBUTE); - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(ChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(ChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - - // unset metadataComplete, set xml change tracking to OBJECT, check context - - ormContextEntity.setSpecifiedMetadataComplete(null); - resourceEntity.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - } - - public void testModifyChangeTracking() throws Exception { - createTestEntityForChangeTracking(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to ATTRIBUTE, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(ChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to OBJECT, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(ChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to DEFERRED, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(ChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to AUTO, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(ChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to null, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(null); - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(ChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - } - - public void testUpdateCacheType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getType()); - assertEquals(CacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // set xml cache type, check settings - resourceEntity.getCache().setType(org.eclipse.jpt.eclipselink.core.resource.orm.CacheType.FULL); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheType.FULL, resourceEntity.getCache().getType()); - assertEquals(CacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(CacheType.FULL, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(CacheType.FULL, ormContextCaching.getSpecifiedType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedType(CacheType.WEAK); - - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheType.FULL, resourceEntity.getCache().getType()); - assertEquals(CacheType.WEAK, javaContextCaching.getType()); - assertEquals(CacheType.FULL, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(CacheType.FULL, ormContextCaching.getSpecifiedType()); - - // clear xml cache type, check defaults - resourceEntity.getCache().setType(null); - - assertEquals(null, resourceEntity.getCache().getType()); - assertEquals(CacheType.WEAK, javaContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheType.WEAK, javaContextCaching.getType()); - assertEquals(CacheType.WEAK, ormContextCaching.getType()); - assertEquals(CacheType.WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheType.WEAK, javaContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set context cache type, check resource - - ormContextEntity.getCaching().setSpecifiedType(CacheType.HARD_WEAK); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheType.HARD_WEAK, resourceEntity.getCache().getType()); - assertEquals(CacheType.HARD_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(CacheType.HARD_WEAK, ormContextCaching.getSpecifiedType()); - - // set context customizer to null, check resource - - ormContextEntity.getCaching().setSpecifiedType(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(CacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - } - - public void testUpdateCacheCoordinationType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // set xml cache type, check settings - resourceEntity.getCache().setCoordinationType(org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceEntity.getCache().getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedCoordinationType(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceEntity.getCache().getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - // clear xml cache type, check defaults - resourceEntity.getCache().setCoordinationType(null); - - assertEquals(null, resourceEntity.getCache().getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheCoordinationType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - // set context cache coordination type, check resource - - ormContextEntity.getCaching().setSpecifiedCoordinationType(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, resourceEntity.getCache().getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getSpecifiedCoordinationType()); - - // set context coordination type to null, check resource - - ormContextEntity.getCaching().setSpecifiedCoordinationType(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(CacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - } - - - public void testUpdateCacheSize() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getSize()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // set xml cache size, check settings - resourceEntity.getCache().setSize(new Integer(105)); - assertEquals(new Integer(105), resourceEntity.getCache().getSize()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(105, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(105), ormContextCaching.getSpecifiedSize()); - - - // set java cache size, check defaults - - javaContextCaching.setSpecifiedSize(new Integer(50)); - - assertEquals(new Integer(105), resourceEntity.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(105, ormContextCaching.getSize()); - assertEquals(50, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(105), ormContextCaching.getSpecifiedSize()); - - // clear xml cache size, check defaults - resourceEntity.getCache().setSize(null); - - assertEquals(null, resourceEntity.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(50, ormContextCaching.getSize()); - assertEquals(50, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(50, ormContextCaching.getSize()); - assertEquals(50, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheSize() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - // set context cache size, check resource - - ormContextEntity.getCaching().setSpecifiedSize(new Integer(50)); - assertEquals(new Integer(50), resourceEntity.getCache().getSize()); - assertEquals(50, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(50), ormContextCaching.getSpecifiedSize()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setSpecifiedSize(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - } - - public void testUpdateCacheAlwaysRefresh() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(false, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // set xml cache always refresh, check settings - resourceEntity.getCache().setAlwaysRefresh(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(false, javaContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // set java cache always refresh, check defaults - - javaContextCaching.setSpecifiedAlwaysRefresh(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set xml cache always refresh to false - resourceEntity.getCache().setAlwaysRefresh(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // clear xml cache always refresh, check defaults - resourceEntity.getCache().setAlwaysRefresh(null); - - assertEquals(null, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - } - - public void testModifyCacheAlwaysRefresh() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set context cache size, check resource - - ormContextEntity.getCaching().setSpecifiedAlwaysRefresh(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setSpecifiedAlwaysRefresh(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - } - - public void testUpdateCacheRefreshOnlyIfNewer() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(false, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // set xml cache size, check settings - resourceEntity.getCache().setRefreshOnlyIfNewer(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(false, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // set java cache size, check defaults - - javaContextCaching.setSpecifiedRefreshOnlyIfNewer(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set xml cache always refresh to false - resourceEntity.getCache().setRefreshOnlyIfNewer(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // clear xml cache always refresh, check defaults - resourceEntity.getCache().setRefreshOnlyIfNewer(null); - - assertEquals(null, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - } - - public void testModifyCacheRefreshOnlyIfNewer() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set context cache size, check resource - - ormContextEntity.getCaching().setSpecifiedRefreshOnlyIfNewer(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setSpecifiedRefreshOnlyIfNewer(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - } - - public void testUpdateCacheDisableHits() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getDisableHits()); - assertEquals(false, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // set xml cache size, check settings - resourceEntity.getCache().setDisableHits(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getDisableHits()); - assertEquals(false, javaContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedDisableHits()); - - - // set java cache size, check defaults - - javaContextCaching.setSpecifiedDisableHits(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceEntity.getCache().getDisableHits()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedDisableHits()); - - // set xml cache always refresh to false - resourceEntity.getCache().setDisableHits(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getDisableHits()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedDisableHits()); - - // clear xml cache always refresh, check defaults - resourceEntity.getCache().setDisableHits(null); - - assertEquals(null, resourceEntity.getCache().getDisableHits()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - } - - public void testModifyCacheDisableHits() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - // set context cache size, check resource - - ormContextEntity.getCaching().setSpecifiedDisableHits(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedDisableHits()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setSpecifiedDisableHits(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - } - - public void testUpdateCacheShared() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getShared()); - assertEquals(true, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // set xml cache size, check settings - resourceEntity.getCache().setShared(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getShared()); - assertEquals(true, javaContextCaching.isShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedShared()); - - - // set java cache size, check defaults - - javaContextCaching.setSpecifiedShared(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceEntity.getCache().getShared()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedShared()); - - // set xml cache always refresh to false - resourceEntity.getCache().setShared(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceEntity.getCache().getShared()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedShared()); - - // clear xml cache always refresh, check defaults - resourceEntity.getCache().setShared(null); - - assertEquals(null, resourceEntity.getCache().getShared()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(false, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(false, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - } - - public void testModifyCacheShared() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - // set context cache size, check resource - - ormContextEntity.getCaching().setSpecifiedShared(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedShared()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setSpecifiedShared(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - } - - public void testUpdateExistenceChecking() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set xml existence checking, check settings - resourceEntity.setExistenceChecking(org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - - // set java cache existence checking, check defaults - - javaContextCaching.setSpecifiedExistenceType(ExistenceType.ASSUME_NON_EXISTENCE); - - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getDefaultExistenceType()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // clear xml existence checking, check defaults - resourceEntity.setExistenceChecking(null); - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyExistenceChecking() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set context cache existence checking, check resource - - ormContextEntity.getCaching().setSpecifiedExistenceType(ExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(ExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // set context existence checking to null, check resource - - ormContextEntity.getCaching().setSpecifiedExistenceType(null); - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(ExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - } - - public void testUpdateCacheExpiry() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getExpiry()); - assertEquals(null, javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - - - // set xml cache expiry, check settings - resourceEntity.getCache().setExpiry(new Integer(45)); - assertEquals(new Integer(45), resourceEntity.getCache().getExpiry()); - assertEquals(null, javaContextCaching.getExpiry()); - assertEquals(new Integer(45), ormContextCaching.getExpiry()); - - - // set java cache expiry, check defaults - - javaContextCaching.setExpiry(new Integer(55)); - - assertEquals(new Integer(45), resourceEntity.getCache().getExpiry()); - assertEquals(new Integer(55), javaContextCaching.getExpiry()); - assertEquals(new Integer(45), ormContextCaching.getExpiry()); - - // clear xml cache expiry to null, check defaults - resourceEntity.getCache().setExpiry(null); - - assertEquals(null, resourceEntity.getCache().getExpiry()); - assertEquals(new Integer(55), javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(55), javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(55), javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(55), javaContextCaching.getExpiry()); - assertEquals(null, ormContextCaching.getExpiry()); - } - - public void testModifyCacheExpiry() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, ormContextCaching.getExpiry()); - - // set context cache expiry, check resource - - ormContextEntity.getCaching().setExpiry(new Integer(60)); - assertEquals(new Integer(60), resourceEntity.getCache().getExpiry()); - assertEquals(new Integer(60), ormContextCaching.getExpiry()); - - // set context cache size to null, check resource - - ormContextEntity.getCaching().setExpiry(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, ormContextCaching.getExpiry()); - } - - public void testUpdateCacheExpiryTimeOfDay() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaCaching javaContextCaching = ((EclipseLinkJavaEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, javaContextCaching.getExpiryTimeOfDay()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getExpiryTimeOfDay()); - assertEquals(null, javaContextCaching.getExpiryTimeOfDay()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - - // set xml cache expiry, check settings - resourceEntity.getCache().setExpiryTimeOfDay(EclipseLinkOrmFactory.eINSTANCE.createXmlTimeOfDay()); - resourceEntity.getCache().getExpiryTimeOfDay().setHour(new Integer(10)); - assertEquals(new Integer(10), resourceEntity.getCache().getExpiryTimeOfDay().getHour()); - assertEquals(null, javaContextCaching.getExpiryTimeOfDay()); - assertEquals(new Integer(10), ormContextCaching.getExpiryTimeOfDay().getHour()); - - - // set java cache expiry, check defaults - - javaContextCaching.addExpiryTimeOfDay(); - javaContextCaching.getExpiryTimeOfDay().setHour(new Integer(12)); - - assertEquals(new Integer(10), resourceEntity.getCache().getExpiryTimeOfDay().getHour()); - assertEquals(new Integer(12), javaContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(new Integer(10), ormContextCaching.getExpiryTimeOfDay().getHour()); - - // clear xml cache expiry to null, check defaults - resourceEntity.getCache().setExpiryTimeOfDay(null); - - assertEquals(null, resourceEntity.getCache().getExpiryTimeOfDay()); - assertEquals(new Integer(12), javaContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(12), javaContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - - // set metadataComplete to True, check defaults not from java - - ormContextEntity.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(12), javaContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - - // set metadataComplete back to null, check defaults from java - ormContextEntity.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(new Integer(12), javaContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - } - - public void testModifyCacheExpiryTimeOfDay() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - Caching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - - // set context cache expiry, check resource - - ormContextEntity.getCaching().addExpiryTimeOfDay().setHour(new Integer(12)); - assertEquals(new Integer(12), resourceEntity.getCache().getExpiryTimeOfDay().getHour()); - assertEquals(new Integer(12), ormContextCaching.getExpiryTimeOfDay().getHour()); - - // set context expiry time of day minute, check resource - - ormContextEntity.getCaching().getExpiryTimeOfDay().setMinute(new Integer(35)); - - assertEquals(new Integer(12), resourceEntity.getCache().getExpiryTimeOfDay().getHour()); - assertEquals(new Integer(12), ormContextCaching.getExpiryTimeOfDay().getHour()); - assertEquals(new Integer(35), resourceEntity.getCache().getExpiryTimeOfDay().getMinute()); - assertEquals(new Integer(35), ormContextCaching.getExpiryTimeOfDay().getMinute()); - - // set context expiry time of day null, check resource - - ormContextEntity.getCaching().removeExpiryTimeOfDay(); - assertEquals(null, resourceEntity.getCache()); - assertEquals(null, ormContextCaching.getExpiryTimeOfDay()); - } - - public void testUpdateCustomConverters() throws Exception { - createTestEntityForConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.customConvertersSize()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the resource model, check context model - XmlConverter resourceConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlConverterImpl(); - resourceEntity.getConverters().add(resourceConverter); - resourceConverter.setClassName("Foo"); - resourceConverter.setName("myConverter"); - - assertEquals(1, ormContextConverterHolder.customConvertersSize()); - ListIterator<CustomConverter> ormContextConverters = ormContextConverterHolder.customConverters(); - CustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the resource model, check context model - XmlConverter resourceConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConverterImpl(); - resourceEntity.getConverters().add(0, resourceConverter2); - resourceConverter2.setClassName("Foo2"); - resourceConverter2.setName("myConverter2"); - - assertEquals(2, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(2, resourceEntity.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(2, resourceEntity.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getConverters().remove(resourceConverter2); - - assertEquals(0, ormContextConverterHolder.customConvertersSize()); - assertFalse(ormContextConverterHolder.customConverters().hasNext()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testModifyCustomConverters() throws Exception { - createTestEntityForConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.customConvertersSize()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the context model, check resource model - CustomConverter contextConverter = ormContextConverterHolder.addCustomConverter(0); - contextConverter.setConverterClass("Foo"); - contextConverter.setName("myConverter"); - - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals("Foo", resourceEntity.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEntity.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.customConvertersSize()); - ListIterator<CustomConverter> ormContextConverters = ormContextConverterHolder.customConverters(); - CustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the context model, check resource model - CustomConverter contextConverter2 = ormContextConverterHolder.addCustomConverter(0); - contextConverter2.setConverterClass("Foo2"); - contextConverter2.setName("myConverter2"); - - assertEquals(2, resourceEntity.getConverters().size()); - assertEquals("Foo2", resourceEntity.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEntity.getConverters().get(0).getName()); - assertEquals("Foo", resourceEntity.getConverters().get(1).getClassName()); - assertEquals("myConverter", resourceEntity.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveCustomConverter(0, 1); - - assertEquals(2, resourceEntity.getConverters().size()); - assertEquals("Foo", resourceEntity.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEntity.getConverters().get(0).getName()); - assertEquals("Foo2", resourceEntity.getConverters().get(1).getClassName()); - assertEquals("myConverter2", resourceEntity.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(0); - - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals("Foo2", resourceEntity.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEntity.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.customConvertersSize()); - ormContextConverters = ormContextConverterHolder.customConverters(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(contextConverter2); - - assertEquals(0, ormContextConverterHolder.customConvertersSize()); - assertFalse(ormContextConverterHolder.customConverters().hasNext()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testUpdateTypeConverters() throws Exception { - createTestEntityForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.typeConvertersSize()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverterImpl(); - resourceEntity.getTypeConverters().add(resourceTypeConverter); - resourceTypeConverter.setDataType("Foo"); - resourceTypeConverter.setName("myTypeConverter"); - - assertEquals(1, ormContextConverterHolder.typeConvertersSize()); - ListIterator<TypeConverter> ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - TypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverterImpl(); - resourceEntity.getTypeConverters().add(0, resourceTypeConverter2); - resourceTypeConverter2.setDataType("Foo2"); - resourceTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(2, resourceEntity.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(2, resourceEntity.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getTypeConverters().remove(resourceTypeConverter2); - - assertEquals(0, ormContextConverterHolder.typeConvertersSize()); - assertFalse(ormContextConverterHolder.typeConverters().hasNext()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testModifyTypeConverters() throws Exception { - createTestEntityForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.typeConvertersSize()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the context model, check resource model - TypeConverter contextTypeConverter = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter.setDataType("Foo"); - contextTypeConverter.setName("myTypeConverter"); - - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals("Foo", resourceEntity.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEntity.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.typeConvertersSize()); - ListIterator<TypeConverter> ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - TypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the context model, check resource model - TypeConverter contextTypeConverter2 = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter2.setDataType("Foo2"); - contextTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, resourceEntity.getTypeConverters().size()); - assertEquals("Foo2", resourceEntity.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEntity.getTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEntity.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter", resourceEntity.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveTypeConverter(0, 1); - - assertEquals(2, resourceEntity.getTypeConverters().size()); - assertEquals("Foo", resourceEntity.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEntity.getTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEntity.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter2", resourceEntity.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(0); - - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals("Foo2", resourceEntity.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEntity.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.typeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.typeConverters(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(contextTypeConverter2); - - assertEquals(0, ormContextConverterHolder.typeConvertersSize()); - assertFalse(ormContextConverterHolder.typeConverters().hasNext()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testUpdateObjectTypeConverters() throws Exception { - createTestEntityForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.objectTypeConvertersSize()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverterImpl(); - resourceEntity.getObjectTypeConverters().add(resourceObjectTypeConverter); - resourceObjectTypeConverter.setDataType("Foo"); - resourceObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, ormContextConverterHolder.objectTypeConvertersSize()); - ListIterator<ObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverterImpl(); - resourceEntity.getObjectTypeConverters().add(0, resourceObjectTypeConverter2); - resourceObjectTypeConverter2.setDataType("Foo2"); - resourceObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEntity.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getObjectTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEntity.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getObjectTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getObjectTypeConverters().remove(resourceObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.objectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.objectTypeConverters().hasNext()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testModifyObjectTypeConverters() throws Exception { - createTestEntityForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.objectTypeConvertersSize()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the context model, check resource model - ObjectTypeConverter contextObjectTypeConverter = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter.setDataType("Foo"); - contextObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEntity.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntity.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.objectTypeConvertersSize()); - ListIterator<ObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the context model, check resource model - ObjectTypeConverter contextObjectTypeConverter2 = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter2.setDataType("Foo2"); - contextObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, resourceEntity.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEntity.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntity.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEntity.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntity.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveObjectTypeConverter(0, 1); - - assertEquals(2, resourceEntity.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEntity.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntity.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEntity.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntity.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(0); - - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEntity.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntity.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.objectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.objectTypeConverters(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(contextObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.objectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.objectTypeConverters().hasNext()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testUpdateStructConverters() throws Exception { - createTestEntityForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.structConvertersSize()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the resource model, check context model - XmlStructConverter resourceStructConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverterImpl(); - resourceEntity.getStructConverters().add(resourceStructConverter); - resourceStructConverter.setConverter("Foo"); - resourceStructConverter.setName("myStructConverter"); - - assertEquals(1, ormContextConverterHolder.structConvertersSize()); - ListIterator<StructConverter> ormContextStructConverters = ormContextConverterHolder.structConverters(); - StructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the resource model, check context model - XmlStructConverter resourceStructConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverterImpl(); - resourceEntity.getStructConverters().add(0, resourceStructConverter2); - resourceStructConverter2.setConverter("Foo2"); - resourceStructConverter2.setName("myStructConverter2"); - - assertEquals(2, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(2, resourceEntity.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getStructConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(2, resourceEntity.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getStructConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getStructConverters().remove(resourceStructConverter2); - - assertEquals(0, ormContextConverterHolder.structConvertersSize()); - assertFalse(ormContextConverterHolder.structConverters().hasNext()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } - - public void testModifyStructConverters() throws Exception { - createTestEntityForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = (EclipseLinkPersistenceUnit) persistenceUnit(); - OrmPersistentType ormPersistentType = entityMappings().addOrmPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkOrmEntity ormContextEntity = (EclipseLinkOrmEntity) ormPersistentType.getMapping(); - ConverterHolder ormContextConverterHolder = ormContextEntity.getConverterHolder(); - XmlEntity resourceEntity = (XmlEntity) ormResource().getEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.structConvertersSize()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - - //add a converter to the context model, check resource model - StructConverter contextStructConverter = ormContextConverterHolder.addStructConverter(0); - contextStructConverter.setConverterClass("Foo"); - contextStructConverter.setName("myStructConverter"); - - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals("Foo", resourceEntity.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEntity.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.structConvertersSize()); - ListIterator<StructConverter> ormContextStructConverters = ormContextConverterHolder.structConverters(); - StructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //add another converter to the context model, check resource model - StructConverter contextStructConverter2 = ormContextConverterHolder.addStructConverter(0); - contextStructConverter2.setConverterClass("Foo2"); - contextStructConverter2.setName("myStructConverter2"); - - assertEquals(2, resourceEntity.getStructConverters().size()); - assertEquals("Foo2", resourceEntity.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEntity.getStructConverters().get(0).getName()); - assertEquals("Foo", resourceEntity.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter", resourceEntity.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveStructConverter(0, 1); - - assertEquals(2, resourceEntity.getStructConverters().size()); - assertEquals("Foo", resourceEntity.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEntity.getStructConverters().get(0).getName()); - assertEquals("Foo2", resourceEntity.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter2", resourceEntity.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(2, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(0); - - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals("Foo2", resourceEntity.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEntity.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.structConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.structConverters(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.allConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(contextStructConverter2); - - assertEquals(0, ormContextConverterHolder.structConvertersSize()); - assertFalse(ormContextConverterHolder.structConverters().hasNext()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.allConverters())); - } -} |