diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context')
67 files changed, 0 insertions, 22700 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkContextModelTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkContextModelTestCase.java deleted file mode 100644 index a8c0b43eb0..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkContextModelTestCase.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context; - -import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProperties; -import org.eclipse.jpt.jpa.core.tests.internal.context.ContextModelTestCase; -import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkJpaProject; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.platform.EclipseLinkPlatform; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -public abstract class EclipseLinkContextModelTestCase - extends ContextModelTestCase -{ - protected EclipseLinkContextModelTestCase(String name) { - super(name); - } - - - @Override - protected IDataModel buildJpaConfigDataModel() { - IDataModel dataModel = super.buildJpaConfigDataModel(); - dataModel.setProperty(JpaFacetInstallDataModelProperties.PLATFORM, EclipseLinkPlatform.VERSION_1_0); - return dataModel; - } - - @Override - protected EclipseLinkJpaProject getJpaProject() { - return (EclipseLinkJpaProject) super.getJpaProject(); - } - - @Override - protected EclipseLinkPersistenceUnit getPersistenceUnit() { - return (EclipseLinkPersistenceUnit) super.getPersistenceUnit(); - } - - @Override - protected JavaEclipseLinkEntity getJavaEntity() { - return (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkJpaProjectTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkJpaProjectTests.java deleted file mode 100644 index 40cf67f75d..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/EclipseLinkJpaProjectTests.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2011 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.jpa.eclipselink.core.tests.internal.context; - -import org.eclipse.core.runtime.Path; -import org.eclipse.jpt.common.core.internal.operations.JptFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; -import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProperties; -import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProvider; -import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.operations.EclipseLinkOrmFileCreationDataModelProvider; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -@SuppressWarnings("nls") -public class EclipseLinkJpaProjectTests extends EclipseLinkContextModelTestCase -{ - - public EclipseLinkJpaProjectTests(String name) { - super(name); - } - - - @Override - protected IDataModel buildJpaConfigDataModel() { - IDataModel dataModel = super.buildJpaConfigDataModel(); - // don't build orm.xml - dataModel.setProperty(JpaFacetInstallDataModelProperties.CREATE_ORM_XML, Boolean.FALSE); - return dataModel; - } - - public void testGetDefaultOrmXmlResource() throws Exception { - JpaXmlResource resource = this.getJpaProject().getDefaultOrmXmlResource(); - assertNull(resource); - - //add the orm.xml file with eclipselink orm content type - createDefaultOrmXmlFileWithEclipseLinkContentType(); - resource = this.getJpaProject().getDefaultOrmXmlResource(); - assertNotNull(resource); - assertEquals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/orm.xml", resource.getFile().getProjectRelativePath().toString()); - - - //delete the orm.xml file and verify it is not returned from getDefaultOrmXmlResource() - resource.delete(null); - resource = this.getJpaProject().getDefaultOrmXmlResource(); - assertNull(resource); - - - //add the orm.xml file this time with orm content type - createDefaultOrmXmlFile(); - resource = this.getJpaProject().getDefaultOrmXmlResource(); - assertNotNull(resource); - assertEquals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/orm.xml", resource.getFile().getProjectRelativePath().toString()); - } - - public void testGetDefaultEclipseLinkOrmXmlResource() throws Exception { - JpaXmlResource resource = this.getJpaProject().getDefaultEclipseLinkOrmXmlResource(); - assertNull(resource); - - //add the eclipselink-orm.xml file - createDefaultEclipseLinkOrmXmlFile(); - resource = this.getJpaProject().getDefaultEclipseLinkOrmXmlResource(); - assertNotNull(resource); - assertEquals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/eclipselink-orm.xml", resource.getFile().getProjectRelativePath().toString()); - - - //delete the eclipselink-orm.xml file and verify it is not returned from getDefaultOrmXmlResource() - resource.delete(null); - resource = this.getJpaProject().getDefaultEclipseLinkOrmXmlResource(); - assertNull(resource); - } - - private void createDefaultOrmXmlFile() throws Exception { - IDataModel config = - DataModelFactory.createDataModel(new OrmFileCreationDataModelProvider()); - config.setProperty(JptFileCreationDataModelProperties.CONTAINER_PATH, - getJpaProject().getProject().getFolder("src/META-INF").getFullPath()); - config.getDefaultOperation().execute(null, null); - } - - private void createDefaultOrmXmlFileWithEclipseLinkContentType() throws Exception { - createEclipseLinkOrmXmlFile(JptJpaCorePlugin.DEFAULT_ORM_XML_RUNTIME_PATH.lastSegment()); - } - - private void createDefaultEclipseLinkOrmXmlFile() throws Exception { - createEclipseLinkOrmXmlFile(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.lastSegment()); - } - - private void createEclipseLinkOrmXmlFile(String fileName) throws Exception { - IDataModel config = - DataModelFactory.createDataModel(new EclipseLinkOrmFileCreationDataModelProvider()); - config.setProperty(JptFileCreationDataModelProperties.CONTAINER_PATH, - getJpaProject().getProject().getFolder("src/META-INF").getFullPath()); - config.setProperty(JptFileCreationDataModelProperties.FILE_NAME, fileName); - config.getDefaultOperation().execute(null, null); - } - - public void testGetMappingFileResource() throws Exception { - JpaXmlResource resource = this.getJpaProject().getMappingFileXmlResource(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH); - assertNull(resource); - - //add the eclipselink-orm.xml file - createDefaultEclipseLinkOrmXmlFile(); - resource = this.getJpaProject().getMappingFileXmlResource(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH); - assertNotNull(resource); - assertEquals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/eclipselink-orm.xml", resource.getFile().getProjectRelativePath().toString()); - - //delete the eclipselink-orm.xml file and verify it is not returned from getMappingFileResource() - resource.delete(null); - resource = this.getJpaProject().getMappingFileXmlResource(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH); - assertNull(resource); - } - - public void testGetDifferentlyNamedMappingFileResource() throws Exception { - JpaXmlResource resource = this.getJpaProject().getMappingFileXmlResource(new Path("META-INF/orm2.xml")); - assertNull(resource); - - //create the orm2.xml file - createEclipseLinkOrmXmlFile("orm2.xml"); - resource = this.getJpaProject().getMappingFileXmlResource(new Path("META-INF/orm2.xml")); - assertNotNull(resource); - assertEquals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/orm2.xml", resource.getFile().getProjectRelativePath().toString()); - - //delete the orm2.xml file and verify it is not returned from getMappingFileResource() - resource.delete(null); - resource = this.getJpaProject().getMappingFileXmlResource(new Path("META-INF/orm2.xml")); - assertNull(resource); - - //add the orm2.xml file back - createEclipseLinkOrmXmlFile("orm2.xml"); - resource = this.getJpaProject().getMappingFileXmlResource(new Path("META-INF/orm2.xml")); - assertNotNull(resource); - assertEquals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, resource.getContentType()); - assertEquals("src/META-INF/orm2.xml", resource.getFile().getProjectRelativePath().toString()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptEclipseLink1_0CoreContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptEclipseLink1_0CoreContextModelTests.java deleted file mode 100644 index 308284ad55..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptEclipseLink1_0CoreContextModelTests.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 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.jpa.eclipselink.core.tests.internal.context; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.java.JptEclipseLinkCoreJavaContextModelTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm.JptEclipseLinkCoreOrmContextModelTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.JptEclipseLinkCorePersistenceContextModelTests; - -public class JptEclipseLink1_0CoreContextModelTests extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLink1_0CoreContextModelTests.class.getName()); - suite.addTestSuite(EclipseLinkJpaProjectTests.class); - suite.addTest(JptEclipseLinkCorePersistenceContextModelTests.suite()); - suite.addTest(JptEclipseLinkCoreJavaContextModelTests.suite()); - suite.addTest(JptEclipseLinkCoreOrmContextModelTests.suite()); - return suite; - } - - private JptEclipseLink1_0CoreContextModelTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptJpaEclipseLinkCoreContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptJpaEclipseLinkCoreContextModelTests.java deleted file mode 100644 index a440deb1e9..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/JptJpaEclipseLinkCoreContextModelTests.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 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.jpa.eclipselink.core.tests.internal.context; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.JptJpaEclipseLinkCoreTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.v1_1.context.JptEclipseLink1_1CoreContextModelTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.v1_2.context.JptEclipseLink1_2CoreContextModelTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.v2_0.context.JptEclipseLink2_0CoreContextModelTests; - -/** - * Required Java system property: - * -Dorg.eclipse.jpt.jpa.jar=<jpa.jar path> - * -Dorg.eclipse.jpt.eclipselink.jar=<eclipselink.jar path> - */ -public class JptJpaEclipseLinkCoreContextModelTests extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptJpaEclipseLinkCoreContextModelTests.class.getName()); - if(JptJpaEclipseLinkCoreTests.requiredJarsExists()) { - suite.addTest(JptEclipseLink1_0CoreContextModelTests.suite()); - suite.addTest(JptEclipseLink1_1CoreContextModelTests.suite()); - suite.addTest(JptEclipseLink1_2CoreContextModelTests.suite()); - suite.addTest(JptEclipseLink2_0CoreContextModelTests.suite()); - } - else { - suite.addTest(TestSuite.warning(JptJpaEclipseLinkCoreTests.buildMissingJarErrorMessage())); - } - return suite; - } - - private JptJpaEclipseLinkCoreContextModelTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaBasicMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaBasicMappingTests.java deleted file mode 100644 index 76947b8b84..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaBasicMappingTests.java +++ /dev/null @@ -1,323 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.context.TemporalConverter; -import org.eclipse.jpt.jpa.core.context.TemporalType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TemporalAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConvertAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkMutableAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaBasicMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - } - }); - } - - - private ICompilationUnit createTestEntityWithConvert() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"class-instance\")").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableBasic() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.MUTABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append("@Mutable").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableBasicDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public EclipseLinkJavaBasicMappingTests(String name) { - super(name); - } - - - public void testGetConvert() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, basicMapping.getConverter().getType()); - } - - public void testGetConvert2() throws Exception { - createTestEntityWithConvert(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, basicMapping.getConverter().getType()); - assertEquals(EclipseLinkConvert.CLASS_INSTANCE_CONVERTER, ((EclipseLinkConvert) basicMapping.getConverter()).getConverterName()); - } - - public void testSetConvert() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - assertNull(basicMapping.getConverter().getType()); - - basicMapping.setConverter(TemporalConverter.class); - ((TemporalConverter) basicMapping.getConverter()).setTemporalType(TemporalType.TIME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.core.resource.java.TemporalType.TIME, temporal.getValue()); - - basicMapping.setConverter(null); - assertNull(resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME)); - } - - public void testGetConvertUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - - assertNull(basicMapping.getConverter().getType()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConvertAnnotation convert = (EclipseLinkConvertAnnotation) resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - convert.setValue("foo"); - getJpaProject().synchronizeContextModel(); - - assertEquals(EclipseLinkConvert.class, basicMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) basicMapping.getConverter()).getConverterName()); - - resourceField.removeAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(basicMapping.getConverter().getType()); - assertFalse(basicMapping.isDefault()); - assertSame(basicMapping, persistentAttribute.getMapping()); - } - - public void testGetSpecifiedMutable() throws Exception { - createTestEntityWithMutableBasic(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkBasicMapping basicMapping = (EclipseLinkBasicMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = basicMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - mutableAnnotation.setValue(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(Boolean.FALSE); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.FALSE, mutable.getSpecifiedMutable()); - - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, mutable.getSpecifiedMutable()); - - resourceField.addAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - } - - public void testSetSpecifiedMutable() throws Exception { - createTestEntityWithMutableBasic(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkBasicMapping basicMapping = (EclipseLinkBasicMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = basicMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(null); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation); - - mutable.setSpecifiedMutable(Boolean.FALSE); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(Boolean.FALSE, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(Boolean.TRUE, mutableAnnotation.getValue()); - } - - public void testIsDefaultMutable() throws Exception { - createTestEntityWithMutableBasic(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkBasicMapping basicMapping = (EclipseLinkBasicMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = basicMapping.getMutable(); - assertTrue(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - } - - public void testIsDefaultMutableForDate() throws Exception { - createTestEntityWithMutableBasicDate(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkBasicMapping basicMapping = (EclipseLinkBasicMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = basicMapping.getMutable(); - assertFalse(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertFalse(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertFalse(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.TRUE); - assertTrue(mutable.isDefaultMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.FALSE); - assertFalse(mutable.isDefaultMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(null); - assertFalse(mutable.isDefaultMutable()); - } - - public void testIsMutable() throws Exception { - createTestEntityWithMutableBasic(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkBasicMapping basicMapping = (EclipseLinkBasicMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = basicMapping.getMutable(); - assertTrue(mutable.isMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertTrue(mutable.isMutable()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaCachingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaCachingTests.java deleted file mode 100644 index 8c6a4f098c..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaCachingTests.java +++ /dev/null @@ -1,690 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTimeOfDay; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Caching; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkCacheAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkExistenceCheckingAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaCachingTests extends EclipseLinkContextModelTestCase -{ - public EclipseLinkJavaCachingTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - }); - } - - public void testSetSpecifiedShared() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(true, caching.isShared()); - - caching.setSpecifiedShared(Boolean.FALSE); - - - assertEquals(Boolean.FALSE, entity.getCaching().getSpecifiedShared()); - assertEquals(false, entity.getCaching().isShared()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(Boolean.FALSE, cacheAnnotation.getShared()); - } - - public void testSetSpecifiedSharedFalseUnsetsOtherCacheSettings() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - caching.setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - caching.setSpecifiedSize(Integer.valueOf(500)); - caching.setSpecifiedAlwaysRefresh(Boolean.FALSE); - caching.setSpecifiedRefreshOnlyIfNewer(Boolean.FALSE); - caching.setSpecifiedDisableHits(Boolean.FALSE); - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - caching.setExistenceChecking(true); - caching.setSpecifiedExistenceType(EclipseLinkExistenceType.CHECK_CACHE); - caching.setExpiry(Integer.valueOf(8000)); - - caching.setSpecifiedShared(Boolean.FALSE); - - assertEquals(null, caching.getSpecifiedType()); - assertEquals(null, caching.getSpecifiedSize()); - assertEquals(null, caching.getSpecifiedAlwaysRefresh()); - assertEquals(null, caching.getSpecifiedRefreshOnlyIfNewer()); - assertEquals(null, caching.getSpecifiedDisableHits()); - assertEquals(null, caching.getSpecifiedCoordinationType()); - assertEquals(null, caching.getExpiry()); - - - //existence checking is the only thing that isn't unset when shared is set to false - assertTrue(caching.isExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_CACHE, caching.getSpecifiedExistenceType()); - - caching.setSpecifiedShared(null); - EclipseLinkTimeOfDay timeOfDayExpiry = caching.addExpiryTimeOfDay(); - timeOfDayExpiry.setHour(Integer.valueOf(5)); - - caching.setSpecifiedShared(Boolean.FALSE); - assertNull(caching.getExpiryTimeOfDay()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(Boolean.FALSE, cacheAnnotation.getShared()); - assertNull(cacheAnnotation.getExpiryTimeOfDay()); - } - - public void testGetDefaultShared() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertTrue(caching.isDefaultShared()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT, "false"); - - assertFalse(caching.isDefaultShared()); - } - - public void testGetSpecifiedShared() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(true, caching.isShared()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setShared(Boolean.FALSE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.FALSE, cacheAnnotation.getShared()); - assertEquals(Boolean.FALSE, entity.getCaching().getSpecifiedShared()); - assertEquals(false, entity.getCaching().isShared()); - } - - public void testSetSpecifiedType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - - caching.setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - - - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getSpecifiedType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheType.HARD_WEAK, cacheAnnotation.getType()); - - - //set specified type to the same as the default, verify it is not set to default - caching.setSpecifiedType(EclipseLinkCacheType.SOFT_WEAK); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getSpecifiedType()); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheType.SOFT_WEAK, cacheAnnotation.getType()); - - caching.setSpecifiedType(null); - assertNull(caching.getSpecifiedType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - } - - public void testGetDefaultType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getDefaultType()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT, EclipseLinkCacheType.FULL.toString()); - - assertEquals(EclipseLinkCacheType.FULL, caching.getDefaultType()); - } - - public void testGetSpecifiedType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setType(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheType.HARD_WEAK); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheType.HARD_WEAK, cacheAnnotation.getType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getSpecifiedType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getType()); - } - - public void testSetSpecifiedAlwaysRefresh() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isAlwaysRefresh()); - - caching.setSpecifiedAlwaysRefresh(Boolean.FALSE); - - - assertEquals(Boolean.FALSE, entity.getCaching().getSpecifiedAlwaysRefresh()); - assertEquals(false, entity.getCaching().isAlwaysRefresh()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(Boolean.FALSE, cacheAnnotation.getAlwaysRefresh()); - } - - public void testGetSpecifiedAlwaysRefresh() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isAlwaysRefresh()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setAlwaysRefresh(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, cacheAnnotation.getAlwaysRefresh()); - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedAlwaysRefresh()); - assertEquals(true, entity.getCaching().isAlwaysRefresh()); - } - - public void testSetSpecifiedRefreshOnlyIfNewer() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isRefreshOnlyIfNewer()); - - caching.setSpecifiedRefreshOnlyIfNewer(Boolean.TRUE); - - - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedRefreshOnlyIfNewer()); - assertEquals(true, entity.getCaching().isRefreshOnlyIfNewer()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(Boolean.TRUE, cacheAnnotation.getRefreshOnlyIfNewer()); - } - - public void testGetSpecifiedRefreshOnlyIfNewer() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isRefreshOnlyIfNewer()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setRefreshOnlyIfNewer(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, cacheAnnotation.getRefreshOnlyIfNewer()); - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedRefreshOnlyIfNewer()); - assertEquals(true, entity.getCaching().isRefreshOnlyIfNewer()); - } - - public void testSetSpecifiedDisableHits() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isDisableHits()); - - caching.setSpecifiedDisableHits(Boolean.TRUE); - - - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedDisableHits()); - assertEquals(true, entity.getCaching().isDisableHits()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(Boolean.TRUE, cacheAnnotation.getDisableHits()); - } - - public void testGetSpecifiedDisableHits() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isDisableHits()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setDisableHits(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, cacheAnnotation.getDisableHits()); - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedDisableHits()); - assertEquals(true, entity.getCaching().isDisableHits()); - } - - public void testSetSpecifiedCoordinationType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - - - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getSpecifiedCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getCoordinationType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, cacheAnnotation.getCoordinationType()); - - - //set specified coordination type to the same as the default, verify it is not set to default - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getSpecifiedCoordinationType()); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheCoordinationType.SEND_OBJECT_CHANGES, cacheAnnotation.getCoordinationType()); - - caching.setSpecifiedCoordinationType(null); - assertNull(caching.getSpecifiedCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - } - - public void testGetSpecifiedCoordinationType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setCoordinationType(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, cacheAnnotation.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getSpecifiedCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getCoordinationType()); - } - - public void testHasExistenceChecking() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isExistenceChecking()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - resourceType.addAnnotation(EclipseLink.EXISTENCE_CHECKING); - getJpaProject().synchronizeContextModel(); - assertEquals(true, caching.isExistenceChecking()); - - resourceType.removeAnnotation(EclipseLink.EXISTENCE_CHECKING); - getJpaProject().synchronizeContextModel(); - assertEquals(false, caching.isExistenceChecking()); - } - - public void testSetExistenceChecking() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - assertEquals(false, caching.isExistenceChecking()); - assertNull(resourceType.getAnnotation(EclipseLink.EXISTENCE_CHECKING)); - - caching.setExistenceChecking(true); - - assertEquals(true, caching.isExistenceChecking()); - assertNotNull(resourceType.getAnnotation(EclipseLink.EXISTENCE_CHECKING)); - } - - public void testGetDefaultExistenceType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, caching.getDefaultExistenceType()); - - caching.setExistenceChecking(true); - assertEquals(EclipseLinkExistenceType.CHECK_CACHE, caching.getDefaultExistenceType()); - } - - public void testGetSpecifiedExistenceType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, caching.getExistenceType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkExistenceCheckingAnnotation existenceCheckingAnnotation = (EclipseLinkExistenceCheckingAnnotation) resourceType.addAnnotation(EclipseLink.EXISTENCE_CHECKING); - existenceCheckingAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ExistenceType.ASSUME_NON_EXISTENCE); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ExistenceType.ASSUME_NON_EXISTENCE, existenceCheckingAnnotation.getValue()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, entity.getCaching().getSpecifiedExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, entity.getCaching().getExistenceType()); - } - - public void testSetSpecifiedExistenceType() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, caching.getExistenceType()); - - caching.setExistenceChecking(true); - caching.setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE); - - - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, entity.getCaching().getSpecifiedExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, entity.getCaching().getExistenceType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkExistenceCheckingAnnotation existenceCheckingAnnotation = (EclipseLinkExistenceCheckingAnnotation) resourceType.getAnnotation(EclipseLink.EXISTENCE_CHECKING); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ExistenceType.ASSUME_NON_EXISTENCE, existenceCheckingAnnotation.getValue()); - - - //set specified coordination type to the same as the default, verify it is not set to default - caching.setSpecifiedExistenceType(EclipseLinkExistenceType.CHECK_DATABASE); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, caching.getSpecifiedExistenceType()); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ExistenceType.CHECK_DATABASE, existenceCheckingAnnotation.getValue()); - - caching.setSpecifiedExistenceType(null); - assertNull(caching.getSpecifiedExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_CACHE, caching.getExistenceType()); - } - - public void testGetExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - - assertNull(entity.getCaching().getExpiry()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - assertNull(entity.getCaching().getExpiry()); - - cacheAnnotation.setExpiry(Integer.valueOf(57)); - getJpaProject().synchronizeContextModel(); - - assertEquals(Integer.valueOf(57), entity.getCaching().getExpiry()); - - resourceType.removeAnnotation(EclipseLink.CACHE); - getJpaProject().synchronizeContextModel(); - assertNull(entity.getCaching().getExpiry()); - } - - public void testSetExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - caching.setExpiry(Integer.valueOf(58)); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - assertEquals(Integer.valueOf(58), cacheAnnotation.getExpiry()); - - - caching.setExpiry(null); - cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - assertNull(cacheAnnotation.getExpiry()); - } - - public void testSetExpiryUnsetsExpiryTimeOfDay() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - caching.addExpiryTimeOfDay(); - caching.getExpiryTimeOfDay().setHour(Integer.valueOf(5)); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - assertEquals(Integer.valueOf(5), cacheAnnotation.getExpiryTimeOfDay().getHour()); - - caching.setExpiry(Integer.valueOf(900)); - - assertNull(caching.getExpiryTimeOfDay()); - assertNull(cacheAnnotation.getExpiryTimeOfDay()); - assertEquals(Integer.valueOf(900), cacheAnnotation.getExpiry()); - assertEquals(Integer.valueOf(900), caching.getExpiry()); - } - - public void testGetTimeOfDayExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - - cacheAnnotation.addExpiryTimeOfDay(); - getJpaProject().synchronizeContextModel(); - - assertNotNull(caching.getExpiryTimeOfDay()); - } - - public void testAddTimeOfDayExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkTimeOfDay timeOfDayExpiry = caching.addExpiryTimeOfDay(); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - assertNotNull(cacheAnnotation.getExpiryTimeOfDay()); - assertNotNull(caching.getExpiryTimeOfDay()); - assertEquals(timeOfDayExpiry, caching.getExpiryTimeOfDay()); - } - - public void testRemoveTimeOfDayExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.addExpiryTimeOfDay(); - getJpaProject().synchronizeContextModel(); - - assertNotNull(caching.getExpiryTimeOfDay()); - - caching.removeExpiryTimeOfDay(); - getJpaProject().synchronizeContextModel(); - assertNull(caching.getExpiryTimeOfDay()); - } - - public void testAddTimeOfDayExpiryUnsetsExpiry() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - caching.setExpiry(Integer.valueOf(800)); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - assertEquals(Integer.valueOf(800), cacheAnnotation.getExpiry()); - - - caching.addExpiryTimeOfDay(); - - - assertNull(caching.getExpiry()); - assertNull(cacheAnnotation.getExpiry()); - assertNotNull(cacheAnnotation.getExpiryTimeOfDay()); - } - - - public void testSetSpecifiedSize() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getSize()); - - caching.setSpecifiedSize(new Integer(50)); - - - assertEquals(new Integer(50), entity.getCaching().getSpecifiedSize()); - assertEquals(50, entity.getCaching().getSize()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.getAnnotation(EclipseLink.CACHE); - - assertEquals(new Integer(50), cacheAnnotation.getSize()); - } - - public void testGetDefaultSize() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getDefaultSize()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_SIZE_DEFAULT, "333"); - - assertEquals(333, caching.getDefaultSize()); - } - - public void testGetSpecifiedSize() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaEclipseLinkEntity entity = (JavaEclipseLinkEntity) getJavaPersistentType().getMapping(); - JavaEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getSize()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCacheAnnotation cacheAnnotation = (EclipseLinkCacheAnnotation) resourceType.addAnnotation(EclipseLink.CACHE); - cacheAnnotation.setSize(new Integer(50)); - getJpaProject().synchronizeContextModel(); - - assertEquals(new Integer(50), cacheAnnotation.getSize()); - assertEquals(new Integer(50), entity.getCaching().getSpecifiedSize()); - assertEquals(50, entity.getCaching().getSize()); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConvertTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConvertTests.java deleted file mode 100644 index fb8fed8f3d..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConvertTests.java +++ /dev/null @@ -1,225 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConvertAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkStructConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkTypeConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaConvertTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - } - }); - } - - - private ICompilationUnit createTestEntityWithConvert() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"class-instance\")").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndTypeConverter() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"class-instance\")").append(CR); - sb.append(" @TypeConverter"); - } - }); - } - - public EclipseLinkJavaConvertTests(String name) { - super(name); - } - - - public void testGetConverterName() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - - assertEquals(EclipseLinkConvert.NO_CONVERTER, eclipseLinkConvert.getConverterName()); - assertEquals(EclipseLinkConvert.NO_CONVERTER, eclipseLinkConvert.getDefaultConverterName()); - assertEquals(null, eclipseLinkConvert.getSpecifiedConverterName()); - } - - public void testGetConvertName2() throws Exception { - createTestEntityWithConvert(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - - assertEquals(EclipseLinkConvert.CLASS_INSTANCE_CONVERTER, eclipseLinkConvert.getConverterName()); - } - - public void testSetSpecifiedConverterName() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - basicMapping.setConverter(EclipseLinkConvert.class); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - assertEquals(null, eclipseLinkConvert.getSpecifiedConverterName()); - - eclipseLinkConvert.setSpecifiedConverterName("foo"); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConvertAnnotation convertAnnotation = (EclipseLinkConvertAnnotation) resourceField.getAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - - assertEquals("foo", convertAnnotation.getValue()); - - eclipseLinkConvert.setSpecifiedConverterName(null); - convertAnnotation = (EclipseLinkConvertAnnotation) resourceField.getAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - assertNotNull(convertAnnotation); - assertEquals(null, convertAnnotation.getValue()); - } - - public void testGetConverterNameUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithBasicMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - - assertNull(basicMapping.getConverter().getType()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConvertAnnotation convert = (EclipseLinkConvertAnnotation) resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - convert.setValue("foo"); - getJpaProject().synchronizeContextModel(); - - assertEquals(EclipseLinkConvert.class, basicMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) basicMapping.getConverter()).getConverterName()); - - resourceField.removeAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(basicMapping.getConverter().getType()); - assertFalse(basicMapping.isDefault()); - assertSame(basicMapping, persistentAttribute.getMapping()); - } - - - public void testGetConverter() throws Exception { - createTestEntityWithConvertAndTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - - assertEquals(EclipseLinkTypeConverter.class, eclipseLinkConvert.getConverter().getType()); - } - - public void testSetConverter() throws Exception { - createTestEntityWithConvert(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - - assertEquals(null, eclipseLinkConvert.getConverter()); - - eclipseLinkConvert.setConverter(EclipseLinkTypeConverter.class); - assertEquals(EclipseLinkTypeConverter.class, eclipseLinkConvert.getConverter().getType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - assertNotNull(resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME)); - - eclipseLinkConvert.setConverter(EclipseLinkStructConverter.class); - assertEquals(EclipseLinkStructConverter.class, eclipseLinkConvert.getConverter().getType()); - assertNotNull(resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME)); - assertNull(resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME)); - - eclipseLinkConvert.setConverter(null); - assertEquals(null, eclipseLinkConvert.getConverter()); - assertNull(resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME)); - assertNull(resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME)); - - eclipseLinkConvert.setConverter(EclipseLinkStructConverter.class); - assertEquals(EclipseLinkStructConverter.class, eclipseLinkConvert.getConverter().getType()); - assertNotNull(resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME)); - - - basicMapping.setConverter(null); - assertNull(resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME)); - assertNull(resourceField.getAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME)); - - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConverterTests.java deleted file mode 100644 index 3cab20039e..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaConverterTests.java +++ /dev/null @@ -1,223 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaConverterTests extends EclipseLinkContextModelTestCase -{ - - - private ICompilationUnit createTestEntityWithConvertAndConverter() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @Converter(name=\"foo\""); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndConverterClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @Converter(converterClass=Foo.class"); - } - }); - } - - public EclipseLinkJavaConverterTests(String name) { - super(name); - } - - - public void testGetName() throws Exception { - createTestEntityWithConvertAndConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - } - - public void testSetName() throws Exception { - createTestEntityWithConvertAndConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - assertEquals("foo", converter.getName()); - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConverterAnnotation converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - - - converter.setName(null); - assertEquals(null, converter.getName()); - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getName()); - - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - } - - public void testGetNameUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConverterAnnotation converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setName("bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("bar", converter.getName()); - - resourceField.removeAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.addAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setName("FOO"); - getJpaProject().synchronizeContextModel(); - assertEquals("FOO", eclipseLinkConvert.getConverter().getName()); - } - - - public void testGetConverterClass() throws Exception { - createTestEntityWithConvertAndConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getConverterClass()); - } - - public void testSetConverterClass() throws Exception { - createTestEntityWithConvertAndConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getConverterClass()); - - converter.setConverterClass("Bar"); - assertEquals("Bar", converter.getConverterClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConverterAnnotation converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getConverterClass()); - - - converter.setConverterClass(null); - assertEquals(null, converter.getConverterClass()); - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getConverterClass()); - - - converter.setConverterClass("Bar"); - assertEquals("Bar", converter.getConverterClass()); - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getConverterClass()); - } - - public void testGetConverterClassUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkCustomConverter converter = (EclipseLinkCustomConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getConverterClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConverterAnnotation converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.getAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setConverterClass("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getConverterClass()); - - resourceField.removeAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkConverterAnnotation) resourceField.addAnnotation(EclipseLinkConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setConverterClass("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkCustomConverter) eclipseLinkConvert.getConverter()).getConverterClass()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEmbeddableTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEmbeddableTests.java deleted file mode 100644 index 5ab3f6f0a6..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEmbeddableTests.java +++ /dev/null @@ -1,254 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEmbeddable; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkChangeTrackingAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkCustomizerAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaEmbeddableTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEmbeddableWithConvertAndCustomizerClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE, EclipseLink.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - sb.append(" @Customizer(Foo.class"); - } - }); - } - - private ICompilationUnit createTestEmbeddableWithChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE, EclipseLink.CHANGE_TRACKING); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - sb.append(" @ChangeTracking").append(CR); - } - }); - } - - public EclipseLinkJavaEmbeddableTests(String name) { - super(name); - } - - - public void testGetCustomizerClass() throws Exception { - createTestEmbeddableWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkEmbeddable) getJavaPersistentType().getMapping()).getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - } - - public void testSetCustomizerClass() throws Exception { - createTestEmbeddableWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkEmbeddable) getJavaPersistentType().getMapping()).getCustomizer(); - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - - - customizer.setSpecifiedCustomizerClass(null); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals(null, customizerAnnotation); - - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - } - - public void testGetCustomizerClassUpdatesFromResourceModelChange() throws Exception { - createTestEmbeddableWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkEmbeddable embeddable = (EclipseLinkEmbeddable) getJavaPersistentType().getMapping(); - EclipseLinkCustomizer customizer = embeddable.getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - customizerAnnotation.setValue("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - resourceType.removeAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.addAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation.setValue("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", customizer.getSpecifiedCustomizerClass()); - } - - public void testGetChangeTracking() throws Exception { - createTestEmbeddableWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEmbeddable embeddable = (EclipseLinkEmbeddable) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = embeddable.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change resource to ATTRIBUTE specifically, test context - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change resource to OBJECT specifically, test context - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change resource to DEFERRED specifically, test context - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change resource to AUTO specifically, test context - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove value from resource, test context - resourceChangeTracking.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove annotation, text context - resourceType.removeAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertNull(contextChangeTracking.getSpecifiedType()); - } - - public void testSetChangeTracking() throws Exception { - createTestEmbeddableWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEmbeddable embeddable = (EclipseLinkEmbeddable) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = embeddable.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to ATTRIBUTE specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change context to OBJECT specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change context to DEFERRED specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change context to null, test resource - - contextChangeTracking.setSpecifiedType(null); - - assertNull(resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME)); - assertNull(contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically (this time from no annotation), test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - } -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEntityTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEntityTests.java deleted file mode 100644 index 0c279ea185..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaEntityTests.java +++ /dev/null @@ -1,388 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.Entity; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkMappingKeys; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkChangeTrackingAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkCustomizerAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkReadOnlyAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaEntityTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndCustomizerClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - sb.append(" @Customizer(Foo.class"); - } - }); - } - - private ICompilationUnit createTestEntityWithChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CHANGE_TRACKING); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - sb.append(" @ChangeTracking").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithReadOnly() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.READ_ONLY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - sb.append("@ReadOnly").append(CR); - } - }); - } - - public EclipseLinkJavaEntityTests(String name) { - super(name); - } - - public void testAttributeMappingKeyAllowed() throws Exception { - createTestEntity(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Entity entity = (Entity) getJavaPersistentType().getMapping(); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(EclipseLinkMappingKeys.BASIC_COLLECTION_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(EclipseLinkMappingKeys.BASIC_MAP_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(EclipseLinkMappingKeys.TRANSFORMATION_ATTRIBUTE_MAPPING_KEY)); - assertTrue(entity.attributeMappingKeyAllowed(EclipseLinkMappingKeys.VARIABLE_ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY)); - } - - - public void testGetCustomizerClass() throws Exception { - createTestEntityWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkEntity) getJavaPersistentType().getMapping()).getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - } - - public void testSetCustomizerClass() throws Exception { - createTestEntityWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkEntity) getJavaPersistentType().getMapping()).getCustomizer(); - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - - - customizer.setSpecifiedCustomizerClass(null); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals(null, customizerAnnotation); - - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - } - - public void testGetCustomizerClassUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkEntity entity = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkCustomizer customizer = entity.getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - customizerAnnotation.setValue("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - resourceType.removeAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.addAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation.setValue("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", customizer.getSpecifiedCustomizerClass()); - } - - public void testGetChangeTracking() throws Exception { - createTestEntityWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity entity = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = entity.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change resource to ATTRIBUTE specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change resource to OBJECT specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change resource to DEFERRED specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change resource to AUTO specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove value from resource, test context - - resourceChangeTracking.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove annotation, text context - - resourceType.removeAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertNull(contextChangeTracking.getSpecifiedType()); - } - - public void testSetChangeTracking() throws Exception { - createTestEntityWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity entity = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = entity.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to ATTRIBUTE specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change context to OBJECT specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change context to DEFERRED specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change context to null, test resource - - contextChangeTracking.setSpecifiedType(null); - - assertNull(resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME)); - assertNull(contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically (this time from no annotation), test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - } - - public void testGetReadOnly() throws Exception { - createTestEntityWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity mappedSuperclass = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(true, readOnly.isReadOnly()); - } - - public void testGetSpecifiedReadOnly() throws Exception { - createTestEntityWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity mappedSuperclass = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - } - - //TODO test inheriting a default readonly from you superclass - public void testGetDefaultReadOnly() throws Exception { - createTestEntityWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity mappedSuperclass = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(false, readOnly.isDefaultReadOnly()); - } - - public void testSetSpecifiedReadOnly() throws Exception { - createTestEntityWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity mappedSuperclass = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(true, readOnly.isReadOnly()); - - readOnly.setSpecifiedReadOnly(Boolean.FALSE); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - assertNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertNull(readOnly.getSpecifiedReadOnly());//Boolean.FALSE and null really mean the same thing since there are only 2 states in the java resource model - - readOnly.setSpecifiedReadOnly(Boolean.TRUE); - assertNotNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - - readOnly.setSpecifiedReadOnly(null); - assertNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertNull(readOnly.getSpecifiedReadOnly());//Boolean.FALSE and null really mean the same thing since there are only 2 states in the java resource model - } - - public void testSpecifiedReadOnlyUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkEntity mappedSuperclass = (EclipseLinkEntity) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - resourceType.removeAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(readOnly.getSpecifiedReadOnly()); - assertEquals(false, readOnly.isDefaultReadOnly()); - - resourceType.addAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - } - - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaIdMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaIdMappingTests.java deleted file mode 100644 index b8489d5983..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaIdMappingTests.java +++ /dev/null @@ -1,324 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.IdMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.context.TemporalConverter; -import org.eclipse.jpt.jpa.core.context.TemporalType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TemporalAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkIdMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConvertAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkMutableAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaIdMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithIdMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - } - }); - } - - - private ICompilationUnit createTestEntityWithConvert() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, EclipseLink.CONVERT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - sb.append("@Convert(\"class-instance\")").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableId() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, EclipseLink.MUTABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - sb.append("@Mutable").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableIdDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public EclipseLinkJavaIdMappingTests(String name) { - super(name); - } - - - public void testGetConvert() throws Exception { - createTestEntityWithIdMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - IdMapping idMapping = (IdMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, idMapping.getConverter().getType()); - } - - public void testGetConvert2() throws Exception { - createTestEntityWithConvert(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - IdMapping idMapping = (IdMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, idMapping.getConverter().getType()); - assertEquals(EclipseLinkConvert.CLASS_INSTANCE_CONVERTER, ((EclipseLinkConvert) idMapping.getConverter()).getConverterName()); - } - - public void testSetConvert() throws Exception { - createTestEntityWithIdMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - IdMapping idMapping = (IdMapping) persistentAttribute.getMapping(); - assertNull(idMapping.getConverter().getType()); - - idMapping.setConverter(TemporalConverter.class); - ((TemporalConverter) idMapping.getConverter()).setTemporalType(TemporalType.TIME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.core.resource.java.TemporalType.TIME, temporal.getValue()); - - idMapping.setConverter(null); - assertNull(resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME)); - } - - public void testGetConvertUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithIdMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - IdMapping idMapping = (IdMapping) persistentAttribute.getMapping(); - - assertNull(idMapping.getConverter().getType()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConvertAnnotation convert = (EclipseLinkConvertAnnotation) resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - convert.setValue("foo"); - getJpaProject().synchronizeContextModel(); - - assertEquals(EclipseLinkConvert.class, idMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) idMapping.getConverter()).getConverterName()); - - resourceField.removeAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(idMapping.getConverter().getType()); - assertFalse(idMapping.isDefault()); - assertSame(idMapping, persistentAttribute.getMapping()); - } - - public void testGetSpecifiedMutable() throws Exception { - createTestEntityWithMutableId(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkIdMapping idMapping = (EclipseLinkIdMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = idMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - mutableAnnotation.setValue(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(Boolean.FALSE); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.FALSE, mutable.getSpecifiedMutable()); - - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, mutable.getSpecifiedMutable()); - - resourceField.addAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - } - - public void testSetSpecifiedMutable() throws Exception { - createTestEntityWithMutableId(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkIdMapping idMapping = (EclipseLinkIdMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = idMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(null); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation); - - mutable.setSpecifiedMutable(Boolean.FALSE); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(Boolean.FALSE, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(Boolean.TRUE, mutableAnnotation.getValue()); - } - - public void testIsDefaultMutable() throws Exception { - createTestEntityWithMutableId(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkIdMapping idMapping = (EclipseLinkIdMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = idMapping.getMutable(); - assertTrue(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - } - - public void testIsDefaultMutableForDate() throws Exception { - createTestEntityWithMutableIdDate(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkIdMapping idMapping = (EclipseLinkIdMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = idMapping.getMutable(); - assertFalse(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertFalse(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertFalse(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.TRUE); - assertTrue(mutable.isDefaultMutable()); - - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.FALSE); - assertFalse(mutable.isDefaultMutable()); - - (getPersistenceUnit()).getOptions().setTemporalMutable(null); - assertFalse(mutable.isDefaultMutable()); - } - - public void testIsMutable() throws Exception { - createTestEntityWithMutableId(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkIdMapping idMapping = (EclipseLinkIdMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = idMapping.getMutable(); - assertTrue(mutable.isMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertTrue(mutable.isMutable()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToManyMappingTests.java deleted file mode 100644 index 6f7cab9b99..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToManyMappingTests.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkJoinFetchAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - - -@SuppressWarnings("nls") -public class EclipseLinkJavaManyToManyMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithJoinFetchManyToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.MANY_TO_MANY, EclipseLink.JOIN_FETCH); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany").append(CR); - sb.append("@JoinFetch").append(CR); - } - }); - } - - public EclipseLinkJavaManyToManyMappingTests(String name) { - super(name); - } - - - public void testGetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchManyToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to INNER specifically, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to OUTER, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // remove value from resource, test context - - joinFetchAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // remove annotation, text context - - resourceField.removeAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertNull(contextJoinFetch.getValue()); - } - - public void testSetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchManyToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to INNER specifically, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to OUTER, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // set context to null, test resource - - contextJoinFetch.setValue(null); - - assertNull(resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME)); - assertNull(contextJoinFetch.getValue()); - - // change context to INNER specifically (this time from no annotation), test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToOneMappingTests.java deleted file mode 100644 index 9a346e8dcd..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaManyToOneMappingTests.java +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkJoinFetchAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaManyToOneMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithJoinFetchManyToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.MANY_TO_ONE, EclipseLink.JOIN_FETCH); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne").append(CR); - sb.append("@JoinFetch").append(CR); - } - }); - } - - public EclipseLinkJavaManyToOneMappingTests(String name) { - super(name); - } - - - public void testGetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchManyToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to INNER specifically, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to OUTER, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // remove value from resource, test context - - joinFetchAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // remove annotation, text context - - resourceField.removeAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertNull(contextJoinFetch.getValue()); - } - - public void testSetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchManyToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to INNER specifically, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to OUTER, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // set context to null, test resource - - contextJoinFetch.setValue(null); - - assertNull(resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME)); - assertNull(contextJoinFetch.getValue()); - - // change context to INNER specifically (this time from no annotation), test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaMappedSuperclassTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaMappedSuperclassTests.java deleted file mode 100644 index a994c249f5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaMappedSuperclassTests.java +++ /dev/null @@ -1,349 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkReadOnly; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkChangeTrackingAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkCustomizerAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkReadOnlyAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaMappedSuperclassTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestMappedSuperclassWithReadOnly() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.READ_ONLY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - sb.append("@ReadOnly").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassWithConvertAndCustomizerClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - sb.append(" @Customizer(Foo.class"); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassWithChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.CHANGE_TRACKING); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - sb.append(" @ChangeTracking").append(CR); - } - }); - } - - public EclipseLinkJavaMappedSuperclassTests(String name) { - super(name); - } - - - public void testGetReadOnly() throws Exception { - createTestMappedSuperclassWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(true, readOnly.isReadOnly()); - } - - public void testGetSpecifiedReadOnly() throws Exception { - createTestMappedSuperclassWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - } - - //TODO test inheriting a default readonly from you superclass - public void testGetDefaultReadOnly() throws Exception { - createTestMappedSuperclassWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(false, readOnly.isDefaultReadOnly()); - } - - public void testSetSpecifiedReadOnly() throws Exception { - createTestMappedSuperclassWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(true, readOnly.isReadOnly()); - - readOnly.setSpecifiedReadOnly(Boolean.FALSE); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - assertNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertNull(readOnly.getSpecifiedReadOnly());//Boolean.FALSE and null really mean the same thing since there are only 2 states in the java resource model - - readOnly.setSpecifiedReadOnly(Boolean.TRUE); - assertNotNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - - readOnly.setSpecifiedReadOnly(null); - assertNull(resourceType.getAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME)); - assertNull(readOnly.getSpecifiedReadOnly());//Boolean.FALSE and null really mean the same thing since there are only 2 states in the java resource model - } - - public void testSpecifiedReadOnlyUpdatesFromResourceModelChange() throws Exception { - createTestMappedSuperclassWithReadOnly(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkReadOnly readOnly = mappedSuperclass.getReadOnly(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - resourceType.removeAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(readOnly.getSpecifiedReadOnly()); - assertEquals(false, readOnly.isDefaultReadOnly()); - - resourceType.addAnnotation(EclipseLinkReadOnlyAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, readOnly.getSpecifiedReadOnly()); - } - - public void testGetCustomizerClass() throws Exception { - createTestMappedSuperclassWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping()).getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - } - - public void testSetCustomizerClass() throws Exception { - createTestMappedSuperclassWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkCustomizer customizer = ((EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping()).getCustomizer(); - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - - - customizer.setSpecifiedCustomizerClass(null); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals(null, customizerAnnotation); - - - customizer.setSpecifiedCustomizerClass("Bar"); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - assertEquals("Bar", customizerAnnotation.getValue()); - } - - public void testGetCustomizerClassUpdatesFromResourceModelChange() throws Exception { - createTestMappedSuperclassWithConvertAndCustomizerClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkCustomizer customizer = mappedSuperclass.getCustomizer(); - - assertEquals("Foo", customizer.getSpecifiedCustomizerClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkCustomizerAnnotation customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.getAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - customizerAnnotation.setValue("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", customizer.getSpecifiedCustomizerClass()); - - resourceType.removeAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation = (EclipseLinkCustomizerAnnotation) resourceType.addAnnotation(EclipseLinkCustomizerAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, customizer.getSpecifiedCustomizerClass()); - - customizerAnnotation.setValue("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", customizer.getSpecifiedCustomizerClass()); - } - - public void testGetChangeTracking() throws Exception { - createTestMappedSuperclassWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = mappedSuperclass.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change resource to ATTRIBUTE specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change resource to OBJECT specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change resource to DEFERRED specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change resource to AUTO specifically, test context - - resourceChangeTracking.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove value from resource, test context - - resourceChangeTracking.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // remove annotation, text context - - resourceType.removeAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getDefaultType()); - assertNull(contextChangeTracking.getSpecifiedType()); - } - - public void testSetChangeTracking() throws Exception { - createTestMappedSuperclassWithChangeTracking(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - EclipseLinkMappedSuperclass mappedSuperclass = (EclipseLinkMappedSuperclass) getJavaPersistentType().getMapping(); - EclipseLinkChangeTracking contextChangeTracking = mappedSuperclass.getChangeTracking(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - EclipseLinkChangeTrackingAnnotation resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertNull(resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - - // change context to ATTRIBUTE specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.ATTRIBUTE, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, contextChangeTracking.getSpecifiedType()); - - // change context to OBJECT specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.OBJECT, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, contextChangeTracking.getSpecifiedType()); - - // change context to DEFERRED specifically, test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.DEFERRED, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, contextChangeTracking.getSpecifiedType()); - - // change context to null, test resource - - contextChangeTracking.setSpecifiedType(null); - - assertNull(resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME)); - assertNull(contextChangeTracking.getSpecifiedType()); - - // change context to AUTO specifically (this time from no annotation), test resource - - contextChangeTracking.setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - resourceChangeTracking = (EclipseLinkChangeTrackingAnnotation) resourceType.getAnnotation(EclipseLinkChangeTrackingAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.ChangeTrackingType.AUTO, resourceChangeTracking.getValue()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, contextChangeTracking.getSpecifiedType()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaObjectTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaObjectTypeConverterTests.java deleted file mode 100644 index 438cb97e98..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaObjectTypeConverterTests.java +++ /dev/null @@ -1,645 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConversionValue; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConversionValueAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkObjectTypeConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaObjectTypeConverterTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithConvertAndObjectTypeConverter() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLink.CONVERSION_VALUE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @ObjectTypeConverter(name=\"foo\", defaultObjectValue=\"bar\")"); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndDataType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @ObjectTypeConverter(dataType=Foo.class)"); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndObjectType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @ObjectTypeConverter(objectType=Foo.class)"); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndObjectTypeConverterConversionValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLink.CONVERSION_VALUE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @ObjectTypeConverter(name=\"foo\", defaultObjectValue=\"bar\", conversionValues = @ConversionValue(dataValue=\"f\", objectValue=\"female\"))"); - } - }); - } - - public EclipseLinkJavaObjectTypeConverterTests(String name) { - super(name); - } - - - public void testGetName() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - } - - public void testSetName() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("foo", converter.getName()); - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - - - converter.setName(null); - assertEquals(null, converter.getName()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getName()); - - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - } - - public void testGetNameUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setName("bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("bar", converter.getName()); - - resourceField.removeAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setName("FOO"); - getJpaProject().synchronizeContextModel(); - assertEquals("FOO", eclipseLinkConvert.getConverter().getName()); - } - - public void testGetDataType() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getDataType()); - } - - public void testSetDataType() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getDataType()); - - converter.setDataType("Bar"); - assertEquals("Bar", converter.getDataType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getDataType()); - - - converter.setDataType(null); - assertEquals(null, converter.getDataType()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getDataType()); - - - converter.setDataType("Bar"); - assertEquals("Bar", converter.getDataType()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getDataType()); - } - - public void testGetDataTypeUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getDataType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setDataType("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getDataType()); - - resourceField.removeAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setDataType("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter()).getDataType()); - } - - public void testGetObjectType() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getObjectType()); - } - - public void testSetObjectType() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getObjectType()); - - converter.setObjectType("Bar"); - assertEquals("Bar", converter.getObjectType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getObjectType()); - - - converter.setObjectType(null); - assertEquals(null, converter.getObjectType()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getObjectType()); - - - converter.setObjectType("Bar"); - assertEquals("Bar", converter.getObjectType()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getObjectType()); - } - - public void testGetObjectTypeUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getObjectType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setObjectType("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getObjectType()); - - resourceField.removeAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setObjectType("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter()).getObjectType()); - } - - - public void testAddConversionValue() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - - EclipseLinkConversionValue conversionValue = converter.addConversionValue(0); - conversionValue.setDataValue("F"); - conversionValue.setObjectValue("female"); - - ListIterator<EclipseLinkConversionValueAnnotation> resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - EclipseLinkConversionValueAnnotation resourceConversionValue = resourceConversionValues.next(); - assertEquals("F", resourceConversionValue.getDataValue()); - assertEquals("female", resourceConversionValue.getObjectValue()); - - EclipseLinkConversionValue conversionValue2 = converter.addConversionValue(0); - conversionValue2.setDataValue("M"); - conversionValue2.setObjectValue("male"); - - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - resourceConversionValue = resourceConversionValues.next(); - assertEquals("M", resourceConversionValue.getDataValue()); - assertEquals("male", resourceConversionValue.getObjectValue()); - resourceConversionValue = resourceConversionValues.next(); - assertEquals("F", resourceConversionValue.getDataValue()); - assertEquals("female", resourceConversionValue.getObjectValue()); - - EclipseLinkConversionValue conversionValue3 = converter.addConversionValue(1); - conversionValue3.setDataValue("O"); - conversionValue3.setObjectValue("male"); - - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - resourceConversionValue = resourceConversionValues.next(); - assertEquals("M", resourceConversionValue.getDataValue()); - assertEquals("male", resourceConversionValue.getObjectValue()); - resourceConversionValue = resourceConversionValues.next(); - assertEquals("O", resourceConversionValue.getDataValue()); - assertEquals("male", resourceConversionValue.getObjectValue()); - resourceConversionValue = resourceConversionValues.next(); - assertEquals("F", resourceConversionValue.getDataValue()); - assertEquals("female", resourceConversionValue.getObjectValue()); - - ListIterator<? extends EclipseLinkConversionValue> conversionValues = converter.getConversionValues().iterator(); - assertEquals(conversionValue2, conversionValues.next()); - assertEquals(conversionValue3, conversionValues.next()); - assertEquals(conversionValue, conversionValues.next()); - - conversionValues = converter.getConversionValues().iterator(); - assertEquals("M", conversionValues.next().getDataValue()); - assertEquals("O", conversionValues.next().getDataValue()); - assertEquals("F", conversionValues.next().getDataValue()); - } - - public void testRemoveConversionValue() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - - converter.addConversionValue(0).setDataValue("F"); - converter.addConversionValue(1).setDataValue("M"); - converter.addConversionValue(2).setDataValue("O"); - - ListIterator<EclipseLinkConversionValueAnnotation> resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(3, CollectionTools.size(resourceConversionValues)); - - converter.removeConversionValue(0); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(2, CollectionTools.size(resourceConversionValues)); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals("M", resourceConversionValues.next().getDataValue()); - assertEquals("O", resourceConversionValues.next().getDataValue()); - - converter.removeConversionValue(0); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(1, CollectionTools.size(resourceConversionValues)); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals("O", resourceConversionValues.next().getDataValue()); - - converter.removeConversionValue(0); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(0, CollectionTools.size(resourceConversionValues)); - } - - public void testMoveConversionValue() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - - converter.addConversionValue(0).setDataValue("F"); - converter.addConversionValue(1).setDataValue("M"); - converter.addConversionValue(2).setDataValue("O"); - - ListIterator<EclipseLinkConversionValueAnnotation> resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(3, CollectionTools.size(resourceConversionValues)); - - converter.moveConversionValue(2,0); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(3, CollectionTools.size(resourceConversionValues)); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals("M", resourceConversionValues.next().getDataValue()); - assertEquals("O", resourceConversionValues.next().getDataValue()); - assertEquals("F", resourceConversionValues.next().getDataValue()); - - converter.moveConversionValue(0,1); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals(3, CollectionTools.size(resourceConversionValues)); - resourceConversionValues = converterAnnotation.getConversionValues().iterator(); - assertEquals("O", resourceConversionValues.next().getDataValue()); - assertEquals("M", resourceConversionValues.next().getDataValue()); - assertEquals("F", resourceConversionValues.next().getDataValue()); - } - - public void testUpdateConversionValues() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - - converterAnnotation.addConversionValue(0).setDataValue("F"); - converterAnnotation.addConversionValue(1).setDataValue("M"); - converterAnnotation.addConversionValue(2).setDataValue("O"); - getJpaProject().synchronizeContextModel(); - - ListIterator<? extends EclipseLinkConversionValue> conversionValues = converter.getConversionValues().iterator(); - assertEquals("F", conversionValues.next().getDataValue()); - assertEquals("M", conversionValues.next().getDataValue()); - assertEquals("O", conversionValues.next().getDataValue()); - assertFalse(conversionValues.hasNext()); - - converterAnnotation.moveConversionValue(2, 0); - getJpaProject().synchronizeContextModel(); - conversionValues = converter.getConversionValues().iterator(); - assertEquals("M", conversionValues.next().getDataValue()); - assertEquals("O", conversionValues.next().getDataValue()); - assertEquals("F", conversionValues.next().getDataValue()); - assertFalse(conversionValues.hasNext()); - - converterAnnotation.moveConversionValue(0, 1); - getJpaProject().synchronizeContextModel(); - conversionValues = converter.getConversionValues().iterator(); - assertEquals("O", conversionValues.next().getDataValue()); - assertEquals("M", conversionValues.next().getDataValue()); - assertEquals("F", conversionValues.next().getDataValue()); - assertFalse(conversionValues.hasNext()); - - converterAnnotation.removeConversionValue(1); - getJpaProject().synchronizeContextModel(); - conversionValues = converter.getConversionValues().iterator(); - assertEquals("O", conversionValues.next().getDataValue()); - assertEquals("F", conversionValues.next().getDataValue()); - assertFalse(conversionValues.hasNext()); - - converterAnnotation.removeConversionValue(1); - getJpaProject().synchronizeContextModel(); - conversionValues = converter.getConversionValues().iterator(); - assertEquals("O", conversionValues.next().getDataValue()); - assertFalse(conversionValues.hasNext()); - - converterAnnotation.removeConversionValue(0); - getJpaProject().synchronizeContextModel(); - conversionValues = converter.getConversionValues().iterator(); - assertFalse(conversionValues.hasNext()); - } - - public void testConversionValuesSize() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - - assertEquals(0, converter.getConversionValuesSize()); - - converterAnnotation.addConversionValue(0).setDataValue("F"); - converterAnnotation.addConversionValue(1).setDataValue("M"); - converterAnnotation.addConversionValue(2).setDataValue("O"); - - this.getJpaProject().synchronizeContextModel(); - assertEquals(3, converter.getConversionValuesSize()); - } - - - public void testGetDefaultObjectValue() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("bar", converter.getDefaultObjectValue()); - } - - public void testSetDefaultObjectValue() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("bar", converter.getDefaultObjectValue()); - - converter.setDefaultObjectValue("baz"); - assertEquals("baz", converter.getDefaultObjectValue()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("baz", converterAnnotation.getDefaultObjectValue()); - - - converter.setDefaultObjectValue(null); - assertEquals(null, converter.getDefaultObjectValue()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getDefaultObjectValue()); - - - converter.setDefaultObjectValue("bar"); - assertEquals("bar", converter.getDefaultObjectValue()); - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getDefaultObjectValue()); - } - - public void testGetDefaultObjectValueUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndObjectTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("bar", converter.getDefaultObjectValue()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkObjectTypeConverterAnnotation converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setDefaultObjectValue("baz"); - getJpaProject().synchronizeContextModel(); - assertEquals("baz", converter.getDefaultObjectValue()); - - resourceField.removeAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkObjectTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkObjectTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setDefaultObjectValue("FOO"); - getJpaProject().synchronizeContextModel(); - assertEquals("FOO", ((EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter()).getDefaultObjectValue()); - } - - public void testInitializeConversionValues() throws Exception { - createTestEntityWithConvertAndObjectTypeConverterConversionValue(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals(1, converter.getConversionValuesSize()); - assertEquals("f", converter.getConversionValues().iterator().next().getDataValue()); - assertEquals("female", converter.getConversionValues().iterator().next().getObjectValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToManyMappingTests.java deleted file mode 100644 index 791423d1d1..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToManyMappingTests.java +++ /dev/null @@ -1,582 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToManyMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToManyRelationship; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkJoinFetchAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkPrivateOwnedAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaOneToManyMappingTests extends EclipseLinkContextModelTestCase -{ - private ICompilationUnit createTestEntityWithOneToManyMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithPrivateOwnedOneToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY, EclipseLink.PRIVATE_OWNED); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany").append(CR); - sb.append("@PrivateOwned").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithJoinFetchOneToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY, EclipseLink.JOIN_FETCH); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany").append(CR); - sb.append("@JoinFetch").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithDefaultOneToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - - @Override - public void appendExtendsImplementsTo(StringBuilder sb) { - sb.append("implements java.io.Serializable"); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("private java.util.Collection<" + TYPE_NAME + "> myTypes;").append(CR); - sb.append(CR); - } - }); - } - - public EclipseLinkJavaOneToManyMappingTests(String name) { - super(name); - } - - - public void testGetPrivateOwned() throws Exception { - createTestEntityWithPrivateOwnedOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToManyMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testSetPrivateOwned() throws Exception { - createTestEntityWithPrivateOwnedOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToManyMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - - privateOwnable.setPrivateOwned(false); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - assertNull(resourceField.getAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME)); - assertEquals(false, privateOwnable.isPrivateOwned()); - - privateOwnable.setPrivateOwned(true); - assertNotNull(resourceField.getAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME)); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testPrivateOwnedUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithPrivateOwnedOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToManyMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertEquals(false, privateOwnable.isPrivateOwned()); - - resourceField.addAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testGetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to INNER specifically, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to OUTER, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // remove value from resource, test context - - joinFetchAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // remove annotation, text context - - resourceField.removeAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertNull(contextJoinFetch.getValue()); - } - - public void testSetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to INNER specifically, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to OUTER, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // set context to null, test resource - - contextJoinFetch.setValue(null); - - assertNull(resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME)); - assertNull(contextJoinFetch.getValue()); - - // change context to INNER specifically (this time from no annotation), test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - } - - public void testModifyPredominantJoiningStrategy() throws Exception { - createTestEntityWithOneToManyMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - PersistentAttribute contextAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToManyMapping mapping = (EclipseLinkOneToManyMapping) contextAttribute.getMapping(); - EclipseLinkOneToManyRelationship rel = mapping.getRelationship(); - - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - rel.setStrategyToJoinColumn(); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - rel.setStrategyToMappedBy(); - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNotNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - rel.setStrategyToJoinTable(); - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - } - - public void testUpdatePredominantJoiningStrategy() throws Exception { - createTestEntityWithOneToManyMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - PersistentAttribute contextAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToManyMapping mapping = (EclipseLinkOneToManyMapping) contextAttribute.getMapping(); - EclipseLinkOneToManyRelationship rel = mapping.getRelationship(); - - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - annotation.setMappedBy("foo"); - getJpaProject().synchronizeContextModel(); - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNotNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - resourceField.addAnnotation(JPA.JOIN_TABLE); - getJpaProject().synchronizeContextModel(); - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNotNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - resourceField.addAnnotation(0, JPA.JOIN_COLUMN); - getJpaProject().synchronizeContextModel(); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNotNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - annotation.setMappedBy(null); - getJpaProject().synchronizeContextModel(); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - resourceField.removeAnnotation(JPA.JOIN_TABLE); - getJpaProject().synchronizeContextModel(); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - resourceField.removeAnnotation(0, JPA.JOIN_COLUMN); - getJpaProject().synchronizeContextModel(); - assertNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNull(resourceField.getAnnotation(JPA.JOIN_TABLE)); - assertNull(annotation.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - } - - public void testDefaultOneToMany() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - assertEquals(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, attributes.next().getDefaultMappingKey()); - } - - public void testDefaultOneToManySetFetch() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.setSpecifiedFetch(FetchType.LAZY); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(FetchType.LAZY, specifiedOneToManyMapping.getFetch()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(org.eclipse.jpt.jpa.core.resource.java.FetchType.LAZY, annotation.getFetch()); - } - - public void testDefaultOneToManySetTargetEntity() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.setSpecifiedTargetEntity("Foo"); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals("Foo", specifiedOneToManyMapping.getSpecifiedTargetEntity()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals("Foo", annotation.getTargetEntity()); - } - - public void testDefaultOneToManySetMappedBy() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("Foo"); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals("Foo", specifiedOneToManyMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals("Foo", annotation.getMappedBy()); - } - - public void testDefaultOneToManySetCascadeAll() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getCascade().setAll(true); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToManyMapping.getCascade().isAll()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeAll()); - } - - public void testDefaultOneToManySetCascadeMerge() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getCascade().setMerge(true); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToManyMapping.getCascade().isMerge()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeMerge()); - } - - public void testDefaultOneToManySetCascadePersist() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getCascade().setPersist(true); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToManyMapping.getCascade().isPersist()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadePersist()); - } - - public void testDefaultOneToManySetCascadeRefresh() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getCascade().setRefresh(true); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToManyMapping.getCascade().isRefresh()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertEquals(true, annotation.isCascadeRefresh()); - } - - public void testDefaultOneToManySetCascadeRemove() throws Exception { - createTestEntityWithDefaultOneToMany(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToManyMapping oneToManyMapping = (EclipseLinkOneToManyMapping) persistentAttribute.getMapping(); - oneToManyMapping.getCascade().setRemove(true); - - EclipseLinkOneToManyMapping specifiedOneToManyMapping = (EclipseLinkOneToManyMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToManyMapping.getCascade().isRemove()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToManyAnnotation annotation = - (OneToManyAnnotation) resourceField.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeRemove()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToOneMappingTests.java deleted file mode 100644 index 2ad25364c0..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaOneToOneMappingTests.java +++ /dev/null @@ -1,449 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkPrivateOwned; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkJoinFetchAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkPrivateOwnedAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaOneToOneMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithPrivateOwnedOneToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_ONE, EclipseLink.PRIVATE_OWNED); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne").append(CR); - sb.append("@PrivateOwned").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithJoinFetchOneToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_ONE, EclipseLink.JOIN_FETCH); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne").append(CR); - sb.append("@JoinFetch").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithDefaultOneToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY); - } - - @Override - public void appendExtendsImplementsTo(StringBuilder sb) { - sb.append("implements java.io.Serializable"); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("private " + TYPE_NAME + " myType;").append(CR); - sb.append(CR); - } - }); - } - - public EclipseLinkJavaOneToOneMappingTests(String name) { - super(name); - } - - - public void testGetPrivateOwned() throws Exception { - createTestEntityWithPrivateOwnedOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToOneMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testSetPrivateOwned() throws Exception { - createTestEntityWithPrivateOwnedOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToOneMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - - privateOwnable.setPrivateOwned(false); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - assertNull(resourceField.getAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME)); - assertEquals(false, privateOwnable.isPrivateOwned()); - - privateOwnable.setPrivateOwned(true); - assertNotNull(resourceField.getAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME)); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testPrivateOwnedUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithPrivateOwnedOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - EclipseLinkPrivateOwned privateOwnable = oneToOneMapping.getPrivateOwned(); - assertEquals(true, privateOwnable.isPrivateOwned()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertEquals(false, privateOwnable.isPrivateOwned()); - - resourceField.addAnnotation(EclipseLinkPrivateOwnedAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(true, privateOwnable.isPrivateOwned()); - } - - public void testGetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test context value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to INNER specifically, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change resource to OUTER, test context - - joinFetchAnnotation.setValue(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER); - getJpaProject().synchronizeContextModel(); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // remove value from resource, test context - - joinFetchAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // remove annotation, text context - - resourceField.removeAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(joinFetchAnnotation.getValue()); - assertNull(contextJoinFetch.getValue()); - } - - public void testSetJoinFetchValue() throws Exception { - createTestEntityWithJoinFetchOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkRelationshipMapping manyToManyMapping = (EclipseLinkRelationshipMapping) persistentAttribute.getMapping(); - EclipseLinkJoinFetch contextJoinFetch = manyToManyMapping.getJoinFetch(); - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkJoinFetchAnnotation joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - // base annotated, test resource value - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to INNER specifically, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - - assertNull(joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - - // change context to OUTER, test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.OUTER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextJoinFetch.getValue()); - - // set context to null, test resource - - contextJoinFetch.setValue(null); - - assertNull(resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME)); - assertNull(contextJoinFetch.getValue()); - - // change context to INNER specifically (this time from no annotation), test resource - - contextJoinFetch.setValue(EclipseLinkJoinFetchType.INNER); - joinFetchAnnotation = (EclipseLinkJoinFetchAnnotation) resourceField.getAnnotation(EclipseLinkJoinFetchAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.java.JoinFetchType.INNER, joinFetchAnnotation.getValue()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextJoinFetch.getValue()); - } - - public void testDefaultOneToOne() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - assertEquals(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, attributes.next().getDefaultMappingKey()); - } - - public void testDefaultOneToOneSetFetch() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.setSpecifiedFetch(FetchType.LAZY); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(FetchType.LAZY, specifiedOneToOneMapping.getFetch()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(org.eclipse.jpt.jpa.core.resource.java.FetchType.LAZY, annotation.getFetch()); - } - - public void testDefaultOneToOneSetTargetEntity() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.setSpecifiedTargetEntity("Foo"); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals("Foo", specifiedOneToOneMapping.getSpecifiedTargetEntity()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals("Foo", annotation.getTargetEntity()); - } - - public void testDefaultOneToOneSetMappedBy() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("Foo"); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals("Foo", specifiedOneToOneMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals("Foo", annotation.getMappedBy()); - } - - public void testDefaultOneToOneSetCascadeAll() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getCascade().setAll(true); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToOneMapping.getCascade().isAll()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeAll()); - } - - public void testDefaultOneToOneSetCascadeMerge() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getCascade().setMerge(true); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToOneMapping.getCascade().isMerge()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeMerge()); - } - - public void testDefaultOneToOneSetCascadePersist() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getCascade().setPersist(true); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToOneMapping.getCascade().isPersist()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadePersist()); - } - - public void testDefaultOneToOneSetCascadeRefresh() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getCascade().setRefresh(true); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToOneMapping.getCascade().isRefresh()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeRefresh()); - } - - public void testDefaultOneToOneSetCascadeRemove() throws Exception { - createTestEntityWithDefaultOneToOne(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - Iterator<JavaPersistentAttribute> attributes = getJavaPersistentType().getAttributes().iterator(); - JavaPersistentAttribute persistentAttribute = attributes.next(); - assertTrue(persistentAttribute.getMapping().isDefault()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getDefaultMappingKey()); - - EclipseLinkOneToOneMapping oneToOneMapping = (EclipseLinkOneToOneMapping) persistentAttribute.getMapping(); - oneToOneMapping.getCascade().setRemove(true); - - EclipseLinkOneToOneMapping specifiedOneToOneMapping = (EclipseLinkOneToOneMapping) getJavaPersistentType().getAttributes().iterator().next().getMapping(); - assertEquals(true, specifiedOneToOneMapping.getCascade().isRemove()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - OneToOneAnnotation annotation = - (OneToOneAnnotation) resourceField.getAnnotation(OneToOneAnnotation.ANNOTATION_NAME); - assertNotNull(annotation); - assertEquals(true, annotation.isCascadeRemove()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaStructConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaStructConverterTests.java deleted file mode 100644 index d14387694b..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaStructConverterTests.java +++ /dev/null @@ -1,222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkStructConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaStructConverterTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithConvertAndStructConverter() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.STRUCT_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @StructConverter(name=\"foo\""); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndStructConverterClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.STRUCT_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @StructConverter(converter=\"Foo\""); - } - }); - } - - public EclipseLinkJavaStructConverterTests(String name) { - super(name); - } - - - public void testGetName() throws Exception { - createTestEntityWithConvertAndStructConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - } - - public void testSetName() throws Exception { - createTestEntityWithConvertAndStructConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - assertEquals("foo", converter.getName()); - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkStructConverterAnnotation converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - - - converter.setName(null); - assertEquals(null, converter.getName()); - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getName()); - - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - } - - public void testGetNameUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndStructConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkStructConverterAnnotation converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setName("bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("bar", converter.getName()); - - resourceField.removeAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.addAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setName("FOO"); - getJpaProject().synchronizeContextModel(); - assertEquals("FOO", eclipseLinkConvert.getConverter().getName()); - } - - - public void testGetConverterClass() throws Exception { - createTestEntityWithConvertAndStructConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getConverterClass()); - } - - public void testSetConverterClass() throws Exception { - createTestEntityWithConvertAndStructConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getConverterClass()); - - converter.setConverterClass("Bar"); - assertEquals("Bar", converter.getConverterClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkStructConverterAnnotation converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getConverter()); - - - converter.setConverterClass(null); - assertEquals(null, converter.getConverterClass()); - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getConverter()); - - - converter.setConverterClass("Bar"); - assertEquals("Bar", converter.getConverterClass()); - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getConverter()); - } - - public void testGetConverterClassUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndStructConverterClass(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkStructConverter converter = (EclipseLinkStructConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getConverterClass()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkStructConverterAnnotation converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.getAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setConverter("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getConverterClass()); - - resourceField.removeAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkStructConverterAnnotation) resourceField.addAnnotation(EclipseLinkStructConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setConverter("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkStructConverter) eclipseLinkConvert.getConverter()).getConverterClass()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaTypeConverterTests.java deleted file mode 100644 index dfc77b52a0..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaTypeConverterTests.java +++ /dev/null @@ -1,314 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkTypeConverterAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaTypeConverterTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithConvertAndTypeConverter() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @TypeConverter(name=\"foo\""); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndDataType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @TypeConverter(dataType=Foo.class"); - } - }); - } - - private ICompilationUnit createTestEntityWithConvertAndObjectType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Convert(\"foo\")").append(CR); - sb.append(" @TypeConverter(objectType=Foo.class"); - } - }); - } - - public EclipseLinkJavaTypeConverterTests(String name) { - super(name); - } - - - public void testGetName() throws Exception { - createTestEntityWithConvertAndTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - } - - public void testSetName() throws Exception { - createTestEntityWithConvertAndTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("foo", converter.getName()); - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - - - converter.setName(null); - assertEquals(null, converter.getName()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getName()); - - - converter.setName("bar"); - assertEquals("bar", converter.getName()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("bar", converterAnnotation.getName()); - } - - public void testGetNameUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndTypeConverter(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("foo", converter.getName()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setName("bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("bar", converter.getName()); - - resourceField.removeAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setName("FOO"); - getJpaProject().synchronizeContextModel(); - assertEquals("FOO", eclipseLinkConvert.getConverter().getName()); - } - - public void testGetDataType() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getDataType()); - } - - public void testSetDataType() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getDataType()); - - converter.setDataType("Bar"); - assertEquals("Bar", converter.getDataType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getDataType()); - - - converter.setDataType(null); - assertEquals(null, converter.getDataType()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getDataType()); - - - converter.setDataType("Bar"); - assertEquals("Bar", converter.getDataType()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getDataType()); - } - - public void testGetDataTypeUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndDataType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getDataType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setDataType("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getDataType()); - - resourceField.removeAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setDataType("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkTypeConverter) eclipseLinkConvert.getConverter()).getDataType()); - } - - public void testGetObjectType() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getObjectType()); - } - - public void testSetObjectType() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - assertEquals("Foo", converter.getObjectType()); - - converter.setObjectType("Bar"); - assertEquals("Bar", converter.getObjectType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getObjectType()); - - - converter.setObjectType(null); - assertEquals(null, converter.getObjectType()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals(null, converterAnnotation.getObjectType()); - - - converter.setObjectType("Bar"); - assertEquals("Bar", converter.getObjectType()); - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - assertEquals("Bar", converterAnnotation.getObjectType()); - } - - public void testGetObjectTypeUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithConvertAndObjectType(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - BasicMapping basicMapping = (BasicMapping) persistentAttribute.getMapping(); - EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) basicMapping.getConverter(); - EclipseLinkTypeConverter converter = (EclipseLinkTypeConverter) eclipseLinkConvert.getConverter(); - - assertEquals("Foo", converter.getObjectType()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkTypeConverterAnnotation converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.getAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - converterAnnotation.setObjectType("Bar"); - getJpaProject().synchronizeContextModel(); - assertEquals("Bar", converter.getObjectType()); - - resourceField.removeAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, eclipseLinkConvert.getConverter()); - - converterAnnotation = (EclipseLinkTypeConverterAnnotation) resourceField.addAnnotation(EclipseLinkTypeConverterAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertNotNull(eclipseLinkConvert.getConverter()); - - converterAnnotation.setObjectType("FooBar"); - getJpaProject().synchronizeContextModel(); - assertEquals("FooBar", ((EclipseLinkTypeConverter) eclipseLinkConvert.getConverter()).getObjectType()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaVersionMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaVersionMappingTests.java deleted file mode 100644 index 256d201535..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLinkJavaVersionMappingTests.java +++ /dev/null @@ -1,323 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.context.PersistentAttribute; -import org.eclipse.jpt.jpa.core.context.TemporalConverter; -import org.eclipse.jpt.jpa.core.context.TemporalType; -import org.eclipse.jpt.jpa.core.context.VersionMapping; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TemporalAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMutable; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkVersionMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkConvertAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkMutableAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; - -@SuppressWarnings("nls") -public class EclipseLinkJavaVersionMappingTests extends EclipseLinkContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithVersionMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - } - }); - } - - - private ICompilationUnit createTestEntityWithConvert() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION, EclipseLink.CONVERT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - sb.append("@Convert(\"class-instance\")").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableVersion() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION, EclipseLink.MUTABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - sb.append("@Mutable").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableVersionDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public EclipseLinkJavaVersionMappingTests(String name) { - super(name); - } - - public void testGetConvert() throws Exception { - createTestEntityWithVersionMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - VersionMapping versionMapping = (VersionMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, versionMapping.getConverter().getType()); - } - - public void testGetConvert2() throws Exception { - createTestEntityWithConvert(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - VersionMapping versionMapping = (VersionMapping) persistentAttribute.getMapping(); - - assertEquals(EclipseLinkConvert.class, versionMapping.getConverter().getType()); - assertEquals(EclipseLinkConvert.CLASS_INSTANCE_CONVERTER, ((EclipseLinkConvert) versionMapping.getConverter()).getConverterName()); - } - - public void testSetConvert() throws Exception { - createTestEntityWithVersionMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - VersionMapping versionMapping = (VersionMapping) persistentAttribute.getMapping(); - assertNull(versionMapping.getConverter().getType()); - - versionMapping.setConverter(TemporalConverter.class); - ((TemporalConverter) versionMapping.getConverter()).setTemporalType(TemporalType.TIME); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME); - - assertEquals(org.eclipse.jpt.jpa.core.resource.java.TemporalType.TIME, temporal.getValue()); - - versionMapping.setConverter(null); - assertNull(resourceField.getAnnotation(TemporalAnnotation.ANNOTATION_NAME)); - } - - public void testGetConvertUpdatesFromResourceModelChange() throws Exception { - createTestEntityWithVersionMapping(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - VersionMapping versionMapping = (VersionMapping) persistentAttribute.getMapping(); - - assertNull(versionMapping.getConverter().getType()); - - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkConvertAnnotation convert = (EclipseLinkConvertAnnotation) resourceField.addAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - convert.setValue("foo"); - getJpaProject().synchronizeContextModel(); - - assertEquals(EclipseLinkConvert.class, versionMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) versionMapping.getConverter()).getConverterName()); - - resourceField.removeAnnotation(EclipseLinkConvertAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - - assertNull(versionMapping.getConverter().getType()); - assertFalse(versionMapping.isDefault()); - assertSame(versionMapping, persistentAttribute.getMapping()); - } - - public void testGetSpecifiedMutable() throws Exception { - createTestEntityWithMutableVersion(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkVersionMapping versionMapping = (EclipseLinkVersionMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = versionMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - mutableAnnotation.setValue(Boolean.TRUE); - getJpaProject().synchronizeContextModel(); - - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(null); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - mutableAnnotation.setValue(Boolean.FALSE); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.FALSE, mutable.getSpecifiedMutable()); - - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(null, mutable.getSpecifiedMutable()); - - resourceField.addAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - getJpaProject().synchronizeContextModel(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - } - - public void testSetSpecifiedMutable() throws Exception { - createTestEntityWithMutableVersion(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkVersionMapping versionMapping = (EclipseLinkVersionMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = versionMapping.getMutable(); - assertEquals(Boolean.TRUE, mutable.getSpecifiedMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - EclipseLinkMutableAnnotation mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(null, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(null); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(null, mutableAnnotation); - - mutable.setSpecifiedMutable(Boolean.FALSE); - mutableAnnotation = (EclipseLinkMutableAnnotation) resourceField.getAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertEquals(Boolean.FALSE, mutableAnnotation.getValue()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertEquals(Boolean.TRUE, mutableAnnotation.getValue()); - } - - public void testIsDefaultMutable() throws Exception { - createTestEntityWithMutableVersion(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkVersionMapping versionMapping = (EclipseLinkVersionMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = versionMapping.getMutable(); - assertTrue(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.FALSE); - assertTrue(mutable.isDefaultMutable()); - } - - public void testIsDefaultMutableForDate() throws Exception { - createTestEntityWithMutableVersionDate(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkVersionMapping versionMapping = (EclipseLinkVersionMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = versionMapping.getMutable(); - assertFalse(mutable.isDefaultMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertFalse(mutable.isDefaultMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertFalse(mutable.isDefaultMutable()); - - //set mutable default to false in the persistence unit properties, verify default in java still true since this is not a Date/Calendar - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.TRUE); - assertTrue(mutable.isDefaultMutable()); - - (getPersistenceUnit()).getOptions().setTemporalMutable(Boolean.FALSE); - assertFalse(mutable.isDefaultMutable()); - - (getPersistenceUnit()).getOptions().setTemporalMutable(null); - assertFalse(mutable.isDefaultMutable()); - } - - public void testIsMutable() throws Exception { - createTestEntityWithMutableVersion(); - addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME); - - PersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next(); - EclipseLinkVersionMapping versionMapping = (EclipseLinkVersionMapping) persistentAttribute.getMapping(); - EclipseLinkMutable mutable = versionMapping.getMutable(); - assertTrue(mutable.isMutable()); - - JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, Kind.TYPE); - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - resourceField.removeAnnotation(EclipseLinkMutableAnnotation.ANNOTATION_NAME); - assertTrue(mutable.isMutable()); - - mutable.setSpecifiedMutable(Boolean.TRUE); - assertTrue(mutable.isMutable()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/JptEclipseLinkCoreJavaContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/JptEclipseLinkCoreJavaContextModelTests.java deleted file mode 100644 index cbf3a302e1..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/JptEclipseLinkCoreJavaContextModelTests.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.java; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class JptEclipseLinkCoreJavaContextModelTests extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkCoreJavaContextModelTests.class.getName()); - suite.addTestSuite(EclipseLinkJavaBasicMappingTests.class); - suite.addTestSuite(EclipseLinkJavaCachingTests.class); - suite.addTestSuite(EclipseLinkJavaConverterTests.class); - suite.addTestSuite(EclipseLinkJavaConvertTests.class); - suite.addTestSuite(EclipseLinkJavaEmbeddableTests.class); - suite.addTestSuite(EclipseLinkJavaEntityTests.class); - suite.addTestSuite(EclipseLinkJavaIdMappingTests.class); - suite.addTestSuite(EclipseLinkJavaManyToManyMappingTests.class); - suite.addTestSuite(EclipseLinkJavaManyToOneMappingTests.class); - suite.addTestSuite(EclipseLinkJavaMappedSuperclassTests.class); - suite.addTestSuite(EclipseLinkJavaObjectTypeConverterTests.class); - suite.addTestSuite(EclipseLinkJavaOneToManyMappingTests.class); - suite.addTestSuite(EclipseLinkJavaOneToOneMappingTests.class); - suite.addTestSuite(EclipseLinkJavaStructConverterTests.class); - suite.addTestSuite(EclipseLinkJavaTypeConverterTests.class); - suite.addTestSuite(EclipseLinkJavaVersionMappingTests.class); - return suite; - } - - private JptEclipseLinkCoreJavaContextModelTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkEntityMappingsTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkEntityMappingsTests.java deleted file mode 100644 index 98c7627066..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkEntityMappingsTests.java +++ /dev/null @@ -1,675 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.ListIterator; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkEntityMappingsTests extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkEntityMappingsTests(String name) { - super(name); - } - - - public void testUpdateCustomConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEntityMappings.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlConverter resourceConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEntityMappings.getConverters().add(resourceConverter); - resourceConverter.setClassName("Foo"); - resourceConverter.setName("myConverter"); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, resourceEntityMappings.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlConverter resourceConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEntityMappings.getConverters().add(0, resourceConverter2); - resourceConverter2.setClassName("Foo2"); - resourceConverter2.setName("myConverter2"); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(2, resourceEntityMappings.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntityMappings.getConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(2, resourceEntityMappings.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, resourceEntityMappings.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getConverters().remove(resourceConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyCustomConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEntityMappings.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter = ormContextConverterHolder.addCustomConverter(0); - contextConverter.setConverterClass("Foo"); - contextConverter.setName("myConverter"); - - assertEquals(1, resourceEntityMappings.getConverters().size()); - assertEquals("Foo", resourceEntityMappings.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEntityMappings.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter2 = ormContextConverterHolder.addCustomConverter(0); - contextConverter2.setConverterClass("Foo2"); - contextConverter2.setName("myConverter2"); - - assertEquals(2, resourceEntityMappings.getConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEntityMappings.getConverters().get(0).getName()); - assertEquals("Foo", resourceEntityMappings.getConverters().get(1).getClassName()); - assertEquals("myConverter", resourceEntityMappings.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveCustomConverter(0, 1); - - assertEquals(2, resourceEntityMappings.getConverters().size()); - assertEquals("Foo", resourceEntityMappings.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEntityMappings.getConverters().get(0).getName()); - assertEquals("Foo2", resourceEntityMappings.getConverters().get(1).getClassName()); - assertEquals("myConverter2", resourceEntityMappings.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(0); - - assertEquals(1, resourceEntityMappings.getConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEntityMappings.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(contextConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateTypeConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEntityMappings.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEntityMappings.getTypeConverters().add(resourceTypeConverter); - resourceTypeConverter.setDataType("Foo"); - resourceTypeConverter.setName("myTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntityMappings.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEntityMappings.getTypeConverters().add(0, resourceTypeConverter2); - resourceTypeConverter2.setDataType("Foo2"); - resourceTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(2, resourceEntityMappings.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntityMappings.getTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(2, resourceEntityMappings.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntityMappings.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getTypeConverters().remove(resourceTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyTypeConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEntityMappings.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter.setDataType("Foo"); - contextTypeConverter.setName("myTypeConverter"); - - assertEquals(1, resourceEntityMappings.getTypeConverters().size()); - assertEquals("Foo", resourceEntityMappings.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEntityMappings.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter2 = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter2.setDataType("Foo2"); - contextTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, resourceEntityMappings.getTypeConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEntityMappings.getTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEntityMappings.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter", resourceEntityMappings.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveTypeConverter(0, 1); - - assertEquals(2, resourceEntityMappings.getTypeConverters().size()); - assertEquals("Foo", resourceEntityMappings.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEntityMappings.getTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEntityMappings.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter2", resourceEntityMappings.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(0); - - assertEquals(1, resourceEntityMappings.getTypeConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEntityMappings.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(contextTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateObjectTypeConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEntityMappings.getObjectTypeConverters().add(resourceObjectTypeConverter); - resourceObjectTypeConverter.setDataType("Foo"); - resourceObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEntityMappings.getObjectTypeConverters().add(0, resourceObjectTypeConverter2); - resourceObjectTypeConverter2.setDataType("Foo2"); - resourceObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntityMappings.getObjectTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getObjectTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getObjectTypeConverters().remove(resourceObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyObjectTypeConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter.setDataType("Foo"); - contextObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEntityMappings.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntityMappings.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter2 = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter2.setDataType("Foo2"); - contextObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntityMappings.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEntityMappings.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntityMappings.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveObjectTypeConverter(0, 1); - - assertEquals(2, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEntityMappings.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEntityMappings.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEntityMappings.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntityMappings.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(0); - - assertEquals(1, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEntityMappings.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(contextObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateStructConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEntityMappings.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlStructConverter resourceStructConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEntityMappings.getStructConverters().add(resourceStructConverter); - resourceStructConverter.setConverter("Foo"); - resourceStructConverter.setName("myStructConverter"); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, resourceEntityMappings.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlStructConverter resourceStructConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEntityMappings.getStructConverters().add(0, resourceStructConverter2); - resourceStructConverter2.setConverter("Foo2"); - resourceStructConverter2.setName("myStructConverter2"); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(2, resourceEntityMappings.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntityMappings.getStructConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(2, resourceEntityMappings.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getStructConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, resourceEntityMappings.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntityMappings.getStructConverters().remove(resourceStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyStructConverters() throws Exception { - XmlEntityMappings resourceEntityMappings = getXmlEntityMappings(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - EclipseLinkEntityMappings contextEntityMappings = getEntityMappings(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = contextEntityMappings.getConverterContainer(); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEntityMappings.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter = ormContextConverterHolder.addStructConverter(0); - contextStructConverter.setConverterClass("Foo"); - contextStructConverter.setName("myStructConverter"); - - assertEquals(1, resourceEntityMappings.getStructConverters().size()); - assertEquals("Foo", resourceEntityMappings.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEntityMappings.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter2 = ormContextConverterHolder.addStructConverter(0); - contextStructConverter2.setConverterClass("Foo2"); - contextStructConverter2.setName("myStructConverter2"); - - assertEquals(2, resourceEntityMappings.getStructConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEntityMappings.getStructConverters().get(0).getName()); - assertEquals("Foo", resourceEntityMappings.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter", resourceEntityMappings.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveStructConverter(0, 1); - - assertEquals(2, resourceEntityMappings.getStructConverters().size()); - assertEquals("Foo", resourceEntityMappings.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEntityMappings.getStructConverters().get(0).getName()); - assertEquals("Foo2", resourceEntityMappings.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter2", resourceEntityMappings.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(0); - - assertEquals(1, resourceEntityMappings.getStructConverters().size()); - assertEquals("Foo2", resourceEntityMappings.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEntityMappings.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(contextStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEntityMappings.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmBasicMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmBasicMappingTests.java deleted file mode 100644 index 3434ef504d..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmBasicMappingTests.java +++ /dev/null @@ -1,389 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkBasicMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; - -@SuppressWarnings("nls") -public class EclipseLinkOrmBasicMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableBasicDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public EclipseLinkOrmBasicMappingTests(String name) { - super(name); - } - - - public void testUpdateMutable() throws Exception { - createTestEntityWithBasicMapping(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmEclipseLinkBasicMapping contextBasic = - (OrmEclipseLinkBasicMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlBasic resourceBasic = - (XmlBasic) resourceEntity.getAttributes().getBasics().get(0); - EclipseLinkBasicMapping javaBasicMapping = (EclipseLinkBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - // check defaults - - assertNull(resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceBasic.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceBasic.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceBasic.setMutable(null); - - assertNull(resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - // TODO - test defaults for java serializable and date/time types, - // with and without persistence property - - // set mutable on java basic mapping - - javaBasicMapping.getMutable().setSpecifiedMutable(Boolean.FALSE); - assertNull(resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - assertFalse(javaBasicMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkBasicMapping virtualContextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceBasic.getMutable()); - assertTrue(virtualContextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, virtualContextBasic.getMutable().getSpecifiedMutable()); - assertFalse(virtualContextBasic.getMutable().isMutable()); - assertFalse(javaBasicMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualContextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceBasic.getMutable()); - assertTrue(virtualContextBasic.getMutable().isDefaultMutable()); - assertNull(virtualContextBasic.getMutable().getSpecifiedMutable()); - assertTrue(virtualContextBasic.getMutable().isMutable()); - assertFalse(javaBasicMapping.getMutable().isMutable()); - } - - public void testUpdateMutableDate() throws Exception { - createTestEntityWithMutableBasicDate(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "myDate"); - OrmEclipseLinkBasicMapping contextBasic = - (OrmEclipseLinkBasicMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlBasic resourceBasic = - (XmlBasic) resourceEntity.getAttributes().getBasics().get(0); - EclipseLinkBasicMapping javaBasicMapping = (EclipseLinkBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("myDate").getMapping(); - - // check defaults - - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceBasic.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceBasic.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceBasic.setMutable(null); - - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.TRUE); - assertNull(resourceBasic.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.FALSE); - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(null); - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set mutable on java basic mapping - - javaBasicMapping.getMutable().setSpecifiedMutable(Boolean.TRUE); - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - assertTrue(javaBasicMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - EclipseLinkBasicMapping virtualContextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceBasic.getMutable()); - assertFalse(virtualContextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, virtualContextBasic.getMutable().getSpecifiedMutable()); - assertTrue(virtualContextBasic.getMutable().isMutable()); - assertTrue(javaBasicMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - virtualContextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceBasic.getMutable()); - assertFalse(virtualContextBasic.getMutable().isDefaultMutable()); - assertNull(virtualContextBasic.getMutable().getSpecifiedMutable()); - assertFalse(virtualContextBasic.getMutable().isMutable()); - assertTrue(javaBasicMapping.getMutable().isMutable()); - } - - public void testModifyMutable() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basic"); - OrmEclipseLinkBasicMapping contextBasic = - (OrmEclipseLinkBasicMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlBasic resourceBasic = - (XmlBasic) resourceEntity.getAttributes().getBasics().get(0); - - // check defaults - - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set context mutable to true, check resource - - contextBasic.getMutable().setSpecifiedMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - - // set context mutable to false, check resource - - contextBasic.getMutable().setSpecifiedMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - - // set context mutable to null, check resource - - contextBasic.getMutable().setSpecifiedMutable(null); - - assertNull(resourceBasic.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - } - - public void testUpdateConvert() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - XmlBasic basicResource = (XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob in the resource model, verify context model updated - basicResource.setConvert("myConvert"); - assertEquals(EclipseLinkConvert.class, ormBasicMapping.getConverter().getType()); - assertEquals("myConvert", basicResource.getConvert()); - - //set lob to null in the resource model - basicResource.setConvert(null); - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - - javaBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) javaBasicMapping.getConverter()).setSpecifiedConverterName("foo"); - - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaBasicMapping.getConverter()).getSpecifiedConverterName()); - - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkBasicMapping virtualBasicMapping = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - - assertEquals(EclipseLinkConvert.class, virtualBasicMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaBasicMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) javaBasicMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals(EclipseLinkConvert.class, virtualBasicMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("bar", ((EclipseLinkConvert) javaBasicMapping.getConverter()).getSpecifiedConverterName()); - - javaBasicMapping.setConverter(null); - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - assertNull(javaBasicMapping.getConverter().getType()); - } - - public void testModifyConvert() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - XmlBasic basicResource = (XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0); - - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob in the context model, verify resource model updated - ormBasicMapping.setConverter(EclipseLinkConvert.class); - assertEquals("", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormBasicMapping.getConverter().getType()); - - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals("bar", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormBasicMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) ormBasicMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setSpecifiedConverterName(null); - - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob to false in the context model - ormBasicMapping.setConverter(null); - assertNull(ormBasicMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmCachingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmCachingTests.java deleted file mode 100644 index 6da84e55a5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmCachingTests.java +++ /dev/null @@ -1,424 +0,0 @@ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; - -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTimeOfDay; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Caching; - -public class EclipseLinkOrmCachingTests extends EclipseLinkOrmContextModelTestCase { - - private ICompilationUnit createTestEntity() throws Exception { - 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); - } - }); - } - - public EclipseLinkOrmCachingTests(String name) { - super(name); - } - - public void testSetSpecifiedShared() throws Exception { - createTestEntity(); - - OrmPersistentType type = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(true, caching.isShared()); - - caching.setSpecifiedShared(Boolean.FALSE); - - - assertEquals(Boolean.FALSE, entity.getCaching().getSpecifiedShared()); - assertEquals(false, entity.getCaching().isShared()); - - - } - - public void testSetSpecifiedSharedFalseUnsetsOtherCacheSettings() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - caching.setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - caching.setSpecifiedSize(Integer.valueOf(500)); - caching.setSpecifiedAlwaysRefresh(Boolean.FALSE); - caching.setSpecifiedRefreshOnlyIfNewer(Boolean.FALSE); - caching.setSpecifiedDisableHits(Boolean.FALSE); - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - caching.setSpecifiedExistenceType(EclipseLinkExistenceType.CHECK_CACHE); - caching.setExpiry(Integer.valueOf(8000)); - - caching.setSpecifiedShared(Boolean.FALSE); - - assertEquals(null, caching.getSpecifiedType()); - assertEquals(null, caching.getSpecifiedSize()); - assertEquals(null, caching.getSpecifiedAlwaysRefresh()); - assertEquals(null, caching.getSpecifiedRefreshOnlyIfNewer()); - assertEquals(null, caching.getSpecifiedDisableHits()); - assertEquals(null, caching.getSpecifiedCoordinationType()); - assertEquals(null, caching.getExpiry()); - - - //existence checking is the only thing that isn't unset when shared is set to false - assertEquals(EclipseLinkExistenceType.CHECK_CACHE, caching.getSpecifiedExistenceType()); - - caching.setSpecifiedShared(null); - EclipseLinkTimeOfDay timeOfDayExpiry = caching.addExpiryTimeOfDay(); - timeOfDayExpiry.setHour(Integer.valueOf(5)); - - caching.setSpecifiedShared(Boolean.FALSE); - assertNull(caching.getExpiryTimeOfDay()); - - } - - public void testGetDefaultShared() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertTrue(caching.isDefaultShared()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT, "false"); - - assertFalse(caching.isDefaultShared()); - } - - public void testGetSpecifiedShared() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(true, caching.isShared()); - - } - - public void testSetSpecifiedType() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - - caching.setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - - - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getSpecifiedType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, entity.getCaching().getType()); - - caching.setSpecifiedType(EclipseLinkCacheType.SOFT_WEAK); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getSpecifiedType()); - - caching.setSpecifiedType(null); - assertNull(caching.getSpecifiedType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - } - - public void testGetDefaultType() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getDefaultType()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT, EclipseLinkCacheType.FULL.toString()); - - assertEquals(EclipseLinkCacheType.FULL, caching.getDefaultType()); - } - - public void testGetSpecifiedType() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheType.SOFT_WEAK, caching.getType()); - - } - - public void testSetSpecifiedAlwaysRefresh() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isAlwaysRefresh()); - - caching.setSpecifiedAlwaysRefresh(Boolean.FALSE); - - - assertEquals(Boolean.FALSE, entity.getCaching().getSpecifiedAlwaysRefresh()); - assertEquals(false, entity.getCaching().isAlwaysRefresh()); - - } - - public void testGetSpecifiedAlwaysRefresh() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isAlwaysRefresh()); - - } - - public void testSetSpecifiedRefreshOnlyIfNewer() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isRefreshOnlyIfNewer()); - - caching.setSpecifiedRefreshOnlyIfNewer(Boolean.TRUE); - - - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedRefreshOnlyIfNewer()); - assertEquals(true, entity.getCaching().isRefreshOnlyIfNewer()); - - } - - public void testGetSpecifiedRefreshOnlyIfNewer() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isRefreshOnlyIfNewer()); - - } - - public void testSetSpecifiedDisableHits() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isDisableHits()); - - caching.setSpecifiedDisableHits(Boolean.TRUE); - - - assertEquals(Boolean.TRUE, entity.getCaching().getSpecifiedDisableHits()); - assertEquals(true, entity.getCaching().isDisableHits()); - - } - - public void testGetSpecifiedDisableHits() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(false, caching.isDisableHits()); - - } - - public void testSetSpecifiedCoordinationType() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - - - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getSpecifiedCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, entity.getCaching().getCoordinationType()); - - //set specified coordination type to the same as the default, verify it is not set to default - caching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getSpecifiedCoordinationType()); - - caching.setSpecifiedCoordinationType(null); - assertNull(caching.getSpecifiedCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - } - - public void testGetSpecifiedCoordinationType() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, caching.getCoordinationType()); - } - - public void testGetExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - - assertNull(entity.getCaching().getExpiry()); - - } - - public void testSetExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - caching.setExpiry(Integer.valueOf(58)); - assertEquals(Integer.valueOf(58), caching.getExpiry()); - - - caching.setExpiry(null); - assertNull(caching.getExpiry()); - } - - public void testSetExpiryUnsetsExpiryTimeOfDay() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - caching.addExpiryTimeOfDay(); - caching.getExpiryTimeOfDay().setHour(Integer.valueOf(5)); - assertEquals(Integer.valueOf(5), caching.getExpiryTimeOfDay().getHour()); - - caching.setExpiry(Integer.valueOf(900)); - - assertNull(caching.getExpiryTimeOfDay()); - assertEquals(Integer.valueOf(900), caching.getExpiry()); - } - - public void testGetTimeOfDayExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - } - - public void testAddTimeOfDayExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - - EclipseLinkTimeOfDay timeOfDayExpiry = caching.addExpiryTimeOfDay(); - - assertNotNull(caching.getExpiryTimeOfDay()); - assertEquals(timeOfDayExpiry, caching.getExpiryTimeOfDay()); - } - - public void testRemoveTimeOfDayExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertNull(caching.getExpiryTimeOfDay()); - } - - public void testAddTimeOfDayExpiryUnsetsExpiry() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - caching.setExpiry(Integer.valueOf(800)); - assertEquals(Integer.valueOf(800), caching.getExpiry()); - - caching.addExpiryTimeOfDay(); - - assertNull(caching.getExpiry()); - assertNotNull(caching.getExpiryTimeOfDay()); - } - - - public void testSetSpecifiedSize() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getSize()); - - caching.setSpecifiedSize(new Integer(50)); - - - assertEquals(new Integer(50), entity.getCaching().getSpecifiedSize()); - assertEquals(50, entity.getCaching().getSize()); - } - - public void testGetDefaultSize() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getDefaultSize()); - - getPersistenceUnit().setProperty(Caching.ECLIPSELINK_CACHE_SIZE_DEFAULT, "333"); - - assertEquals(333, caching.getDefaultSize()); - } - - public void testGetSpecifiedSize() throws Exception { - createTestEntity(); - - OrmPersistentType type = (OrmPersistentType)getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity entity = (OrmEclipseLinkEntity)type.getMapping(); - OrmEclipseLinkCaching caching = entity.getCaching(); - - assertEquals(100, caching.getSize()); - - caching.setSpecifiedSize(new Integer(50)); - getJpaProject().synchronizeContextModel(); - - assertEquals(new Integer(50), entity.getCaching().getSpecifiedSize()); - assertEquals(50, entity.getCaching().getSize()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmContextModelTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmContextModelTestCase.java deleted file mode 100644 index f86fac1a4c..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmContextModelTestCase.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import org.eclipse.jpt.common.core.internal.operations.JptFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.internal.operations.JpaFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; -import org.eclipse.jpt.jpa.core.tests.internal.projects.TestJpaProject; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings; -import org.eclipse.jpt.jpa.eclipselink.core.internal.operations.EclipseLinkOrmFileCreationDataModelProvider; -import org.eclipse.jpt.jpa.eclipselink.core.internal.operations.EclipseLinkOrmFileCreationOperation; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLinkContextModelTestCase; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -@SuppressWarnings("nls") -public abstract class EclipseLinkOrmContextModelTestCase - extends EclipseLinkContextModelTestCase -{ - protected JpaXmlResource eclipseLinkOrmXmlResource; - - - protected EclipseLinkOrmContextModelTestCase(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.eclipseLinkOrmXmlResource = getJpaProject().getDefaultEclipseLinkOrmXmlResource(); - } - - @Override - protected TestJpaProject buildJpaProject(String projectName, boolean autoBuild, IDataModel jpaConfig) throws Exception { - TestJpaProject testJpaProject = super.buildJpaProject(projectName, autoBuild, jpaConfig); - - EclipseLinkOrmFileCreationOperation operation = - new EclipseLinkOrmFileCreationOperation(buildEclipseLinkOrmConfig(testJpaProject)); - operation.execute(null, null); - - return testJpaProject; - } - - protected IDataModel buildEclipseLinkOrmConfig(TestJpaProject testJpaProject) { - IDataModel dataModel = - DataModelFactory.createDataModel(new EclipseLinkOrmFileCreationDataModelProvider()); - dataModel.setProperty(JptFileCreationDataModelProperties.CONTAINER_PATH, - testJpaProject.getProject().getFolder("src/META-INF").getFullPath()); - dataModel.setProperty(JpaFileCreationDataModelProperties.VERSION, EclipseLink.SCHEMA_VERSION); - dataModel.setProperty(OrmFileCreationDataModelProperties.ADD_TO_PERSISTENCE_UNIT, Boolean.TRUE); - return dataModel; - } - - @Override - protected void tearDown() throws Exception { - this.eclipseLinkOrmXmlResource = null; - super.tearDown(); - } - - @Override - protected JpaXmlResource getOrmXmlResource() { - return this.eclipseLinkOrmXmlResource; - } - - @Override - protected XmlEntityMappings getXmlEntityMappings() { - return (XmlEntityMappings) super.getXmlEntityMappings(); - } - - @Override - protected EclipseLinkEntityMappings getEntityMappings() { - return (EclipseLinkEntityMappings) super.getEntityMappings(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java deleted file mode 100644 index cc53451a2e..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmConverterTests - extends EclipseLinkOrmContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.CONVERT, EclipseLink.CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Convert(name=\"foo\")").append(CR); - sb.append(" @Converter"); - } - }); - } - - - public EclipseLinkOrmConverterTests(String name) { - super(name); - } - - - public void testUpdateConverterClass() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkCustomConverter.class); - OrmEclipseLinkCustomConverter ormConverter = (OrmEclipseLinkCustomConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getClassName()); - - //set converter class name in the resource model, verify context model updated - converterResource.setClassName("myConvert"); - assertEquals("myConvert", ormConverter.getConverterClass()); - assertEquals("myConvert", converterResource.getClassName()); - - //set converter class name to null in the resource model - converterResource.setClassName(null); - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getClassName()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - EclipseLinkCustomConverter virtualConverter = (EclipseLinkCustomConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkCustomConverter javaConverter = ((EclipseLinkCustomConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setConverterClass("bar"); - - assertNull(virtualConverter); - assertEquals("bar", javaConverter.getConverterClass()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getConverterClass()); - } - - public void testModifyConverterClass() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkCustomConverter.class); - OrmEclipseLinkCustomConverter ormConverter = (OrmEclipseLinkCustomConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getConverter(); - - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getClassName()); - - //set converter class in the context model, verify resource model updated - ormConverter.setConverterClass("foo"); - assertEquals("foo", ormConverter.getConverterClass()); - assertEquals("foo", converterResource.getClassName()); - - ormConverter.setConverterClass(null); - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getClassName()); - } - - public void testUpdateName() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkCustomConverter.class); - OrmEclipseLinkCustomConverter ormConverter = (OrmEclipseLinkCustomConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class name in the resource model, verify context model updated - converterResource.setName("myConvert"); - assertEquals("myConvert", ormConverter.getName()); - assertEquals("myConvert", converterResource.getName()); - - //set converter class name to null in the resource model - converterResource.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - EclipseLinkCustomConverter virtualConverter = (EclipseLinkCustomConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkCustomConverter javaConverter = ((EclipseLinkCustomConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setName("bar"); - - assertNull(virtualConverter); - assertEquals("bar", javaConverter.getName()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getName()); - } - - public void testModifyName() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkCustomConverter.class); - OrmEclipseLinkCustomConverter ormConverter = (OrmEclipseLinkCustomConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getConverter(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class in the context model, verify resource model updated - ormConverter.setName("foo"); - assertEquals("foo", ormConverter.getName()); - assertEquals("foo", converterResource.getName()); - - ormConverter.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEmbeddableTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEmbeddableTests.java deleted file mode 100644 index 7bbfb71487..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEmbeddableTests.java +++ /dev/null @@ -1,1035 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEmbeddable; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEmbeddable; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEmbeddable; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmEmbeddableTests extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmEmbeddableTests(String name) { - super(name); - } - - private ICompilationUnit createTestEmbeddableForCustomizer() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE, EclipseLink.CUSTOMIZER); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - private ICompilationUnit createTestEmbeddableForChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE, EclipseLink.CHANGE_TRACKING); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - private ICompilationUnit createTestEmbeddableForCustomConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - private ICompilationUnit createTestEmbeddableForTypeConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - private ICompilationUnit createTestEmbeddableForObjectTypeConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - private ICompilationUnit createTestEmbeddableForStructConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Embeddable").append(CR); - } - }); - } - - public void testUpdateCustomizerClass() throws Exception { - createTestEmbeddableForCustomizer(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkEmbeddable javaContextEmbeddable = (JavaEclipseLinkEmbeddable) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - - // check defaults - - assertNull(resourceEmbeddable.getCustomizer()); - assertNull(javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - // set xml customizer, check defaults - resourceEmbeddable.setCustomizer(OrmFactory.eINSTANCE.createXmlClassReference()); - assertNull(resourceEmbeddable.getCustomizer().getClassName()); - assertNull(javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - - // set xml customizer class, check override - - resourceEmbeddable.getCustomizer().setClassName("foo"); - - assertEquals("foo", resourceEmbeddable.getCustomizer().getClassName()); - assertNull(javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - // clear xml customizer class, set java customizer class, check defaults - - resourceEmbeddable.getCustomizer().setClassName(null); - javaContextEmbeddable.getCustomizer().setSpecifiedCustomizerClass("bar"); - - assertNull(resourceEmbeddable.getCustomizer().getClassName()); - assertEquals("bar", javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - // set metadataComplete to True, check defaults not from java - - ormContextEmbeddable.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceEmbeddable.getCustomizer().getClassName()); - assertEquals("bar", javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - ormContextEmbeddable.setSpecifiedMetadataComplete(null); - - // set xml customizer class, check override - - resourceEmbeddable.getCustomizer().setClassName("foo"); - - assertEquals("foo", resourceEmbeddable.getCustomizer().getClassName()); - assertEquals("bar", javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - //set xml customizer null - javaContextEmbeddable.getCustomizer().setSpecifiedCustomizerClass(null); - resourceEmbeddable.setCustomizer(null); - assertNull(resourceEmbeddable.getCustomizer()); - assertNull(javaContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - } - - public void testModifyCustomizerClass() throws Exception { - createTestEmbeddableForCustomizer(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - // check defaults - - assertNull(resourceEmbeddable.getCustomizer()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer, check resource - - ormContextEmbeddable.getCustomizer().setSpecifiedCustomizerClass("foo"); - - assertEquals("foo", resourceEmbeddable.getCustomizer().getClassName()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer to null, check resource - - ormContextEmbeddable.getCustomizer().setSpecifiedCustomizerClass(null); - - assertNull(resourceEmbeddable.getCustomizer()); - assertNull(ormContextEmbeddable.getCustomizer().getCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEmbeddable.getCustomizer().getSpecifiedCustomizerClass()); - } - - public void testUpdateChangeTracking() throws Exception { - createTestEmbeddableForChangeTracking(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkEmbeddable javaContextEmbeddable = (JavaEclipseLinkEmbeddable) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - // check defaults - - assertNull(resourceEmbeddable.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertNull(ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set xml type to ATTRIBUTE, check context - - resourceEmbeddable.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceEmbeddable.getChangeTracking().setType(XmlChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set xml type to OBJECT, check context - - resourceEmbeddable.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set xml type to DEFERRED, check context - - resourceEmbeddable.getChangeTracking().setType(XmlChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set xml type to AUTO, check context - - resourceEmbeddable.getChangeTracking().setType(XmlChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // clear xml change tracking, set java change tracking, check defaults - - resourceEmbeddable.setChangeTracking(null); - javaContextEmbeddable.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertNull(resourceEmbeddable.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertNull(ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set metadataComplete to True, check defaults not from java - - ormContextEmbeddable.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceEmbeddable.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertNull(ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // unset metadataComplete, set xml change tracking to OBJECT, check context - - ormContextEmbeddable.setSpecifiedMetadataComplete(null); - resourceEmbeddable.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceEmbeddable.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - } - - public void testModifyChangeTracking() throws Exception { - createTestEmbeddableForChangeTracking(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - // check defaults - - assertNull(resourceEmbeddable.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertNull(ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set context change tracking to ATTRIBUTE, check resource - - ormContextEmbeddable.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set context change tracking to OBJECT, check resource - - ormContextEmbeddable.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set context change tracking to DEFERRED, check resource - - ormContextEmbeddable.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set context change tracking to AUTO, check resource - - ormContextEmbeddable.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - - // set context change tracking to null, check resource - - ormContextEmbeddable.getChangeTracking().setSpecifiedType(null); - - assertNull(resourceEmbeddable.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEmbeddable.getChangeTracking().getDefaultType()); - assertNull(ormContextEmbeddable.getChangeTracking().getSpecifiedType()); - } - - public void testUpdateCustomConverters() throws Exception { - createTestEmbeddableForCustomConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEmbeddable.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlConverter resourceConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEmbeddable.getConverters().add(resourceConverter); - resourceConverter.setClassName("Foo"); - resourceConverter.setName("myConverter"); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, resourceEmbeddable.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlConverter resourceConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEmbeddable.getConverters().add(0, resourceConverter2); - resourceConverter2.setClassName("Foo2"); - resourceConverter2.setName("myConverter2"); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(2, resourceEmbeddable.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEmbeddable.getConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(2, resourceEmbeddable.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, resourceEmbeddable.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getConverters().remove(resourceConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyCustomConverters() throws Exception { - createTestEmbeddableForCustomConverters(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEmbeddable.getConverters().size()); - - //add a converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter = ormContextConverterHolder.addCustomConverter(0); - contextConverter.setConverterClass("Foo"); - contextConverter.setName("myConverter"); - - assertEquals(1, resourceEmbeddable.getConverters().size()); - assertEquals("Foo", resourceEmbeddable.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEmbeddable.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - - //add another converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter2 = ormContextConverterHolder.addCustomConverter(0); - contextConverter2.setConverterClass("Foo2"); - contextConverter2.setName("myConverter2"); - - assertEquals(2, resourceEmbeddable.getConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEmbeddable.getConverters().get(0).getName()); - assertEquals("Foo", resourceEmbeddable.getConverters().get(1).getClassName()); - assertEquals("myConverter", resourceEmbeddable.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveCustomConverter(0, 1); - - assertEquals(2, resourceEmbeddable.getConverters().size()); - assertEquals("Foo", resourceEmbeddable.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceEmbeddable.getConverters().get(0).getName()); - assertEquals("Foo2", resourceEmbeddable.getConverters().get(1).getClassName()); - assertEquals("myConverter2", resourceEmbeddable.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(0); - - assertEquals(1, resourceEmbeddable.getConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceEmbeddable.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(contextConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getConverters().size()); - } - - public void testUpdateTypeConverters() throws Exception { - createTestEmbeddableForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEmbeddable.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEmbeddable.getTypeConverters().add(resourceTypeConverter); - resourceTypeConverter.setDataType("Foo"); - resourceTypeConverter.setName("myTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, resourceEmbeddable.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEmbeddable.getTypeConverters().add(0, resourceTypeConverter2); - resourceTypeConverter2.setDataType("Foo2"); - resourceTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(2, resourceEmbeddable.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEmbeddable.getTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(2, resourceEmbeddable.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, resourceEmbeddable.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getTypeConverters().remove(resourceTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyTypeConverters() throws Exception { - createTestEmbeddableForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEmbeddable.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter.setDataType("Foo"); - contextTypeConverter.setName("myTypeConverter"); - - assertEquals(1, resourceEmbeddable.getTypeConverters().size()); - assertEquals("Foo", resourceEmbeddable.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEmbeddable.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter2 = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter2.setDataType("Foo2"); - contextTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, resourceEmbeddable.getTypeConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEmbeddable.getTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEmbeddable.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter", resourceEmbeddable.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveTypeConverter(0, 1); - - assertEquals(2, resourceEmbeddable.getTypeConverters().size()); - assertEquals("Foo", resourceEmbeddable.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceEmbeddable.getTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEmbeddable.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter2", resourceEmbeddable.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(0); - - assertEquals(1, resourceEmbeddable.getTypeConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceEmbeddable.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(contextTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateObjectTypeConverters() throws Exception { - createTestEmbeddableForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEmbeddable.getObjectTypeConverters().add(resourceObjectTypeConverter); - resourceObjectTypeConverter.setDataType("Foo"); - resourceObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEmbeddable.getObjectTypeConverters().add(0, resourceObjectTypeConverter2); - resourceObjectTypeConverter2.setDataType("Foo2"); - resourceObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEmbeddable.getObjectTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getObjectTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getObjectTypeConverters().remove(resourceObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyObjectTypeConverters() throws Exception { - createTestEmbeddableForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter.setDataType("Foo"); - contextObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEmbeddable.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEmbeddable.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter2 = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter2.setDataType("Foo2"); - contextObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEmbeddable.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo", resourceEmbeddable.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter", resourceEmbeddable.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveObjectTypeConverter(0, 1); - - assertEquals(2, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals("Foo", resourceEmbeddable.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceEmbeddable.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceEmbeddable.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEmbeddable.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(0); - - assertEquals(1, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceEmbeddable.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(contextObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateStructConverters() throws Exception { - createTestEmbeddableForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEmbeddable.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlStructConverter resourceStructConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEmbeddable.getStructConverters().add(resourceStructConverter); - resourceStructConverter.setConverter("Foo"); - resourceStructConverter.setName("myStructConverter"); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, resourceEmbeddable.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlStructConverter resourceStructConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEmbeddable.getStructConverters().add(0, resourceStructConverter2); - resourceStructConverter2.setConverter("Foo2"); - resourceStructConverter2.setName("myStructConverter2"); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(2, resourceEmbeddable.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEmbeddable.getStructConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(2, resourceEmbeddable.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getStructConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, resourceEmbeddable.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEmbeddable.getStructConverters().remove(resourceStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyStructConverters() throws Exception { - createTestEmbeddableForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEmbeddable ormContextEmbeddable = (OrmEclipseLinkEmbeddable) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEmbeddable.getConverterContainer(); - XmlEmbeddable resourceEmbeddable = (XmlEmbeddable) getXmlEntityMappings().getEmbeddables().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEmbeddable.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter = ormContextConverterHolder.addStructConverter(0); - contextStructConverter.setConverterClass("Foo"); - contextStructConverter.setName("myStructConverter"); - - assertEquals(1, resourceEmbeddable.getStructConverters().size()); - assertEquals("Foo", resourceEmbeddable.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEmbeddable.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter2 = ormContextConverterHolder.addStructConverter(0); - contextStructConverter2.setConverterClass("Foo2"); - contextStructConverter2.setName("myStructConverter2"); - - assertEquals(2, resourceEmbeddable.getStructConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEmbeddable.getStructConverters().get(0).getName()); - assertEquals("Foo", resourceEmbeddable.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter", resourceEmbeddable.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveStructConverter(0, 1); - - assertEquals(2, resourceEmbeddable.getStructConverters().size()); - assertEquals("Foo", resourceEmbeddable.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceEmbeddable.getStructConverters().get(0).getName()); - assertEquals("Foo2", resourceEmbeddable.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter2", resourceEmbeddable.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(0); - - assertEquals(1, resourceEmbeddable.getStructConverters().size()); - assertEquals("Foo2", resourceEmbeddable.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceEmbeddable.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(contextStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEmbeddable.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java deleted file mode 100644 index d80263af79..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmEntityTests.java +++ /dev/null @@ -1,2394 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTimeOfDay; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmEntityTests extends EclipseLinkOrmContextModelTestCase -{ - - - public EclipseLinkOrmEntityTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntityForReadOnly() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.READ_ONLY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForCustomizer() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CHANGE_TRACKING); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityForCaching() throws Exception { - 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 createTestEntityForConverters() throws Exception { - 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 { - 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 { - 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 { - 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); - } - }); - } - - public void testUpdateReadOnly() throws Exception { - createTestEntityForReadOnly(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkEntity javaContextEntity = (JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkEntity javaContextEntity = (JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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(OrmFactory.eINSTANCE.createXmlClassReference()); - assertNull(resourceEntity.getCustomizer().getClassName()); - assertNull(javaContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextEntity.getCustomizer().getSpecifiedCustomizerClass()); - - - // set xml customizer class, check override - - resourceEntity.getCustomizer().setClassName("foo"); - - assertEquals("foo", resourceEntity.getCustomizer().getClassName()); - 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().setClassName(null); - javaContextEntity.getCustomizer().setSpecifiedCustomizerClass("bar"); - - assertNull(resourceEntity.getCustomizer().getClassName()); - 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().getClassName()); - 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().setClassName("foo"); - - assertEquals("foo", resourceEntity.getCustomizer().getClassName()); - 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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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().getClassName()); - 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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkEntity javaContextEntity = (JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.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(EclipseLinkChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to OBJECT, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to DEFERRED, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set xml type to AUTO, check context - - resourceEntity.getChangeTracking().setType(XmlChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // clear xml change tracking, set java change tracking, check defaults - - resourceEntity.setChangeTracking(null); - javaContextEntity.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.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(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.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(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - } - - public void testModifyChangeTracking() throws Exception { - createTestEntityForChangeTracking(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - // check defaults - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to ATTRIBUTE, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to OBJECT, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to DEFERRED, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to AUTO, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getSpecifiedType()); - - // set context change tracking to null, check resource - - ormContextEntity.getChangeTracking().setSpecifiedType(null); - - assertNull(resourceEntity.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextEntity.getChangeTracking().getDefaultType()); - assertNull(ormContextEntity.getChangeTracking().getSpecifiedType()); - } - - public void testUpdateCacheType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set xml cache, check defaults - resourceEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceEntity.getCache().getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // set xml cache type, check settings - resourceEntity.getCache().setType(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL, resourceEntity.getCache().getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getSpecifiedType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedType(EclipseLinkCacheType.WEAK); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL, resourceEntity.getCache().getType()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getSpecifiedType()); - - // clear xml cache type, check defaults - resourceEntity.getCache().setType(null); - - assertEquals(null, resourceEntity.getCache().getType()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.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(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set context cache type, check resource - - ormContextEntity.getCaching().setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.HARD_WEAK, resourceEntity.getCache().getType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, ormContextCaching.getSpecifiedType()); - - // set context customizer to null, check resource - - ormContextEntity.getCaching().setSpecifiedType(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - } - - public void testUpdateCacheCoordinationType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.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(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // set xml cache type, check settings - resourceEntity.getCache().setCoordinationType(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceEntity.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceEntity.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - // clear xml cache type, check defaults - resourceEntity.getCache().setCoordinationType(null); - - assertEquals(null, resourceEntity.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // clear xml cache, check defaults - resourceEntity.setCache(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.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(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheCoordinationType() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - // set context cache coordination type, check resource - - ormContextEntity.getCaching().setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, resourceEntity.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getSpecifiedCoordinationType()); - - // set context coordination type to null, check resource - - ormContextEntity.getCaching().setSpecifiedCoordinationType(null); - - assertEquals(null, resourceEntity.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - } - - - public void testUpdateCacheSize() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity xmlEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, xmlEntity.getCache()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - // set xml cache, check defaults - xmlEntity.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, xmlEntity.getCache().getSize()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // set xml cache size, check settings - xmlEntity.getCache().setSize(new Integer(105)); - assertEquals(new Integer(105), xmlEntity.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), xmlEntity.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(105, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(105), ormContextCaching.getSpecifiedSize()); - - // clear xml cache size, check defaults - xmlEntity.getCache().setSize(null); - - assertEquals(null, xmlEntity.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // clear xml cache, check defaults - xmlEntity.setCache(null); - - assertEquals(null, xmlEntity.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, xmlEntity.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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 testSetSpecifiedSharedFalseUnsetsOtherCacheSettings() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - ormContextCaching.setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - ormContextCaching.setSpecifiedSize(Integer.valueOf(500)); - ormContextCaching.setSpecifiedAlwaysRefresh(Boolean.FALSE); - ormContextCaching.setSpecifiedRefreshOnlyIfNewer(Boolean.FALSE); - ormContextCaching.setSpecifiedDisableHits(Boolean.FALSE); - ormContextCaching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - ormContextCaching.setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE); - ormContextCaching.setExpiry(Integer.valueOf(8000)); - - ormContextCaching.setSpecifiedShared(Boolean.FALSE); - - assertEquals(null, ormContextCaching.getSpecifiedType()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - assertEquals(null, ormContextCaching.getExpiry()); - - - //existence checking is the only thing that isn't unset when shared is set to false - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - ormContextCaching.setSpecifiedShared(null); - EclipseLinkTimeOfDay timeOfDayExpiry = ormContextCaching.addExpiryTimeOfDay(); - timeOfDayExpiry.setHour(Integer.valueOf(5)); - - ormContextCaching.setSpecifiedShared(Boolean.FALSE); - assertNull(ormContextCaching.getExpiryTimeOfDay()); - assertEquals(Boolean.FALSE, resourceEntity.getCache().getShared()); - assertNull(resourceEntity.getCache().getExpiryTimeOfDay()); - } - - public void testUpdateExistenceChecking() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - - // check defaults - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set xml existence checking, check settings - resourceEntity.setExistenceChecking(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - - // set java cache existence checking, check defaults - - javaContextCaching.setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // clear xml existence checking, check defaults - resourceEntity.setExistenceChecking(null); - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.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(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - ormContextEntity.setSpecifiedMetadataComplete(null); - } - - public void testModifyExistenceChecking() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - // check defaults - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set context cache existence checking, check resource - - ormContextEntity.getCaching().setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // set context existence checking to null, check resource - - ormContextEntity.getCaching().setSpecifiedExistenceType(null); - - assertEquals(null, resourceEntity.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - } - - public void testUpdateCacheExpiry() throws Exception { - createTestEntityForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkEntity) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextEntity.getCaching(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().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 = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlConverter resourceConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEntity.getConverters().add(resourceConverter); - resourceConverter.setClassName("Foo"); - resourceConverter.setName("myConverter"); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlConverter resourceConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceEntity.getConverters().add(0, resourceConverter2); - resourceConverter2.setClassName("Foo2"); - resourceConverter2.setName("myConverter2"); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, resourceEntity.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getConverters().remove(resourceConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyCustomConverters() throws Exception { - createTestEntityForConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkCustomConverter 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.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkCustomConverter 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.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //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.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //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.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(contextConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateTypeConverters() throws Exception { - createTestEntityForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEntity.getTypeConverters().add(resourceTypeConverter); - resourceTypeConverter.setDataType("Foo"); - resourceTypeConverter.setName("myTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceEntity.getTypeConverters().add(0, resourceTypeConverter2); - resourceTypeConverter2.setDataType("Foo2"); - resourceTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, resourceEntity.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getTypeConverters().remove(resourceTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyTypeConverters() throws Exception { - createTestEntityForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkTypeConverter 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.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkTypeConverter 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.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //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.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //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.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(contextTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateObjectTypeConverters() throws Exception { - createTestEntityForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEntity.getObjectTypeConverters().add(resourceObjectTypeConverter); - resourceObjectTypeConverter.setDataType("Foo"); - resourceObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceEntity.getObjectTypeConverters().add(0, resourceObjectTypeConverter2); - resourceObjectTypeConverter2.setDataType("Foo2"); - resourceObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getObjectTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getObjectTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceEntity.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getObjectTypeConverters().remove(resourceObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyObjectTypeConverters() throws Exception { - createTestEntityForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkObjectTypeConverter 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.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkObjectTypeConverter 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.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //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.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //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.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(contextObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateStructConverters() throws Exception { - createTestEntityForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlStructConverter resourceStructConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEntity.getStructConverters().add(resourceStructConverter); - resourceStructConverter.setConverter("Foo"); - resourceStructConverter.setName("myStructConverter"); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlStructConverter resourceStructConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceEntity.getStructConverters().add(0, resourceStructConverter2); - resourceStructConverter2.setConverter("Foo2"); - resourceStructConverter2.setName("myStructConverter2"); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the resource model, check context model - resourceEntity.getStructConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getStructConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, resourceEntity.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceEntity.getStructConverters().remove(resourceStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyStructConverters() throws Exception { - createTestEntityForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkEntity ormContextEntity = (OrmEclipseLinkEntity) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextEntity.getConverterContainer(); - XmlEntity resourceEntity = (XmlEntity) getXmlEntityMappings().getEntities().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkStructConverter 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.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkStructConverter 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.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //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.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //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.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(contextStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceEntity.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmIdMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmIdMappingTests.java deleted file mode 100644 index f239980bfb..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmIdMappingTests.java +++ /dev/null @@ -1,389 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.IdMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaIdMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmIdMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkIdMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkIdMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlId; - -@SuppressWarnings("nls") -public class EclipseLinkOrmIdMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmIdMappingTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntityWithIdMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableIdDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public void testUpdateMutable() throws Exception { - createTestEntityWithIdMapping(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "id"); - OrmEclipseLinkIdMapping contextId = - (OrmEclipseLinkIdMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlId resourceId = - (XmlId) resourceEntity.getAttributes().getIds().get(0); - EclipseLinkIdMapping javaIdMapping = (EclipseLinkIdMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - // check defaults - - assertNull(resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceId.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceId.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceId.setMutable(null); - - assertNull(resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - // TODO - test defaults for java serializable and date/time types, - // with and without persistence property - - // set mutable on java basic mapping - - javaIdMapping.getMutable().setSpecifiedMutable(Boolean.FALSE); - assertNull(resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - assertFalse(javaIdMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkIdMapping virtualIdMapping = (EclipseLinkIdMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceId.getMutable()); - assertTrue(virtualIdMapping.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, virtualIdMapping.getMutable().getSpecifiedMutable()); - assertFalse(virtualIdMapping.getMutable().isMutable()); - assertFalse(javaIdMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkBasicMapping virtualBasicMapping = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceId.getMutable()); - assertTrue(virtualBasicMapping.getMutable().isDefaultMutable()); - assertNull(virtualBasicMapping.getMutable().getSpecifiedMutable()); - assertTrue(virtualBasicMapping.getMutable().isMutable()); - assertFalse(javaIdMapping.getMutable().isMutable()); - } - - public void testUpdateMutableDate() throws Exception { - createTestEntityWithMutableIdDate(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "myDate"); - OrmEclipseLinkIdMapping contextId = - (OrmEclipseLinkIdMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlId resourceId = - (XmlId) resourceEntity.getAttributes().getIds().get(0); - EclipseLinkIdMapping javaIdMapping = (EclipseLinkIdMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("myDate").getMapping(); - - // check defaults - - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceId.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceId.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceId.setMutable(null); - - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.TRUE); - assertNull(resourceId.getMutable()); - assertTrue(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.FALSE); - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(null); - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set mutable on java id mapping - - javaIdMapping.getMutable().setSpecifiedMutable(Boolean.TRUE); - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - assertTrue(javaIdMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - EclipseLinkIdMapping virtualIdMapping = (EclipseLinkIdMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceId.getMutable()); - assertFalse(virtualIdMapping.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, virtualIdMapping.getMutable().getSpecifiedMutable()); - assertTrue(virtualIdMapping.getMutable().isMutable()); - assertTrue(javaIdMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - EclipseLinkBasicMapping virtualBasicMapping = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceId.getMutable()); - assertFalse(virtualBasicMapping.getMutable().isDefaultMutable()); - assertNull(virtualBasicMapping.getMutable().getSpecifiedMutable()); - assertFalse(virtualBasicMapping.getMutable().isMutable()); - assertTrue(javaIdMapping.getMutable().isMutable()); - } - - public void testModifyMutable() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "basic"); - OrmEclipseLinkIdMapping contextId = - (OrmEclipseLinkIdMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlId resourceId = - (XmlId) resourceEntity.getAttributes().getIds().get(0); - - // check defaults - - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set context mutable to true, check resource - - contextId.getMutable().setSpecifiedMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextId.getMutable().getSpecifiedMutable()); - assertTrue(contextId.getMutable().isMutable()); - - // set context mutable to false, check resource - - contextId.getMutable().setSpecifiedMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - - // set context read only to null, check resource - - contextId.getMutable().setSpecifiedMutable(null); - - assertNull(resourceId.getMutable()); - assertFalse(contextId.getMutable().isDefaultMutable()); - assertNull(contextId.getMutable().getSpecifiedMutable()); - assertFalse(contextId.getMutable().isMutable()); - } - - public void testUpdateConvert() throws Exception { - createTestEntityWithIdMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "id"); - OrmIdMapping ormIdMapping = (OrmIdMapping) ormPersistentAttribute.getMapping(); - XmlId basicResource = (XmlId) getXmlEntityMappings().getEntities().get(0).getAttributes().getIds().get(0); - JavaIdMapping javaIdMapping = (JavaIdMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertNull(ormIdMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob in the resource model, verify context model updated - basicResource.setConvert("myConvert"); - assertEquals(EclipseLinkConvert.class, ormIdMapping.getConverter().getType()); - assertEquals("myConvert", basicResource.getConvert()); - - //set lob to null in the resource model - basicResource.setConvert(null); - assertNull(ormIdMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - - javaIdMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) javaIdMapping.getConverter()).setSpecifiedConverterName("foo"); - - assertNull(ormIdMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaIdMapping.getConverter()).getSpecifiedConverterName()); - - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - IdMapping virtualIdMapping = (IdMapping) ormPersistentAttribute2.getMapping(); - - assertEquals(EclipseLinkConvert.class, virtualIdMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) virtualIdMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaIdMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) javaIdMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals(EclipseLinkConvert.class, virtualIdMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) virtualIdMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("bar", ((EclipseLinkConvert) javaIdMapping.getConverter()).getSpecifiedConverterName()); - - javaIdMapping.setConverter(null); - assertNull(virtualIdMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - assertNull(javaIdMapping.getConverter().getType()); - } - - public void testModifyConvert() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmIdMapping ormIdMapping = (OrmIdMapping) ormPersistentAttribute.getMapping(); - XmlId basicResource = (XmlId) getXmlEntityMappings().getEntities().get(0).getAttributes().getIds().get(0); - - assertNull(ormIdMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - - //set lob in the context model, verify resource model updated - ormIdMapping.setConverter(EclipseLinkConvert.class); - assertEquals("", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormIdMapping.getConverter().getType()); - - ((EclipseLinkConvert) ormIdMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals("bar", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormIdMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) ormIdMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) ormIdMapping.getConverter()).setSpecifiedConverterName(null); - - assertNull(ormIdMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - - //set lob to false in the context model - ormIdMapping.setConverter(null); - assertNull(ormIdMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java deleted file mode 100644 index a934c68ff5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java +++ /dev/null @@ -1,383 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.Cascade; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.JoinTable; -import org.eclipse.jpt.jpa.core.context.ManyToManyMapping; -import org.eclipse.jpt.jpa.core.context.OneToManyMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToManyMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkManyToManyMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlManyToMany; - -@SuppressWarnings("nls") -public class EclipseLinkOrmManyToManyMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmManyToManyMappingTests(String name) { - super(name); - } - - private void createTestDepartment() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("import java.util.Collection;"); - sb.append(CR); - sb.append("import ").append(JPA.MANY_TO_MANY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.JOIN_TABLE).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.JOIN_COLUMN).append(";"); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Department").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" @ManyToMany").append(CR); - sb.append(" @JoinTable(name=\"DEP_EMP\", joinColumns=@JoinColumn(name=\"DEPT_ID\"), inverseJoinColumns=@JoinColumn(name=\"EMP_ID\"))").append(CR); - sb.append(" private Collection<Employee> employees;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Department.java", sourceWriter); - } - - private void createTestEmployee() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Employee").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int empId;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Employee.java", sourceWriter); - } - - private ICompilationUnit createTestEntityManyToManyMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.MANY_TO_MANY, JPA.FETCH_TYPE, JPA.CASCADE_TYPE, JPA.ORDER_BY, EclipseLink.JOIN_FETCH, EclipseLink.JOIN_FETCH_TYPE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @ManyToMany(fetch=FetchType.EAGER, targetEntity=Address.class, cascade={CascadeType.ALL, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH})"); - sb.append(CR); - sb.append(" @OrderBy(\"city\""); - sb.append(CR); - sb.append(" @JoinFetch(JoinFetchType.INNER)"); - sb.append(CR); - sb.append(" private java.util.Collection<Address> address;").append(CR); - sb.append(CR); - sb.append(" @Id"); - } - }); - } - - private void createTestTargetEntityAddress() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import "); - sb.append(JPA.ENTITY); - sb.append(";"); - sb.append(CR); - sb.append("import "); - sb.append(JPA.ID); - sb.append(";"); - sb.append(CR); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Address").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" private String city;").append(CR); - sb.append(CR); - sb.append(" private State state;").append(CR); - sb.append(CR); - sb.append(" private int zip;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Address.java", sourceWriter); - } - - public void testUpdateJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "manyToMany"); - EclipseLinkRelationshipMapping contextManyToMany = - (EclipseLinkRelationshipMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity) getXmlEntityMappings().getEntities().get(0); - XmlManyToMany resourceManyToMany = - (XmlManyToMany) resourceEntity.getAttributes().getManyToManys().get(0); - - // check defaults - - assertNull(resourceManyToMany.getJoinFetch()); - assertNull(contextManyToMany.getJoinFetch().getValue()); - - // set xml join fetch to INNER, check context - - resourceManyToMany.setJoinFetch(XmlJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceManyToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextManyToMany.getJoinFetch().getValue()); - - // set xml join fetch to OUTER, check context - - resourceManyToMany.setJoinFetch(XmlJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceManyToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextManyToMany.getJoinFetch().getValue()); - - // set xml join fetch to null, check context - - resourceManyToMany.setJoinFetch(null); - - assertNull(resourceManyToMany.getJoinFetch()); - assertNull(contextManyToMany.getJoinFetch().getValue()); - } - - public void testModifyJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "manyToMany"); - EclipseLinkRelationshipMapping contextManyToMany = - (EclipseLinkRelationshipMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlManyToMany resourceManyToMany = - (XmlManyToMany) resourceEntity.getAttributes().getManyToManys().get(0); - - // check defaults - - assertNull(resourceManyToMany.getJoinFetch()); - assertNull(contextManyToMany.getJoinFetch().getValue()); - - // set context join fetch to INNER, check resource - - contextManyToMany.getJoinFetch().setValue(EclipseLinkJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceManyToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextManyToMany.getJoinFetch().getValue()); - - // set context join fetch to OUTER, check resource - - contextManyToMany.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceManyToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextManyToMany.getJoinFetch().getValue()); - - // set context join fetch to null, check resource - - contextManyToMany.getJoinFetch().setValue(null); - - assertNull(resourceManyToMany.getJoinFetch()); - assertNull(contextManyToMany.getJoinFetch().getValue()); - } - - public void testJoinFetchDefault() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - EclipseLinkRelationshipMapping manyToMany = (EclipseLinkRelationshipMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - - assertNull(manyToMany.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - EclipseLinkOneToManyMapping oneToMany = (EclipseLinkOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - assertNull(oneToMany.getJoinFetch().getValue()); - - - EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employees").getMapping(); - javaRelationshipMapping.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - assertNull(oneToMany.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - manyToMany = (EclipseLinkRelationshipMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - assertEquals(EclipseLinkJoinFetchType.OUTER, manyToMany.getJoinFetch().getValue()); - } - - public void testDefaultJoinTable() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - OrmReadOnlyPersistentAttribute attribute = departmentPersistentType.getAttributeNamed("employees"); - ManyToManyMapping manyToMany = (ManyToManyMapping) attribute.getMapping(); - - assertEquals(true, attribute.isVirtual()); - JoinTable ormJoinTable = manyToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("DEP_EMP", ormJoinTable.getName()); - assertEquals("DEPT_ID", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getName()); - assertEquals("id", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getReferencedColumnName()); - assertEquals("EMP_ID", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getName()); - assertEquals("empId", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getReferencedColumnName()); - - //set metadata-complete and verify JoinTable info is not taken from the java - departmentPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - departmentPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "id"); - attribute = departmentPersistentType.getAttributeNamed("employees"); - OneToManyMapping oneToMany = (OneToManyMapping) attribute.getMapping(); - - assertEquals(true, attribute.isVirtual()); - ormJoinTable = oneToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("Department_Employee", ormJoinTable.getName()); - assertEquals("Department_id", ormJoinTable.getDefaultJoinColumn().getName()); - assertEquals("id", ormJoinTable.getDefaultJoinColumn().getReferencedColumnName()); - assertEquals("employees_empId", ormJoinTable.getDefaultInverseJoinColumn().getName()); - assertEquals("empId", ormJoinTable.getDefaultInverseJoinColumn().getReferencedColumnName()); - - //set metadata-complete to false, add mapping to orm.xml verify JoinTable info is not taken from the java - departmentPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.FALSE); - attribute = departmentPersistentType.getAttributeNamed("employees"); - manyToMany = (ManyToManyMapping) attribute.getMapping(); - assertEquals(true, attribute.isVirtual()); - ormJoinTable = manyToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("DEP_EMP", ormJoinTable.getName()); - assertEquals("DEPT_ID", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getName()); - assertEquals("id", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getReferencedColumnName()); - assertEquals("EMP_ID", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getName()); - assertEquals("empId", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getReferencedColumnName()); - - - departmentPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY, "employees"); - attribute = departmentPersistentType.getAttributeNamed("employees"); - manyToMany = (ManyToManyMapping) attribute.getMapping(); - assertEquals(false, attribute.isVirtual()); - ormJoinTable = manyToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("Department_Employee", ormJoinTable.getName()); - assertEquals(0, ormJoinTable.getSpecifiedJoinColumnsSize()); - assertEquals("Department_id", ormJoinTable.getDefaultJoinColumn().getName()); - assertEquals("id", ormJoinTable.getDefaultJoinColumn().getReferencedColumnName()); - assertEquals(0, ormJoinTable.getSpecifiedInverseJoinColumnsSize()); - assertEquals("employees_empId", ormJoinTable.getDefaultInverseJoinColumn().getName()); - assertEquals("empId", ormJoinTable.getDefaultInverseJoinColumn().getReferencedColumnName()); - } - - public void testVirtualMappingMetadataCompleteFalse() throws Exception { - createTestEntityManyToManyMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - - ManyToManyMapping virtualManyToManyMapping = (ManyToManyMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", virtualManyToManyMapping.getName()); - assertEquals(FetchType.EAGER, virtualManyToManyMapping.getSpecifiedFetch()); - assertEquals("Address", virtualManyToManyMapping.getSpecifiedTargetEntity()); - assertNull(virtualManyToManyMapping.getRelationship(). - getMappedByStrategy().getMappedByAttribute()); - - Cascade cascade = virtualManyToManyMapping.getCascade(); - assertTrue(cascade.isAll()); - assertTrue(cascade.isMerge()); - assertTrue(cascade.isPersist()); - assertTrue(cascade.isRemove()); - assertTrue(cascade.isRefresh()); - - assertTrue(virtualManyToManyMapping.getOrderable().isCustomOrdering()); - assertEquals("city", virtualManyToManyMapping.getOrderable().getSpecifiedOrderBy()); - - assertEquals(EclipseLinkJoinFetchType.INNER, ((EclipseLinkJoinFetchMapping) virtualManyToManyMapping).getJoinFetch().getValue()); - } - - public void testVirtualMappingMetadataCompleteTrue() throws Exception { - createTestEntityManyToManyMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getAttributeNamed("address"); - - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, virtualPersistentAttribute.getMappingKey()); - assertTrue(virtualPersistentAttribute.isVirtual()); - - OrmPersistentAttribute ormPersistentAttribute = virtualPersistentAttribute.convertToSpecified(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY); - - OrmEclipseLinkManyToManyMapping ormManyToManyMapping = (OrmEclipseLinkManyToManyMapping) ormPersistentAttribute.getMapping(); - assertEquals("address", ormManyToManyMapping.getName()); - assertEquals(FetchType.LAZY, ormManyToManyMapping.getFetch()); - assertEquals("test.Address", ormManyToManyMapping.getTargetEntity()); - assertNull(ormManyToManyMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - - Cascade cascade = ormManyToManyMapping.getCascade(); - assertFalse(cascade.isAll()); - assertFalse(cascade.isMerge()); - assertFalse(cascade.isPersist()); - assertFalse(cascade.isRemove()); - assertFalse(cascade.isRefresh()); - - assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering()); - assertEquals(null, ormManyToManyMapping.getOrderable().getSpecifiedOrderBy()); - - assertEquals(null, ormManyToManyMapping.getJoinFetch().getValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java deleted file mode 100644 index 2c2000d72a..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToOneMappingTests.java +++ /dev/null @@ -1,321 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.Cascade; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.JoinColumn; -import org.eclipse.jpt.jpa.core.context.ManyToOneMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkManyToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlManyToOne; - -@SuppressWarnings("nls") -public class EclipseLinkOrmManyToOneMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmManyToOneMappingTests(String name) { - super(name); - } - - private void createTestDepartment() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append(CR); - sb.append("import ").append(JPA.MANY_TO_ONE).append(";"); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Department").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" @ManyToOne").append(CR); - sb.append(" private Employee employee;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Department.java", sourceWriter); - } - - private void createTestEmployee() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Employee").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int empId;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Employee.java", sourceWriter); - } - - private ICompilationUnit createTestEntityManyToOneMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.MANY_TO_ONE, JPA.JOIN_COLUMN, JPA.FETCH_TYPE, JPA.CASCADE_TYPE, EclipseLink.JOIN_FETCH, EclipseLink.JOIN_FETCH_TYPE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @ManyToOne(fetch=FetchType.LAZY, optional=false, targetEntity=Address.class, cascade={CascadeType.ALL, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH})"); - sb.append(CR); - sb.append(" @JoinColumn(name=\"MY_COLUMN\", referencedColumnName=\"MY_REFERENCED_COLUMN\", unique=true, nullable=false, insertable=false, updatable=false, columnDefinition=\"COLUMN_DEFINITION\", table=\"MY_TABLE\")"); - sb.append(CR); - sb.append(" @JoinFetch(JoinFetchType.INNER)"); - sb.append(CR); - sb.append(" private Address address;").append(CR); - sb.append(CR); - sb.append(" @Id"); - } - }); - } - - private void createTestTargetEntityAddress() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import "); - sb.append(JPA.ENTITY); - sb.append(";"); - sb.append(CR); - sb.append("import "); - sb.append(JPA.ID); - sb.append(";"); - sb.append(CR); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Address").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" private String city;").append(CR); - sb.append(CR); - sb.append(" private String state;").append(CR); - sb.append(CR); - sb.append(" private int zip;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Address.java", sourceWriter); - } - - public void testUpdateJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY, "manyToOne"); - EclipseLinkRelationshipMapping contextManyToOne = - (EclipseLinkRelationshipMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity) getXmlEntityMappings().getEntities().get(0); - XmlManyToOne resourceManyToOne = - (XmlManyToOne) resourceEntity.getAttributes().getManyToOnes().get(0); - - // check defaults - - assertNull(resourceManyToOne.getJoinFetch()); - assertNull(contextManyToOne.getJoinFetch().getValue()); - - // set xml join fetch to INNER, check context - - resourceManyToOne.setJoinFetch(XmlJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceManyToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextManyToOne.getJoinFetch().getValue()); - - // set xml join fetch to OUTER, check context - - resourceManyToOne.setJoinFetch(XmlJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceManyToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextManyToOne.getJoinFetch().getValue()); - - // set xml join fetch to null, check context - - resourceManyToOne.setJoinFetch(null); - - assertNull(resourceManyToOne.getJoinFetch()); - assertNull(contextManyToOne.getJoinFetch().getValue()); - } - - public void testModifyJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY, "manyToOne"); - EclipseLinkRelationshipMapping contextManyToOne = - (EclipseLinkRelationshipMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlManyToOne resourceManyToOne = - (XmlManyToOne) resourceEntity.getAttributes().getManyToOnes().get(0); - - // check defaults - - assertNull(resourceManyToOne.getJoinFetch()); - assertNull(contextManyToOne.getJoinFetch().getValue()); - - // set context join fetch to INNER, check resource - - contextManyToOne.getJoinFetch().setValue(EclipseLinkJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceManyToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextManyToOne.getJoinFetch().getValue()); - - // set context join fetch to OUTER, check resource - - contextManyToOne.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceManyToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextManyToOne.getJoinFetch().getValue()); - - // set context join fetch to null, check resource - - contextManyToOne.getJoinFetch().setValue(null); - - assertNull(resourceManyToOne.getJoinFetch()); - assertNull(contextManyToOne.getJoinFetch().getValue()); - } - - public void testJoinFetchDefaultFromJava() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - EclipseLinkRelationshipMapping manyToOneMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - - assertNull(manyToOneMapping.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - EclipseLinkOneToOneMapping oneToOne = (EclipseLinkOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertNull(oneToOne.getJoinFetch().getValue()); - - - EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employee").getMapping(); - javaRelationshipMapping.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - manyToOneMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertNull(manyToOneMapping.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - manyToOneMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertEquals(EclipseLinkJoinFetchType.OUTER, manyToOneMapping.getJoinFetch().getValue()); - } - - public void testVirtualMappingMetadataCompleteFalse() throws Exception { - createTestEntityManyToOneMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - - ManyToOneMapping virtualManyToOneMapping = (ManyToOneMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", virtualManyToOneMapping.getName()); - assertEquals(FetchType.LAZY, virtualManyToOneMapping.getSpecifiedFetch()); - assertEquals(Boolean.FALSE, virtualManyToOneMapping.getSpecifiedOptional()); - assertEquals("Address", virtualManyToOneMapping.getSpecifiedTargetEntity()); - - JoinColumn virtualJoinColumn = virtualManyToOneMapping.getRelationship().getJoinColumnStrategy().getSpecifiedJoinColumns().iterator().next(); - assertEquals("MY_COLUMN", virtualJoinColumn.getSpecifiedName()); - assertEquals("MY_REFERENCED_COLUMN", virtualJoinColumn.getSpecifiedReferencedColumnName()); - assertEquals(Boolean.TRUE, virtualJoinColumn.getSpecifiedUnique()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedNullable()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedInsertable()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedUpdatable()); - assertEquals("COLUMN_DEFINITION", virtualJoinColumn.getColumnDefinition()); - assertEquals("MY_TABLE", virtualJoinColumn.getSpecifiedTable()); - - Cascade cascade = virtualManyToOneMapping.getCascade(); - assertTrue(cascade.isAll()); - assertTrue(cascade.isMerge()); - assertTrue(cascade.isPersist()); - assertTrue(cascade.isRemove()); - assertTrue(cascade.isRefresh()); - - assertEquals(EclipseLinkJoinFetchType.INNER, ((EclipseLinkJoinFetchMapping) virtualManyToOneMapping).getJoinFetch().getValue()); - } - - public void testVirtualMappingMetadataCompleteTrue() throws Exception { - createTestEntityManyToOneMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getAttributeNamed("address"); - - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, virtualPersistentAttribute.getMappingKey()); - assertTrue(virtualPersistentAttribute.isVirtual()); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute = virtualPersistentAttribute.convertToSpecified(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY); - - OrmEclipseLinkManyToOneMapping ormManyToOneMapping = (OrmEclipseLinkManyToOneMapping) ormPersistentAttribute.getMapping(); - assertEquals("address", ormManyToOneMapping.getName()); - assertEquals(FetchType.EAGER, ormManyToOneMapping.getDefaultFetch()); - assertEquals(true, ormManyToOneMapping.isDefaultOptional()); - assertEquals("test.Address", ormManyToOneMapping.getDefaultTargetEntity()); - - Cascade cascade = ormManyToOneMapping.getCascade(); - assertFalse(cascade.isAll()); - assertFalse(cascade.isMerge()); - assertFalse(cascade.isPersist()); - assertFalse(cascade.isRemove()); - assertFalse(cascade.isRefresh()); - - assertEquals(null, ormManyToOneMapping.getJoinFetch().getValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmMappedSuperclassTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmMappedSuperclassTests.java deleted file mode 100644 index 1d5231019b..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmMappedSuperclassTests.java +++ /dev/null @@ -1,2147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheCoordinationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkExistenceType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching; -import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; -import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSuperclass; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlChangeTrackingType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlMappedSuperclass; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmMappedSuperclassTests extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmMappedSuperclassTests(String name) { - super(name); - } - - - private ICompilationUnit createTestMappedSuperclassForReadOnly() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.READ_ONLY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForCustomizer() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.CUSTOMIZER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForChangeTracking() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, EclipseLink.CHANGE_TRACKING); - } - - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForCaching() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForTypeConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForObjectTypeConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassForStructConverters() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass").append(CR); - } - }); - } - - public void testUpdateReadOnly() throws Exception { - createTestMappedSuperclassForReadOnly(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkMappedSuperclass javaContextMappedSuperclass = (JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to false, check override - - resourceMappedSuperclass.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceMappedSuperclass.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // clear xml read only, set java read only to true, check defaults - - resourceMappedSuperclass.setReadOnly(null); - javaContextMappedSuperclass.getReadOnly().setSpecifiedReadOnly(Boolean.TRUE); - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertTrue(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertTrue(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - // set xml read only to false, check override - - resourceMappedSuperclass.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceMappedSuperclass.getReadOnly()); - assertTrue(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceMappedSuperclass.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getReadOnly()); - assertTrue(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // clear xml read only, set java read only to false, check defaults - - resourceMappedSuperclass.setReadOnly(null); - javaContextMappedSuperclass.getReadOnly().setSpecifiedReadOnly(Boolean.FALSE); - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to false, check override - - resourceMappedSuperclass.setReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set xml read only to true, check override - - resourceMappedSuperclass.setReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getReadOnly()); - assertFalse(javaContextMappedSuperclass.getReadOnly().isReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - } - - public void testModifyReadOnly() throws Exception { - createTestMappedSuperclassForReadOnly(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to true, check resource - - ormContextMappedSuperclass.getReadOnly().setSpecifiedReadOnly(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getReadOnly()); - assertTrue(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.TRUE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to false, check resource - - ormContextMappedSuperclass.getReadOnly().setSpecifiedReadOnly(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceMappedSuperclass.getReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertEquals(Boolean.FALSE, ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - - // set context read only to null, check resource - - ormContextMappedSuperclass.getReadOnly().setSpecifiedReadOnly(null); - - assertNull(resourceMappedSuperclass.getReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isReadOnly()); - assertFalse(ormContextMappedSuperclass.getReadOnly().isDefaultReadOnly()); - assertNull(ormContextMappedSuperclass.getReadOnly().getSpecifiedReadOnly()); - } - - public void testUpdateCustomizerClass() throws Exception { - createTestMappedSuperclassForCustomizer(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkMappedSuperclass javaContextMappedSuperclass = (JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertNull(resourceMappedSuperclass.getCustomizer()); - assertNull(javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - // set xml customizer, check defaults - resourceMappedSuperclass.setCustomizer(OrmFactory.eINSTANCE.createXmlClassReference()); - assertNull(resourceMappedSuperclass.getCustomizer().getClassName()); - assertNull(javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - - // set xml customizer class, check override - - resourceMappedSuperclass.getCustomizer().setClassName("foo"); - - assertEquals("foo", resourceMappedSuperclass.getCustomizer().getClassName()); - assertNull(javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - // clear xml customizer class, set java customizer class, check defaults - - resourceMappedSuperclass.getCustomizer().setClassName(null); - javaContextMappedSuperclass.getCustomizer().setSpecifiedCustomizerClass("bar"); - - assertNull(resourceMappedSuperclass.getCustomizer().getClassName()); - assertEquals("bar", javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceMappedSuperclass.getCustomizer().getClassName()); - assertEquals("bar", javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - // set xml customizer class, check override - - resourceMappedSuperclass.getCustomizer().setClassName("foo"); - - assertEquals("foo", resourceMappedSuperclass.getCustomizer().getClassName()); - assertEquals("bar", javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertEquals("bar", ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - //set xml customizer null - javaContextMappedSuperclass.getCustomizer().setSpecifiedCustomizerClass(null); - resourceMappedSuperclass.setCustomizer(null); - assertNull(resourceMappedSuperclass.getCustomizer()); - assertNull(javaContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - } - - public void testModifyCustomizerClass() throws Exception { - createTestMappedSuperclassForCustomizer(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertNull(resourceMappedSuperclass.getCustomizer()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer, check resource - - ormContextMappedSuperclass.getCustomizer().setSpecifiedCustomizerClass("foo"); - - assertEquals("foo", resourceMappedSuperclass.getCustomizer().getClassName()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertEquals("foo", ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - - // set context customizer to null, check resource - - ormContextMappedSuperclass.getCustomizer().setSpecifiedCustomizerClass(null); - - assertNull(resourceMappedSuperclass.getCustomizer()); - assertNull(ormContextMappedSuperclass.getCustomizer().getCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getDefaultCustomizerClass()); - assertNull(ormContextMappedSuperclass.getCustomizer().getSpecifiedCustomizerClass()); - } - - public void testUpdateChangeTracking() throws Exception { - createTestMappedSuperclassForChangeTracking(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkMappedSuperclass javaContextMappedSuperclass = (JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertNull(resourceMappedSuperclass.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertNull(ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set xml type to ATTRIBUTE, check context - - resourceMappedSuperclass.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceMappedSuperclass.getChangeTracking().setType(XmlChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set xml type to OBJECT, check context - - resourceMappedSuperclass.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set xml type to DEFERRED, check context - - resourceMappedSuperclass.getChangeTracking().setType(XmlChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set xml type to AUTO, check context - - resourceMappedSuperclass.getChangeTracking().setType(XmlChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // clear xml change tracking, set java change tracking, check defaults - - resourceMappedSuperclass.setChangeTracking(null); - javaContextMappedSuperclass.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertNull(resourceMappedSuperclass.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertNull(ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertNull(resourceMappedSuperclass.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertNull(ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // unset metadataComplete, set xml change tracking to OBJECT, check context - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - resourceMappedSuperclass.setChangeTracking(EclipseLinkOrmFactory.eINSTANCE.createXmlChangeTracking()); - resourceMappedSuperclass.getChangeTracking().setType(XmlChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, javaContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - } - - public void testModifyChangeTracking() throws Exception { - createTestMappedSuperclassForChangeTracking(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertNull(resourceMappedSuperclass.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertNull(ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set context change tracking to ATTRIBUTE, check resource - - ormContextMappedSuperclass.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.ATTRIBUTE); - - assertEquals(XmlChangeTrackingType.ATTRIBUTE, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.ATTRIBUTE, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set context change tracking to OBJECT, check resource - - ormContextMappedSuperclass.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.OBJECT); - - assertEquals(XmlChangeTrackingType.OBJECT, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.OBJECT, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set context change tracking to DEFERRED, check resource - - ormContextMappedSuperclass.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.DEFERRED); - - assertEquals(XmlChangeTrackingType.DEFERRED, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.DEFERRED, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set context change tracking to AUTO, check resource - - ormContextMappedSuperclass.getChangeTracking().setSpecifiedType(EclipseLinkChangeTrackingType.AUTO); - - assertEquals(XmlChangeTrackingType.AUTO, resourceMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - - // set context change tracking to null, check resource - - ormContextMappedSuperclass.getChangeTracking().setSpecifiedType(null); - - assertNull(resourceMappedSuperclass.getChangeTracking()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getType()); - assertEquals(EclipseLinkChangeTrackingType.AUTO, ormContextMappedSuperclass.getChangeTracking().getDefaultType()); - assertNull(ormContextMappedSuperclass.getChangeTracking().getSpecifiedType()); - } - - public void testUpdateCacheType() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // set xml cache type, check settings - resourceMappedSuperclass.getCache().setType(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL, resourceMappedSuperclass.getCache().getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getSpecifiedType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedType(EclipseLinkCacheType.WEAK); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.FULL, resourceMappedSuperclass.getCache().getType()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.FULL, ormContextCaching.getSpecifiedType()); - - // clear xml cache type, check defaults - resourceMappedSuperclass.getCache().setType(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getType()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheType.WEAK, javaContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheType() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - - // set context cache type, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedType(EclipseLinkCacheType.HARD_WEAK); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheType.HARD_WEAK, resourceMappedSuperclass.getCache().getType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(EclipseLinkCacheType.HARD_WEAK, ormContextCaching.getSpecifiedType()); - - // set context customizer to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedType(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getType()); - assertEquals(EclipseLinkCacheType.SOFT_WEAK, ormContextCaching.getDefaultType()); - assertEquals(null, ormContextCaching.getSpecifiedType()); - } - - public void testUpdateCacheCoordinationType() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // set xml cache type, check settings - resourceMappedSuperclass.getCache().setCoordinationType(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceMappedSuperclass.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - - // set java cache type, check defaults - - javaContextCaching.setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, resourceMappedSuperclass.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.INVALIDATE_CHANGED_OBJECTS, ormContextCaching.getSpecifiedCoordinationType()); - - // clear xml cache type, check defaults - resourceMappedSuperclass.getCache().setCoordinationType(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, javaContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheCoordinationType() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - - // set context cache coordination type, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedCoordinationType(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, resourceMappedSuperclass.getCache().getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES, ormContextCaching.getSpecifiedCoordinationType()); - - // set context coordination type to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedCoordinationType(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getCoordinationType()); - assertEquals(EclipseLinkCacheCoordinationType.SEND_OBJECT_CHANGES, ormContextCaching.getDefaultCoordinationType()); - assertEquals(null, ormContextCaching.getSpecifiedCoordinationType()); - } - - - public void testUpdateCacheSize() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getSize()); - assertEquals(100, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // set xml cache size, check settings - resourceMappedSuperclass.getCache().setSize(new Integer(105)); - assertEquals(new Integer(105), resourceMappedSuperclass.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), resourceMappedSuperclass.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(105, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(105), ormContextCaching.getSpecifiedSize()); - - // clear xml cache size, check defaults - resourceMappedSuperclass.getCache().setSize(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getSize()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.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 - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(50, javaContextCaching.getSize()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - } - - public void testModifyCacheSize() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - - // set context cache size, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedSize(new Integer(50)); - assertEquals(new Integer(50), resourceMappedSuperclass.getCache().getSize()); - assertEquals(50, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(new Integer(50), ormContextCaching.getSpecifiedSize()); - - // set context cache size to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedSize(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(100, ormContextCaching.getSize()); - assertEquals(100, ormContextCaching.getDefaultSize()); - assertEquals(null, ormContextCaching.getSpecifiedSize()); - } - - public void testUpdateCacheAlwaysRefresh() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setAlwaysRefresh(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.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, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setAlwaysRefresh(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setAlwaysRefresh(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getAlwaysRefresh()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.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 - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.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 - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, javaContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(true, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - } - - public void testModifyCacheAlwaysRefresh() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set context cache size, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedAlwaysRefresh(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getCache().getAlwaysRefresh()); - assertEquals(true, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedAlwaysRefresh()); - - // set context cache size to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedAlwaysRefresh(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isAlwaysRefresh()); - assertEquals(false, ormContextCaching.isDefaultAlwaysRefresh()); - assertEquals(null, ormContextCaching.getSpecifiedAlwaysRefresh()); - } - - public void testUpdateCacheRefreshOnlyIfNewer() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getRefreshOnlyIfNewer()); - assertEquals(false, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // set xml cache size, check settings - resourceMappedSuperclass.getCache().setRefreshOnlyIfNewer(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.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, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setRefreshOnlyIfNewer(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setRefreshOnlyIfNewer(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.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 - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.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 - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, javaContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - } - - public void testModifyCacheRefreshOnlyIfNewer() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set context cache size, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedRefreshOnlyIfNewer(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getCache().getRefreshOnlyIfNewer()); - assertEquals(true, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - - // set context cache size to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedRefreshOnlyIfNewer(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isRefreshOnlyIfNewer()); - assertEquals(false, ormContextCaching.isDefaultRefreshOnlyIfNewer()); - assertEquals(null, ormContextCaching.getSpecifiedRefreshOnlyIfNewer()); - } - - public void testUpdateCacheDisableHits() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getDisableHits()); - assertEquals(false, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // set xml cache size, check settings - resourceMappedSuperclass.getCache().setDisableHits(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.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, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setDisableHits(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setDisableHits(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getDisableHits()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.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 - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.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 - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, javaContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(true, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - } - - public void testModifyCacheDisableHits() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - - // set context cache size, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedDisableHits(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.getCache().getDisableHits()); - assertEquals(true, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(Boolean.TRUE, ormContextCaching.getSpecifiedDisableHits()); - - // set context cache size to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedDisableHits(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, ormContextCaching.isDisableHits()); - assertEquals(false, ormContextCaching.isDefaultDisableHits()); - assertEquals(null, ormContextCaching.getSpecifiedDisableHits()); - } - - public void testUpdateCacheShared() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - // set xml cache, check defaults - resourceMappedSuperclass.setCache(EclipseLinkOrmFactory.eINSTANCE.createXmlCache()); - assertEquals(null, resourceMappedSuperclass.getCache().getShared()); - assertEquals(true, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // set xml cache size, check settings - resourceMappedSuperclass.getCache().setShared(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceMappedSuperclass.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, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setShared(Boolean.TRUE); - assertEquals(Boolean.TRUE, resourceMappedSuperclass.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 - resourceMappedSuperclass.getCache().setShared(null); - - assertEquals(null, resourceMappedSuperclass.getCache().getShared()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - - // clear xml cache, check defaults - resourceMappedSuperclass.setCache(null); - - assertEquals(null, resourceMappedSuperclass.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 - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.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 - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(false, javaContextCaching.isShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(false, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - } - - public void testModifyCacheShared() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - - // set context cache size, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedShared(Boolean.FALSE); - assertEquals(Boolean.FALSE, resourceMappedSuperclass.getCache().getShared()); - assertEquals(false, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(Boolean.FALSE, ormContextCaching.getSpecifiedShared()); - - // set context cache size to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedShared(null); - - assertEquals(null, resourceMappedSuperclass.getCache()); - assertEquals(true, ormContextCaching.isShared()); - assertEquals(true, ormContextCaching.isDefaultShared()); - assertEquals(null, ormContextCaching.getSpecifiedShared()); - } - - public void testUpdateExistenceChecking() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaEclipseLinkCaching javaContextCaching = ((JavaEclipseLinkMappedSuperclass) ormPersistentType.getJavaPersistentType().getMapping()).getCaching(); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set xml existence checking, check settings - resourceMappedSuperclass.setExistenceChecking(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - - // set java cache existence checking, check defaults - - javaContextCaching.setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE); - - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // clear xml existence checking, check defaults - resourceMappedSuperclass.setExistenceChecking(null); - - assertEquals(null, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set metadataComplete to True, check defaults not from java - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(Boolean.TRUE); - - assertEquals(null, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_NON_EXISTENCE, javaContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - ormContextMappedSuperclass.setSpecifiedMetadataComplete(null); - } - - public void testModifyExistenceChecking() throws Exception { - createTestMappedSuperclassForCaching(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - EclipseLinkCaching ormContextCaching = ormContextMappedSuperclass.getCaching(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - // check defaults - - assertEquals(null, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - - // set context cache existence checking, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedExistenceType(EclipseLinkExistenceType.ASSUME_EXISTENCE); - assertEquals(org.eclipse.jpt.jpa.eclipselink.core.resource.orm.ExistenceType.ASSUME_EXISTENCE, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(EclipseLinkExistenceType.ASSUME_EXISTENCE, ormContextCaching.getSpecifiedExistenceType()); - - // set context existence checking to null, check resource - - ormContextMappedSuperclass.getCaching().setSpecifiedExistenceType(null); - - assertEquals(null, resourceMappedSuperclass.getExistenceChecking()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getExistenceType()); - assertEquals(EclipseLinkExistenceType.CHECK_DATABASE, ormContextCaching.getDefaultExistenceType()); - assertEquals(null, ormContextCaching.getSpecifiedExistenceType()); - } - public void testUpdateCustomConverters() throws Exception { - createTestMappedSuperclassForConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlConverter resourceConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceMappedSuperclass.getConverters().add(resourceConverter); - resourceConverter.setClassName("Foo"); - resourceConverter.setName("myConverter"); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlConverter resourceConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConverter(); - resourceMappedSuperclass.getConverters().add(0, resourceConverter2); - resourceConverter2.setClassName("Foo2"); - resourceConverter2.setName("myConverter2"); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceMappedSuperclass.getConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getConverters().remove(resourceConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyCustomConverters() throws Exception { - createTestMappedSuperclassForConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter = ormContextConverterHolder.addCustomConverter(0); - contextConverter.setConverterClass("Foo"); - contextConverter.setName("myConverter"); - - assertEquals(1, resourceMappedSuperclass.getConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceMappedSuperclass.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ListIterator<? extends EclipseLinkCustomConverter> ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - EclipseLinkCustomConverter ormContextConverter = ormContextConverters.next(); - assertEquals("Foo", ormContextConverter.getConverterClass()); - assertEquals("myConverter", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkCustomConverter contextConverter2 = ormContextConverterHolder.addCustomConverter(0); - contextConverter2.setConverterClass("Foo2"); - contextConverter2.setName("myConverter2"); - - assertEquals(2, resourceMappedSuperclass.getConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceMappedSuperclass.getConverters().get(0).getName()); - assertEquals("Foo", resourceMappedSuperclass.getConverters().get(1).getClassName()); - assertEquals("myConverter", resourceMappedSuperclass.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveCustomConverter(0, 1); - - assertEquals(2, resourceMappedSuperclass.getConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getConverters().get(0).getClassName()); - assertEquals("myConverter", resourceMappedSuperclass.getConverters().get(0).getName()); - assertEquals("Foo2", resourceMappedSuperclass.getConverters().get(1).getClassName()); - assertEquals("myConverter2", resourceMappedSuperclass.getConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(0); - - assertEquals(1, resourceMappedSuperclass.getConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getConverters().get(0).getClassName()); - assertEquals("myConverter2", resourceMappedSuperclass.getConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getCustomConvertersSize()); - ormContextConverters = ormContextConverterHolder.getCustomConverters().iterator(); - ormContextConverter = ormContextConverters.next(); - assertEquals("Foo2", ormContextConverter.getConverterClass()); - assertEquals("myConverter2", ormContextConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeCustomConverter(contextConverter2); - - assertEquals(0, ormContextConverterHolder.getCustomConvertersSize()); - assertFalse(ormContextConverterHolder.getCustomConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateTypeConverters() throws Exception { - createTestMappedSuperclassForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceMappedSuperclass.getTypeConverters().add(resourceTypeConverter); - resourceTypeConverter.setDataType("Foo"); - resourceTypeConverter.setName("myTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlTypeConverter resourceTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlTypeConverter(); - resourceMappedSuperclass.getTypeConverters().add(0, resourceTypeConverter2); - resourceTypeConverter2.setDataType("Foo2"); - resourceTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceMappedSuperclass.getTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getTypeConverters().remove(resourceTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyTypeConverters() throws Exception { - createTestMappedSuperclassForTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter.setDataType("Foo"); - contextTypeConverter.setName("myTypeConverter"); - - assertEquals(1, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceMappedSuperclass.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ListIterator<? extends EclipseLinkTypeConverter> ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - EclipseLinkTypeConverter ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkTypeConverter contextTypeConverter2 = ormContextConverterHolder.addTypeConverter(0); - contextTypeConverter2.setDataType("Foo2"); - contextTypeConverter2.setName("myTypeConverter2"); - - assertEquals(2, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceMappedSuperclass.getTypeConverters().get(0).getName()); - assertEquals("Foo", resourceMappedSuperclass.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter", resourceMappedSuperclass.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveTypeConverter(0, 1); - - assertEquals(2, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter", resourceMappedSuperclass.getTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceMappedSuperclass.getTypeConverters().get(1).getDataType()); - assertEquals("myTypeConverter2", resourceMappedSuperclass.getTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(0); - - assertEquals(1, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getTypeConverters().get(0).getDataType()); - assertEquals("myTypeConverter2", resourceMappedSuperclass.getTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getTypeConvertersSize()); - ormContextTypeConverters = ormContextConverterHolder.getTypeConverters().iterator(); - ormContextTypeConverter = ormContextTypeConverters.next(); - assertEquals("Foo2", ormContextTypeConverter.getDataType()); - assertEquals("myTypeConverter2", ormContextTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeTypeConverter(contextTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getTypeConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateObjectTypeConverters() throws Exception { - createTestMappedSuperclassForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceMappedSuperclass.getObjectTypeConverters().add(resourceObjectTypeConverter); - resourceObjectTypeConverter.setDataType("Foo"); - resourceObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlObjectTypeConverter resourceObjectTypeConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlObjectTypeConverter(); - resourceMappedSuperclass.getObjectTypeConverters().add(0, resourceObjectTypeConverter2); - resourceObjectTypeConverter2.setDataType("Foo2"); - resourceObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceMappedSuperclass.getObjectTypeConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getObjectTypeConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getObjectTypeConverters().remove(resourceObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyObjectTypeConverters() throws Exception { - createTestMappedSuperclassForObjectTypeConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter.setDataType("Foo"); - contextObjectTypeConverter.setName("myObjectTypeConverter"); - - assertEquals(1, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceMappedSuperclass.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ListIterator<? extends EclipseLinkObjectTypeConverter> ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - EclipseLinkObjectTypeConverter ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkObjectTypeConverter contextObjectTypeConverter2 = ormContextConverterHolder.addObjectTypeConverter(0); - contextObjectTypeConverter2.setDataType("Foo2"); - contextObjectTypeConverter2.setName("myObjectTypeConverter2"); - - assertEquals(2, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceMappedSuperclass.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo", resourceMappedSuperclass.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter", resourceMappedSuperclass.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveObjectTypeConverter(0, 1); - - assertEquals(2, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter", resourceMappedSuperclass.getObjectTypeConverters().get(0).getName()); - assertEquals("Foo2", resourceMappedSuperclass.getObjectTypeConverters().get(1).getDataType()); - assertEquals("myObjectTypeConverter2", resourceMappedSuperclass.getObjectTypeConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(0); - - assertEquals(1, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getObjectTypeConverters().get(0).getDataType()); - assertEquals("myObjectTypeConverter2", resourceMappedSuperclass.getObjectTypeConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getObjectTypeConvertersSize()); - ormContextObjectTypeConverters = ormContextConverterHolder.getObjectTypeConverters().iterator(); - ormContextObjectTypeConverter = ormContextObjectTypeConverters.next(); - assertEquals("Foo2", ormContextObjectTypeConverter.getDataType()); - assertEquals("myObjectTypeConverter2", ormContextObjectTypeConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeObjectTypeConverter(contextObjectTypeConverter2); - - assertEquals(0, ormContextConverterHolder.getObjectTypeConvertersSize()); - assertFalse(ormContextConverterHolder.getObjectTypeConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getObjectTypeConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testUpdateStructConverters() throws Exception { - createTestMappedSuperclassForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the resource model, check context model - XmlStructConverter resourceStructConverter = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceMappedSuperclass.getStructConverters().add(resourceStructConverter); - resourceStructConverter.setConverter("Foo"); - resourceStructConverter.setName("myStructConverter"); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the resource model, check context model - XmlStructConverter resourceStructConverter2 = EclipseLinkOrmFactory.eINSTANCE.createXmlStructConverter(); - resourceMappedSuperclass.getStructConverters().add(0, resourceStructConverter2); - resourceStructConverter2.setConverter("Foo2"); - resourceStructConverter2.setName("myStructConverter2"); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //move a converter in the resource model, check context model - resourceMappedSuperclass.getStructConverters().move(0, 1); - - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(2, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(2, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getStructConverters().remove(0); - - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the resource model, check context model - resourceMappedSuperclass.getStructConverters().remove(resourceStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } - - public void testModifyStructConverters() throws Exception { - createTestMappedSuperclassForStructConverters(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmEclipseLinkMappedSuperclass ormContextMappedSuperclass = (OrmEclipseLinkMappedSuperclass) ormPersistentType.getMapping(); - OrmEclipseLinkConverterContainer ormContextConverterHolder = ormContextMappedSuperclass.getConverterContainer(); - XmlMappedSuperclass resourceMappedSuperclass = (XmlMappedSuperclass) getXmlEntityMappings().getMappedSuperclasses().get(0); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertEquals(0, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add a converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter = ormContextConverterHolder.addStructConverter(0); - contextStructConverter.setConverterClass("Foo"); - contextStructConverter.setName("myStructConverter"); - - assertEquals(1, resourceMappedSuperclass.getStructConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceMappedSuperclass.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ListIterator<? extends EclipseLinkStructConverter> ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - EclipseLinkStructConverter ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //add another converter to the context model, check resource model - EclipseLinkStructConverter contextStructConverter2 = ormContextConverterHolder.addStructConverter(0); - contextStructConverter2.setConverterClass("Foo2"); - contextStructConverter2.setName("myStructConverter2"); - - assertEquals(2, resourceMappedSuperclass.getStructConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceMappedSuperclass.getStructConverters().get(0).getName()); - assertEquals("Foo", resourceMappedSuperclass.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter", resourceMappedSuperclass.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //move a converter in the context model, check resource model - ormContextConverterHolder.moveStructConverter(0, 1); - - assertEquals(2, resourceMappedSuperclass.getStructConverters().size()); - assertEquals("Foo", resourceMappedSuperclass.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter", resourceMappedSuperclass.getStructConverters().get(0).getName()); - assertEquals("Foo2", resourceMappedSuperclass.getStructConverters().get(1).getConverter()); - assertEquals("myStructConverter2", resourceMappedSuperclass.getStructConverters().get(1).getName()); - assertEquals(2, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - 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.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(0); - - assertEquals(1, resourceMappedSuperclass.getStructConverters().size()); - assertEquals("Foo2", resourceMappedSuperclass.getStructConverters().get(0).getConverter()); - assertEquals("myStructConverter2", resourceMappedSuperclass.getStructConverters().get(0).getName()); - assertEquals(1, ormContextConverterHolder.getStructConvertersSize()); - ormContextStructConverters = ormContextConverterHolder.getStructConverters().iterator(); - ormContextStructConverter = ormContextStructConverters.next(); - assertEquals("Foo2", ormContextStructConverter.getConverterClass()); - assertEquals("myStructConverter2", ormContextStructConverter.getName()); - assertEquals(1, CollectionTools.size(persistenceUnit.getAllConverters())); - - //remove a converter from the context model, check resource model - ormContextConverterHolder.removeStructConverter(contextStructConverter2); - - assertEquals(0, ormContextConverterHolder.getStructConvertersSize()); - assertFalse(ormContextConverterHolder.getStructConverters().iterator().hasNext()); - assertEquals(0, resourceMappedSuperclass.getStructConverters().size()); - assertEquals(0, CollectionTools.size(persistenceUnit.getAllConverters())); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java deleted file mode 100644 index c016aa19a1..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java +++ /dev/null @@ -1,529 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConversionValue; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.JavaEclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkObjectTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlConversionValue; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlObjectTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmObjectTypeConverterTests - extends EclipseLinkOrmContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Convert(name=\"foo\")").append(CR); - sb.append(" @ObjectTypeConverter"); - } - }); - } - - - public EclipseLinkOrmObjectTypeConverterTests(String name) { - super(name); - } - - - public void testUpdateDataType() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - //set converter class name in the resource model, verify context model updated - converterResource.setDataType("myConvert"); - assertEquals("myConvert", ormConverter.getDataType()); - assertEquals("myConvert", converterResource.getDataType()); - - //set converter class name to null in the resource model - converterResource.setDataType(null); - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setDataType("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getDataType()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getDataType()); - } - - public void testModifyDataType() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - //set converter class in the context model, verify resource model updated - ormConverter.setDataType("foo"); - assertEquals("foo", ormConverter.getDataType()); - assertEquals("foo", converterResource.getDataType()); - - ormConverter.setDataType(null); - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - } - - public void testUpdateObjectType() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //set converter class name in the resource model, verify context model updated - converterResource.setObjectType("myConvert"); - assertEquals("myConvert", ormConverter.getObjectType()); - assertEquals("myConvert", converterResource.getObjectType()); - - //set converter class name to null in the resource model - converterResource.setObjectType(null); - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setObjectType("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getObjectType()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getObjectType()); - } - - public void testModifyObjectType() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //set converter class in the context model, verify resource model updated - ormConverter.setObjectType("foo"); - assertEquals("foo", ormConverter.getObjectType()); - assertEquals("foo", converterResource.getObjectType()); - - ormConverter.setObjectType(null); - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - } - - public void testUpdateName() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - OrmEclipseLinkObjectTypeConverter ormConverter = (OrmEclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class name in the resource model, verify context model updated - converterResource.setName("myConvert"); - assertEquals("myConvert", ormConverter.getName()); - assertEquals("myConvert", converterResource.getName()); - - //set converter class name to null in the resource model - converterResource.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - EclipseLinkObjectTypeConverter virtualConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setName("bar"); - - assertNull(virtualConverter); - assertEquals("bar", javaConverter.getName()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getName()); - } - - public void testModifyName() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - OrmEclipseLinkObjectTypeConverter ormConverter = (OrmEclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class in the context model, verify resource model updated - ormConverter.setName("foo"); - assertEquals("foo", ormConverter.getName()); - assertEquals("foo", converterResource.getName()); - - ormConverter.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - } - - public void testUpdateDefaultObjectValue() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getDefaultObjectValue()); - assertEquals(null, converterResource.getDefaultObjectValue()); - - //set converter class name in the resource model, verify context model updated - converterResource.setDefaultObjectValue("myConvert"); - assertEquals("myConvert", ormConverter.getDefaultObjectValue()); - assertEquals("myConvert", converterResource.getDefaultObjectValue()); - - //set converter class name to null in the resource model - converterResource.setDefaultObjectValue(null); - assertEquals(null, ormConverter.getDefaultObjectValue()); - assertEquals(null, converterResource.getDefaultObjectValue()); - - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setDefaultObjectValue("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getDefaultObjectValue()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getDefaultObjectValue()); - } - - public void testModifyDefaultObjectValue() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - - assertEquals(null, ormConverter.getDefaultObjectValue()); - assertEquals(null, converterResource.getDefaultObjectValue()); - - //set converter class in the context model, verify resource model updated - ormConverter.setDefaultObjectValue("foo"); - assertEquals("foo", ormConverter.getDefaultObjectValue()); - assertEquals("foo", converterResource.getDefaultObjectValue()); - - ormConverter.setDefaultObjectValue(null); - assertEquals(null, ormConverter.getDefaultObjectValue()); - assertEquals(null, converterResource.getDefaultObjectValue()); - } - - - public void testUpdateConversionValues() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(0, ormConverter.getConversionValuesSize()); - assertEquals(0, converterResource.getConversionValues().size()); - - //add conversion value to resource model, check context model - XmlConversionValue resourceConversionValue = EclipseLinkOrmFactory.eINSTANCE.createXmlConversionValue(); - converterResource.getConversionValues().add(resourceConversionValue); - resourceConversionValue.setDataValue("foo"); - resourceConversionValue.setObjectValue("bar"); - - assertEquals(1, ormConverter.getConversionValuesSize()); - ListIterator<? extends EclipseLinkConversionValue> contextConversionValues = ormConverter.getConversionValues().iterator(); - EclipseLinkConversionValue contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - assertEquals(1, converterResource.getConversionValues().size()); - assertEquals("foo", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(0).getObjectValue()); - - //add a conversion to the beginning of the resource model list - XmlConversionValue xmlConversionValue2 = EclipseLinkOrmFactory.eINSTANCE.createXmlConversionValue(); - converterResource.getConversionValues().add(0, xmlConversionValue2); - xmlConversionValue2.setDataValue("foo2"); - xmlConversionValue2.setObjectValue("bar2"); - - assertEquals(2, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - assertEquals(2, converterResource.getConversionValues().size()); - assertEquals("foo2", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(0).getObjectValue()); - assertEquals("foo", converterResource.getConversionValues().get(1).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(1).getObjectValue()); - - //move a conversion value in the resource model list - - converterResource.getConversionValues().move(0, 1); - assertEquals(2, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - assertEquals(2, converterResource.getConversionValues().size()); - assertEquals("foo", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(0).getObjectValue()); - assertEquals("foo2", converterResource.getConversionValues().get(1).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(1).getObjectValue()); - - //remove a conversion value from the resource model list - - converterResource.getConversionValues().remove(0); - assertEquals(1, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - assertEquals(1, converterResource.getConversionValues().size()); - assertEquals("foo2", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(0).getObjectValue()); - - //clear the conversion value resource model list - converterResource.getConversionValues().clear(); - assertEquals(0, ormConverter.getConversionValuesSize()); - assertEquals(0, converterResource.getConversionValues().size()); - - //add conversion value to java context model, verify does not affect orm context model - - EclipseLinkObjectTypeConverter javaConverter = (EclipseLinkObjectTypeConverter) ((JavaEclipseLinkConvert) javaBasicMapping.getConverter()).getConverter(); - EclipseLinkConversionValue javaConversionValue = javaConverter.addConversionValue(); - javaConversionValue.setDataValue("baz"); - - assertEquals(0, ormConverter.getConversionValuesSize()); - assertEquals(0, converterResource.getConversionValues().size()); - assertEquals(1, javaConverter.getConversionValuesSize()); - - //remove orm attribute mapping, verify virtual mapping has conversion values from java - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - - assertNull(ormConverter); - assertEquals(1, javaConverter.getConversionValuesSize()); - - //set metadata-complete to true, verify virtual mapping ignores the conversion values from java - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - } - - public void testModifyConversionValues() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkObjectTypeConverter.class); - EclipseLinkObjectTypeConverter ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlObjectTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getObjectTypeConverter(); - - assertEquals(0, ormConverter.getConversionValuesSize()); - assertEquals(0, converterResource.getConversionValues().size()); - - //add conversion value to context model, check resource model - EclipseLinkConversionValue contextConversionValue = ormConverter.addConversionValue(); - contextConversionValue.setDataValue("foo"); - contextConversionValue.setObjectValue("bar"); - - assertEquals(1, ormConverter.getConversionValuesSize()); - ListIterator<? extends EclipseLinkConversionValue> contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - assertEquals(1, converterResource.getConversionValues().size()); - assertEquals("foo", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(0).getObjectValue()); - - //add a conversion to the beginning of the context model list - EclipseLinkConversionValue contextConversionValue2 = ormConverter.addConversionValue(0); - contextConversionValue2.setDataValue("foo2"); - contextConversionValue2.setObjectValue("bar2"); - - assertEquals(2, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - assertEquals(2, converterResource.getConversionValues().size()); - assertEquals("foo2", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(0).getObjectValue()); - assertEquals("foo", converterResource.getConversionValues().get(1).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(1).getObjectValue()); - - //move a conversion value in the context model list - - ormConverter.moveConversionValue(0, 1); - assertEquals(2, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo", contextConversionValue.getDataValue()); - assertEquals("bar", contextConversionValue.getObjectValue()); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - assertEquals(2, converterResource.getConversionValues().size()); - assertEquals("foo", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar", converterResource.getConversionValues().get(0).getObjectValue()); - assertEquals("foo2", converterResource.getConversionValues().get(1).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(1).getObjectValue()); - - //remove a conversion value from the context model list - - ormConverter.removeConversionValue(0); - assertEquals(1, ormConverter.getConversionValuesSize()); - contextConversionValues = ormConverter.getConversionValues().iterator(); - contextConversionValue = contextConversionValues.next(); - assertEquals("foo2", contextConversionValue.getDataValue()); - assertEquals("bar2", contextConversionValue.getObjectValue()); - assertEquals(1, converterResource.getConversionValues().size()); - assertEquals("foo2", converterResource.getConversionValues().get(0).getDataValue()); - assertEquals("bar2", converterResource.getConversionValues().get(0).getObjectValue()); - - //clear the conversion value resource model list - ormConverter.removeConversionValue(0); - assertEquals(0, ormConverter.getConversionValuesSize()); - assertEquals(0, converterResource.getConversionValues().size()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java deleted file mode 100644 index fc6bb89af4..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java +++ /dev/null @@ -1,746 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.Cascade; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.JoinTable; -import org.eclipse.jpt.jpa.core.context.OneToManyMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToManyMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkOneToManyMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlOneToMany; -import org.eclipse.jpt.jpa.eclipselink.core.v2_0.context.EclipseLinkOneToManyRelationship2_0; - -@SuppressWarnings("nls") -public class EclipseLinkOrmOneToManyMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmOneToManyMappingTests(String name) { - super(name); - } - - private void createTestDepartment() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("import java.util.Collection;"); - sb.append(CR); - sb.append("import ").append(JPA.JOIN_TABLE).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.JOIN_COLUMN).append(";"); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Department").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" @JoinTable(name=\"DEP_EMP\", joinColumns=@JoinColumn(name=\"DEPT_ID\"), inverseJoinColumns=@JoinColumn(name=\"EMP_ID\"))").append(CR); - sb.append(" private Collection<Employee> employees;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Department.java", sourceWriter); - } - - private void createTestEmployee() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Employee").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int empId;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Employee.java", sourceWriter); - } - - private void createTestTargetEntityAddress() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import "); - sb.append(JPA.ENTITY); - sb.append(";"); - sb.append(CR); - sb.append("import "); - sb.append(JPA.ID); - sb.append(";"); - sb.append(CR); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Address").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" private String city;").append(CR); - sb.append(CR); - sb.append(" private State state;").append(CR); - sb.append(CR); - sb.append(" private int zip;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Address.java", sourceWriter); - } - - private void createTestEntityWithOneToManyMapping() throws Exception { - createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany").append(CR); - } - }); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - for (OrmReadOnlyPersistentAttribute each : ormPersistentType.getAttributes()) { - each.convertToSpecified(); - } - } - - private ICompilationUnit createTestEntityWithValidMapOneToManyMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @OneToMany").append(CR); - sb.append(" private java.util.Map<String, Address> addresses;").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithValidNonGenericMapOneToManyMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY, JPA.ID); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @OneToMany").append(CR); - sb.append(" private java.util.Map addresses;").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - } - }); - } - - private void createTestEmbeddableState() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import "); - sb.append(JPA.EMBEDDABLE); - sb.append(";"); - sb.append(CR); - sb.append("@Embeddable"); - sb.append(CR); - sb.append("public class ").append("State").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" private String foo;").append(CR); - sb.append(CR); - sb.append(" private Address address;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "State.java", sourceWriter); - } - - private ICompilationUnit createTestEntityOneToManyMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_MANY, JPA.FETCH_TYPE, JPA.CASCADE_TYPE, JPA.ORDER_BY, EclipseLink.JOIN_FETCH, EclipseLink.JOIN_FETCH_TYPE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @OneToMany(fetch=FetchType.EAGER, targetEntity=Address.class, cascade={CascadeType.ALL, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH})"); - sb.append(CR); - sb.append(" @OrderBy(\"city\""); - sb.append(CR); - sb.append(" @JoinFetch(JoinFetchType.INNER)"); - sb.append(" private java.util.Collection<Address> address;").append(CR); - sb.append(CR); - sb.append(" @Id"); - } - }); - } - - public void testUpdatePrivateOwned() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToMany"); - EclipseLinkOneToManyMapping contextOneToMany = - (EclipseLinkOneToManyMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity) getXmlEntityMappings().getEntities().get(0); - XmlOneToMany resourceOneToMany = - (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - // check defaults - - assertFalse(resourceOneToMany.isPrivateOwned()); - assertFalse(contextOneToMany.getPrivateOwned().isPrivateOwned()); - - // set xml private owned to true, check context - - resourceOneToMany.setPrivateOwned(true); - - assertTrue(resourceOneToMany.isPrivateOwned()); - assertTrue(contextOneToMany.getPrivateOwned().isPrivateOwned()); - - // set xml private owned back to false, check context - - resourceOneToMany.setPrivateOwned(false); - - assertFalse(resourceOneToMany.isPrivateOwned()); - assertFalse(contextOneToMany.getPrivateOwned().isPrivateOwned()); - } - - public void testModifyPrivateOwned() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToMany"); - EclipseLinkOneToManyMapping contextOneToMany = - (EclipseLinkOneToManyMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlOneToMany resourceOneToMany = - (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - // check defaults - - assertFalse(resourceOneToMany.isPrivateOwned()); - assertFalse(contextOneToMany.getPrivateOwned().isPrivateOwned()); - - // set context private owned to true, check resource - - contextOneToMany.getPrivateOwned().setPrivateOwned(true); - - assertTrue(resourceOneToMany.isPrivateOwned()); - assertTrue(contextOneToMany.getPrivateOwned().isPrivateOwned()); - - // set context private owned back to false, check resource - - contextOneToMany.getPrivateOwned().setPrivateOwned(false); - - assertFalse(resourceOneToMany.isPrivateOwned()); - assertFalse(contextOneToMany.getPrivateOwned().isPrivateOwned()); - } - - public void testUpdateJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToMany"); - EclipseLinkOneToManyMapping contextOneToMany = - (EclipseLinkOneToManyMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity) getXmlEntityMappings().getEntities().get(0); - XmlOneToMany resourceOneToMany = - (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - // check defaults - - assertNull(resourceOneToMany.getJoinFetch()); - assertNull(contextOneToMany.getJoinFetch().getValue()); - - // set xml join fetch to INNER, check context - - resourceOneToMany.setJoinFetch(XmlJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceOneToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextOneToMany.getJoinFetch().getValue()); - - // set xml join fetch to OUTER, check context - - resourceOneToMany.setJoinFetch(XmlJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceOneToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextOneToMany.getJoinFetch().getValue()); - - // set xml join fetch to null, check context - - resourceOneToMany.setJoinFetch(null); - - assertNull(resourceOneToMany.getJoinFetch()); - assertNull(contextOneToMany.getJoinFetch().getValue()); - } - - public void testModifyJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "oneToMany"); - EclipseLinkOneToManyMapping contextOneToMany = - (EclipseLinkOneToManyMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlOneToMany resourceOneToMany = - (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - // check defaults - - assertNull(resourceOneToMany.getJoinFetch()); - assertNull(contextOneToMany.getJoinFetch().getValue()); - - // set context join fetch to INNER, check resource - - contextOneToMany.getJoinFetch().setValue(EclipseLinkJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceOneToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextOneToMany.getJoinFetch().getValue()); - - // set context join fetch to OUTER, check resource - - contextOneToMany.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceOneToMany.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextOneToMany.getJoinFetch().getValue()); - - // set context join fetch to null, check resource - - contextOneToMany.getJoinFetch().setValue(null); - - assertNull(resourceOneToMany.getJoinFetch()); - assertNull(contextOneToMany.getJoinFetch().getValue()); - } - - public void testJoinFetchDefault() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - EclipseLinkOneToManyMapping oneToMany = (EclipseLinkOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - - assertNull(oneToMany.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - oneToMany = (EclipseLinkOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - assertNull(oneToMany.getJoinFetch().getValue()); - - EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employees").getMapping(); - javaRelationshipMapping.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - assertNull(oneToMany.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - oneToMany = (EclipseLinkOneToManyMapping) departmentPersistentType.getAttributeNamed("employees").getMapping(); - assertEquals(EclipseLinkJoinFetchType.OUTER, oneToMany.getJoinFetch().getValue()); - } - - public void testDefaultJoinTable() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - OrmReadOnlyPersistentAttribute attribute = departmentPersistentType.getAttributeNamed("employees"); - OneToManyMapping oneToMany = (OneToManyMapping) attribute.getMapping(); - - assertEquals(true, attribute.isVirtual()); - JoinTable ormJoinTable = oneToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("DEP_EMP", ormJoinTable.getName()); - assertEquals("DEPT_ID", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getName()); - assertEquals("id", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getReferencedColumnName()); - assertEquals("EMP_ID", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getName()); - assertEquals("empId", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getReferencedColumnName()); - - //set metadata-complete and verify JoinTable info is not taken from the java - departmentPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - departmentPersistentType.addSpecifiedAttribute(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, "id"); - attribute = departmentPersistentType.getAttributeNamed("employees"); - oneToMany = (OneToManyMapping) attribute.getMapping(); - - assertEquals(true, attribute.isVirtual()); - ormJoinTable = oneToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("Department_Employee", ormJoinTable.getName()); - assertEquals("Department_id", ormJoinTable.getDefaultJoinColumn().getName()); - assertEquals("id", ormJoinTable.getDefaultJoinColumn().getReferencedColumnName()); - assertEquals("employees_empId", ormJoinTable.getDefaultInverseJoinColumn().getName()); - assertEquals("empId", ormJoinTable.getDefaultInverseJoinColumn().getReferencedColumnName()); - - //set metadata-complete to false, add mapping to orm.xml verify JoinTable info is not taken from the java - departmentPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.FALSE); - attribute = departmentPersistentType.getAttributeNamed("employees"); - oneToMany = (OneToManyMapping) attribute.getMapping(); - assertEquals(true, attribute.isVirtual()); - ormJoinTable = oneToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("DEP_EMP", ormJoinTable.getName()); - assertEquals("DEPT_ID", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getName()); - assertEquals("id", ormJoinTable.getSpecifiedJoinColumns().iterator().next().getReferencedColumnName()); - assertEquals("EMP_ID", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getName()); - assertEquals("empId", ormJoinTable.getSpecifiedInverseJoinColumns().iterator().next().getReferencedColumnName()); - - - departmentPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, "employees"); - attribute = departmentPersistentType.getAttributeNamed("employees"); - oneToMany = (OneToManyMapping) attribute.getMapping(); - assertEquals(false, attribute.isVirtual()); - ormJoinTable = oneToMany.getRelationship().getJoinTableStrategy().getJoinTable(); - assertEquals("Department_Employee", ormJoinTable.getName()); - assertEquals(0, ormJoinTable.getSpecifiedJoinColumnsSize()); - assertEquals("Department_id", ormJoinTable.getDefaultJoinColumn().getName()); - assertEquals("id", ormJoinTable.getDefaultJoinColumn().getReferencedColumnName()); - assertEquals(0, ormJoinTable.getSpecifiedInverseJoinColumnsSize()); - assertEquals("employees_empId", ormJoinTable.getDefaultInverseJoinColumn().getName()); - assertEquals("empId", ormJoinTable.getDefaultInverseJoinColumn().getReferencedColumnName()); - } - - public void testUpdateVirtualMapKey() throws Exception { - createTestEntityWithValidMapOneToManyMapping(); - createTestTargetEntityAddress(); - createTestEmbeddableState(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, PACKAGE_NAME + ".State"); - - OneToManyMapping ormOneToManyMapping = (OneToManyMapping) ormPersistentType.getAttributeNamed("addresses").getMapping(); - JavaOneToManyMapping javaOneToManyMapping = (JavaOneToManyMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("addresses").getMapping(); - assertNull(ormOneToManyMapping.getSpecifiedMapKey()); - assertNull(ormOneToManyMapping.getMapKey()); - assertFalse(ormOneToManyMapping.isPkMapKey()); - assertFalse(ormOneToManyMapping.isCustomMapKey()); - assertTrue(ormOneToManyMapping.isNoMapKey()); - - //set pk mapKey in the java, verify virtual orm mapping updates - javaOneToManyMapping.setPkMapKey(true); - assertEquals("id", ormOneToManyMapping.getMapKey()); - assertTrue(ormOneToManyMapping.isPkMapKey()); - assertFalse(ormOneToManyMapping.isCustomMapKey()); - assertFalse(ormOneToManyMapping.isNoMapKey()); - - - //set custom specified mapKey in the java, verify virtual orm mapping updates - javaOneToManyMapping.setCustomMapKey(true); - javaOneToManyMapping.setSpecifiedMapKey("city"); - assertEquals("city", ormOneToManyMapping.getSpecifiedMapKey()); - assertEquals("city", ormOneToManyMapping.getMapKey()); - assertFalse(ormOneToManyMapping.isPkMapKey()); - assertTrue(ormOneToManyMapping.isCustomMapKey()); - assertFalse(ormOneToManyMapping.isNoMapKey()); - - //set metadata complete and verify that the orm model ignores the java annotations - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormOneToManyMapping = (OneToManyMapping) ormPersistentType.getAttributeNamed("addresses").getMapping(); - assertEquals(null, ormOneToManyMapping.getSpecifiedMapKey()); - assertEquals(null, ormOneToManyMapping.getMapKey()); - assertFalse(ormOneToManyMapping.isPkMapKey()); - assertFalse(ormOneToManyMapping.isCustomMapKey()); - assertTrue(ormOneToManyMapping.isNoMapKey()); - } - - public void testCandidateMapKeyNames() throws Exception { - createTestEntityWithValidMapOneToManyMapping(); - createTestTargetEntityAddress(); - createTestEmbeddableState(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, PACKAGE_NAME + ".State"); - - OneToManyMapping oneToManyMapping = (OneToManyMapping) ormPersistentType.getAttributeNamed("addresses").getMapping(); - - Iterator<String> mapKeyNames = - oneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals("id", mapKeyNames.next()); - assertEquals("city", mapKeyNames.next()); - assertEquals("state", mapKeyNames.next()); - assertEquals("zip", mapKeyNames.next()); - assertFalse(mapKeyNames.hasNext()); - } - - public void testCandidateMapKeyNames2() throws Exception { - createTestEntityWithValidNonGenericMapOneToManyMapping(); - createTestTargetEntityAddress(); - createTestEmbeddableState(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, PACKAGE_NAME + ".State"); - - OneToManyMapping ormOneToManyMapping = (OneToManyMapping) ormPersistentType.getAttributeNamed("addresses").getMapping(); - JavaOneToManyMapping javaOneToManyMapping = (JavaOneToManyMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("addresses").getMapping(); - - Iterator<String> mapKeyNames = ormOneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals(false, mapKeyNames.hasNext()); - - javaOneToManyMapping.setSpecifiedTargetEntity("test.Address"); - mapKeyNames = ormOneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals("id", mapKeyNames.next()); - assertEquals("city", mapKeyNames.next()); - assertEquals("state", mapKeyNames.next()); - assertEquals("zip", mapKeyNames.next()); - assertFalse(mapKeyNames.hasNext()); - - ormPersistentType.getAttributeNamed("addresses").convertToSpecified(); - ormOneToManyMapping = (OneToManyMapping) ormPersistentType.getAttributeNamed("addresses").getMapping(); - mapKeyNames = ormOneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals(false, mapKeyNames.hasNext()); - - ormOneToManyMapping.setSpecifiedTargetEntity("test.Address"); - mapKeyNames = ormOneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals("id", mapKeyNames.next()); - assertEquals("city", mapKeyNames.next()); - assertEquals("state", mapKeyNames.next()); - assertEquals("zip", mapKeyNames.next()); - assertFalse(mapKeyNames.hasNext()); - - ormOneToManyMapping.setSpecifiedTargetEntity("String"); - mapKeyNames = ormOneToManyMapping.getCandidateMapKeyNames().iterator(); - assertEquals(false, mapKeyNames.hasNext()); - } - - public void testModifyPredominantJoiningStrategy() throws Exception { - createTestEntityWithOneToManyMapping(); - OrmPersistentType contextType = getEntityMappings().getPersistentType(FULLY_QUALIFIED_TYPE_NAME); - OrmReadOnlyPersistentAttribute contextAttribute = contextType.getAttributeNamed("id"); - OrmEclipseLinkOneToManyMapping contextMapping = (OrmEclipseLinkOneToManyMapping) contextAttribute.getMapping(); - EclipseLinkOneToManyRelationship2_0 rel = contextMapping.getRelationship(); - XmlEntity resourceEntity = (XmlEntity) contextType.getMapping().getXmlTypeMapping(); - XmlOneToMany resourceMapping = (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - rel.setStrategyToJoinColumn(); - assertFalse(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - rel.setStrategyToMappedBy(); - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNotNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - rel.setStrategyToJoinTable(); - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - } - - public void testUpdatePredominantJoiningStrategy() throws Exception { - createTestEntityWithOneToManyMapping(); - OrmPersistentType contextType = getEntityMappings().getPersistentType(FULLY_QUALIFIED_TYPE_NAME); - OrmReadOnlyPersistentAttribute contextAttribute = contextType.getAttributeNamed("id"); - OrmEclipseLinkOneToManyMapping contextMapping = (OrmEclipseLinkOneToManyMapping) contextAttribute.getMapping(); - EclipseLinkOneToManyRelationship2_0 rel = contextMapping.getRelationship(); - XmlEntity resourceEntity = (XmlEntity) contextType.getMapping().getXmlTypeMapping(); - XmlOneToMany resourceMapping = (XmlOneToMany) resourceEntity.getAttributes().getOneToManys().get(0); - - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - resourceMapping.setMappedBy("foo"); - getJpaProject().synchronizeContextModel(); - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNotNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - resourceMapping.setJoinTable(OrmFactory.eINSTANCE.createXmlJoinTable()); - getJpaProject().synchronizeContextModel(); - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNotNull(resourceMapping.getJoinTable()); - assertNotNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - resourceMapping.getJoinColumns().add(OrmFactory.eINSTANCE.createXmlJoinColumn()); - getJpaProject().synchronizeContextModel(); - assertFalse(resourceMapping.getJoinColumns().isEmpty()); - assertNotNull(resourceMapping.getJoinTable()); - assertNotNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertTrue(rel.strategyIsMappedBy()); - - resourceMapping.setMappedBy(null); - getJpaProject().synchronizeContextModel(); - assertFalse(resourceMapping.getJoinColumns().isEmpty()); - assertNotNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - resourceMapping.setJoinTable(null); - getJpaProject().synchronizeContextModel(); - assertFalse(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertTrue(rel.strategyIsJoinColumn()); - assertFalse(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - - resourceMapping.getJoinColumns().clear(); - getJpaProject().synchronizeContextModel(); - assertTrue(resourceMapping.getJoinColumns().isEmpty()); - assertNull(resourceMapping.getJoinTable()); - assertNull(resourceMapping.getMappedBy()); - assertFalse(rel.strategyIsJoinColumn()); - assertTrue(rel.strategyIsJoinTable()); - assertFalse(rel.strategyIsMappedBy()); - } - - public void testVirtualMappingMetadataCompleteFalse() throws Exception { - createTestEntityOneToManyMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - - EclipseLinkOneToManyMapping virtualOneToManyMapping = (EclipseLinkOneToManyMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", virtualOneToManyMapping.getName()); - assertEquals(FetchType.EAGER, virtualOneToManyMapping.getSpecifiedFetch()); - assertEquals("Address", virtualOneToManyMapping.getSpecifiedTargetEntity()); - assertNull(virtualOneToManyMapping.getRelationship(). - getMappedByStrategy().getMappedByAttribute()); - - Cascade cascade = virtualOneToManyMapping.getCascade(); - assertTrue(cascade.isAll()); - assertTrue(cascade.isMerge()); - assertTrue(cascade.isPersist()); - assertTrue(cascade.isRemove()); - assertTrue(cascade.isRefresh()); - - assertTrue(virtualOneToManyMapping.getOrderable().isCustomOrdering()); - assertEquals("city", virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy()); - - assertEquals(EclipseLinkJoinFetchType.INNER, virtualOneToManyMapping.getJoinFetch().getValue()); - } - - public void testVirtualMappingMetadataCompleteTrue() throws Exception { - createTestEntityOneToManyMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getAttributeNamed("address"); - - assertEquals(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY, virtualPersistentAttribute.getMappingKey()); - - EclipseLinkOneToManyMapping virtualOneToManyMapping = (EclipseLinkOneToManyMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", virtualOneToManyMapping.getName()); - assertEquals(FetchType.LAZY, virtualOneToManyMapping.getFetch()); - assertEquals("test.Address", virtualOneToManyMapping.getTargetEntity()); - assertNull(virtualOneToManyMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - - Cascade cascade = virtualOneToManyMapping.getCascade(); - assertFalse(cascade.isAll()); - assertFalse(cascade.isMerge()); - assertFalse(cascade.isPersist()); - assertFalse(cascade.isRemove()); - assertFalse(cascade.isRefresh()); - - assertTrue(virtualOneToManyMapping.getOrderable().isNoOrdering()); - assertEquals(null, virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy()); - - assertEquals(null, virtualOneToManyMapping.getJoinFetch().getValue()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java deleted file mode 100644 index bf93e31d9a..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToOneMappingTests.java +++ /dev/null @@ -1,455 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.Cascade; -import org.eclipse.jpt.jpa.core.context.FetchType; -import org.eclipse.jpt.jpa.core.context.JoinColumn; -import org.eclipse.jpt.jpa.core.context.OneToOneMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkOneToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkRelationshipMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkOneToOneMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlJoinFetchType; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlOneToOne; - -@SuppressWarnings("nls") -public class EclipseLinkOrmOneToOneMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmOneToOneMappingTests(String name) { - super(name); - } - - private void createTestDepartment() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append(CR); - sb.append("import ").append(JPA.ONE_TO_ONE).append(";"); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Department").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" @OneToOne").append(CR); - sb.append(" private Employee employee;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Department.java", sourceWriter); - } - - private void createTestEmployee() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import ").append(JPA.ENTITY).append(";"); - sb.append(CR); - sb.append("import ").append(JPA.ID).append(";"); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Employee").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int empId;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Employee.java", sourceWriter); - } - - private ICompilationUnit createTestEntityOneToOneMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_ONE, JPA.JOIN_COLUMN, JPA.FETCH_TYPE, JPA.CASCADE_TYPE, EclipseLink.JOIN_FETCH, EclipseLink.JOIN_FETCH_TYPE, EclipseLink.PRIVATE_OWNED); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" @OneToOne(fetch=FetchType.LAZY, optional=false, targetEntity=Address.class, cascade={CascadeType.ALL, CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH})"); - sb.append(CR); - sb.append(" @JoinColumn(name=\"MY_COLUMN\", referencedColumnName=\"MY_REFERENCED_COLUMN\", unique=true, nullable=false, insertable=false, updatable=false, columnDefinition=\"COLUMN_DEFINITION\", table=\"MY_TABLE\")"); - sb.append(CR); - sb.append(" @JoinFetch(JoinFetchType.INNER)"); - sb.append(CR); - sb.append(" @PrivateOwned)"); - sb.append(CR); - sb.append(" private Address address;").append(CR); - sb.append(CR); - sb.append(" @Id"); - } - }); - } - - private void createTestTargetEntityAddress() throws Exception { - SourceWriter sourceWriter = new SourceWriter() { - public void appendSourceTo(StringBuilder sb) { - sb.append(CR); - sb.append("import "); - sb.append(JPA.ENTITY); - sb.append(";"); - sb.append(CR); - sb.append("import "); - sb.append(JPA.ID); - sb.append(";"); - sb.append(CR); - sb.append(CR); - sb.append("@Entity"); - sb.append(CR); - sb.append("public class ").append("Address").append(" "); - sb.append("{").append(CR); - sb.append(CR); - sb.append(" @Id").append(CR); - sb.append(" private int id;").append(CR); - sb.append(CR); - sb.append(" private String city;").append(CR); - sb.append(CR); - sb.append(" private State state;").append(CR); - sb.append(CR); - sb.append(" private int zip;").append(CR); - sb.append(CR); - sb.append("}").append(CR); - } - }; - this.javaProject.createCompilationUnit(PACKAGE_NAME, "Address.java", sourceWriter); - } - - public void testUpdatePrivateOwned() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOne"); - EclipseLinkOneToOneMapping contextOneToOne = - (EclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlOneToOne resourceOneToOne = - (XmlOneToOne) resourceEntity.getAttributes().getOneToOnes().get(0); - - // check defaults - - assertFalse(resourceOneToOne.isPrivateOwned()); - assertFalse(contextOneToOne.getPrivateOwned().isPrivateOwned()); - - // set xml private owned to true, check context - - resourceOneToOne.setPrivateOwned(true); - - assertTrue(resourceOneToOne.isPrivateOwned()); - assertTrue(contextOneToOne.getPrivateOwned().isPrivateOwned()); - - // set xml private owned back to false, check context - - resourceOneToOne.setPrivateOwned(false); - - assertFalse(resourceOneToOne.isPrivateOwned()); - assertFalse(contextOneToOne.getPrivateOwned().isPrivateOwned()); - } - - public void testModifyPrivateOwned() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOne"); - EclipseLinkOneToOneMapping contextOneToOne = - (EclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlOneToOne resourceOneToOne = - (XmlOneToOne) resourceEntity.getAttributes().getOneToOnes().get(0); - - // check defaults - - assertFalse(resourceOneToOne.isPrivateOwned()); - assertFalse(contextOneToOne.getPrivateOwned().isPrivateOwned()); - - // set context private owned to true, check resource - - contextOneToOne.getPrivateOwned().setPrivateOwned(true); - - assertTrue(resourceOneToOne.isPrivateOwned()); - assertTrue(contextOneToOne.getPrivateOwned().isPrivateOwned()); - - // set context private owned back to false, check resource - - contextOneToOne.getPrivateOwned().setPrivateOwned(false); - } - - public void testUpdateJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOne"); - EclipseLinkOneToOneMapping contextOneToOne = - (EclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity) getXmlEntityMappings().getEntities().get(0); - XmlOneToOne resourceOneToOne = - (XmlOneToOne) resourceEntity.getAttributes().getOneToOnes().get(0); - - // check defaults - - assertNull(resourceOneToOne.getJoinFetch()); - assertNull(contextOneToOne.getJoinFetch().getValue()); - - // set xml join fetch to INNER, check context - - resourceOneToOne.setJoinFetch(XmlJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceOneToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextOneToOne.getJoinFetch().getValue()); - - // set xml join fetch to OUTER, check context - - resourceOneToOne.setJoinFetch(XmlJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceOneToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextOneToOne.getJoinFetch().getValue()); - - // set xml join fetch to null, check context - - resourceOneToOne.setJoinFetch(null); - - assertNull(resourceOneToOne.getJoinFetch()); - assertNull(contextOneToOne.getJoinFetch().getValue()); - } - - public void testModifyJoinFetch() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "oneToOne"); - EclipseLinkOneToOneMapping contextOneToOne = - (EclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlOneToOne resourceOneToOne = - (XmlOneToOne) resourceEntity.getAttributes().getOneToOnes().get(0); - - // check defaults - - assertNull(resourceOneToOne.getJoinFetch()); - assertNull(contextOneToOne.getJoinFetch().getValue()); - - // set context join fetch to INNER, check resource - - contextOneToOne.getJoinFetch().setValue(EclipseLinkJoinFetchType.INNER); - - assertEquals(XmlJoinFetchType.INNER, resourceOneToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.INNER, contextOneToOne.getJoinFetch().getValue()); - - // set context join fetch to OUTER, check resource - - contextOneToOne.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - - assertEquals(XmlJoinFetchType.OUTER, resourceOneToOne.getJoinFetch()); - assertEquals(EclipseLinkJoinFetchType.OUTER, contextOneToOne.getJoinFetch().getValue()); - - // set context join fetch to null, check resource - - contextOneToOne.getJoinFetch().setValue(null); - - assertNull(resourceOneToOne.getJoinFetch()); - assertNull(contextOneToOne.getJoinFetch().getValue()); - } - - public void testJoinFetchDefaultFromJava() throws Exception { - createTestEmployee(); - createTestDepartment(); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Department"); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Employee"); - - OrmPersistentType departmentPersistentType = getEntityMappings().getPersistentTypes().iterator().next(); - EclipseLinkOneToOneMapping oneToOne = (EclipseLinkOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - - assertNull(oneToOne.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - oneToOne = (EclipseLinkOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertNull(oneToOne.getJoinFetch().getValue()); - - EclipseLinkRelationshipMapping javaRelationshipMapping = (EclipseLinkRelationshipMapping) departmentPersistentType.getJavaPersistentType().getAttributeNamed("employee").getMapping(); - javaRelationshipMapping.getJoinFetch().setValue(EclipseLinkJoinFetchType.OUTER); - assertNull(oneToOne.getJoinFetch().getValue()); - - getEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - oneToOne = (EclipseLinkOneToOneMapping) departmentPersistentType.getAttributeNamed("employee").getMapping(); - assertEquals(EclipseLinkJoinFetchType.OUTER, oneToOne.getJoinFetch().getValue()); - } - - public void testVirtualMappingMetadataCompleteFalse() throws Exception { - createTestEntityOneToOneMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - - OneToOneMapping virtualOneToOneMapping = (OneToOneMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", virtualOneToOneMapping.getName()); - assertEquals(FetchType.LAZY, virtualOneToOneMapping.getSpecifiedFetch()); - assertEquals(Boolean.FALSE, virtualOneToOneMapping.getSpecifiedOptional()); - assertEquals("Address", virtualOneToOneMapping.getSpecifiedTargetEntity()); - assertNull(virtualOneToOneMapping.getRelationship(). - getMappedByStrategy().getMappedByAttribute()); - - JoinColumn virtualJoinColumn = - virtualOneToOneMapping.getRelationship().getJoinColumnStrategy().getSpecifiedJoinColumns().iterator().next(); - assertEquals("MY_COLUMN", virtualJoinColumn.getSpecifiedName()); - assertEquals("MY_REFERENCED_COLUMN", virtualJoinColumn.getSpecifiedReferencedColumnName()); - assertEquals(Boolean.TRUE, virtualJoinColumn.getSpecifiedUnique()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedNullable()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedInsertable()); - assertEquals(Boolean.FALSE, virtualJoinColumn.getSpecifiedUpdatable()); - assertEquals("COLUMN_DEFINITION", virtualJoinColumn.getColumnDefinition()); - assertEquals("MY_TABLE", virtualJoinColumn.getSpecifiedTable()); - - Cascade cascade = virtualOneToOneMapping.getCascade(); - assertTrue(cascade.isAll()); - assertTrue(cascade.isMerge()); - assertTrue(cascade.isPersist()); - assertTrue(cascade.isRemove()); - assertTrue(cascade.isRefresh()); - - assertEquals(EclipseLinkJoinFetchType.INNER, ((EclipseLinkJoinFetchMapping) virtualOneToOneMapping).getJoinFetch().getValue()); - assertTrue(((EclipseLinkOneToOneMapping) virtualOneToOneMapping).getPrivateOwned().isPrivateOwned()); - } - - public void testVirtualMappingMetadataCompleteTrue() throws Exception { - createTestEntityOneToOneMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - OrmReadOnlyPersistentAttribute virtualPersistentAttribute = ormPersistentType.getAttributeNamed("address"); - - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, virtualPersistentAttribute.getMappingKey()); - assertTrue(virtualPersistentAttribute.isVirtual()); - - EclipseLinkOneToOneMapping ormOneToOneMapping = (EclipseLinkOneToOneMapping) virtualPersistentAttribute.getMapping(); - assertEquals("address", ormOneToOneMapping.getName()); - assertEquals(FetchType.EAGER, ormOneToOneMapping.getFetch()); - assertEquals(true, ormOneToOneMapping.isOptional()); - assertEquals("test.Address", ormOneToOneMapping.getTargetEntity()); - assertNull(ormOneToOneMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - - //TODO default join columns in xml one-to-one -// XmlJoinColumn ormJoinColumn = ormOneToOneMapping.specifiedJoinColumns().next(); -// //TODO java default columns name in JavaSingleRelationshipMapping.JoinColumnOwner -// //assertEquals("address", ormJoinColumn.getSpecifiedName()); -// //assertEquals("address", ormJoinColumn.getSpecifiedReferencedColumnName()); -// assertEquals(Boolean.FALSE, ormJoinColumn.getSpecifiedUnique()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getSpecifiedNullable()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getSpecifiedInsertable()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getSpecifiedUpdatable()); -// assertNull(ormJoinColumn.getColumnDefinition()); -// assertEquals(TYPE_NAME, ormJoinColumn.getSpecifiedTable()); - - Cascade cascade = ormOneToOneMapping.getCascade(); - assertFalse(cascade.isAll()); - assertFalse(cascade.isMerge()); - assertFalse(cascade.isPersist()); - assertFalse(cascade.isRemove()); - assertFalse(cascade.isRefresh()); - - assertEquals(null, ormOneToOneMapping.getJoinFetch().getValue()); - assertFalse(ormOneToOneMapping.getPrivateOwned().isPrivateOwned()); - } - - public void testSpecifiedMapping() throws Exception { - createTestEntityOneToOneMapping(); - createTestTargetEntityAddress(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, PACKAGE_NAME + ".Address"); - - ormPersistentType.addSpecifiedAttribute(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, "address"); - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - OrmEclipseLinkOneToOneMapping ormOneToOneMapping = (OrmEclipseLinkOneToOneMapping) ormPersistentAttribute.getMapping(); - - assertEquals("address", ormOneToOneMapping.getName()); - assertNull(ormOneToOneMapping.getSpecifiedFetch()); - assertNull(ormOneToOneMapping.getSpecifiedOptional()); - assertNull(ormOneToOneMapping.getSpecifiedTargetEntity()); - assertNull(ormOneToOneMapping.getRelationship().getMappedByStrategy().getMappedByAttribute()); - assertEquals(FetchType.EAGER, ormOneToOneMapping.getFetch()); - assertEquals(true, ormOneToOneMapping.isOptional()); - //TODO default target entity in xml - //assertEquals("test.Address", ormOneToOneMapping.getDefaultTargetEntity()); - - assertTrue(ormOneToOneMapping.getRelationship().getJoinColumnStrategy().getJoinColumnsSize() > 0); - - //TODO default join columns for specified xmlOneToOne mapping -// XmlJoinColumn ormJoinColumn = ormOneToOneMapping.defaultJoinColumns().next(); -// assertNull(ormJoinColumn.getSpecifiedName()); -// assertNull(ormJoinColumn.getSpecifiedReferencedColumnName()); -// assertNull(ormJoinColumn.getSpecifiedUnique()); -// assertNull(ormJoinColumn.getSpecifiedNullable()); -// assertNull(ormJoinColumn.getSpecifiedInsertable()); -// assertNull(ormJoinColumn.getSpecifiedUpdatable()); -// assertNull(ormJoinColumn.getColumnDefinition()); -// assertNull(ormJoinColumn.getSpecifiedTable()); -// -// assertEquals("address", ormJoinColumn.getDefaultName()); -// assertEquals("address", ormJoinColumn.getDefaultReferencedColumnName()); -// assertEquals(Boolean.FALSE, ormJoinColumn.getDefaultUnique()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getDefaultNullable()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getDefaultInsertable()); -// assertEquals(Boolean.TRUE, ormJoinColumn.getDefaultUpdatable()); -// assertEquals(null, ormJoinColumn.getColumnDefinition()); -// assertEquals(TYPE_NAME, ormJoinColumn.getDefaultTable()); - - Cascade cascade = ormOneToOneMapping.getCascade(); - assertFalse(cascade.isAll()); - assertFalse(cascade.isMerge()); - assertFalse(cascade.isPersist()); - assertFalse(cascade.isRemove()); - assertFalse(cascade.isRefresh()); - - assertEquals(null, ormOneToOneMapping.getJoinFetch().getValue()); - assertFalse(ormOneToOneMapping.getPrivateOwned().isPrivateOwned()); - } - -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmPersistentAttributeTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmPersistentAttributeTests.java deleted file mode 100644 index c7ba83fc09..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmPersistentAttributeTests.java +++ /dev/null @@ -1,322 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.Kind; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.AccessType; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.IdMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaNullAttributeMapping; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkIdMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkOneToOneMapping; - -@SuppressWarnings("nls") -public class EclipseLinkOrmPersistentAttributeTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmPersistentAttributeTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - XmlMappingFileRef mappingFileRef = PersistenceFactory.eINSTANCE.createXmlMappingFileRef(); - mappingFileRef.setFileName(JptJpaCorePlugin.DEFAULT_ORM_XML_RUNTIME_PATH.toString()); - getXmlPersistenceUnit().getMappingFiles().add(mappingFileRef); - getPersistenceXmlResource().save(null); - } - - private ICompilationUnit createTestTypeNullAttributeMapping() throws Exception { - - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" private Address address;").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestEntityIdMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, JPA.COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id"); - sb.append("@Column(name=\"FOO\")"); - } - }); - } - - private ICompilationUnit createTestEntityOneToOneMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ONE_TO_ONE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne"); - sb.append(" private Address address;"); - } - }); - } - - public void testMakeSpecified() throws Exception { - createTestType(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - assertEquals("id", ormPersistentAttribute.getName()); - assertTrue(ormPersistentAttribute.isVirtual()); - ormPersistentAttribute.convertToSpecified(); - - assertEquals(1, ormPersistentType.getVirtualAttributesSize()); - assertEquals(1, ormPersistentType.getSpecifiedAttributesSize()); - OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - assertEquals("id", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - - ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - ormPersistentAttribute.convertToSpecified(); - - assertEquals(0, ormPersistentType.getVirtualAttributesSize()); - assertEquals(2, ormPersistentType.getSpecifiedAttributesSize()); - Iterator<OrmPersistentAttribute> specifiedAttributes = ormPersistentType.getSpecifiedAttributes().iterator(); - specifiedOrmPersistentAttribute = specifiedAttributes.next(); - assertEquals("id", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - - specifiedOrmPersistentAttribute = specifiedAttributes.next(); - assertEquals("name", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - } - - public void testMakeSpecifiedMappingKey() throws Exception { - createTestTypeNullAttributeMapping(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - assertEquals(3, ormPersistentType.getVirtualAttributesSize()); - - //take a virtual mapping with a mapping type and make it specified - OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - assertEquals("address", ormPersistentAttribute.getName()); - assertTrue(ormPersistentAttribute.isVirtual()); - assertTrue(ormPersistentAttribute.getMapping() instanceof GenericJavaNullAttributeMapping); - ormPersistentAttribute.convertToSpecified(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY); - - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - assertEquals(1, ormPersistentType.getSpecifiedAttributesSize()); - OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - assertEquals("address", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - assertEquals(specifiedOrmPersistentAttribute.getMappingKey(), MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY); - assertTrue(specifiedOrmPersistentAttribute.getMapping() instanceof OrmEclipseLinkOneToOneMapping); - - ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - ormPersistentAttribute.convertToSpecified(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY); - - assertEquals(1, ormPersistentType.getVirtualAttributesSize()); - assertEquals(2, ormPersistentType.getSpecifiedAttributesSize()); - Iterator<OrmPersistentAttribute> specifiedAttributes = ormPersistentType.getSpecifiedAttributes().iterator(); - - specifiedOrmPersistentAttribute = specifiedAttributes.next(); - assertEquals("id", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - assertTrue(specifiedOrmPersistentAttribute.getMapping() instanceof OrmEclipseLinkIdMapping); - - specifiedOrmPersistentAttribute = specifiedAttributes.next(); - assertEquals("address", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - } - - public void testMakeVirtual() throws Exception { - createTestType(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - - ormPersistentType.getVirtualAttributes().iterator().next().convertToSpecified(); - ormPersistentType.getVirtualAttributes().iterator().next().convertToSpecified(); - - assertEquals(0, ormPersistentType.getVirtualAttributesSize()); - assertEquals(2, ormPersistentType.getSpecifiedAttributesSize()); - OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - assertEquals("id", specifiedOrmPersistentAttribute.getName()); - assertFalse(specifiedOrmPersistentAttribute.isVirtual()); - - specifiedOrmPersistentAttribute.convertToVirtual(); - assertEquals(1, ormPersistentType.getVirtualAttributesSize()); - assertEquals(1, ormPersistentType.getSpecifiedAttributesSize()); - - specifiedOrmPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - specifiedOrmPersistentAttribute.convertToVirtual(); - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - assertEquals(0, ormPersistentType.getSpecifiedAttributesSize()); - - Iterator<OrmReadOnlyPersistentAttribute> virtualAttributes = ormPersistentType.getVirtualAttributes().iterator(); - OrmReadOnlyPersistentAttribute virtualAttribute = virtualAttributes.next(); - assertEquals("id", virtualAttribute.getName()); - virtualAttribute = virtualAttributes.next(); - assertEquals("name", virtualAttribute.getName()); - } - - public void testMakeVirtualNoUnderlyingJavaAttribute() throws Exception { - createTestType(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - assertEquals(2, ormPersistentType.getVirtualAttributesSize()); - - ormPersistentType.getVirtualAttributes().iterator().next().convertToSpecified(); - ormPersistentType.getVirtualAttributes().iterator().next().convertToSpecified(); - - - ormPersistentType.getSpecifiedAttributes().iterator().next().getMapping().setName("noJavaAttribute"); - assertEquals(1, ormPersistentType.getVirtualAttributesSize()); - assertEquals(2, ormPersistentType.getSpecifiedAttributesSize()); - - - OrmPersistentAttribute specifiedOrmPersistentAttribute = ormPersistentType.getSpecifiedAttributes().iterator().next(); - specifiedOrmPersistentAttribute.convertToVirtual(); - assertEquals(1, ormPersistentType.getVirtualAttributesSize()); - assertEquals(1, ormPersistentType.getSpecifiedAttributesSize()); - - assertEquals("id", ormPersistentType.getVirtualAttributes().iterator().next().getName()); - assertEquals("name", ormPersistentType.getSpecifiedAttributes().iterator().next().getName()); - } - - public void testVirtualMappingTypeWhenMetadataComplete() throws Exception { - createTestEntityIdMapping(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - assertEquals("id", ormPersistentAttribute.getName()); - assertEquals(MappingKeys.ID_ATTRIBUTE_MAPPING_KEY, ormPersistentAttribute.getMappingKey()); - assertEquals("FOO", ((IdMapping) ormPersistentAttribute.getMapping()).getColumn().getName()); - - - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - - ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); - assertEquals("id", ormPersistentAttribute.getName()); - assertEquals(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, ormPersistentAttribute.getMappingKey()); - assertEquals("id", ((BasicMapping) ormPersistentAttribute.getMapping()).getColumn().getName()); - } - - public void testVirtualMappingTypeWhenMetadataComplete2() throws Exception { - createTestEntityOneToOneMapping(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getVirtualAttributes().iterator().next(); - assertEquals("address", ormPersistentAttribute.getName()); - assertEquals(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY, ormPersistentAttribute.getMappingKey()); - - - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - - ormPersistentAttribute = ormPersistentType.getAttributeNamed("address"); - assertEquals("address", ormPersistentAttribute.getName()); - assertEquals(MappingKeys.NULL_ATTRIBUTE_MAPPING_KEY, ormPersistentAttribute.getMappingKey()); - } - - public void testGetJavaPersistentAttribute() throws Exception { - createTestEntityIdMapping(); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - JavaPersistentType javaPersistentType = ormPersistentType.getJavaPersistentType(); - - OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); - JavaPersistentAttribute javaPersistentAttribute = javaPersistentType.getAttributeNamed("id"); - - //virtual orm attribute, access type matches java : FIELD, name matches java - assertTrue(ormPersistentAttribute.isVirtual()); - assertNotSame(javaPersistentAttribute, ormPersistentAttribute.getJavaPersistentAttribute()); - JavaResourceAttribute javaResourceAttribute = ormPersistentAttribute.getJavaPersistentAttribute().getResourceAttribute(); - assertTrue(javaResourceAttribute.getKind() == Kind.FIELD); - assertEquals("id", javaResourceAttribute.getName()); - assertEquals(javaPersistentType.getJavaResourceType().getFields().iterator().next(), javaResourceAttribute); - - - //specified orm attribute, access type matches java : FIELD, name matches java - //javaPersistentAttribute should be == to java context model object - ormPersistentAttribute.convertToSpecified(); - ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); - assertFalse(ormPersistentAttribute.isVirtual()); - assertEquals(javaPersistentAttribute, ormPersistentAttribute.getJavaPersistentAttribute()); - - - //virtual orm attribute, java access type FIELD, orm access type PROPERTY, name matches java - //verify both the property java resource attribute and the field java resource attribute are used in orm - //because the field is annotated and property is specified - ((OrmPersistentAttribute) ormPersistentAttribute).convertToVirtual(); - ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); - ormPersistentType.setSpecifiedAccess(AccessType.PROPERTY); - ListIterator<OrmReadOnlyPersistentAttribute> attributes = ormPersistentType.getAttributes().iterator(); - OrmReadOnlyPersistentAttribute idFieldAttribute = attributes.next(); - OrmReadOnlyPersistentAttribute idPropertyAttribute = attributes.next(); - assertEquals(ormPersistentAttribute, idFieldAttribute); - assertNotSame(ormPersistentAttribute, idPropertyAttribute); - ormPersistentAttribute = idPropertyAttribute; - assertNotSame(javaPersistentAttribute, ormPersistentAttribute.getJavaPersistentAttribute()); - assertEquals(AccessType.FIELD, javaPersistentAttribute.getAccess()); - assertEquals(AccessType.PROPERTY, ormPersistentAttribute.getJavaPersistentAttribute().getAccess()); - assertEquals(AccessType.FIELD, idFieldAttribute.getJavaPersistentAttribute().getAccess()); - javaResourceAttribute = ormPersistentAttribute.getJavaPersistentAttribute().getResourceAttribute(); - assertEquals("id", javaResourceAttribute.getName()); - assertEquals(javaPersistentType.getJavaResourceType().getMethods().iterator().next(), javaResourceAttribute); - - - ormPersistentType.setSpecifiedAccess(null);//default access will be field - ormPersistentAttribute = ormPersistentType.getAttributeNamed("id"); - OrmPersistentAttribute ormPersistentAttribute2 = ormPersistentAttribute.convertToSpecified(); - ormPersistentAttribute2.getMapping().setName("id2"); - assertEquals(null, ormPersistentAttribute2.getJavaPersistentAttribute()); - - ormPersistentAttribute2.getMapping().setName(null); - assertEquals(null, ormPersistentAttribute2.getJavaPersistentAttribute()); - - ormPersistentAttribute2.getMapping().setName("id"); - assertEquals(javaPersistentAttribute, ormPersistentAttribute2.getJavaPersistentAttribute()); - - - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - assertEquals(javaPersistentAttribute, ormPersistentAttribute2.getJavaPersistentAttribute()); - } - -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java deleted file mode 100644 index 09ee7543f5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkStructConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlStructConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmStructConverterTests - extends EclipseLinkOrmContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.CONVERT, EclipseLink.STRUCT_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Convert(name=\"foo\")").append(CR); - sb.append(" @StructConverter"); - } - }); - } - - - public EclipseLinkOrmStructConverterTests(String name) { - super(name); - } - - - public void testUpdateConverter() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkStructConverter.class); - EclipseLinkStructConverter ormConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlStructConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getStructConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getConverter()); - - //set converter class name in the resource model, verify context model updated - converterResource.setConverter("myConvert"); - assertEquals("myConvert", ormConverter.getConverterClass()); - assertEquals("myConvert", converterResource.getConverter()); - - //set converter class name to null in the resource model - converterResource.setConverter(null); - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getConverter()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkStructConverter javaConverter = ((EclipseLinkStructConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setConverterClass("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getConverterClass()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getConverterClass()); - } - - public void testModifyConverter() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkStructConverter.class); - EclipseLinkStructConverter ormConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlStructConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getStructConverter(); - - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getConverter()); - - //set converter class in the context model, verify resource model updated - ormConverter.setConverterClass("foo"); - assertEquals("foo", ormConverter.getConverterClass()); - assertEquals("foo", converterResource.getConverter()); - - ormConverter.setConverterClass(null); - assertEquals(null, ormConverter.getConverterClass()); - assertEquals(null, converterResource.getConverter()); - } - - public void testUpdateName() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkStructConverter.class); - OrmEclipseLinkStructConverter ormConverter = (OrmEclipseLinkStructConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlStructConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getStructConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class name in the resource model, verify context model updated - converterResource.setName("myConvert"); - assertEquals("myConvert", ormConverter.getName()); - assertEquals("myConvert", converterResource.getName()); - - //set converter class name to null in the resource model - converterResource.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - EclipseLinkStructConverter virtualConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkStructConverter javaConverter = ((EclipseLinkStructConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setName("bar"); - - assertNull(virtualConverter); - assertEquals("bar", javaConverter.getName()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getVirtualAttributes().iterator().next(); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getName()); - } - - public void testModifyName() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkStructConverter.class); - OrmEclipseLinkStructConverter ormConverter = (OrmEclipseLinkStructConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlStructConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getStructConverter(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class in the context model, verify resource model updated - ormConverter.setName("foo"); - assertEquals("foo", ormConverter.getName()); - assertEquals("foo", converterResource.getName()); - - ormConverter.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTransientMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTransientMappingTests.java deleted file mode 100644 index 1af98f5581..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTransientMappingTests.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class EclipseLinkOrmTransientMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmTransientMappingTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntityWithTransientMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.TRANSIENT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Transient").append(CR); - } - }); - } - - public void testCreateTransientMapping() throws Exception { - createTestEntityWithTransientMapping(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - - OrmReadOnlyPersistentAttribute persistentAttribute = ormPersistentType.getAttributeNamed("id"); - assertTrue(persistentAttribute.isVirtual()); - assertEquals(MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY, persistentAttribute.getMappingKey()); - - OrmPersistentAttribute persistentAttribute2 = persistentAttribute.convertToSpecified(MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY); - assertFalse(persistentAttribute2.isVirtual()); - assertEquals(MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY, persistentAttribute2.getMappingKey()); - assertEquals(MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY, persistentAttribute2.getMapping().getKey()); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java deleted file mode 100644 index f4917577a5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java +++ /dev/null @@ -1,261 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.BasicMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmBasicMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkTypeConverter; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlBasic; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeConverter; - -@SuppressWarnings("nls") -public class EclipseLinkOrmTypeConverterTests - extends EclipseLinkOrmContextModelTestCase -{ - - private ICompilationUnit createTestEntityWithBasicMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.BASIC, EclipseLink.CONVERT, EclipseLink.TYPE_CONVERTER); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic").append(CR); - sb.append(" @Convert(name=\"foo\")").append(CR); - sb.append(" @TypeConverter"); - } - }); - } - - - public EclipseLinkOrmTypeConverterTests(String name) { - super(name); - } - - - public void testUpdateDataType() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - EclipseLinkTypeConverter ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - //set converter class name in the resource model, verify context model updated - converterResource.setDataType("myConvert"); - assertEquals("myConvert", ormConverter.getDataType()); - assertEquals("myConvert", converterResource.getDataType()); - - //set converter class name to null in the resource model - converterResource.setDataType(null); - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setDataType("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getDataType()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getDataType()); - } - - public void testModifyDataType() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - EclipseLinkTypeConverter ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - - //set converter class in the context model, verify resource model updated - ormConverter.setDataType("foo"); - assertEquals("foo", ormConverter.getDataType()); - assertEquals("foo", converterResource.getDataType()); - - ormConverter.setDataType(null); - assertEquals(null, ormConverter.getDataType()); - assertEquals(null, converterResource.getDataType()); - } - - public void testUpdateObjectType() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = (OrmBasicMapping) ormPersistentAttribute.getMapping(); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - EclipseLinkTypeConverter ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //set converter class name in the resource model, verify context model updated - converterResource.setObjectType("myConvert"); - assertEquals("myConvert", ormConverter.getObjectType()); - assertEquals("myConvert", converterResource.getObjectType()); - - //set converter class name to null in the resource model - converterResource.setObjectType(null); - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setObjectType("bar"); - - assertNull(ormConverter); - assertEquals("bar", javaConverter.getObjectType()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getObjectType()); - } - - public void testModifyObjectType() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - EclipseLinkTypeConverter ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - - //set converter class in the context model, verify resource model updated - ormConverter.setObjectType("foo"); - assertEquals("foo", ormConverter.getObjectType()); - assertEquals("foo", converterResource.getObjectType()); - - ormConverter.setObjectType(null); - assertEquals(null, ormConverter.getObjectType()); - assertEquals(null, converterResource.getObjectType()); - } - - public void testUpdateName() throws Exception { - createTestEntityWithBasicMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "id"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - OrmEclipseLinkTypeConverter ormConverter = (OrmEclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - JavaBasicMapping javaBasicMapping = (JavaBasicMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class name in the resource model, verify context model updated - converterResource.setName("myConvert"); - assertEquals("myConvert", ormConverter.getName()); - assertEquals("myConvert", converterResource.getName()); - - //set converter class name to null in the resource model - converterResource.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //remove the specified persistent attribute, test virtual mapping - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - EclipseLinkTypeConverter virtualConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter(); - EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter()); - javaConverter.setName("bar"); - - assertNull(virtualConverter); - assertEquals("bar", javaConverter.getName()); - - //set metadata-complete, test virtual mapping - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getVirtualAttributes().iterator().next(); - virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping(); - - assertNull(virtualBasicMapping.getConverter().getType()); - assertEquals("bar", javaConverter.getName()); - } - - public void testModifyName() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmBasicMapping ormBasicMapping = ((OrmBasicMapping) ormPersistentAttribute.getMapping()); - ormBasicMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) ormBasicMapping.getConverter()).setConverter(EclipseLinkTypeConverter.class); - OrmEclipseLinkTypeConverter ormConverter = (OrmEclipseLinkTypeConverter) ((EclipseLinkConvert) ormBasicMapping.getConverter()).getConverter(); - XmlTypeConverter converterResource = ((XmlBasic) getXmlEntityMappings().getEntities().get(0).getAttributes().getBasics().get(0)).getTypeConverter(); - - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - - //set converter class in the context model, verify resource model updated - ormConverter.setName("foo"); - assertEquals("foo", ormConverter.getName()); - assertEquals("foo", converterResource.getName()); - - ormConverter.setName(null); - assertEquals(null, ormConverter.getName()); - assertEquals(null, converterResource.getName()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmVersionMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmVersionMappingTests.java deleted file mode 100644 index e9483bac5f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmVersionMappingTests.java +++ /dev/null @@ -1,387 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.orm; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.VersionMapping; -import org.eclipse.jpt.jpa.core.context.java.JavaVersionMapping; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.orm.OrmReadOnlyPersistentAttribute; -import org.eclipse.jpt.jpa.core.context.orm.OrmVersionMapping; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkBasicMapping; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert; -import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkVersionMapping; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.OrmEclipseLinkVersionMapping; -import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlVersion; - -@SuppressWarnings("nls") -public class EclipseLinkOrmVersionMappingTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkOrmVersionMappingTests(String name) { - super(name); - } - - private ICompilationUnit createTestEntityWithVersionMapping() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithMutableVersionDate() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.VERSION, EclipseLink.MUTABLE, "java.util.Date"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity").append(CR); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version").append(CR); - sb.append(" @Mutable").append(CR); - sb.append(" private Date myDate;").append(CR); - sb.append(CR); - sb.append(" "); - } - }); - } - - public void testUpdateMutable() throws Exception { - createTestEntityWithVersionMapping(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY, "id"); - OrmEclipseLinkVersionMapping contextVersion = - (OrmEclipseLinkVersionMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlVersion resourceVersion = - (XmlVersion) resourceEntity.getAttributes().getVersions().get(0); - EclipseLinkVersionMapping javaVersionMapping = (EclipseLinkVersionMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - // check defaults - - assertNull(resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceVersion.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceVersion.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceVersion.setMutable(null); - - assertNull(resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - // TODO - test defaults for java serializable and date/time types, - // with and without persistence property - - // set mutable on java basic mapping - - javaVersionMapping.getMutable().setSpecifiedMutable(Boolean.FALSE); - assertNull(resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - assertFalse(javaVersionMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkVersionMapping virtualContextVersion = (EclipseLinkVersionMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceVersion.getMutable()); - assertTrue(virtualContextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, virtualContextVersion.getMutable().getSpecifiedMutable()); - assertFalse(virtualContextVersion.getMutable().isMutable()); - assertFalse(javaVersionMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - EclipseLinkBasicMapping contextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceVersion.getMutable()); - assertTrue(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertTrue(contextBasic.getMutable().isMutable()); - assertFalse(javaVersionMapping.getMutable().isMutable()); - } - - public void testUpdateMutableDate() throws Exception { - createTestEntityWithMutableVersionDate(); - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY, "myDate"); - OrmEclipseLinkVersionMapping contextVersion = - (OrmEclipseLinkVersionMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlVersion resourceVersion = - (XmlVersion) resourceEntity.getAttributes().getVersions().get(0); - EclipseLinkVersionMapping javaVersionMapping = (EclipseLinkVersionMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("myDate").getMapping(); - - // check defaults - - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set xml mutable to false, check context - - resourceVersion.setMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set xml mutable to true, check context - - resourceVersion.setMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - // clear xml mutable, check context - - resourceVersion.setMutable(null); - - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.TRUE); - assertNull(resourceVersion.getMutable()); - assertTrue(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(Boolean.FALSE); - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - getPersistenceUnit().getOptions().setTemporalMutable(null); - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set mutable on java version mapping - - javaVersionMapping.getMutable().setSpecifiedMutable(Boolean.TRUE); - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - assertTrue(javaVersionMapping.getMutable().isMutable()); - - // remove attribute from xml, test default mutable from java - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - EclipseLinkVersionMapping virtualContextVersion = (EclipseLinkVersionMapping) ormPersistentAttribute2.getMapping(); - - assertNull(resourceVersion.getMutable()); - assertFalse(virtualContextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, virtualContextVersion.getMutable().getSpecifiedMutable()); - assertTrue(virtualContextVersion.getMutable().isMutable()); - assertTrue(javaVersionMapping.getMutable().isMutable()); - - // set metadata complete - ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE); - ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("myDate"); - EclipseLinkBasicMapping contextBasic = (EclipseLinkBasicMapping) ormPersistentAttribute2.getMapping(); - assertNull(resourceVersion.getMutable()); - assertFalse(contextBasic.getMutable().isDefaultMutable()); - assertNull(contextBasic.getMutable().getSpecifiedMutable()); - assertFalse(contextBasic.getMutable().isMutable()); - assertTrue(javaVersionMapping.getMutable().isMutable()); - } - - public void testModifyMutable() throws Exception { - OrmPersistentType ormPersistentType = - getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = - ormPersistentType.addSpecifiedAttribute(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY, "basic"); - OrmEclipseLinkVersionMapping contextVersion = - (OrmEclipseLinkVersionMapping) ormPersistentAttribute.getMapping(); - XmlEntity resourceEntity = - (XmlEntity)getXmlEntityMappings().getEntities().get(0); - XmlVersion resourceVersion = - (XmlVersion) resourceEntity.getAttributes().getVersions().get(0); - - // check defaults - - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set context mutable to true, check resource - - contextVersion.getMutable().setSpecifiedMutable(Boolean.TRUE); - - assertEquals(Boolean.TRUE, resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.TRUE, contextVersion.getMutable().getSpecifiedMutable()); - assertTrue(contextVersion.getMutable().isMutable()); - - // set context mutable to false, check resource - - contextVersion.getMutable().setSpecifiedMutable(Boolean.FALSE); - - assertEquals(Boolean.FALSE, resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertEquals(Boolean.FALSE, contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - - // set context read only to null, check resource - - contextVersion.getMutable().setSpecifiedMutable(null); - - assertNull(resourceVersion.getMutable()); - assertFalse(contextVersion.getMutable().isDefaultMutable()); - assertNull(contextVersion.getMutable().getSpecifiedMutable()); - assertFalse(contextVersion.getMutable().isMutable()); - } - - public void testUpdateConvert() throws Exception { - createTestEntityWithVersionMapping(); - - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY, "id"); - OrmVersionMapping ormVersionMapping = (OrmVersionMapping) ormPersistentAttribute.getMapping(); - XmlVersion basicResource = (XmlVersion) getXmlEntityMappings().getEntities().get(0).getAttributes().getVersions().get(0); - JavaVersionMapping javaVersionMapping = (JavaVersionMapping) ormPersistentType.getJavaPersistentType().getAttributeNamed("id").getMapping(); - - assertNull(ormVersionMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob in the resource model, verify context model updated - basicResource.setConvert("myConvert"); - assertEquals(EclipseLinkConvert.class, ormVersionMapping.getConverter().getType()); - assertEquals("myConvert", basicResource.getConvert()); - - //set lob to null in the resource model - basicResource.setConvert(null); - assertNull(ormVersionMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - - javaVersionMapping.setConverter(EclipseLinkConvert.class); - ((EclipseLinkConvert) javaVersionMapping.getConverter()).setSpecifiedConverterName("foo"); - - assertNull(ormVersionMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaVersionMapping.getConverter()).getSpecifiedConverterName()); - - - ormPersistentAttribute.convertToVirtual(); - OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id"); - VersionMapping virtualVersionMapping = (VersionMapping) ormPersistentAttribute2.getMapping(); - - assertEquals(EclipseLinkConvert.class, virtualVersionMapping.getConverter().getType()); - assertEquals("foo", ((EclipseLinkConvert) virtualVersionMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("foo", ((EclipseLinkConvert) javaVersionMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) javaVersionMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals(EclipseLinkConvert.class, virtualVersionMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) virtualVersionMapping.getConverter()).getSpecifiedConverterName()); - assertEquals(null, basicResource.getConvert()); - assertEquals("bar", ((EclipseLinkConvert) javaVersionMapping.getConverter()).getSpecifiedConverterName()); - - javaVersionMapping.setConverter(null); - assertNull(virtualVersionMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - assertNull(javaVersionMapping.getConverter().getType()); - } - - public void testModifyConvert() throws Exception { - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - OrmPersistentAttribute ormPersistentAttribute = ormPersistentType.addSpecifiedAttribute(MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY, "basicMapping"); - OrmVersionMapping ormVersionMapping = (OrmVersionMapping) ormPersistentAttribute.getMapping(); - XmlVersion basicResource = (XmlVersion) getXmlEntityMappings().getEntities().get(0).getAttributes().getVersions().get(0); - - assertNull(ormVersionMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - - //set lob in the context model, verify resource model updated - ormVersionMapping.setConverter(EclipseLinkConvert.class); - assertEquals("", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormVersionMapping.getConverter().getType()); - - ((EclipseLinkConvert) ormVersionMapping.getConverter()).setSpecifiedConverterName("bar"); - assertEquals("bar", basicResource.getConvert()); - assertEquals(EclipseLinkConvert.class, ormVersionMapping.getConverter().getType()); - assertEquals("bar", ((EclipseLinkConvert) ormVersionMapping.getConverter()).getSpecifiedConverterName()); - - ((EclipseLinkConvert) ormVersionMapping.getConverter()).setSpecifiedConverterName(null); - - assertNull(ormVersionMapping.getConverter().getType()); - assertEquals(null, basicResource.getConvert()); - - //set lob to false in the context model - ormVersionMapping.setConverter(null); - assertNull(ormVersionMapping.getConverter().getType()); - assertNull(basicResource.getConvert()); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitDefaultsTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitDefaultsTests.java deleted file mode 100644 index 493a9512b7..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitDefaultsTests.java +++ /dev/null @@ -1,369 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm; - -import org.eclipse.jpt.jpa.core.context.AccessType; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistenceUnitDefaults; -import org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata; -import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlPersistenceUnitDefaults; - -@SuppressWarnings("nls") -public class EclipseLinkPersistenceUnitDefaultsTests extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkPersistenceUnitDefaultsTests(String name) { - super(name); - } - - - @Override - protected void setUp() throws Exception { - super.setUp(); - XmlMappingFileRef mappingFileRef = PersistenceFactory.eINSTANCE.createXmlMappingFileRef(); - mappingFileRef.setFileName(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.toString()); - getXmlPersistenceUnit().getMappingFiles().add(mappingFileRef); - getPersistenceXmlResource().save(null); - } - - protected OrmPersistenceUnitDefaults persistenceUnitDefaults() { - return getEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults(); - } - - public void testIsAllFeaturesUnset() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - XmlPersistenceUnitMetadata persistenceUnitMetadata = EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata(); - getXmlEntityMappings().setPersistenceUnitMetadata(persistenceUnitMetadata); - assertTrue(persistenceUnitMetadata.isUnset()); - - XmlPersistenceUnitDefaults persistenceUnitDefaultsResource = EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults(); - persistenceUnitMetadata.setPersistenceUnitDefaults(persistenceUnitDefaultsResource); - assertTrue(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setCascadePersist(true); - assertFalse(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setCascadePersist(false); - assertTrue(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setSchema("asdf"); - assertFalse(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setSchema(null); - assertTrue(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setCatalog("asdf"); - assertFalse(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setCatalog(null); - assertTrue(persistenceUnitDefaultsResource.isUnset()); - - - persistenceUnitDefaultsResource.setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY); - assertFalse(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD); - assertFalse(persistenceUnitDefaultsResource.isUnset()); - - persistenceUnitDefaultsResource.setAccess(null); - assertTrue(persistenceUnitDefaultsResource.isUnset()); - } - - public void testUpdateSchema() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set schema in the resource model, verify context model updated - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSchema("MY_SCHEMA"); - assertEquals("MY_SCHEMA", persistenceUnitDefaults.getSchema()); - assertEquals("MY_SCHEMA", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - - //set schema to null in the resource model - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSchema(null); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - } - - public void testModifySchema() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set schema in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedSchema("MY_SCHEMA"); - assertEquals("MY_SCHEMA", persistenceUnitDefaults.getSchema()); - assertEquals("MY_SCHEMA", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - - //set schema to null in the context model - persistenceUnitDefaults.setSpecifiedSchema(null); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - } - - public void testModifySchema2() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set schema in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedSchema("MY_SCHEMA"); - assertEquals("MY_SCHEMA", persistenceUnitDefaults.getSchema()); - assertEquals("MY_SCHEMA", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - - //set another element on the persistence-unit-defaults element so it doesn't get removed - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCatalog("MY_CATALOG"); - //set schema to null in the context model - persistenceUnitDefaults.setSpecifiedSchema(null); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - } - - public void testModifySchema3() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - //set another element on the persistence-unit-metadata element so only persistence-unit-defaults element gets removed - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - - //set schema in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedSchema("MY_SCHEMA"); - assertEquals("MY_SCHEMA", persistenceUnitDefaults.getSchema()); - assertEquals("MY_SCHEMA", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getSchema()); - - //set schema to null in the context model - persistenceUnitDefaults.setSpecifiedSchema(null); - assertNull(persistenceUnitDefaults.getSchema()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults()); - } - - public void testUpdateCatalog() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set catalog in the resource model, verify context model updated - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCatalog("MY_CATALOG"); - assertEquals("MY_CATALOG", persistenceUnitDefaults.getCatalog()); - assertEquals("MY_CATALOG", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - - //set catalog to null in the resource model - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCatalog(null); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - } - - public void testModifyCatalog() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set catalog in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedCatalog("MY_CATALOG"); - assertEquals("MY_CATALOG", persistenceUnitDefaults.getCatalog()); - assertEquals("MY_CATALOG", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - - //set catalog to null in the context model - persistenceUnitDefaults.setSpecifiedCatalog(null); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - } - - public void testModifyCatalog2() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set catalog in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedCatalog("MY_CATALOG"); - assertEquals("MY_CATALOG", persistenceUnitDefaults.getCatalog()); - assertEquals("MY_CATALOG", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - - //set another element on the persistence-unit-defaults element so it doesn't get removed - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setSchema("MY_SCHEMA"); - //set catalog to null in the context model - persistenceUnitDefaults.setSpecifiedCatalog(null); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - } - - public void testModifyCatalog3() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - //set another element on the persistence-unit-metadata element so only persistence-unit-defaults element gets removed - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - - //set catalog in the context model, verify resource model modified - persistenceUnitDefaults.setSpecifiedCatalog("MY_CATALOG"); - assertEquals("MY_CATALOG", persistenceUnitDefaults.getCatalog()); - assertEquals("MY_CATALOG", getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getCatalog()); - - //set catalog to null in the context model - persistenceUnitDefaults.setSpecifiedCatalog(null); - assertNull(persistenceUnitDefaults.getCatalog()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults()); - } - - public void testUpdateCascadePersist() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set cascadePersist in the resource model, verify context model updated - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCascadePersist(true); - assertTrue(persistenceUnitDefaults.isCascadePersist()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - - //set cascadePersist to null in the resource model, persistence-unit-defaults tag not removed - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCascadePersist(false); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertFalse(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - } - - public void testModifyCascadePersist() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set cascadePersist in the context model, verify resource model modified - persistenceUnitDefaults.setCascadePersist(true); - assertTrue(persistenceUnitDefaults.isCascadePersist()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - - //set cascadePersist to null in the context model - persistenceUnitDefaults.setCascadePersist(false); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - } - - public void testModifyCascadePersist2() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set cascadePersist in the context model, verify resource model modified - persistenceUnitDefaults.setCascadePersist(true); - assertTrue(persistenceUnitDefaults.isCascadePersist()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - - //set another element on the persistence-unit-defaults element so it doesn't get removed - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCatalog("MY_CATALOG"); - //set cascadePersist to null in the context model - persistenceUnitDefaults.setCascadePersist(false); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertFalse(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - } - - public void testModifyCascadePersist3() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - //set another element on the persistence-unit-metadata element so only persistence-unit-defaults element gets removed - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - - //set cascadePersist in the context model, verify resource model modified - persistenceUnitDefaults.setCascadePersist(true); - assertTrue(persistenceUnitDefaults.isCascadePersist()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().isCascadePersist()); - - //set cascadePersist to null in the context model - persistenceUnitDefaults.setCascadePersist(false); - assertFalse(persistenceUnitDefaults.isCascadePersist()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults()); - } - - - public void testUpdateAccess() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set access in the resource model, verify context model updated - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setAccess(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD); - assertEquals(AccessType.FIELD, persistenceUnitDefaults.getAccess()); - assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD, getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - - //set access to null in the resource model - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setAccess(null); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - } - - public void testModifyAccess() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set access in the context model, verify resource model modified - persistenceUnitDefaults.setAccess(AccessType.PROPERTY); - assertEquals(AccessType.PROPERTY, persistenceUnitDefaults.getAccess()); - assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY, getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - - //set access to null in the context model - persistenceUnitDefaults.setAccess(null); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - } - - public void testModifyAccess2() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set access in the context model, verify resource model modified - persistenceUnitDefaults.setAccess(AccessType.FIELD); - assertEquals(AccessType.FIELD, persistenceUnitDefaults.getAccess()); - assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD, getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - - //set another element on the persistence-unit-defaults element so it doesn't get removed - getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().setCascadePersist(true); - //set access to null in the context model - persistenceUnitDefaults.setAccess(null); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - } - - public void testModifyAccess3() throws Exception { - OrmPersistenceUnitDefaults persistenceUnitDefaults = persistenceUnitDefaults(); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - //set another element on the persistence-unit-metadata element so only persistence-unit-defaults element gets removed - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - - //set access in the context model, verify resource model modified - persistenceUnitDefaults.setAccess(AccessType.FIELD); - assertEquals(AccessType.FIELD, persistenceUnitDefaults.getAccess()); - assertEquals(org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD, getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults().getAccess()); - - //set access to null in the context model - persistenceUnitDefaults.setAccess(null); - assertNull(persistenceUnitDefaults.getAccess()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata().getPersistenceUnitDefaults()); - } - -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitMetadataTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitMetadataTests.java deleted file mode 100644 index a398e808da..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkPersistenceUnitMetadataTests.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm; - -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistenceUnitMetadata; -import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlPersistenceUnitMetadata; - -public class EclipseLinkPersistenceUnitMetadataTests extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkPersistenceUnitMetadataTests(String name) { - super(name); - } - - - @Override - protected void setUp() throws Exception { - super.setUp(); - XmlMappingFileRef mappingFileRef = PersistenceFactory.eINSTANCE.createXmlMappingFileRef(); - mappingFileRef.setFileName(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.toString()); - getXmlPersistenceUnit().getMappingFiles().add(mappingFileRef); - getPersistenceXmlResource().save(null); - } - - protected OrmPersistenceUnitMetadata persistenceUnitMetadata() { - return getEntityMappings().getPersistenceUnitMetadata(); - } - - public void testIsAllFeaturesUnset() throws Exception { - XmlPersistenceUnitMetadata persistenceUnitMetadata = EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata(); - getXmlEntityMappings().setPersistenceUnitMetadata(persistenceUnitMetadata); - assertTrue(persistenceUnitMetadata.isUnset()); - - persistenceUnitMetadata.setXmlMappingMetadataComplete(true); - assertFalse(persistenceUnitMetadata.isUnset()); - - persistenceUnitMetadata.setXmlMappingMetadataComplete(false); - assertTrue(persistenceUnitMetadata.isUnset()); - - persistenceUnitMetadata.setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - assertFalse(persistenceUnitMetadata.isUnset()); - } - - public void testUpdateXmlMappingMetadataComplete() throws Exception { - OrmPersistenceUnitMetadata persistenceUnitMetadata = getEntityMappings().getPersistenceUnitMetadata(); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set xmlMappingMetadataComplete in the resource model, verify context model updated - getXmlEntityMappings().setPersistenceUnitMetadata(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitMetadata()); - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(true); - assertTrue(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().isXmlMappingMetadataComplete()); - - //set xmlMappingMetadataComplete to null in the resource model - getXmlEntityMappings().getPersistenceUnitMetadata().setXmlMappingMetadataComplete(false); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertFalse(getXmlEntityMappings().getPersistenceUnitMetadata().isXmlMappingMetadataComplete()); - } - - public void testModifyXmlMappingMetadataComplete() throws Exception { - OrmPersistenceUnitMetadata persistenceUnitMetadata = getEntityMappings().getPersistenceUnitMetadata(); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set xmlMappingMetadataComplete in the context model, verify resource model modified - persistenceUnitMetadata.setXmlMappingMetadataComplete(true); - assertTrue(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().isXmlMappingMetadataComplete()); - - //set xmlMappingMetadataComplete to null in the context model - persistenceUnitMetadata.setXmlMappingMetadataComplete(false); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - } - - public void testModifyXmlMappingMetadataComplete2() throws Exception { - OrmPersistenceUnitMetadata persistenceUnitMetadata = getEntityMappings().getPersistenceUnitMetadata(); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertNull(getXmlEntityMappings().getPersistenceUnitMetadata()); - - //set xmlMappingMetadataComplete in the context model, verify resource model modified - persistenceUnitMetadata.setXmlMappingMetadataComplete(true); - assertTrue(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertTrue(getXmlEntityMappings().getPersistenceUnitMetadata().isXmlMappingMetadataComplete()); - - //set xmlMappingMetadataComplete to null in the context model - //set another element on the persistence-unit-metadata element so it doesn't get removed - getXmlEntityMappings().getPersistenceUnitMetadata().setPersistenceUnitDefaults(EclipseLinkOrmFactory.eINSTANCE.createXmlPersistenceUnitDefaults()); - persistenceUnitMetadata.setXmlMappingMetadataComplete(false); - assertFalse(persistenceUnitMetadata.isXmlMappingMetadataComplete()); - assertFalse(getXmlEntityMappings().getPersistenceUnitMetadata().isXmlMappingMetadataComplete()); - } -}
\ No newline at end of file diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java deleted file mode 100644 index 2ddd02040d..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2009 Oracle. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class JptEclipseLinkCoreOrmContextModelTests extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkCoreOrmContextModelTests.class.getName()); - suite.addTestSuite(EclipseLinkEntityMappingsTests.class); - suite.addTestSuite(EclipseLinkPersistenceUnitMetadataTests.class); - suite.addTestSuite(EclipseLinkPersistenceUnitDefaultsTests.class); - suite.addTestSuite(EclipseLinkOrmEmbeddableTests.class); - suite.addTestSuite(EclipseLinkOrmEntityTests.class); - suite.addTestSuite(EclipseLinkOrmMappedSuperclassTests.class); - suite.addTestSuite(EclipseLinkOrmBasicMappingTests.class); - suite.addTestSuite(EclipseLinkOrmIdMappingTests.class); - suite.addTestSuite(EclipseLinkOrmManyToManyMappingTests.class); - suite.addTestSuite(EclipseLinkOrmManyToOneMappingTests.class); - suite.addTestSuite(EclipseLinkOrmOneToManyMappingTests.class); - suite.addTestSuite(EclipseLinkOrmOneToOneMappingTests.class); - suite.addTestSuite(EclipseLinkOrmPersistentAttributeTests.class); - suite.addTestSuite(EclipseLinkOrmVersionMappingTests.class); - suite.addTestSuite(EclipseLinkOrmTransientMappingTests.class); - suite.addTestSuite(EclipseLinkOrmConverterTests.class); - suite.addTestSuite(EclipseLinkOrmObjectTypeConverterTests.class); - suite.addTestSuite(EclipseLinkOrmStructConverterTests.class); - suite.addTestSuite(EclipseLinkOrmTypeConverterTests.class); - suite.addTestSuite(EclipseLinkOrmCachingTests.class); - return suite; - } - - - private JptEclipseLinkCoreOrmContextModelTests() { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTestCase.java deleted file mode 100644 index d6ca4d10f5..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTestCase.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence; - -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetDataModelProperties; -import org.eclipse.jpt.jpa.core.tests.internal.context.persistence.PersistenceUnitTestCase; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.platform.EclipseLinkPlatform; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -/** - * PersistenceUnitTestCase - */ -public abstract class EclipseLinkPersistenceUnitTestCase extends PersistenceUnitTestCase -{ - protected EclipseLinkPersistenceUnit subject; - - protected PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder; - - // ********** constructors ********** - protected EclipseLinkPersistenceUnitTestCase(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.subject = this.getPersistenceUnit(); - this.subjectHolder = new SimplePropertyValueModel<EclipseLinkPersistenceUnit>(this.subject); - this.populatePu(); - } - - @Override - protected IDataModel buildJpaConfigDataModel() { - IDataModel dataModel = super.buildJpaConfigDataModel(); - dataModel.setProperty(JpaFacetDataModelProperties.PLATFORM, EclipseLinkPlatform.VERSION_1_0); - return dataModel; - } - - @Override - protected EclipseLinkPersistenceUnit getPersistenceUnit() { - return (EclipseLinkPersistenceUnit) super.getPersistenceUnit(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java deleted file mode 100644 index ccf01be24f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.internal.operations.JptFileCreationDataModelProperties; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.MappingKeys; -import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProperties; -import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlMappingFileRef; -import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit; -import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; -import org.eclipse.jpt.jpa.core.tests.internal.projects.TestJpaProject; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.internal.operations.EclipseLinkOrmFileCreationDataModelProvider; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm.EclipseLinkOrmContextModelTestCase; -import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; - -@SuppressWarnings("nls") -public class EclipseLinkPersistenceUnitTests - extends EclipseLinkOrmContextModelTestCase -{ - public EclipseLinkPersistenceUnitTests(String name) { - super(name); - } - - - @Override - protected IDataModel buildJpaConfigDataModel() { - IDataModel dataModel = super.buildJpaConfigDataModel(); - dataModel.setProperty(JpaFacetInstallDataModelProperties.CREATE_ORM_XML, Boolean.TRUE); - return dataModel; - } - - @Override - protected IDataModel buildEclipseLinkOrmConfig(TestJpaProject testJpaProject) { - IDataModel dataModel = - DataModelFactory.createDataModel(new EclipseLinkOrmFileCreationDataModelProvider()); - dataModel.setProperty(JptFileCreationDataModelProperties.CONTAINER_PATH, - testJpaProject.getProject().getFolder("src/META-INF").getFullPath()); - dataModel.setProperty(OrmFileCreationDataModelProperties.ADD_TO_PERSISTENCE_UNIT, Boolean.FALSE); - return dataModel; - } - - private ICompilationUnit createTestEntity() throws Exception { - 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); - } - }); - } - - public void testUpdateEclipseLinkImpliedMappingFileRef1() throws Exception { - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - - // test that there is one initially - JpaXmlResource eclipseLinkOrmResource = getOrmXmlResource(); - assertTrue(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - - // remove eclipselink-orm.xml - deleteResource(eclipseLinkOrmResource); - - assertFalse(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - } - - public void testUpdateEclipseLinkImpliedMappingFileRef2() { - XmlPersistenceUnit xmlPersistenceUnit = getXmlPersistenceUnit(); - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - - // test that there is one initially - JpaXmlResource eclipseLinkOrmResource = getOrmXmlResource(); - assertTrue(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - - // add specified eclipselink-orm.xml - XmlMappingFileRef xmlMappingFileRef = PersistenceFactory.eINSTANCE.createXmlMappingFileRef(); - xmlMappingFileRef.setFileName("META-INF/eclipselink-orm.xml"); - xmlPersistenceUnit.getMappingFiles().add(xmlMappingFileRef); - - assertEquals(1, CollectionTools.size(persistenceUnit.getSpecifiedMappingFileRefs())); - - assertTrue(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - } - - public void testUpdateEclipseLinkImpliedMappingFileRef3() { - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - - // test that there is one initially - JpaXmlResource eclipseLinkOrmResource = getOrmXmlResource(); - assertTrue(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - - // ignore in persistence unit - persistenceUnit.getGeneralProperties().setExcludeEclipselinkOrm(Boolean.TRUE); - - assertTrue(eclipseLinkOrmResource.fileExists()); - assertNotNull(persistenceUnit.getImpliedMappingFileRef()); - assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); - } - - public void testMappingFileRefs() { - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - ListIterator<MappingFileRef> mappingFileRefs = persistenceUnit.getMappingFileRefs().iterator(); - - assertEquals(persistenceUnit.getImpliedMappingFileRef(), mappingFileRefs.next().getMappingFile().getParent()); - assertEquals(persistenceUnit.getImpliedEclipseLinkMappingFileRef(), mappingFileRefs.next().getMappingFile().getParent()); - } - - public void testMappingFileRefsSize() { - EclipseLinkPersistenceUnit persistenceUnit = getPersistenceUnit(); - assertEquals(2, persistenceUnit.getMappingFileRefsSize()); - } - - public void testPersistentType() throws Exception { - getJpaProject().setDiscoversAnnotatedClasses(false); - PersistenceUnit persistenceUnit = getPersistenceUnit(); - createTestEntity(); - - //persistentType not listed in persistence.xml and discoverAnnotatedClasses is false - //still find the persistentType because of changes for bug 190317 - assertFalse(getJpaProject().discoversAnnotatedClasses()); - assertNotNull(persistenceUnit.getPersistentType(FULLY_QUALIFIED_TYPE_NAME)); - - //test persistentType not listed in persistence.xml, discover annotated classes set to true - getJpaProject().setDiscoversAnnotatedClasses(true); - assertNotNull(persistenceUnit.getPersistentType(FULLY_QUALIFIED_TYPE_NAME)); - - //test persistentType list as class in persistence.xml - getJpaProject().setDiscoversAnnotatedClasses(false); - XmlJavaClassRef classRef = PersistenceFactory.eINSTANCE.createXmlJavaClassRef(); - classRef.setJavaClass(FULLY_QUALIFIED_TYPE_NAME); - getXmlPersistenceUnit().getClasses().add(classRef); - assertNotNull(persistenceUnit.getPersistentType(FULLY_QUALIFIED_TYPE_NAME)); - - - //test persistentType from orm.xml file that is specified in the persistence.xml - addXmlMappingFileRef(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.toString()); - OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Foo"); - assertNotNull(persistenceUnit.getPersistentType("model.Foo")); - assertEquals(ormPersistentType, persistenceUnit.getPersistentType("model.Foo")); - - //test persistentType from eclipselink-orm.xml file that is implied(not specified) in the persistence.xml - getXmlPersistenceUnit().getMappingFiles().remove(0); - assertNotNull(persistenceUnit.getPersistentType("model.Foo")); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java deleted file mode 100644 index dffd65e090..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2010 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.jpa.eclipselink.core.tests.internal.context.persistence; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.caching.JptEclipseLinkPersistenceCachingTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.connection.JptEclipseLinkPersistenceConnectionTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.customization.JptEclipseLinkPersistenceCustomizationTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.general.JptEclipseLinkPersistenceGeneralTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.logging.JptEclipseLinkPersistenceLoggingTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.options.JptEclipseLinkPersistenceOptionsTests; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.schema.generation.JptEclipseLinkPersistenceSchemaGenerationTests; - -public class JptEclipseLinkCorePersistenceContextModelTests extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkCorePersistenceContextModelTests.class.getName()); - suite.addTestSuite(EclipseLinkPersistenceUnitTests.class); - suite.addTest(JptEclipseLinkPersistenceGeneralTests.suite()); - suite.addTest(JptEclipseLinkPersistenceConnectionTests.suite()); - suite.addTest(JptEclipseLinkPersistenceCustomizationTests.suite()); - suite.addTest(JptEclipseLinkPersistenceCachingTests.suite()); - suite.addTest(JptEclipseLinkPersistenceLoggingTests.suite()); - suite.addTest(JptEclipseLinkPersistenceOptionsTests.suite()); - suite.addTest(JptEclipseLinkPersistenceSchemaGenerationTests.suite()); - return suite; - } - - private JptEclipseLinkCorePersistenceContextModelTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingAdapterTests.java deleted file mode 100644 index 97bb3f7123..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingAdapterTests.java +++ /dev/null @@ -1,449 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence.caching; - -import org.eclipse.jpt.common.utility.model.event.ListAddEvent; -import org.eclipse.jpt.common.utility.model.event.ListChangeEvent; -import org.eclipse.jpt.common.utility.model.event.ListClearEvent; -import org.eclipse.jpt.common.utility.model.event.ListEvent; -import org.eclipse.jpt.common.utility.model.event.ListMoveEvent; -import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent; -import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent; -import org.eclipse.jpt.common.utility.model.listener.ListChangeListener; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.CacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Caching; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Entity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.FlushClearCache; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of model objects by the Caching adapter when the - * PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class CachingAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private Caching caching; - private ListEvent entitiesEvent; - - public static final String ENTITY_TEST = "Employee"; - public static final String ENTITY_TEST_2 = "Address"; - - public static final String CACHE_TYPE_DEFAULT_KEY = Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT; - public static final CacheType CACHE_TYPE_DEFAULT_TEST_VALUE = CacheType.soft_weak; - public static final CacheType CACHE_TYPE_DEFAULT_TEST_VALUE_2 = CacheType.full; - - public static final String CACHE_SIZE_DEFAULT_KEY = Caching.ECLIPSELINK_CACHE_SIZE_DEFAULT; - public static final Integer CACHE_SIZE_DEFAULT_TEST_VALUE = 12345; - public static final Integer CACHE_SIZE_DEFAULT_TEST_VALUE_2 = 67890; - - public static final String SHARED_CACHE_DEFAULT_KEY = Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT; - public static final Boolean SHARED_CACHE_DEFAULT_TEST_VALUE = false; - public static final Boolean SHARED_CACHE_DEFAULT_TEST_VALUE_2 = true; - - public static final String CACHE_TYPE_KEY = Caching.ECLIPSELINK_CACHE_TYPE + ENTITY_TEST; - public static final CacheType CACHE_TYPE_TEST_VALUE = CacheType.soft_weak; - public static final CacheType CACHE_TYPE_TEST_VALUE_2 = CacheType.full; - - public static final String SHARED_CACHE_KEY = Caching.ECLIPSELINK_SHARED_CACHE + ENTITY_TEST; - public static final Boolean SHARED_CACHE_TEST_VALUE = false; - public static final Boolean SHARED_CACHE_TEST_VALUE_2 = true; - - public static final String CACHE_SIZE_KEY = Caching.ECLIPSELINK_CACHE_SIZE + ENTITY_TEST; - public static final Integer CACHE_SIZE_TEST_VALUE = 12345; - public static final Integer CACHE_SIZE_TEST_VALUE_2 = 67890; - - public static final String FLUSH_CLEAR_CACHE_KEY = Caching.ECLIPSELINK_FLUSH_CLEAR_CACHE; - public static final FlushClearCache FLUSH_CLEAR_CACHE_TEST_VALUE = FlushClearCache.drop; - public static final FlushClearCache FLUSH_CLEAR_CACHE_TEST_VALUE_2 = FlushClearCache.merge; - - public CachingAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.caching = this.getPersistenceUnit().getCaching(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.caching.addPropertyChangeListener(Caching.CACHE_TYPE_DEFAULT_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Caching.CACHE_SIZE_DEFAULT_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Caching.SHARED_CACHE_DEFAULT_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Entity.CACHE_TYPE_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Entity.CACHE_SIZE_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Entity.SHARED_CACHE_PROPERTY, propertyChangeListener); - this.caching.addPropertyChangeListener(Caching.FLUSH_CLEAR_CACHE_PROPERTY, propertyChangeListener); - - ListChangeListener entitiesChangeListener = this.buildEntitiesChangeListener(); - this.caching.addListChangeListener(Caching.ENTITIES_LIST, entitiesChangeListener); - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 7; - this.propertiesTotal = this.modelPropertiesSizeOriginal + 4; // 4 misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(CACHE_TYPE_DEFAULT_KEY, CACHE_TYPE_DEFAULT_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - this.persistenceUnitSetProperty(CACHE_SIZE_DEFAULT_KEY, CACHE_SIZE_DEFAULT_TEST_VALUE); - this.persistenceUnitSetProperty(SHARED_CACHE_DEFAULT_KEY, SHARED_CACHE_DEFAULT_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.3", "value.3"); - this.persistenceUnitSetProperty("misc.property.4", "value.4"); - this.persistenceUnitSetProperty(CACHE_SIZE_KEY, CACHE_SIZE_TEST_VALUE); - this.persistenceUnitSetProperty(CACHE_TYPE_KEY, CACHE_TYPE_TEST_VALUE); - this.persistenceUnitSetProperty(SHARED_CACHE_KEY, SHARED_CACHE_TEST_VALUE); - this.persistenceUnitSetProperty(FLUSH_CLEAR_CACHE_KEY, FLUSH_CLEAR_CACHE_TEST_VALUE); - return; - } - - // ********** Listeners ********** - private ListChangeListener buildEntitiesChangeListener() { - return new ListChangeListener() { - public void itemsAdded(ListAddEvent e) { - CachingAdapterTests.this.entityAdded(e); - } - - public void itemsRemoved(ListRemoveEvent e) { - CachingAdapterTests.this.entityRemoved(e); - } - - public void itemsReplaced(ListReplaceEvent e) { - CachingAdapterTests.this.throwUnsupportedOperationException(e); - } - - public void itemsMoved(ListMoveEvent e) { - CachingAdapterTests.this.throwUnsupportedOperationException(e); - } - - public void listCleared(ListClearEvent e) { - CachingAdapterTests.this.throwUnsupportedOperationException(e); - } - - public void listChanged(ListChangeEvent e) { - CachingAdapterTests.this.throwUnsupportedOperationException(e); - } - }; - } - - @Override - protected void clearEvent() { - super.clearEvent(); - this.entitiesEvent = null; - } - - void entityAdded(ListAddEvent e) { - this.entitiesEvent = e; - } - - void entityRemoved(ListRemoveEvent e) { - this.entitiesEvent = e; - } - - // ********** entities list ********** - public void testEntitiesList() throws Exception { - // add - this.clearEvent(); - int originalNumberOfEntities = this.caching.getEntitiesSize(); - - this.caching.addEntity(ENTITY_TEST_2); - assertEquals("Entity not added", this.caching.getEntitiesSize(), originalNumberOfEntities + 1); - - // verify event received - assertNotNull("No Event Fired.", this.entitiesEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.entitiesEvent.getListName(), Caching.ENTITIES_LIST); - - // remove - this.clearEvent(); - this.caching.removeEntity(ENTITY_TEST_2); - assertEquals("Entity not removed", this.caching.getEntitiesSize(), originalNumberOfEntities); - - // verify event received - assertNotNull("No Event Fired.", this.entitiesEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.entitiesEvent.getListName(), Caching.ENTITIES_LIST); - } - - // ********** CacheTypeDefault ********** - /** - * Tests the update of CacheTypeDefault property by the Caching adapter when - * the PU or the model changes. - */ - public void testSetCacheTypeDefault() throws Exception { - this.verifyModelInitialized( - CACHE_TYPE_DEFAULT_KEY, - CACHE_TYPE_DEFAULT_TEST_VALUE); - this.verifySetProperty( - CACHE_TYPE_DEFAULT_KEY, - CACHE_TYPE_DEFAULT_TEST_VALUE, - CACHE_TYPE_DEFAULT_TEST_VALUE_2); - } - - public void testAddRemoveCacheTypeDefault() throws Exception { - this.verifyAddRemoveProperty( - CACHE_TYPE_DEFAULT_KEY, - CACHE_TYPE_DEFAULT_TEST_VALUE, - CACHE_TYPE_DEFAULT_TEST_VALUE_2); - } - - // ********** CacheSizeDefault ********** - /** - * Tests the update of CacheSizeDefault property by the Caching adapter when - * the PU or the model changes. - */ - public void testSetCacheSizeDefault() throws Exception { - this.verifyModelInitialized( - CACHE_SIZE_DEFAULT_KEY, - CACHE_SIZE_DEFAULT_TEST_VALUE); - this.verifySetProperty( - CACHE_SIZE_DEFAULT_KEY, - CACHE_SIZE_DEFAULT_TEST_VALUE, - CACHE_SIZE_DEFAULT_TEST_VALUE_2); - } - - public void testAddRemoveCacheSizeDefault() throws Exception { - this.verifyAddRemoveProperty( - CACHE_SIZE_DEFAULT_KEY, - CACHE_SIZE_DEFAULT_TEST_VALUE, - CACHE_SIZE_DEFAULT_TEST_VALUE_2); - } - - // ********** SharedCacheDefault ********** - public void testSetSharedCacheDefault() throws Exception { - this.verifyModelInitialized( - SHARED_CACHE_DEFAULT_KEY, - SHARED_CACHE_DEFAULT_TEST_VALUE); - this.verifySetProperty( - SHARED_CACHE_DEFAULT_KEY, - SHARED_CACHE_DEFAULT_TEST_VALUE, - SHARED_CACHE_DEFAULT_TEST_VALUE_2); - } - - public void testAddRemoveSharedCacheDefault() throws Exception { - this.verifyAddRemoveProperty( - SHARED_CACHE_DEFAULT_KEY, - SHARED_CACHE_DEFAULT_TEST_VALUE, - SHARED_CACHE_DEFAULT_TEST_VALUE_2); - } - - // ********** CacheType ********** - /** - * Tests the update of CacheType property by the Caching adapter when the PU - * or the model changes. - */ - public void testSetCacheType() throws Exception { - this.verifyModelInitialized( - CACHE_TYPE_KEY, - CACHE_TYPE_TEST_VALUE); - this.verifySetCachingProperty( - Entity.CACHE_TYPE_PROPERTY, - CACHE_TYPE_KEY, - CACHE_TYPE_TEST_VALUE, - CACHE_TYPE_TEST_VALUE_2); - } - - public void testAddRemoveCacheType() throws Exception { - this.verifyAddRemoveCachingProperty( - Entity.CACHE_TYPE_PROPERTY, - CACHE_TYPE_KEY, - CACHE_TYPE_TEST_VALUE, - CACHE_TYPE_TEST_VALUE_2); - } - - // ********** CacheSize ********** - /** - * Tests the update of CacheSize property by the Caching adapter when the PU - * or the model changes. - */ - public void testSetCacheSize() throws Exception { - this.verifyModelInitialized( - CACHE_SIZE_KEY, - CACHE_SIZE_TEST_VALUE); - this.verifySetCachingProperty( - Entity.CACHE_SIZE_PROPERTY, - CACHE_SIZE_KEY, - CACHE_SIZE_TEST_VALUE, - CACHE_SIZE_TEST_VALUE_2); - } - - public void testAddRemoveCacheSize() throws Exception { - this.verifyAddRemoveCachingProperty( - Entity.CACHE_SIZE_PROPERTY, - CACHE_SIZE_KEY, - CACHE_SIZE_TEST_VALUE, - CACHE_SIZE_TEST_VALUE_2); - } - - // ********** SharedCache ********** - /** - * Tests the update of SharedCache property by the Caching adapter when the - * PU or the model changes. - */ - public void testSetSharedCache() throws Exception { - this.verifyModelInitialized( - SHARED_CACHE_KEY, - SHARED_CACHE_TEST_VALUE); - this.verifySetCachingProperty( - Entity.SHARED_CACHE_PROPERTY, - SHARED_CACHE_KEY, - SHARED_CACHE_TEST_VALUE, - SHARED_CACHE_TEST_VALUE_2); - } - - public void testAddRemoveSharedCache() throws Exception { - this.verifyAddRemoveCachingProperty( - Entity.SHARED_CACHE_PROPERTY, - SHARED_CACHE_KEY, - SHARED_CACHE_TEST_VALUE, - SHARED_CACHE_TEST_VALUE_2); - } - - // ********** FlushClearCache tests ********** - public void testSetFlushClearCache() throws Exception { - this.verifyModelInitialized( - FLUSH_CLEAR_CACHE_KEY, - FLUSH_CLEAR_CACHE_TEST_VALUE); - this.verifySetProperty( - FLUSH_CLEAR_CACHE_KEY, - FLUSH_CLEAR_CACHE_TEST_VALUE, - FLUSH_CLEAR_CACHE_TEST_VALUE_2); - } - - public void testAddRemoveFlushClearCache() throws Exception { - this.verifyAddRemoveProperty( - FLUSH_CLEAR_CACHE_KEY, - FLUSH_CLEAR_CACHE_TEST_VALUE, - FLUSH_CLEAR_CACHE_TEST_VALUE_2); - } - - // ****** convenience methods ******* - @Override - protected PersistenceUnitProperties getModel() { - return this.caching; - } - - protected void verifySetCachingProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Replace - this.persistenceUnitSetProperty(key, testValue2); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, testValue2); - - // Replace by setting model object - this.clearEvent(); - this.setCachingProperty(propertyName, ENTITY_TEST, testValue1); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, testValue1); - } - - protected void verifyAddRemoveCachingProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Remove - this.clearEvent(); - --this.propertiesTotal; - --this.modelPropertiesSize; - this.getPersistenceUnit().removeProperty(key); - assertNull(this.getPersistenceUnit().getProperty(key)); - assertEquals(this.modelPropertiesSize, this.modelPropertiesSizeOriginal - 1); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, null); - - // Add original Property - ++this.propertiesTotal; - ++this.modelPropertiesSize; - this.persistenceUnitSetProperty(key, testValue1); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, testValue1); - - // Set to null - this.persistenceUnitSetProperty(key, null); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, null); - - // Replace - this.persistenceUnitSetProperty(key, testValue2); - this.verifyPutCachingProperty(propertyName, ENTITY_TEST, testValue2); - } - - protected void verifyPutCachingProperty(String propertyName, String entityName, Object expectedValue) throws Exception { - this.verifyEvent(propertyName); - this.verifyCachingEvent(propertyName, entityName, expectedValue); - } - - protected void verifyCachingEvent(String propertyName, String entityName, Object expectedValue) throws Exception { - // verify event value - Entity entity = (Entity) this.propertyChangedEvent.getNewValue(); - if (propertyName.equals(Entity.CACHE_TYPE_PROPERTY)) { - assertEquals(expectedValue, entity.getParent().getCacheTypeOf(entityName)); - assertEquals(expectedValue, this.caching.getCacheTypeOf(entityName)); - } - else if (propertyName.equals(Entity.CACHE_SIZE_PROPERTY)) { - assertEquals(expectedValue, entity.getParent().getCacheSizeOf(entityName)); - assertEquals(expectedValue, this.caching.getCacheSizeOf(entityName)); - } - else if (propertyName.equals(Entity.SHARED_CACHE_PROPERTY)) { - assertEquals(expectedValue, entity.getParent().getSharedCacheOf(entityName)); - assertEquals(expectedValue, this.caching.getSharedCacheOf(entityName)); - } - else { - this.throwMissingDefinition("verifyCachingEvent", propertyName); - } - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(Caching.CACHE_TYPE_DEFAULT_PROPERTY)) - this.caching.setCacheTypeDefault((CacheType) newValue); - else if (propertyName.equals(Caching.CACHE_SIZE_DEFAULT_PROPERTY)) - this.caching.setCacheSizeDefault((Integer) newValue); - else if (propertyName.equals(Caching.SHARED_CACHE_DEFAULT_PROPERTY)) - this.caching.setSharedCacheDefault((Boolean) newValue); - else if (propertyName.equals(Caching.FLUSH_CLEAR_CACHE_PROPERTY)) - this.caching.setFlushClearCache((FlushClearCache) newValue); - else - this.throwMissingDefinition("setProperty", propertyName); - } - - protected void setCachingProperty(String propertyName, String entityName, Object newValue) throws NoSuchFieldException { - if (propertyName.equals(Entity.CACHE_TYPE_PROPERTY)) - this.caching.setCacheTypeOf(entityName, (CacheType) newValue); - else if (propertyName.equals(Entity.CACHE_SIZE_PROPERTY)) - this.caching.setCacheSizeOf(entityName, (Integer) newValue); - else if (propertyName.equals(Entity.SHARED_CACHE_PROPERTY)) - this.caching.setSharedCacheOf(entityName, (Boolean) newValue); - else - this.throwMissingDefinition("setCachingProperty", propertyName); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(Caching.CACHE_TYPE_DEFAULT_PROPERTY)) - modelValue = this.caching.getCacheTypeDefault(); - else if (propertyName.equals(Caching.CACHE_SIZE_DEFAULT_PROPERTY)) - modelValue = this.caching.getCacheSizeDefault(); - else if (propertyName.equals(Caching.SHARED_CACHE_DEFAULT_PROPERTY)) - modelValue = this.caching.getSharedCacheDefault(); - else if (propertyName.equals(Entity.CACHE_SIZE_PROPERTY)) - modelValue = this.caching.getCacheSizeOf(ENTITY_TEST); - else if (propertyName.equals(Entity.CACHE_TYPE_PROPERTY)) - modelValue = this.caching.getCacheTypeOf(ENTITY_TEST); - else if (propertyName.equals(Entity.SHARED_CACHE_PROPERTY)) - modelValue = this.caching.getSharedCacheOf(ENTITY_TEST); - else if (propertyName.equals(Caching.FLUSH_CLEAR_CACHE_PROPERTY)) - modelValue = this.caching.getFlushClearCache(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingValueModelTests.java deleted file mode 100644 index aad538e72a..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/CachingValueModelTests.java +++ /dev/null @@ -1,444 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence.caching; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.CacheType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Caching; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.caching.Entity; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * CachingValueModelTests - */ -@SuppressWarnings("nls") -public class CachingValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private Caching caching; - private PropertyValueModel<Caching> cachingHolder; - - private WritablePropertyValueModel<CacheType> cacheTypeHolder; - private PropertyChangeListener cacheTypeListener; - private PropertyChangeEvent cacheTypeEvent; - - private WritablePropertyValueModel<Boolean> sharedCacheHolder; - private PropertyChangeListener sharedCacheListener; - private PropertyChangeEvent sharedCacheEvent; - - private WritablePropertyValueModel<CacheType> cacheTypeDefaultHolder; - private PropertyChangeListener cacheTypeDefaultListener; - private PropertyChangeEvent cacheTypeDefaultEvent; - - private WritablePropertyValueModel<Boolean> sharedCacheDefaultHolder; - private PropertyChangeListener sharedCacheDefaultListener; - private PropertyChangeEvent sharedCacheDefaultEvent; - - public static final String ENTITY_NAME_TEST_VALUE = "Employee"; - public static final CacheType CACHE_TYPE_TEST_VALUE = CacheType.hard_weak; - public static final Boolean SHARED_CACHE_TEST_VALUE = Boolean.FALSE; - public static final CacheType CACHE_TYPE_DEFAULT_TEST_VALUE = CacheType.weak; - public static final Boolean SHARED_CACHE_DEFAULT_TEST_VALUE = Boolean.FALSE; - - public CachingValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.caching = this.subject.getCaching(); // Subject - this.cachingHolder = new SimplePropertyValueModel<Caching>(this.caching); - - this.cacheTypeHolder = this.buildCacheTypeAA(this.cachingHolder); - this.cacheTypeListener = this.buildCacheTypeChangeListener(); - this.cacheTypeHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.cacheTypeListener); - this.cacheTypeEvent = null; - - this.sharedCacheHolder = this.buildSharedCacheAA(this.cachingHolder); - this.sharedCacheListener = this.buildSharedCacheChangeListener(); - this.sharedCacheHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.sharedCacheListener); - this.sharedCacheEvent = null; - - this.cacheTypeDefaultHolder = this.buildCacheTypeDefaultAA(this.cachingHolder); - this.cacheTypeDefaultListener = this.buildCacheTypeDefaultChangeListener(); - this.cacheTypeDefaultHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.cacheTypeDefaultListener); - this.cacheTypeDefaultEvent = null; - - this.sharedCacheDefaultHolder = this.buildSharedCacheDefaultAA(this.cachingHolder); - this.sharedCacheDefaultListener = this.buildSharedCacheDefaultChangeListener(); - this.sharedCacheDefaultHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.sharedCacheDefaultListener); - this.sharedCacheDefaultEvent = null; - } - - public void testHasListeners() { - AbstractModel subjectCaching = (AbstractModel) this.caching; // Subject - PropertyAspectAdapter<Caching, CacheType> cacheTypeAA = - (PropertyAspectAdapter<Caching, CacheType>) this.cacheTypeHolder; - assertTrue(cacheTypeAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectCaching.hasAnyPropertyChangeListeners(Caching.CACHE_TYPE_PROPERTY)); - - cacheTypeAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.cacheTypeListener); - assertFalse(subjectCaching.hasAnyPropertyChangeListeners(Caching.CACHE_TYPE_PROPERTY)); - assertFalse(cacheTypeAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - - PropertyAspectAdapter<Caching, Boolean> sharedCacheAA = - (PropertyAspectAdapter<Caching, Boolean>) this.sharedCacheHolder; - assertTrue(sharedCacheAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectCaching.hasAnyPropertyChangeListeners(Caching.SHARED_CACHE_PROPERTY)); - - sharedCacheAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.sharedCacheListener); - assertFalse(subjectCaching.hasAnyPropertyChangeListeners(Caching.SHARED_CACHE_PROPERTY)); - assertFalse(sharedCacheAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - - PropertyAspectAdapter<Caching, CacheType> cacheTypeDefaultAA = - (PropertyAspectAdapter<Caching, CacheType>) this.cacheTypeDefaultHolder; - assertTrue(cacheTypeDefaultAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectCaching.hasAnyPropertyChangeListeners(Caching.CACHE_TYPE_DEFAULT_PROPERTY)); - - cacheTypeDefaultAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.cacheTypeDefaultListener); - assertFalse(subjectCaching.hasAnyPropertyChangeListeners(Caching.CACHE_TYPE_DEFAULT_PROPERTY)); - assertFalse(cacheTypeDefaultAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - - PropertyAspectAdapter<Caching, Boolean> sharedCacheDefaultAA = - (PropertyAspectAdapter<Caching, Boolean>) this.sharedCacheDefaultHolder; - assertTrue(sharedCacheDefaultAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectCaching.hasAnyPropertyChangeListeners(Caching.SHARED_CACHE_DEFAULT_PROPERTY)); - - sharedCacheDefaultAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.sharedCacheDefaultListener); - assertFalse(subjectCaching.hasAnyPropertyChangeListeners(Caching.SHARED_CACHE_DEFAULT_PROPERTY)); - assertFalse(sharedCacheDefaultAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - Caching.ECLIPSELINK_CACHE_TYPE + ENTITY_NAME_TEST_VALUE, - CACHE_TYPE_TEST_VALUE); - this.persistenceUnitSetProperty( - Caching.ECLIPSELINK_SHARED_CACHE + ENTITY_NAME_TEST_VALUE, - SHARED_CACHE_TEST_VALUE); - this.persistenceUnitSetProperty( - Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT, - CACHE_TYPE_DEFAULT_TEST_VALUE); - this.persistenceUnitSetProperty( - Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT, - SHARED_CACHE_DEFAULT_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.caching; - } - - /** ****** CacheType ******* */ - private WritablePropertyValueModel<CacheType> buildCacheTypeAA(PropertyValueModel<Caching> subjectHolder) { - return new PropertyAspectAdapter<Caching, CacheType>(subjectHolder, Caching.CACHE_TYPE_PROPERTY) { - @Override - protected CacheType buildValue_() { - return this.subject.getCacheTypeOf(ENTITY_NAME_TEST_VALUE); - } - - @Override - protected void setValue_(CacheType enumValue) { - this.subject.setCacheTypeOf(ENTITY_NAME_TEST_VALUE, enumValue); - } - }; - } - - private PropertyChangeListener buildCacheTypeChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - CachingValueModelTests.this.cacheTypeEvent = e; - } - }; - } - - /** ****** SharedCache ******* */ - private WritablePropertyValueModel<Boolean> buildSharedCacheAA(PropertyValueModel<Caching> subjectHolder) { - return new PropertyAspectAdapter<Caching, Boolean>(subjectHolder, Caching.SHARED_CACHE_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getSharedCacheOf(ENTITY_NAME_TEST_VALUE); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setSharedCacheOf(ENTITY_NAME_TEST_VALUE, enumValue); - } - }; - } - - private PropertyChangeListener buildSharedCacheChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - CachingValueModelTests.this.sharedCacheEvent = e; - } - }; - } - - /** ****** CacheTypeDefault ******* */ - private WritablePropertyValueModel<CacheType> buildCacheTypeDefaultAA(PropertyValueModel<Caching> subjectHolder) { - return new PropertyAspectAdapter<Caching, CacheType>(subjectHolder, Caching.CACHE_TYPE_DEFAULT_PROPERTY) { - @Override - protected CacheType buildValue_() { - return this.subject.getCacheTypeDefault(); - } - - @Override - protected void setValue_(CacheType enumValue) { - this.subject.setCacheTypeDefault(enumValue); - } - }; - } - - private PropertyChangeListener buildCacheTypeDefaultChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - CachingValueModelTests.this.cacheTypeDefaultEvent = e; - } - }; - } - - /** ****** SharedCacheDefault ******* */ - private WritablePropertyValueModel<Boolean> buildSharedCacheDefaultAA(PropertyValueModel<Caching> subjectHolder) { - return new PropertyAspectAdapter<Caching, Boolean>(subjectHolder, Caching.SHARED_CACHE_DEFAULT_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getSharedCacheDefault(); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setSharedCacheDefault(enumValue); - } - }; - } - - private PropertyChangeListener buildSharedCacheDefaultChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - CachingValueModelTests.this.sharedCacheDefaultEvent = e; - } - }; - } - - /** ****** Basic Entity's Properties Tests ******* */ - - public void testClone() { - Entity entity = this.buildEntity("TestEntity", CacheType.full, 100, true); - - this.verifyClone(entity, entity.clone()); - } - - public void testEquals() { - Entity entity1 = this.buildEntity("TestEntityA", CacheType.full, 100, true); - Entity entity2 = this.buildEntity("TestEntityB", CacheType.full, 100, true); - assertEquals(entity1, entity2); - Entity entity3 = this.buildEntity("TestEntityC", CacheType.full, 100, true); - assertEquals(entity1, entity3); - assertEquals(entity2, entity3); - } - - public void testIsEmpty() { - Entity entity = this.buildEntity("TestEntity"); - assertTrue(entity.isEmpty()); - this.caching.setCacheSizeOf(entity.getName(), 100); - assertFalse(entity.isEmpty()); - } - - private void verifyClone(Entity original, Entity clone) { - assertNotSame(original, clone); - assertEquals(original, original); - assertEquals(original, clone); - } - - private Entity buildEntity(String name) { - return this.caching.addEntity(name); - } - - private Entity buildEntity(String name, CacheType cacheType, Integer size, Boolean isShared) { - Entity entity = this.caching.addEntity(name); - this.caching.setCacheTypeOf(entity.getName(), cacheType); - this.caching.setCacheSizeOf(entity.getName(), size); - this.caching.setSharedCacheOf(entity.getName(), isShared); - return entity; - } - - /** ****** Caching Tests ******* */ - public void testValue() { - /** ****** CacheType - defaults for entity level caching are equal to the persistence unit settings ******* */ - this.verifyCacheTypeAAValue(CACHE_TYPE_TEST_VALUE); - assertEquals(this.caching.getCacheTypeDefault(), this.caching.getDefaultCacheType()); - /** ****** SharedCache - defaults for entity level caching are equal to the persistence unit settings ******* */ - this.verifySharedCacheAAValue(SHARED_CACHE_TEST_VALUE); - assertEquals(this.caching.getSharedCacheDefault(), this.caching.getDefaultSharedCache()); - /** ****** CacheTypeDefault ******* */ - this.verifyCacheTypeDefaultAAValue(CACHE_TYPE_DEFAULT_TEST_VALUE); - assertEquals(Caching.DEFAULT_CACHE_TYPE_DEFAULT, this.caching.getDefaultCacheTypeDefault()); - /** ****** SharedCacheDefault ******* */ - this.verifySharedCacheDefaultAAValue(SHARED_CACHE_DEFAULT_TEST_VALUE); - assertEquals(Caching.DEFAULT_SHARED_CACHE_DEFAULT, this.caching.getDefaultSharedCacheDefault()); - } - - public void testSetValue() throws Exception { - /** ****** CacheType ******* */ - this.cacheTypeEvent = null; - this.verifyHasListeners(this.cacheTypeHolder, PropertyValueModel.VALUE); - CacheType newCacheType = CacheType.full; - // Modify the property holder - this.cacheTypeHolder.setValue(newCacheType); - this.verifyCacheTypeAAValue(newCacheType); - assertNotNull(this.cacheTypeEvent); - /** ****** SharedCache ******* */ - this.sharedCacheEvent = null; - this.verifyHasListeners(this.sharedCacheHolder, PropertyValueModel.VALUE); - Boolean newSharedCache = !SHARED_CACHE_TEST_VALUE; - // Modify the property holder - this.sharedCacheHolder.setValue(newSharedCache); - this.verifySharedCacheAAValue(newSharedCache); - assertNotNull(this.sharedCacheEvent); - /** ****** CacheTypeDefault ******* */ - this.cacheTypeDefaultEvent = null; - this.verifyHasListeners(this.cacheTypeDefaultHolder, PropertyValueModel.VALUE); - CacheType newCacheTypeDefault = CacheType.none; - // Modify the property holder - this.cacheTypeDefaultHolder.setValue(newCacheTypeDefault); - this.verifyCacheTypeDefaultAAValue(newCacheTypeDefault); - assertNotNull(this.cacheTypeDefaultEvent); - /** ****** SharedCacheDefault ******* */ - this.sharedCacheDefaultEvent = null; - this.verifyHasListeners(this.sharedCacheDefaultHolder, PropertyValueModel.VALUE); - Boolean newSharedCacheDefault = !SHARED_CACHE_DEFAULT_TEST_VALUE; - // Modify the property holder - this.sharedCacheDefaultHolder.setValue(newSharedCacheDefault); - this.verifySharedCacheDefaultAAValue(newSharedCacheDefault); - assertNotNull(this.sharedCacheDefaultEvent); - } - - public void testSetNullValue() { - String notDeleted = "Property not deleted"; - /** ****** CacheType ******* */ - this.cacheTypeEvent = null; - // Setting the property holder - this.cacheTypeHolder.setValue(null); - // testing Holder - this.verifyCacheTypeAAValue(null); - assertNotNull(this.cacheTypeEvent); - // testing PU properties - this.verifyPuHasNotProperty(Caching.ECLIPSELINK_CACHE_TYPE + ENTITY_NAME_TEST_VALUE, notDeleted); - /** ****** SharedCache ******* */ - this.sharedCacheEvent = null; - // Setting the property holder - this.sharedCacheHolder.setValue(null); - // testing Holder - this.verifySharedCacheAAValue(null); - assertNotNull(this.sharedCacheEvent); - // testing PU properties - this.verifyPuHasNotProperty(Caching.ECLIPSELINK_SHARED_CACHE + ENTITY_NAME_TEST_VALUE, notDeleted); - /** ****** CacheTypeDefault ******* */ - this.cacheTypeDefaultEvent = null; - // Setting the property holder - this.cacheTypeDefaultHolder.setValue(null); - // testing Holder - this.verifyCacheTypeDefaultAAValue(null); - assertNotNull(this.cacheTypeDefaultEvent); - // testing PU properties - this.verifyPuHasNotProperty(Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT, notDeleted); - /** ****** SharedCacheDefault ******* */ - this.sharedCacheDefaultEvent = null; - // Setting the property holder - this.sharedCacheDefaultHolder.setValue(null); - // testing Holder - this.verifySharedCacheDefaultAAValue(null); - assertNotNull(this.sharedCacheDefaultEvent); - // testing PU properties - this.verifyPuHasNotProperty(Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT, notDeleted); - } - - /** ****** convenience methods ******* */ - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyCacheTypeAAValue(CacheType testValue) { - this.verifyAAValue( - testValue, - this.caching.getCacheTypeOf(ENTITY_NAME_TEST_VALUE), - this.cacheTypeHolder, - Caching.ECLIPSELINK_CACHE_TYPE + ENTITY_NAME_TEST_VALUE); - } - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifySharedCacheAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.caching.getSharedCacheOf(ENTITY_NAME_TEST_VALUE), - this.sharedCacheHolder, - Caching.ECLIPSELINK_SHARED_CACHE + ENTITY_NAME_TEST_VALUE); - } - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyCacheTypeDefaultAAValue(CacheType testValue) { - this.verifyAAValue( - testValue, - this.caching.getCacheTypeDefault(), - this.cacheTypeDefaultHolder, - Caching.ECLIPSELINK_CACHE_TYPE_DEFAULT); - } - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifySharedCacheDefaultAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.caching.getSharedCacheDefault(), - this.sharedCacheDefaultHolder, - Caching.ECLIPSELINK_CACHE_SHARED_DEFAULT); - } - - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/JptEclipseLinkPersistenceCachingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/JptEclipseLinkPersistenceCachingTests.java deleted file mode 100644 index fd24717c89..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/caching/JptEclipseLinkPersistenceCachingTests.java +++ /dev/null @@ -1,33 +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.jpa.eclipselink.core.tests.internal.context.persistence.caching; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceCachingTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceCachingTests.class.getPackage().getName()); - - suite.addTestSuite(CachingValueModelTests.class); - suite.addTestSuite(CachingAdapterTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceCachingTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/EclipseLinkConnectionTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/EclipseLinkConnectionTests.java deleted file mode 100644 index bf955c54ab..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/EclipseLinkConnectionTests.java +++ /dev/null @@ -1,542 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.persistence.connection; - -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitTransactionType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.connection.BatchWriting; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.connection.Connection; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.connection.ExclusiveConnectionMode; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * ConnectionAdapterTests - */ -@SuppressWarnings("nls") -public class EclipseLinkConnectionTests extends EclipseLinkPersistenceUnitTestCase -{ - private Connection connection; - - public static final PersistenceUnitTransactionType TRANSACTION_TYPE_TEST_VALUE = PersistenceUnitTransactionType.RESOURCE_LOCAL; - public static final PersistenceUnitTransactionType TRANSACTION_TYPE_TEST_VALUE_2 = PersistenceUnitTransactionType.JTA; - - public static final String JTA_DATA_SOURCE_TEST_VALUE = "Test_JTA"; - public static final String JTA_DATA_SOURCE_TEST_VALUE_2 = "Test_JTA_2"; - - public static final String NON_JTA_DATA_SOURCE_TEST_VALUE = "Test_Non_JTA"; - public static final String NON_JTA_DATA_SOURCE_TEST_VALUE_2 = "Test_Non_JTA_2"; - - public static final String NATIVE_SQL_KEY = Connection.ECLIPSELINK_NATIVE_SQL; - public static final Boolean NATIVE_SQL_TEST_VALUE = false; - public static final Boolean NATIVE_SQL_TEST_VALUE_2 = ! NATIVE_SQL_TEST_VALUE; - - public static final String BATCH_WRITING_KEY = Connection.ECLIPSELINK_BATCH_WRITING; - public static final BatchWriting BATCH_WRITING_TEST_VALUE = BatchWriting.oracle_jdbc; - public static final BatchWriting BATCH_WRITING_TEST_VALUE_2 = BatchWriting.buffered; - - public static final String CACHE_STATEMENTS_KEY = Connection.ECLIPSELINK_CACHE_STATEMENTS; - public static final Boolean CACHE_STATEMENTS_TEST_VALUE = false; - public static final Boolean CACHE_STATEMENTS_TEST_VALUE_2 = ! CACHE_STATEMENTS_TEST_VALUE; - - public static final String CACHE_STATEMENTS_SIZE_KEY = Connection.ECLIPSELINK_CACHE_STATEMENTS_SIZE; - public static final Integer CACHE_STATEMENTS_SIZE_TEST_VALUE = 100; - public static final Integer CACHE_STATEMENTS_SIZE_TEST_VALUE_2 = 200; - - public static final String DRIVER_KEY = Connection.ECLIPSELINK_DRIVER; - public static final String DRIVER_TEST_VALUE = "connection.driver"; - public static final String DRIVER_TEST_VALUE_2 = "connection.driver.2"; - - public static final String URL_KEY = Connection.ECLIPSELINK_URL; - public static final String URL_TEST_VALUE = "test"; - public static final String URL_TEST_VALUE_2 = "test_2"; - - public static final String USER_KEY = Connection.ECLIPSELINK_USER; - public static final String USER_TEST_VALUE = "test"; - public static final String USER_TEST_VALUE_2 = "test_2"; - - public static final String PASSWORD_KEY = Connection.ECLIPSELINK_PASSWORD; - public static final String PASSWORD_TEST_VALUE = "test"; - public static final String PASSWORD_TEST_VALUE_2 = "test_2"; - - public static final String BIND_PARAMETERS_KEY = Connection.ECLIPSELINK_BIND_PARAMETERS; - public static final Boolean BIND_PARAMETERS_TEST_VALUE = false; - public static final Boolean BIND_PARAMETERS_TEST_VALUE_2 = ! BIND_PARAMETERS_TEST_VALUE; - - public static final String READ_CONNECTIONS_SHARED_KEY = Connection.ECLIPSELINK_READ_CONNECTIONS_SHARED; - public static final Boolean READ_CONNECTIONS_SHARED_TEST_VALUE = false; - public static final Boolean READ_CONNECTIONS_SHARED_TEST_VALUE_2 = ! READ_CONNECTIONS_SHARED_TEST_VALUE; - - public static final String READ_CONNECTIONS_MIN_KEY = Connection.ECLIPSELINK_READ_CONNECTIONS_MIN; - public static final Integer READ_CONNECTIONS_MIN_TEST_VALUE = 100; - public static final Integer READ_CONNECTIONS_MIN_TEST_VALUE_2 = 200; - - public static final String READ_CONNECTIONS_MAX_KEY = Connection.ECLIPSELINK_READ_CONNECTIONS_MAX; - public static final Integer READ_CONNECTIONS_MAX_TEST_VALUE = 100; - public static final Integer READ_CONNECTIONS_MAX_TEST_VALUE_2 = 200; - - public static final String WRITE_CONNECTIONS_MIN_KEY = Connection.ECLIPSELINK_WRITE_CONNECTIONS_MIN; - public static final Integer WRITE_CONNECTIONS_MIN_TEST_VALUE = 100; - public static final Integer WRITE_CONNECTIONS_MIN_TEST_VALUE_2 = 200; - - public static final String WRITE_CONNECTIONS_MAX_KEY = Connection.ECLIPSELINK_WRITE_CONNECTIONS_MAX; - public static final Integer WRITE_CONNECTIONS_MAX_TEST_VALUE = 100; - public static final Integer WRITE_CONNECTIONS_MAX_TEST_VALUE_2 = 200; - - public static final String EXCLUSIVE_CONNECTION_MODE_KEY = Connection.ECLIPSELINK_EXCLUSIVE_CONNECTION_MODE; - public static final ExclusiveConnectionMode EXCLUSIVE_CONNECTION_MODE_TEST_VALUE = ExclusiveConnectionMode.always; - public static final ExclusiveConnectionMode EXCLUSIVE_CONNECTION_MODE_TEST_VALUE_2 = ExclusiveConnectionMode.isolated; - - public static final String LAZY_CONNECTION_KEY = Connection.ECLIPSELINK_LAZY_CONNECTION; - public static final Boolean LAZY_CONNECTION_TEST_VALUE = false; - public static final Boolean LAZY_CONNECTION_TEST_VALUE_2 = ! LAZY_CONNECTION_TEST_VALUE; - - // ********** constructors ********** - public EclipseLinkConnectionTests(String name) { - super(name); - } - - // ********** behavior ********** - @Override - protected void setUp() throws Exception { - super.setUp(); - this.connection = this.subject.getConnection(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.connection.addPropertyChangeListener(Connection.NATIVE_SQL_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.BATCH_WRITING_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.CACHE_STATEMENTS_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.CACHE_STATEMENTS_SIZE_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.DRIVER_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.URL_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.USER_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.PASSWORD_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.BIND_PARAMETERS_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.READ_CONNECTIONS_SHARED_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.READ_CONNECTIONS_MIN_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.READ_CONNECTIONS_MAX_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.WRITE_CONNECTIONS_MIN_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.WRITE_CONNECTIONS_MAX_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.EXCLUSIVE_CONNECTION_MODE_PROPERTY, propertyChangeListener); - this.connection.addPropertyChangeListener(Connection.LAZY_CONNECTION_PROPERTY, propertyChangeListener); - - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 16; // EclipseLink properties - this.propertiesTotal = this.modelPropertiesSizeOriginal + 4; // 4 misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - // Initializes EclipseLink properties - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(NATIVE_SQL_KEY, NATIVE_SQL_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(BATCH_WRITING_KEY, BATCH_WRITING_TEST_VALUE); - this.persistenceUnitSetProperty(CACHE_STATEMENTS_KEY, CACHE_STATEMENTS_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(CACHE_STATEMENTS_SIZE_KEY, CACHE_STATEMENTS_SIZE_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(DRIVER_KEY, DRIVER_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(URL_KEY, URL_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(USER_KEY, USER_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(PASSWORD_KEY, PASSWORD_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(BIND_PARAMETERS_KEY, BIND_PARAMETERS_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - this.persistenceUnitSetProperty("misc.property.3", "value.3"); - this.persistenceUnitSetProperty(READ_CONNECTIONS_SHARED_KEY, READ_CONNECTIONS_SHARED_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(READ_CONNECTIONS_MIN_KEY, READ_CONNECTIONS_MIN_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(READ_CONNECTIONS_MAX_KEY, READ_CONNECTIONS_MAX_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WRITE_CONNECTIONS_MIN_KEY, WRITE_CONNECTIONS_MIN_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WRITE_CONNECTIONS_MAX_KEY, WRITE_CONNECTIONS_MAX_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.4", "value.4"); - this.persistenceUnitSetProperty(EXCLUSIVE_CONNECTION_MODE_KEY, EXCLUSIVE_CONNECTION_MODE_TEST_VALUE); - this.persistenceUnitSetProperty(LAZY_CONNECTION_KEY, LAZY_CONNECTION_TEST_VALUE.toString()); - - // Initializes PU elements - this.getPersistenceUnit().setSpecifiedTransactionType(TRANSACTION_TYPE_TEST_VALUE); - this.getPersistenceUnit().setJtaDataSource(JTA_DATA_SOURCE_TEST_VALUE); - this.getPersistenceUnit().setNonJtaDataSource(NON_JTA_DATA_SOURCE_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.connection; - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(Connection.NATIVE_SQL_PROPERTY)) - this.connection.setNativeSql((Boolean) newValue); - else if (propertyName.equals(Connection.BATCH_WRITING_PROPERTY)) - this.connection.setBatchWriting((BatchWriting) newValue); - else if (propertyName.equals(Connection.CACHE_STATEMENTS_PROPERTY)) - this.connection.setCacheStatements((Boolean) newValue); - else if (propertyName.equals(Connection.CACHE_STATEMENTS_SIZE_PROPERTY)) - this.connection.setCacheStatementsSize((Integer) newValue); - else if (propertyName.equals(Connection.DRIVER_PROPERTY)) - this.connection.setDriver((String) newValue); - else if (propertyName.equals(Connection.URL_PROPERTY)) - this.connection.setUrl((String) newValue); - else if (propertyName.equals(Connection.USER_PROPERTY)) - this.connection.setUser((String) newValue); - else if (propertyName.equals(Connection.PASSWORD_PROPERTY)) - this.connection.setPassword((String) newValue); - else if (propertyName.equals(Connection.BIND_PARAMETERS_PROPERTY)) - this.connection.setBindParameters((Boolean) newValue); - else if (propertyName.equals(Connection.READ_CONNECTIONS_SHARED_PROPERTY)) - this.connection.setReadConnectionsShared((Boolean) newValue); - else if (propertyName.equals(Connection.READ_CONNECTIONS_MIN_PROPERTY)) - this.connection.setReadConnectionsMin((Integer) newValue); - else if (propertyName.equals(Connection.READ_CONNECTIONS_MAX_PROPERTY)) - this.connection.setReadConnectionsMax((Integer) newValue); - else if (propertyName.equals(Connection.WRITE_CONNECTIONS_MIN_PROPERTY)) - this.connection.setWriteConnectionsMin((Integer) newValue); - else if (propertyName.equals(Connection.WRITE_CONNECTIONS_MAX_PROPERTY)) - this.connection.setWriteConnectionsMax((Integer) newValue); - else if (propertyName.equals(Connection.EXCLUSIVE_CONNECTION_MODE_PROPERTY)) - this.connection.setExclusiveConnectionMode((ExclusiveConnectionMode) newValue); - else if (propertyName.equals(Connection.LAZY_CONNECTION_PROPERTY)) - this.connection.setLazyConnection((Boolean) newValue); - else - this.throwMissingDefinition("setProperty", propertyName); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(Connection.NATIVE_SQL_PROPERTY)) - modelValue = this.connection.getNativeSql(); - else if (propertyName.equals(Connection.BATCH_WRITING_PROPERTY)) - modelValue = this.connection.getBatchWriting(); - else if (propertyName.equals(Connection.CACHE_STATEMENTS_PROPERTY)) - modelValue = this.connection.getCacheStatements(); - else if (propertyName.equals(Connection.CACHE_STATEMENTS_SIZE_PROPERTY)) - modelValue = this.connection.getCacheStatementsSize(); - else if (propertyName.equals(Connection.DRIVER_PROPERTY)) - modelValue = this.connection.getDriver(); - else if (propertyName.equals(Connection.URL_PROPERTY)) - modelValue = this.connection.getUrl(); - else if (propertyName.equals(Connection.USER_PROPERTY)) - modelValue = this.connection.getUser(); - else if (propertyName.equals(Connection.PASSWORD_PROPERTY)) - modelValue = this.connection.getPassword(); - else if (propertyName.equals(Connection.BIND_PARAMETERS_PROPERTY)) - modelValue = this.connection.getBindParameters(); - else if (propertyName.equals(Connection.READ_CONNECTIONS_SHARED_PROPERTY)) - modelValue = this.connection.getReadConnectionsShared(); - else if (propertyName.equals(Connection.READ_CONNECTIONS_MIN_PROPERTY)) - modelValue = this.connection.getReadConnectionsMin(); - else if (propertyName.equals(Connection.READ_CONNECTIONS_MAX_PROPERTY)) - modelValue = this.connection.getReadConnectionsMax(); - else if (propertyName.equals(Connection.WRITE_CONNECTIONS_MIN_PROPERTY)) - modelValue = this.connection.getWriteConnectionsMin(); - else if (propertyName.equals(Connection.WRITE_CONNECTIONS_MAX_PROPERTY)) - modelValue = this.connection.getWriteConnectionsMax(); - else if (propertyName.equals(Connection.EXCLUSIVE_CONNECTION_MODE_PROPERTY)) - modelValue = this.connection.getExclusiveConnectionMode(); - else if (propertyName.equals(Connection.LAZY_CONNECTION_PROPERTY)) - modelValue = this.connection.getLazyConnection(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - // ********** NativeSql tests ********** - public void testSetNativeSql() throws Exception { - this.verifyModelInitialized( - NATIVE_SQL_KEY, - NATIVE_SQL_TEST_VALUE); - this.verifySetProperty( - NATIVE_SQL_KEY, - NATIVE_SQL_TEST_VALUE, - NATIVE_SQL_TEST_VALUE_2); - } - - public void testAddRemoveNativeSql() throws Exception { - this.verifyAddRemoveProperty( - NATIVE_SQL_KEY, - NATIVE_SQL_TEST_VALUE, - NATIVE_SQL_TEST_VALUE_2); - } - - // ********** BatchWriting tests ********** - public void testSetBatchWriting() throws Exception { - this.verifyModelInitialized( - BATCH_WRITING_KEY, - BATCH_WRITING_TEST_VALUE); - this.verifySetProperty( - BATCH_WRITING_KEY, - BATCH_WRITING_TEST_VALUE, - BATCH_WRITING_TEST_VALUE_2); - } - - public void testAddRemoveBatchWriting() throws Exception { - this.verifyAddRemoveProperty( - BATCH_WRITING_KEY, - BATCH_WRITING_TEST_VALUE, - BATCH_WRITING_TEST_VALUE_2); - } - - // ********** CacheStatements tests ********** - public void testSetCacheStatements() throws Exception { - this.verifyModelInitialized( - CACHE_STATEMENTS_KEY, - CACHE_STATEMENTS_TEST_VALUE); - this.verifySetProperty( - CACHE_STATEMENTS_KEY, - CACHE_STATEMENTS_TEST_VALUE, - CACHE_STATEMENTS_TEST_VALUE_2); - } - - public void testAddRemoveCacheStatements() throws Exception { - this.verifyAddRemoveProperty( - CACHE_STATEMENTS_KEY, - CACHE_STATEMENTS_TEST_VALUE, - CACHE_STATEMENTS_TEST_VALUE_2); - } - - // ********** CacheStatementsSize tests ********** - public void testSetCacheStatementsSize() throws Exception { - this.verifyModelInitialized( - CACHE_STATEMENTS_SIZE_KEY, - CACHE_STATEMENTS_SIZE_TEST_VALUE); - this.verifySetProperty( - CACHE_STATEMENTS_SIZE_KEY, - CACHE_STATEMENTS_SIZE_TEST_VALUE, - CACHE_STATEMENTS_SIZE_TEST_VALUE_2); - } - - public void testAddRemoveCacheStatementsSize() throws Exception { - this.verifyAddRemoveProperty( - CACHE_STATEMENTS_SIZE_KEY, - CACHE_STATEMENTS_SIZE_TEST_VALUE, - CACHE_STATEMENTS_SIZE_TEST_VALUE_2); - } - - // ********** Driver tests ********** - public void testSetDriver() throws Exception { - this.verifyModelInitialized( - DRIVER_KEY, - DRIVER_TEST_VALUE); - this.verifySetProperty( - DRIVER_KEY, - DRIVER_TEST_VALUE, - DRIVER_TEST_VALUE_2); - } - - public void testAddRemoveDriver() throws Exception { - this.verifyAddRemoveProperty( - DRIVER_KEY, - DRIVER_TEST_VALUE, - DRIVER_TEST_VALUE_2); - } - - // ********** Url tests ********** - public void testSetUrl() throws Exception { - this.verifyModelInitialized( - URL_KEY, - URL_TEST_VALUE); - this.verifySetProperty( - URL_KEY, - URL_TEST_VALUE, - URL_TEST_VALUE_2); - } - - public void testAddRemoveUrl() throws Exception { - this.verifyAddRemoveProperty( - URL_KEY, - URL_TEST_VALUE, - URL_TEST_VALUE_2); - } - - // ********** User tests ********** - public void testSetUser() throws Exception { - this.verifyModelInitialized( - USER_KEY, - USER_TEST_VALUE); - this.verifySetProperty( - USER_KEY, - USER_TEST_VALUE, - USER_TEST_VALUE_2); - } - - public void testAddRemoveUser() throws Exception { - this.verifyAddRemoveProperty( - USER_KEY, - USER_TEST_VALUE, - USER_TEST_VALUE_2); - } - - // ********** Password tests ********** - public void testSetPassword() throws Exception { - this.verifyModelInitialized( - PASSWORD_KEY, - PASSWORD_TEST_VALUE); - this.verifySetProperty( - PASSWORD_KEY, - PASSWORD_TEST_VALUE, - PASSWORD_TEST_VALUE_2); - } - - public void testAddRemovePassword() throws Exception { - this.verifyAddRemoveProperty( - PASSWORD_KEY, - PASSWORD_TEST_VALUE, - PASSWORD_TEST_VALUE_2); - } - - // ********** BindParameters tests ********** - public void testSetBindParameters() throws Exception { - this.verifyModelInitialized( - BIND_PARAMETERS_KEY, - BIND_PARAMETERS_TEST_VALUE); - this.verifySetProperty( - BIND_PARAMETERS_KEY, - BIND_PARAMETERS_TEST_VALUE, - BIND_PARAMETERS_TEST_VALUE_2); - } - - public void testAddRemoveBindParameters() throws Exception { - this.verifyAddRemoveProperty( - BIND_PARAMETERS_KEY, - BIND_PARAMETERS_TEST_VALUE, - BIND_PARAMETERS_TEST_VALUE_2); - } - - // ********** ReadConnectionsShared tests ********** - public void testSetReadConnectionsShared() throws Exception { - this.verifyModelInitialized( - READ_CONNECTIONS_SHARED_KEY, - READ_CONNECTIONS_SHARED_TEST_VALUE); - this.verifySetProperty( - READ_CONNECTIONS_SHARED_KEY, - READ_CONNECTIONS_SHARED_TEST_VALUE, - READ_CONNECTIONS_SHARED_TEST_VALUE_2); - } - - public void testAddRemoveReadConnectionsShared() throws Exception { - this.verifyAddRemoveProperty( - READ_CONNECTIONS_SHARED_KEY, - READ_CONNECTIONS_SHARED_TEST_VALUE, - READ_CONNECTIONS_SHARED_TEST_VALUE_2); - } - - // ********** ReadConnectionsMin tests ********** - public void testSetReadConnectionsMin() throws Exception { - this.verifyModelInitialized( - READ_CONNECTIONS_MIN_KEY, - READ_CONNECTIONS_MIN_TEST_VALUE); - this.verifySetProperty( - READ_CONNECTIONS_MIN_KEY, - READ_CONNECTIONS_MIN_TEST_VALUE, - READ_CONNECTIONS_MIN_TEST_VALUE_2); - } - - public void testAddRemoveReadConnectionsMin() throws Exception { - this.verifyAddRemoveProperty( - READ_CONNECTIONS_MIN_KEY, - READ_CONNECTIONS_MIN_TEST_VALUE, - READ_CONNECTIONS_MIN_TEST_VALUE_2); - } - - // ********** ReadConnectionsMax tests ********** - public void testSetReadConnectionsMax() throws Exception { - this.verifyModelInitialized( - READ_CONNECTIONS_MAX_KEY, - READ_CONNECTIONS_MAX_TEST_VALUE); - this.verifySetProperty( - READ_CONNECTIONS_MAX_KEY, - READ_CONNECTIONS_MAX_TEST_VALUE, - READ_CONNECTIONS_MAX_TEST_VALUE_2); - } - - public void testAddRemoveReadConnectionsMax() throws Exception { - this.verifyAddRemoveProperty( - READ_CONNECTIONS_MAX_KEY, - READ_CONNECTIONS_MAX_TEST_VALUE, - READ_CONNECTIONS_MAX_TEST_VALUE_2); - } - - // ********** WriteConnectionsMin tests ********** - public void testSetWriteConnectionsMin() throws Exception { - this.verifyModelInitialized( - WRITE_CONNECTIONS_MIN_KEY, - WRITE_CONNECTIONS_MIN_TEST_VALUE); - this.verifySetProperty( - WRITE_CONNECTIONS_MIN_KEY, - WRITE_CONNECTIONS_MIN_TEST_VALUE, - WRITE_CONNECTIONS_MIN_TEST_VALUE_2); - } - - public void testAddRemoveWriteConnectionsMin() throws Exception { - this.verifyAddRemoveProperty( - WRITE_CONNECTIONS_MIN_KEY, - WRITE_CONNECTIONS_MIN_TEST_VALUE, - WRITE_CONNECTIONS_MIN_TEST_VALUE_2); - } - - // ********** WriteConnectionsMax tests ********** - public void testSetWriteConnectionsMax() throws Exception { - this.verifyModelInitialized( - WRITE_CONNECTIONS_MAX_KEY, - WRITE_CONNECTIONS_MAX_TEST_VALUE); - this.verifySetProperty( - WRITE_CONNECTIONS_MAX_KEY, - WRITE_CONNECTIONS_MAX_TEST_VALUE, - WRITE_CONNECTIONS_MAX_TEST_VALUE_2); - } - - public void testAddRemoveWriteConnectionsMax() throws Exception { - this.verifyAddRemoveProperty( - WRITE_CONNECTIONS_MAX_KEY, - WRITE_CONNECTIONS_MAX_TEST_VALUE, - WRITE_CONNECTIONS_MAX_TEST_VALUE_2); - } - - // ********** ExclusiveConnectionMode tests ********** - public void testSetExclusiveConnectionMode() throws Exception { - this.verifyModelInitialized( - EXCLUSIVE_CONNECTION_MODE_KEY, - EXCLUSIVE_CONNECTION_MODE_TEST_VALUE); - this.verifySetProperty( - EXCLUSIVE_CONNECTION_MODE_KEY, - EXCLUSIVE_CONNECTION_MODE_TEST_VALUE, - EXCLUSIVE_CONNECTION_MODE_TEST_VALUE_2); - } - - public void testAddRemoveExclusiveConnectionMode() throws Exception { - this.verifyAddRemoveProperty( - EXCLUSIVE_CONNECTION_MODE_KEY, - EXCLUSIVE_CONNECTION_MODE_TEST_VALUE, - EXCLUSIVE_CONNECTION_MODE_TEST_VALUE_2); - } - - // ********** LazyConnection tests ********** - public void testSetLazyConnection() throws Exception { - this.verifyModelInitialized( - LAZY_CONNECTION_KEY, - LAZY_CONNECTION_TEST_VALUE); - this.verifySetProperty( - LAZY_CONNECTION_KEY, - LAZY_CONNECTION_TEST_VALUE, - LAZY_CONNECTION_TEST_VALUE_2); - } - - public void testAddRemoveLazyConnection() throws Exception { - this.verifyAddRemoveProperty( - LAZY_CONNECTION_KEY, - LAZY_CONNECTION_TEST_VALUE, - LAZY_CONNECTION_TEST_VALUE_2); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/JptEclipseLinkPersistenceConnectionTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/JptEclipseLinkPersistenceConnectionTests.java deleted file mode 100644 index 84a595bfb1..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/connection/JptEclipseLinkPersistenceConnectionTests.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.persistence.connection; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceConnectionTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceConnectionTests.class.getPackage().getName()); - -// suite.addTestSuite(ConnectionValueModelTests.class); - suite.addTestSuite(EclipseLinkConnectionTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceConnectionTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/CustomizationValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/CustomizationValueModelTests.java deleted file mode 100644 index 4fefb11f86..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/CustomizationValueModelTests.java +++ /dev/null @@ -1,205 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence.customization; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Customization; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Entity; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * CustomizationValueModelTests - */ -@SuppressWarnings("nls") -public class CustomizationValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private Customization customization; - - private WritablePropertyValueModel<Boolean> throwExceptionsHolder; - private PropertyChangeListener throwExceptionsListener; - private PropertyChangeEvent throwExceptionsEvent; - - public static final String ENTITY_NAME_TEST_VALUE = "Employee"; - public static final Boolean THROW_EXCEPTIONS_TEST_VALUE = Boolean.FALSE; - public static final String CUSTOMIZER_TEST_VALUE = "acme.sessions.Customizer"; - - public CustomizationValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.customization = this.subject.getCustomization(); // Subject - PropertyValueModel<Customization> customizationHolder = new SimplePropertyValueModel<Customization>(this.customization); - - this.throwExceptionsHolder = this.buildThrowExceptionsAA(customizationHolder); - this.throwExceptionsListener = this.buildThrowExceptionsChangeListener(); - this.throwExceptionsHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.throwExceptionsListener); - this.throwExceptionsEvent = null; - } - - public void testHasListeners() { - AbstractModel subjectCustomization = (AbstractModel) this.customization; // Subject - - PropertyAspectAdapter<Customization, Boolean> throwExceptionsAA = - (PropertyAspectAdapter<Customization, Boolean>) this.throwExceptionsHolder; - assertTrue(throwExceptionsAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectCustomization.hasAnyPropertyChangeListeners(Customization.THROW_EXCEPTIONS_PROPERTY)); - - throwExceptionsAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.throwExceptionsListener); - assertFalse(subjectCustomization.hasAnyPropertyChangeListeners(Customization.THROW_EXCEPTIONS_PROPERTY)); - assertFalse(throwExceptionsAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - Customization.ECLIPSELINK_THROW_EXCEPTIONS, - THROW_EXCEPTIONS_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.customization; - } - - // ****** ThrowExceptions ******* - private WritablePropertyValueModel<Boolean> buildThrowExceptionsAA(PropertyValueModel<Customization> subjectHolder) { - return new PropertyAspectAdapter<Customization, Boolean>(subjectHolder, Customization.THROW_EXCEPTIONS_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getThrowExceptions(); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setThrowExceptions(enumValue); - } - }; - } - - private PropertyChangeListener buildThrowExceptionsChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - CustomizationValueModelTests.this.throwExceptionsEvent = e; - } - }; - } - - /** ****** Basic Entity's Properties Tests ******* */ - - public void testClone() { - Entity entity = this.buildEntity("TestEntity", CUSTOMIZER_TEST_VALUE); - - this.verifyClone(entity, entity.clone()); - } - - public void testEquals() { - Entity entity1 = this.buildEntity("TestEntityA", CUSTOMIZER_TEST_VALUE); - Entity entity2 = this.buildEntity("TestEntityB", CUSTOMIZER_TEST_VALUE); - assertEquals(entity1, entity2); - Entity entity3 = this.buildEntity("TestEntityC", CUSTOMIZER_TEST_VALUE); - assertEquals(entity1, entity3); - assertEquals(entity2, entity3); - } - - public void testIsEmpty() { - Entity entity = this.buildEntity("TestEntity"); - assertTrue(entity.isEmpty()); - this.customization.setDescriptorCustomizerOf(entity.getName(), CUSTOMIZER_TEST_VALUE); - assertFalse(entity.isEmpty()); - } - - private void verifyClone(Entity original, Entity clone) { - assertNotSame(original, clone); - assertEquals(original, original); - assertEquals(original, clone); - } - - private Entity buildEntity(String name) { - return this.customization.addEntity(name); - } - - private Entity buildEntity(String name, String aClassName) { - Entity entity = this.customization.addEntity(name); - this.customization.setDescriptorCustomizerOf(entity.getName(), aClassName); - return entity; - } - - // ****** Tests ******* - public void testValue() { - // ****** ThrowExceptions ******* - this.verifyThrowExceptionsAAValue(THROW_EXCEPTIONS_TEST_VALUE); - assertEquals(Customization.DEFAULT_THROW_EXCEPTIONS, this.customization.getDefaultThrowExceptions()); - } - - public void testSetValue() throws Exception { - // ****** ThrowExceptions ******* - this.throwExceptionsEvent = null; - this.verifyHasListeners(this.throwExceptionsHolder, PropertyValueModel.VALUE); - Boolean newThrowExceptions = !THROW_EXCEPTIONS_TEST_VALUE; - // Modify the property holder - this.throwExceptionsHolder.setValue(newThrowExceptions); - this.verifyThrowExceptionsAAValue(newThrowExceptions); - assertNotNull(this.throwExceptionsEvent); - } - - public void testSetNullValue() { - String notDeleted = "Property not deleted"; - // ****** ThrowExceptions ******* - this.throwExceptionsEvent = null; - // Setting the property holder - this.throwExceptionsHolder.setValue(null); - // testing Holder - this.verifyThrowExceptionsAAValue(null); - assertNotNull(this.throwExceptionsEvent); - // testing PU properties - this.verifyPuHasNotProperty(Customization.ECLIPSELINK_THROW_EXCEPTIONS, notDeleted); - } - - // ****** convenience methods ******* - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyThrowExceptionsAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.customization.getThrowExceptions(), - this.throwExceptionsHolder, - Customization.ECLIPSELINK_THROW_EXCEPTIONS); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/EclipseLinkCustomizationTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/EclipseLinkCustomizationTests.java deleted file mode 100644 index 7d4e493420..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/EclipseLinkCustomizationTests.java +++ /dev/null @@ -1,761 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence.customization; - -import java.util.ListIterator; -import org.eclipse.jpt.common.utility.model.event.ListAddEvent; -import org.eclipse.jpt.common.utility.model.event.ListChangeEvent; -import org.eclipse.jpt.common.utility.model.event.ListClearEvent; -import org.eclipse.jpt.common.utility.model.event.ListEvent; -import org.eclipse.jpt.common.utility.model.event.ListMoveEvent; -import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent; -import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent; -import org.eclipse.jpt.common.utility.model.listener.ListChangeListener; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Customization; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Entity; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Profiler; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.customization.Weaving; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.customization.EclipseLinkCustomization; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of model objects by the Customization adapter when the - * PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class EclipseLinkCustomizationTests extends EclipseLinkPersistenceUnitTestCase -{ - private Customization customization; - private ListEvent entitiesEvent; - private ListEvent sessionCustomizersEvent; - - public static final String ENTITY_TEST = "Employee"; - public static final String ENTITY_TEST_2 = "Address"; - - public static final String THROW_EXCEPTIONS_KEY = Customization.ECLIPSELINK_THROW_EXCEPTIONS; - public static final Boolean THROW_EXCEPTIONS_TEST_VALUE = false; - public static final Boolean THROW_EXCEPTIONS_TEST_VALUE_2 = ! THROW_EXCEPTIONS_TEST_VALUE; - - public static final String WEAVING_LAZY_KEY = Customization.ECLIPSELINK_WEAVING_LAZY; - public static final Boolean WEAVING_LAZY_TEST_VALUE = false; - public static final Boolean WEAVING_LAZY_TEST_VALUE_2 = ! WEAVING_LAZY_TEST_VALUE; - - public static final String WEAVING_CHANGE_TRACKING_KEY = Customization.ECLIPSELINK_WEAVING_CHANGE_TRACKING; - public static final Boolean WEAVING_CHANGE_TRACKING_TEST_VALUE = false; - public static final Boolean WEAVING_CHANGE_TRACKING_TEST_VALUE_2 = ! WEAVING_CHANGE_TRACKING_TEST_VALUE; - - public static final String WEAVING_FETCH_GROUPS_KEY = Customization.ECLIPSELINK_WEAVING_FETCH_GROUPS; - public static final Boolean WEAVING_FETCH_GROUPS_TEST_VALUE = false; - public static final Boolean WEAVING_FETCH_GROUPS_TEST_VALUE_2 = ! WEAVING_FETCH_GROUPS_TEST_VALUE; - - public static final String WEAVING_INTERNAL_KEY = Customization.ECLIPSELINK_WEAVING_INTERNAL; - public static final Boolean WEAVING_INTERNAL_TEST_VALUE = false; - public static final Boolean WEAVING_INTERNAL_TEST_VALUE_2 = ! WEAVING_INTERNAL_TEST_VALUE; - - public static final String WEAVING_EAGER_KEY = Customization.ECLIPSELINK_WEAVING_EAGER; - public static final Boolean WEAVING_EAGER_TEST_VALUE = true; - public static final Boolean WEAVING_EAGER_TEST_VALUE_2 = ! WEAVING_EAGER_TEST_VALUE; - - public static final String VALIDATION_ONLY_KEY = Customization.ECLIPSELINK_VALIDATION_ONLY; - public static final Boolean VALIDATION_ONLY_TEST_VALUE = false; - public static final Boolean VALIDATION_ONLY_TEST_VALUE_2 = ! VALIDATION_ONLY_TEST_VALUE; - - public static final String VALIDATE_SCHEMA_KEY = Customization.ECLIPSELINK_VALIDATE_SCHEMA; - public static final Boolean VALIDATE_SCHEMA_TEST_VALUE = true; - public static final Boolean VALIDATE_SCHEMA_TEST_VALUE_2 = ! VALIDATE_SCHEMA_TEST_VALUE; - - private static final String SESSION_CUSTOMIZER_KEY = Customization.ECLIPSELINK_SESSION_CUSTOMIZER; - private static final String SESSION_CUSTOMIZER_TEST_VALUE = "java.lang.String"; - private static final String SESSION_CUSTOMIZER_TEST_VALUE_2 = "java.lang.Boolean"; - - public static final String WEAVING_KEY = Customization.ECLIPSELINK_WEAVING; - public static final Weaving WEAVING_TEST_VALUE = Weaving.false_; - public static final Weaving WEAVING_TEST_VALUE_2 = Weaving.static_; - - public static final String CUSTOMIZER_KEY = Customization.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER + ENTITY_TEST; - public static final String CUSTOMIZER_TEST_VALUE = "acme.sessions.DescriptorCustomizer"; - public static final String CUSTOMIZER_TEST_VALUE_2 = "acme.sessions.Customizer"; - - private static final String PROFILER_KEY = Customization.ECLIPSELINK_PROFILER; - private static final Profiler PROFILER_TEST_VALUE = Profiler.query_monitor; - private static final String PROFILER_TEST_VALUE_2 = "custom.profiler.test"; - - public static final String EXCEPTION_HANDLER_KEY = Customization.ECLIPSELINK_EXCEPTION_HANDLER; - public static final String EXCEPTION_HANDLER_TEST_VALUE = "acme.CustomSessionEventListener"; - public static final String EXCEPTION_HANDLER_TEST_VALUE_2 = "oracle.sessions.CustomSessionEventListener"; - - // ********** constructors ********** - public EclipseLinkCustomizationTests(String name) { - super(name); - } - - // ********** behavior ********** - @Override - protected void setUp() throws Exception { - super.setUp(); - this.customization = this.subject.getCustomization(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.customization.addPropertyChangeListener(Customization.THROW_EXCEPTIONS_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_LAZY_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_CHANGE_TRACKING_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_FETCH_GROUPS_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_INTERNAL_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_EAGER_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.WEAVING_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.VALIDATION_ONLY_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.VALIDATE_SCHEMA_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.SESSION_CUSTOMIZER_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.PROFILER_PROPERTY, propertyChangeListener); - this.customization.addPropertyChangeListener(Customization.EXCEPTION_HANDLER_PROPERTY, propertyChangeListener); - - ListChangeListener sessionCustomizersChangeListener = this.buildSessionCustomizersChangeListener(); - this.customization.addListChangeListener(Customization.SESSION_CUSTOMIZER_LIST, sessionCustomizersChangeListener); - - ListChangeListener entitiesChangeListener = this.buildEntitiesChangeListener(); - this.customization.addListChangeListener(Customization.ENTITIES_LIST, entitiesChangeListener); - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 13; - this.propertiesTotal = this.modelPropertiesSizeOriginal + 4; // 4 misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(THROW_EXCEPTIONS_KEY, THROW_EXCEPTIONS_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_LAZY_KEY, WEAVING_LAZY_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_CHANGE_TRACKING_KEY, WEAVING_CHANGE_TRACKING_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_FETCH_GROUPS_KEY, WEAVING_FETCH_GROUPS_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_INTERNAL_KEY, WEAVING_INTERNAL_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_EAGER_KEY, WEAVING_EAGER_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(VALIDATION_ONLY_KEY, VALIDATION_ONLY_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(VALIDATE_SCHEMA_KEY, VALIDATE_SCHEMA_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - this.persistenceUnitSetProperty(SESSION_CUSTOMIZER_KEY, SESSION_CUSTOMIZER_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(WEAVING_KEY, WEAVING_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.3", "value.3"); - this.persistenceUnitSetProperty("misc.property.4", "value.4"); - this.persistenceUnitSetProperty(CUSTOMIZER_KEY, CUSTOMIZER_TEST_VALUE); - this.persistenceUnitSetProperty(PROFILER_KEY, PROFILER_TEST_VALUE); - this.persistenceUnitSetProperty(EXCEPTION_HANDLER_KEY, EXCEPTION_HANDLER_TEST_VALUE); - return; - } - - // ********** Listeners ********** - private ListChangeListener buildEntitiesChangeListener() { - return new ListChangeListener() { - public void itemsAdded(ListAddEvent e) { - EclipseLinkCustomizationTests.this.entityAdded(e); - } - - public void itemsRemoved(ListRemoveEvent e) { - EclipseLinkCustomizationTests.this.entityRemoved(e); - } - - public void itemsReplaced(ListReplaceEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - - public void itemsMoved(ListMoveEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - - public void listCleared(ListClearEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - - public void listChanged(ListChangeEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - }; - } - - private ListChangeListener buildSessionCustomizersChangeListener() { - return new ListChangeListener() { - public void itemsAdded(ListAddEvent e) { - EclipseLinkCustomizationTests.this.sessionCustomizerAdded(e); - } - - public void itemsRemoved(ListRemoveEvent e) { - EclipseLinkCustomizationTests.this.sessionCustomizerRemoved(e); - } - - public void itemsReplaced(ListReplaceEvent e) { - EclipseLinkCustomizationTests.this.sessionCustomizerReplaced(e); - } - - public void itemsMoved(ListMoveEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - - public void listCleared(ListClearEvent e) { - EclipseLinkCustomizationTests.this.sessionCustomizerListCleared(e); - } - - public void listChanged(ListChangeEvent e) { - EclipseLinkCustomizationTests.this.throwUnsupportedOperationException(e); - } - }; - } - - @Override - protected void clearEvent() { - super.clearEvent(); - this.entitiesEvent = null; - this.sessionCustomizersEvent = null; - } - - void entityAdded(ListAddEvent e) { - this.entitiesEvent = e; - } - - void entityRemoved(ListRemoveEvent e) { - this.entitiesEvent = e; - } - - void sessionCustomizerAdded(ListAddEvent e) { - this.sessionCustomizersEvent = e; - } - - void sessionCustomizerRemoved(ListRemoveEvent e) { - this.sessionCustomizersEvent = e; - } - - void sessionCustomizerReplaced(ListReplaceEvent e) { - this.sessionCustomizersEvent = e; - } - - void sessionCustomizerListCleared(ListClearEvent e) { - this.sessionCustomizersEvent = e; - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(Customization.THROW_EXCEPTIONS_PROPERTY)) - this.customization.setThrowExceptions((Boolean) newValue); - else if (propertyName.equals(Customization.WEAVING_LAZY_PROPERTY)) - this.customization.setWeavingLazy((Boolean) newValue); - else if (propertyName.equals(Customization.WEAVING_CHANGE_TRACKING_PROPERTY)) - this.customization.setWeavingChangeTracking((Boolean) newValue); - else if (propertyName.equals(Customization.WEAVING_FETCH_GROUPS_PROPERTY)) - this.customization.setWeavingFetchGroups((Boolean) newValue); - else if (propertyName.equals(Customization.WEAVING_INTERNAL_PROPERTY)) - this.customization.setWeavingInternal((Boolean) newValue); - else if (propertyName.equals(Customization.WEAVING_EAGER_PROPERTY)) - this.customization.setWeavingEager((Boolean) newValue); - else if (propertyName.equals(Customization.VALIDATION_ONLY_PROPERTY)) - this.customization.setValidationOnly((Boolean) newValue); - else if (propertyName.equals(Customization.VALIDATE_SCHEMA_PROPERTY)) - this.customization.setValidateSchema((Boolean) newValue); - else if (propertyName.equals(Customization.EXCEPTION_HANDLER_PROPERTY)) - this.customization.setExceptionHandler((String) newValue); - else if (propertyName.equals(Customization.SESSION_CUSTOMIZER_PROPERTY)) - this.customization.addSessionCustomizer((String) newValue); - else if (propertyName.equals(Customization.WEAVING_PROPERTY)) - this.customization.setWeaving((Weaving) newValue); - else if (propertyName.equals(Customization.PROFILER_PROPERTY)) { - if (newValue.getClass().isEnum()) - this.customization.setProfiler((Profiler) newValue); - else - this.customization.setProfiler((String) newValue); - } - else - this.throwMissingDefinition("setProperty", propertyName); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(Customization.THROW_EXCEPTIONS_PROPERTY)) - modelValue = this.customization.getThrowExceptions(); - else if (propertyName.equals(Customization.WEAVING_PROPERTY)) - modelValue = this.customization.getWeaving(); - else if (propertyName.equals(Customization.WEAVING_LAZY_PROPERTY)) - modelValue = this.customization.getWeavingLazy(); - else if (propertyName.equals(Customization.WEAVING_CHANGE_TRACKING_PROPERTY)) - modelValue = this.customization.getWeavingChangeTracking(); - else if (propertyName.equals(Customization.WEAVING_FETCH_GROUPS_PROPERTY)) - modelValue = this.customization.getWeavingFetchGroups(); - else if (propertyName.equals(Customization.WEAVING_INTERNAL_PROPERTY)) - modelValue = this.customization.getWeavingInternal(); - else if (propertyName.equals(Customization.WEAVING_EAGER_PROPERTY)) - modelValue = this.customization.getWeavingEager(); - else if (propertyName.equals(Customization.VALIDATION_ONLY_PROPERTY)) - modelValue = this.customization.getValidationOnly(); - else if (propertyName.equals(Customization.VALIDATE_SCHEMA_PROPERTY)) - modelValue = this.customization.getValidateSchema(); - else if (propertyName.equals(Customization.EXCEPTION_HANDLER_PROPERTY)) - modelValue = this.customization.getExceptionHandler(); - else if (propertyName.equals(Customization.PROFILER_PROPERTY)) - modelValue = this.customization.getProfiler(); - else if (propertyName.equals(Customization.SESSION_CUSTOMIZER_PROPERTY)) { - ListIterator<String> iterator = this.customization.getSessionCustomizers().iterator(); - if(iterator.hasNext()) { - modelValue = iterator.next(); - } - } - else if (propertyName.equals(Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY)) - modelValue = this.customization.getDescriptorCustomizerOf(ENTITY_TEST); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - @Override - protected void verifyPutProperty(String propertyName, Object expectedValue) throws Exception { - Object expectedValue_ = expectedValue; - if (propertyName.equals(Customization.PROFILER_PROPERTY)) { - - expectedValue_ = (expectedValue != null && expectedValue.getClass().isEnum()) ? - this.getPropertyStringValueOf(PROFILER_TEST_VALUE) : // model is storing EclipseLinkStringValue - expectedValue; - } - super.verifyPutProperty(propertyName, expectedValue_); - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.customization; - } - - // ********** entities list ********** - public void testEntitiesList() throws Exception { - // add - this.clearEvent(); - this.customization.addEntity(ENTITY_TEST_2); - - // verify event received - assertNotNull("No Event Fired.", this.entitiesEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.entitiesEvent.getListName(), Customization.ENTITIES_LIST); - - // remove - this.clearEvent(); - this.customization.removeEntity(ENTITY_TEST_2); - - // verify event received - assertNotNull("No Event Fired.", this.entitiesEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.entitiesEvent.getListName(), Customization.ENTITIES_LIST); - } - - // ********** sessionCustomizers list ********** - public void testSessionCustomizersList() throws Exception { - // add - this.clearEvent(); - String className = this.customization.addSessionCustomizer(SESSION_CUSTOMIZER_TEST_VALUE_2); - - // verify event received - assertNotNull("No Event Fired.", this.sessionCustomizersEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.sessionCustomizersEvent.getListName(), Customization.SESSION_CUSTOMIZER_LIST); - - // remove - this.clearEvent(); - - this.customization.removeSessionCustomizer(className); - // verify event received - assertNotNull("No Event Fired.", this.sessionCustomizersEvent); - // verify event for the expected property - assertEquals("Wrong Event.", this.sessionCustomizersEvent.getListName(), Customization.SESSION_CUSTOMIZER_LIST); - } - - // ********** ThrowExceptions tests ********** - public void testSetThrowExceptions() throws Exception { - this.verifyModelInitialized( - THROW_EXCEPTIONS_KEY, - THROW_EXCEPTIONS_TEST_VALUE); - this.verifySetProperty( - THROW_EXCEPTIONS_KEY, - THROW_EXCEPTIONS_TEST_VALUE, - THROW_EXCEPTIONS_TEST_VALUE_2); - } - - public void testAddRemoveThrowExceptions() throws Exception { - this.verifyAddRemoveProperty( - THROW_EXCEPTIONS_KEY, - THROW_EXCEPTIONS_TEST_VALUE, - THROW_EXCEPTIONS_TEST_VALUE_2); - } - - // ********** WeavingLazy tests ********** - public void testSetWeavingLazy() throws Exception { - this.verifyModelInitialized( - WEAVING_LAZY_KEY, - WEAVING_LAZY_TEST_VALUE); - this.verifySetProperty( - WEAVING_LAZY_KEY, - WEAVING_LAZY_TEST_VALUE, - WEAVING_LAZY_TEST_VALUE_2); - } - - public void testAddRemoveWeavingLazy() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_LAZY_KEY, - WEAVING_LAZY_TEST_VALUE, - WEAVING_LAZY_TEST_VALUE_2); - } - - // ********** WeavingChangeTracking tests ********** - public void testSetWeavingChangeTracking() throws Exception { - this.verifyModelInitialized( - WEAVING_CHANGE_TRACKING_KEY, - WEAVING_CHANGE_TRACKING_TEST_VALUE); - this.verifySetProperty( - WEAVING_CHANGE_TRACKING_KEY, - WEAVING_CHANGE_TRACKING_TEST_VALUE, - WEAVING_CHANGE_TRACKING_TEST_VALUE_2); - } - - public void testAddRemoveWeavingChangeTracking() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_CHANGE_TRACKING_KEY, - WEAVING_CHANGE_TRACKING_TEST_VALUE, - WEAVING_CHANGE_TRACKING_TEST_VALUE_2); - } - - // ********** WeavingFetchGroups tests ********** - public void testSetWeavingFetchGroups() throws Exception { - this.verifyModelInitialized( - WEAVING_FETCH_GROUPS_KEY, - WEAVING_FETCH_GROUPS_TEST_VALUE); - this.verifySetProperty( - WEAVING_FETCH_GROUPS_KEY, - WEAVING_FETCH_GROUPS_TEST_VALUE, - WEAVING_FETCH_GROUPS_TEST_VALUE_2); - } - - public void testAddRemoveWeavingFetchGroups() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_FETCH_GROUPS_KEY, - WEAVING_FETCH_GROUPS_TEST_VALUE, - WEAVING_FETCH_GROUPS_TEST_VALUE_2); - } - - // ********** WeavingInternal tests ********** - public void testSetWeavingInternal() throws Exception { - this.verifyModelInitialized( - WEAVING_INTERNAL_KEY, - WEAVING_INTERNAL_TEST_VALUE); - this.verifySetProperty( - WEAVING_INTERNAL_KEY, - WEAVING_INTERNAL_TEST_VALUE, - WEAVING_INTERNAL_TEST_VALUE_2); - } - - public void testAddRemoveWeavingInternal() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_INTERNAL_KEY, - WEAVING_INTERNAL_TEST_VALUE, - WEAVING_INTERNAL_TEST_VALUE_2); - } - - // ********** WeavingEager tests ********** - public void testSetWeavingEager() throws Exception { - this.verifyModelInitialized( - WEAVING_EAGER_KEY, - WEAVING_EAGER_TEST_VALUE); - this.verifySetProperty( - WEAVING_EAGER_KEY, - WEAVING_EAGER_TEST_VALUE, - WEAVING_EAGER_TEST_VALUE_2); - } - - public void testAddRemoveWeavingEager() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_EAGER_KEY, - WEAVING_EAGER_TEST_VALUE, - WEAVING_EAGER_TEST_VALUE_2); - } - - // ********** SessionCustomizer tests ********** - public void testSetSessionCustomizer() throws Exception { - this.verifyModelInitialized( - SESSION_CUSTOMIZER_KEY, - SESSION_CUSTOMIZER_TEST_VALUE); - this.verifySetSessionCustomizationProperty( - Customization.SESSION_CUSTOMIZER_PROPERTY, - SESSION_CUSTOMIZER_KEY, - SESSION_CUSTOMIZER_TEST_VALUE, - SESSION_CUSTOMIZER_TEST_VALUE_2); - } - - public void testAddRemoveSessionCustomizer() throws Exception { - this.verifyAddRemoveSessionCustomizationProperty( - Customization.SESSION_CUSTOMIZER_PROPERTY, - SESSION_CUSTOMIZER_KEY, - SESSION_CUSTOMIZER_TEST_VALUE, - SESSION_CUSTOMIZER_TEST_VALUE_2); - } - - // ********** Weaving tests ********** - /** - * Tests the update of Weaving property by the Customization adapter when - * the PU or the model changes. - */ - public void testSetWeaving() throws Exception { - this.verifyModelInitialized( - WEAVING_KEY, - WEAVING_TEST_VALUE); - this.verifySetProperty( - WEAVING_KEY, - WEAVING_TEST_VALUE, - WEAVING_TEST_VALUE_2); - } - - public void testAddRemoveWeaving() throws Exception { - this.verifyAddRemoveProperty( - WEAVING_KEY, - WEAVING_TEST_VALUE, - WEAVING_TEST_VALUE_2); - } - - // ********** ValidationOnly tests ********** - public void testSetValidationOnly() throws Exception { - this.verifyModelInitialized( - VALIDATION_ONLY_KEY, - VALIDATION_ONLY_TEST_VALUE); - this.verifySetProperty( - VALIDATION_ONLY_KEY, - VALIDATION_ONLY_TEST_VALUE, - VALIDATION_ONLY_TEST_VALUE_2); - } - - public void testAddRemoveValidationOnly() throws Exception { - this.verifyAddRemoveProperty( - VALIDATION_ONLY_KEY, - VALIDATION_ONLY_TEST_VALUE, - VALIDATION_ONLY_TEST_VALUE_2); - } - - // ********** ValidateSchema tests ********** - public void testSetValidateSchema() throws Exception { - this.verifyModelInitialized( - VALIDATE_SCHEMA_KEY, - VALIDATE_SCHEMA_TEST_VALUE); - this.verifySetProperty( - VALIDATE_SCHEMA_KEY, - VALIDATE_SCHEMA_TEST_VALUE, - VALIDATE_SCHEMA_TEST_VALUE_2); - } - - public void testAddRemoveValidateSchema() throws Exception { - this.verifyAddRemoveProperty( - VALIDATE_SCHEMA_KEY, - VALIDATE_SCHEMA_TEST_VALUE, - VALIDATE_SCHEMA_TEST_VALUE_2); - } - - // ********** ExceptionHandler tests ********** - public void testSetExceptionHandler() throws Exception { - this.verifyModelInitialized( - EXCEPTION_HANDLER_KEY, - EXCEPTION_HANDLER_TEST_VALUE); - this.verifySetProperty( - EXCEPTION_HANDLER_KEY, - EXCEPTION_HANDLER_TEST_VALUE, - EXCEPTION_HANDLER_TEST_VALUE_2); - } - - public void testAddRemoveExceptionHandler() throws Exception { - this.verifyAddRemoveProperty( - EXCEPTION_HANDLER_KEY, - EXCEPTION_HANDLER_TEST_VALUE, - EXCEPTION_HANDLER_TEST_VALUE_2); - } - - // ********** Customization class ********** - /** - * Tests the update of Customization property by the Customization adapter when the - * PU or the model changes. - */ - public void testSetCustomization() throws Exception { - this.verifyModelInitialized( - CUSTOMIZER_KEY, - CUSTOMIZER_TEST_VALUE); - this.verifySetCustomizationProperty( - Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY, - CUSTOMIZER_KEY, - CUSTOMIZER_TEST_VALUE, - CUSTOMIZER_TEST_VALUE_2); - } - - public void testAddRemoveCustomization() throws Exception { - this.verifyAddRemoveCustomizationProperty( - Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY, - CUSTOMIZER_KEY, - CUSTOMIZER_TEST_VALUE, - CUSTOMIZER_TEST_VALUE_2); - } - - // ********** Profiler tests ********** - public void testSetProfiler() throws Exception { - this.verifyModelInitialized( - PROFILER_KEY, - this.getPropertyStringValueOf(PROFILER_TEST_VALUE)); // model is storing EclipseLinkStringValue - // verify set enum value - this.verifySetProperty( - PROFILER_KEY, - PROFILER_TEST_VALUE, - PROFILER_TEST_VALUE_2); - // verify set custom and literal value - this.verifySetProfiler( - PROFILER_KEY, - PROFILER_TEST_VALUE, - PROFILER_TEST_VALUE_2); - } - - public void testAddRemoveProfiler() throws Exception { - this.verifyAddRemoveProperty( - PROFILER_KEY, - PROFILER_TEST_VALUE, - PROFILER_TEST_VALUE_2); - } - - /** - * Verifies setting custom profiler and literals. - */ - protected void verifySetProfiler(String elKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(elKey); - String propertyName = this.getModel().propertyIdOf(property); - // test set custom profiler. - this.clearEvent(); - this.setProperty(propertyName, testValue2); - this.verifyPutProperty(propertyName, testValue2); - - // test set (Profiler) null - this.clearEvent(); - this.customization.setProfiler((Profiler) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - - // test set enum literal - this.clearEvent(); - this.setProperty(propertyName, testValue1.toString()); - assertNotNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, this.getPropertyStringValueOf(testValue1)); - - // test set (String) null - this.clearEvent(); - this.customization.setProfiler((String) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - } - - - - // ****** convenience methods ******* - - // ********** verify SessionCustomizer property ********** - protected void verifySetSessionCustomizationProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Replace - this.persistenceUnitSetProperty(key, testValue2, true); - this.propertiesTotal++; - this.verifyPutSessionCustomizerProperty(propertyName, testValue1); - } - - @SuppressWarnings("unused") - protected void verifyAddRemoveSessionCustomizationProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Remove - this.clearEvent(); - --this.propertiesTotal; - --this.modelPropertiesSize; - this.getPersistenceUnit().removeProperty(key, (String) testValue1); - assertFalse(this.customization.sessionCustomizerExists(key)); - assertEquals(this.modelPropertiesSize, this.modelPropertiesSizeOriginal - 1); - - // Add original Property - ++this.propertiesTotal; - ++this.modelPropertiesSize; - this.persistenceUnitSetProperty(key, testValue1, true); - this.verifyPutSessionCustomizerProperty(propertyName, testValue1); - } - - protected void verifyPutSessionCustomizerProperty(String propertyName, Object expectedValue) throws Exception { - // verify event received - assertNotNull("No Event Fired.", this.sessionCustomizersEvent); - this.verifySessionCustomizerEvent(propertyName, expectedValue); - } - - @SuppressWarnings("unused") - protected void verifySessionCustomizerEvent(String propertyName, Object expectedValue) throws Exception { - // verify event value - EclipseLinkCustomization customization = (EclipseLinkCustomization) this.sessionCustomizersEvent.getSource(); - assertTrue(customization.sessionCustomizerExists((String) expectedValue)); - return; - } - - // ********** verify entity property ********** - protected void verifySetCustomizationProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Replace - this.persistenceUnitSetProperty(key, testValue2); - this.verifyPutCustomizationProperty(propertyName, ENTITY_TEST, testValue2); - - // Replace by setting model object - this.clearEvent(); - this.setCustomizationProperty(propertyName, ENTITY_TEST, testValue1); - this.verifyPutCustomizationProperty(propertyName, ENTITY_TEST, testValue1); - } - - protected void verifyAddRemoveCustomizationProperty(String propertyName, String key, Object testValue1, Object testValue2) throws Exception { - // Remove - this.clearEvent(); - --this.propertiesTotal; - --this.modelPropertiesSize; - this.getPersistenceUnit().removeProperty(key); - assertNull(this.getPersistenceUnit().getProperty(key)); - assertEquals(this.modelPropertiesSize, this.modelPropertiesSizeOriginal - 1); - this.verifyPutCustomizationProperty(propertyName, ENTITY_TEST, null); - - // Add original Property - ++this.propertiesTotal; - ++this.modelPropertiesSize; - this.persistenceUnitSetProperty(key, testValue1); - this.verifyPutCustomizationProperty(propertyName, ENTITY_TEST, testValue1); - - // Replace - this.persistenceUnitSetProperty(key, testValue2); - this.verifyPutCustomizationProperty(propertyName, ENTITY_TEST, testValue2); - } - - protected void verifyPutCustomizationProperty(String propertyName, String entityName, Object expectedValue) throws Exception { - this.verifyEvent(propertyName); - this.verifyCustomizationEvent(propertyName, entityName, expectedValue); - } - - protected void verifyCustomizationEvent(String propertyName, String entityName, Object expectedValue) throws Exception { - // verify event value - Entity entity = (Entity) this.propertyChangedEvent.getNewValue(); - if (propertyName.equals(Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY)) { - assertEquals(expectedValue, entity.getParent().getDescriptorCustomizerOf(entityName)); - assertEquals(expectedValue, this.customization.getDescriptorCustomizerOf(entityName)); - } - else { - this.throwMissingDefinition("verifyCustomizationEvent", propertyName); - } - } - - protected void setCustomizationProperty(String propertyName, String entityName, Object newValue) throws NoSuchFieldException { - if (propertyName.equals(Entity.DESCRIPTOR_CUSTOMIZER_PROPERTY)) - this.customization.setDescriptorCustomizerOf(entityName, (String) newValue); - else - this.throwMissingDefinition("setCustomizationProperty", propertyName); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/JptEclipseLinkPersistenceCustomizationTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/JptEclipseLinkPersistenceCustomizationTests.java deleted file mode 100644 index 48445e28a6..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/customization/JptEclipseLinkPersistenceCustomizationTests.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.persistence.customization; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceCustomizationTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceCustomizationTests.class.getPackage().getName()); - - suite.addTestSuite(CustomizationValueModelTests.class); - suite.addTestSuite(EclipseLinkCustomizationTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceCustomizationTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesAdapterTests.java deleted file mode 100644 index 7d8f4f5bd3..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesAdapterTests.java +++ /dev/null @@ -1,105 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2008, 2009 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.general; - -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.general.GeneralProperties; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * GeneralAdapterTests - */ -@SuppressWarnings("nls") -public class GeneralPropertiesAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private GeneralProperties generalProperties; - - public static final String EXCLUDE_ECLIPSELINK_ORM_KEY = GeneralProperties.ECLIPSELINK_EXCLUDE_ECLIPSELINK_ORM; - public static final Boolean EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE = false; - public static final Boolean EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE_2 = ! EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE; - - - public GeneralPropertiesAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.generalProperties = this.subject.getGeneralProperties(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.generalProperties.addPropertyChangeListener(GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY, propertyChangeListener); - - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 1; - this.propertiesTotal = this.modelPropertiesSizeOriginal + 2; // misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(EXCLUDE_ECLIPSELINK_ORM_KEY, EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - - return; - } - - - // ********** ExcludeEclipselinkOrm tests ********** - public void testSetExcludeEclipselinkOrm() throws Exception { - this.verifyModelInitialized( - EXCLUDE_ECLIPSELINK_ORM_KEY, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE); - this.verifySetProperty( - EXCLUDE_ECLIPSELINK_ORM_KEY, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE_2); - } - - public void testAddRemoveExcludeEclipselinkOrm() throws Exception { - this.verifyAddRemoveProperty( - EXCLUDE_ECLIPSELINK_ORM_KEY, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE_2); - } - - - - // ********** get/set property ********** - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY)) - modelValue = this.generalProperties.getExcludeEclipselinkOrm(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY)) - this.generalProperties.setExcludeEclipselinkOrm((Boolean) newValue); - else - this.throwMissingDefinition("setProperty", propertyName); - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.generalProperties; - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesValueModelTests.java deleted file mode 100644 index 4551315689..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/GeneralPropertiesValueModelTests.java +++ /dev/null @@ -1,162 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.general; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.general.GeneralProperties; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * GeneralPropertyValueModelTests - */ -@SuppressWarnings("nls") -public class GeneralPropertiesValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private GeneralProperties generalProperty; - - private WritablePropertyValueModel<Boolean> excludeEclipselinkOrmHolder; - private PropertyChangeListener excludeEclipselinkOrmListener; - private PropertyChangeEvent excludeEclipselinkOrmEvent; - - public static final Boolean EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE = Boolean.FALSE; - - public GeneralPropertiesValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.generalProperty = this.subject.getGeneralProperties(); // Subject - PropertyValueModel<GeneralProperties> generalPropertyHolder = new SimplePropertyValueModel<GeneralProperties>(this.generalProperty); - - this.excludeEclipselinkOrmHolder = this.buildExcludeEclipselinkOrmAA(generalPropertyHolder); - this.excludeEclipselinkOrmListener = this.buildExcludeEclipselinkOrmChangeListener(); - this.excludeEclipselinkOrmHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.excludeEclipselinkOrmListener); - this.excludeEclipselinkOrmEvent = null; - } - - public void testHasListeners() { - AbstractModel subjectGeneralProperty = (AbstractModel) this.generalProperty; // Subject - - PropertyAspectAdapter<GeneralProperties, Boolean> excludeEclipselinkOrmAA = - (PropertyAspectAdapter<GeneralProperties, Boolean>) this.excludeEclipselinkOrmHolder; - assertTrue(excludeEclipselinkOrmAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectGeneralProperty.hasAnyPropertyChangeListeners(GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY)); - - excludeEclipselinkOrmAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.excludeEclipselinkOrmListener); - assertFalse(subjectGeneralProperty.hasAnyPropertyChangeListeners(GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY)); - assertFalse(excludeEclipselinkOrmAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - GeneralProperties.ECLIPSELINK_EXCLUDE_ECLIPSELINK_ORM, - EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.generalProperty; - } - - // ****** ExcludeEclipselinkOrm ******* - private WritablePropertyValueModel<Boolean> buildExcludeEclipselinkOrmAA(PropertyValueModel<GeneralProperties> subjectHolder) { - return new PropertyAspectAdapter<GeneralProperties, Boolean>(subjectHolder, GeneralProperties.EXCLUDE_ECLIPSELINK_ORM_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getExcludeEclipselinkOrm(); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setExcludeEclipselinkOrm(enumValue); - } - }; - } - - private PropertyChangeListener buildExcludeEclipselinkOrmChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - GeneralPropertiesValueModelTests.this.excludeEclipselinkOrmEvent = e; - } - }; - } - - // ****** Tests ******* - public void testValue() { - // ****** ExcludeEclipselinkOrm ******* - this.verifyExcludeEclipselinkOrmAAValue(EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE); - assertEquals(GeneralProperties.DEFAULT_EXCLUDE_ECLIPSELINK_ORM, this.generalProperty.getDefaultExcludeEclipselinkOrm()); - } - - public void testSetValue() throws Exception { - // ****** ExcludeEclipselinkOrm ******* - this.excludeEclipselinkOrmEvent = null; - this.verifyHasListeners(this.excludeEclipselinkOrmHolder, PropertyValueModel.VALUE); - Boolean newExcludeEclipselinkOrm = !EXCLUDE_ECLIPSELINK_ORM_TEST_VALUE; - // Modify the property holder - this.excludeEclipselinkOrmHolder.setValue(newExcludeEclipselinkOrm); - this.verifyExcludeEclipselinkOrmAAValue(newExcludeEclipselinkOrm); - assertNotNull(this.excludeEclipselinkOrmEvent); - } - - public void testSetNullValue() { - String notDeleted = "Property not deleted"; - // ****** ExcludeEclipselinkOrm ******* - this.excludeEclipselinkOrmEvent = null; - // Setting the property holder - this.excludeEclipselinkOrmHolder.setValue(null); - // testing Holder - this.verifyExcludeEclipselinkOrmAAValue(null); - assertNotNull(this.excludeEclipselinkOrmEvent); - // testing PU properties - this.verifyPuHasNotProperty(GeneralProperties.ECLIPSELINK_EXCLUDE_ECLIPSELINK_ORM, notDeleted); - } - - // ****** convenience methods ******* - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyExcludeEclipselinkOrmAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.generalProperty.getExcludeEclipselinkOrm(), - this.excludeEclipselinkOrmHolder, - GeneralProperties.ECLIPSELINK_EXCLUDE_ECLIPSELINK_ORM); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/JptEclipseLinkPersistenceGeneralTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/JptEclipseLinkPersistenceGeneralTests.java deleted file mode 100644 index 1c0be55124..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/general/JptEclipseLinkPersistenceGeneralTests.java +++ /dev/null @@ -1,33 +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.jpa.eclipselink.core.tests.internal.context.persistence.general; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceGeneralTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceGeneralTests.class.getPackage().getName()); - - suite.addTestSuite(GeneralPropertiesValueModelTests.class); - suite.addTestSuite(GeneralPropertiesAdapterTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceGeneralTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/JptEclipseLinkPersistenceLoggingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/JptEclipseLinkPersistenceLoggingTests.java deleted file mode 100644 index 30d275491f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/JptEclipseLinkPersistenceLoggingTests.java +++ /dev/null @@ -1,33 +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.jpa.eclipselink.core.tests.internal.context.persistence.logging; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceLoggingTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceLoggingTests.class.getPackage().getName()); - - suite.addTestSuite(LoggingValueModelTests.class); - suite.addTestSuite(LoggingAdapterTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceLoggingTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingAdapterTests.java deleted file mode 100644 index 4a10869b36..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingAdapterTests.java +++ /dev/null @@ -1,340 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.persistence.logging; - -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.logging.Logger; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.logging.Logging; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.logging.LoggingLevel; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of model objects by the Logging adapter when the - * PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class LoggingAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private Logging logging; - - public static final String LEVEL_KEY = Logging.ECLIPSELINK_LEVEL; - public static final LoggingLevel LEVEL_TEST_VALUE = LoggingLevel.fine; - public static final LoggingLevel LEVEL_TEST_VALUE_2 = LoggingLevel.finest; - - public static final String TIMESTAMP_KEY = Logging.ECLIPSELINK_TIMESTAMP; - public static final Boolean TIMESTAMP_TEST_VALUE = false; - public static final Boolean TIMESTAMP_TEST_VALUE_2 = ! TIMESTAMP_TEST_VALUE; - - public static final String THREAD_KEY = Logging.ECLIPSELINK_THREAD; - public static final Boolean THREAD_TEST_VALUE = false; - public static final Boolean THREAD_TEST_VALUE_2 = ! THREAD_TEST_VALUE; - - public static final String SESSION_KEY = Logging.ECLIPSELINK_SESSION; - public static final Boolean SESSION_TEST_VALUE = false; - public static final Boolean SESSION_TEST_VALUE_2 = ! SESSION_TEST_VALUE; - - public static final String EXCEPTIONS_KEY = Logging.ECLIPSELINK_EXCEPTIONS; - public static final Boolean EXCEPTIONS_TEST_VALUE = false; - public static final Boolean EXCEPTIONS_TEST_VALUE_2 = ! EXCEPTIONS_TEST_VALUE; - - private static final String LOG_FILE_LOCATION_KEY = Logging.ECLIPSELINK_LOG_FILE_LOCATION; - private static final String LOG_FILE_LOCATION_TEST_VALUE = "C:/temp"; - private static final String LOG_FILE_LOCATION_TEST_VALUE_2 = "C:/tmp"; - - private static final String LOGGER_KEY = Logging.ECLIPSELINK_LOGGER; - private static final Logger LOGGER_TEST_VALUE = Logger.java_logger; - private static final String LOGGER_TEST_VALUE_2 = "custom.logger.test"; - - public LoggingAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.logging = this.subject.getLogging(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.logging.addPropertyChangeListener(Logging.LEVEL_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.TIMESTAMP_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.THREAD_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.SESSION_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.EXCEPTIONS_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.LOG_FILE_LOCATION_PROPERTY, propertyChangeListener); - this.logging.addPropertyChangeListener(Logging.LOGGER_PROPERTY, propertyChangeListener); - - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 7; - this.propertiesTotal = this.modelPropertiesSizeOriginal + 4; // 4 misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(TIMESTAMP_KEY, TIMESTAMP_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - this.persistenceUnitSetProperty(LEVEL_KEY, LEVEL_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.3", "value.3"); - this.persistenceUnitSetProperty(THREAD_KEY, THREAD_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(SESSION_KEY, SESSION_TEST_VALUE.toString()); - this.persistenceUnitSetProperty(EXCEPTIONS_KEY, EXCEPTIONS_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.4", "value.4"); - this.persistenceUnitSetProperty(LOG_FILE_LOCATION_KEY, LOG_FILE_LOCATION_TEST_VALUE); - this.persistenceUnitSetProperty(LOGGER_KEY, LOGGER_TEST_VALUE); - return; - } - - // ********** Level tests ********** - public void testSetLevel() throws Exception { - this.verifyModelInitialized( - LEVEL_KEY, - LEVEL_TEST_VALUE); - this.verifySetProperty( - LEVEL_KEY, - LEVEL_TEST_VALUE, - LEVEL_TEST_VALUE_2); - } - - public void testAddRemoveLevel() throws Exception { - this.verifyAddRemoveProperty( - LEVEL_KEY, - LEVEL_TEST_VALUE, - LEVEL_TEST_VALUE_2); - } - - // ********** Timestamp tests ********** - public void testSetTimestamp() throws Exception { - this.verifyModelInitialized( - TIMESTAMP_KEY, - TIMESTAMP_TEST_VALUE); - this.verifySetProperty( - TIMESTAMP_KEY, - TIMESTAMP_TEST_VALUE, - TIMESTAMP_TEST_VALUE_2); - } - - public void testAddRemoveTimestamp() throws Exception { - this.verifyAddRemoveProperty( - TIMESTAMP_KEY, - TIMESTAMP_TEST_VALUE, - TIMESTAMP_TEST_VALUE_2); - } - - // ********** Thread tests ********** - public void testSetThread() throws Exception { - this.verifyModelInitialized( - THREAD_KEY, - THREAD_TEST_VALUE); - this.verifySetProperty( - THREAD_KEY, - THREAD_TEST_VALUE, - THREAD_TEST_VALUE_2); - } - - public void testAddRemoveThread() throws Exception { - this.verifyAddRemoveProperty( - THREAD_KEY, - THREAD_TEST_VALUE, - THREAD_TEST_VALUE_2); - } - - // ********** Session tests ********** - public void testSetSession() throws Exception { - this.verifyModelInitialized( - SESSION_KEY, - SESSION_TEST_VALUE); - this.verifySetProperty( - SESSION_KEY, - SESSION_TEST_VALUE, - SESSION_TEST_VALUE_2); - } - - public void testAddRemoveSession() throws Exception { - this.verifyAddRemoveProperty( - SESSION_KEY, - SESSION_TEST_VALUE, - SESSION_TEST_VALUE_2); - } - - // ********** Exceptions tests ********** - public void testSetExceptions() throws Exception { - this.verifyModelInitialized( - EXCEPTIONS_KEY, - EXCEPTIONS_TEST_VALUE); - this.verifySetProperty( - EXCEPTIONS_KEY, - EXCEPTIONS_TEST_VALUE, - EXCEPTIONS_TEST_VALUE_2); - } - - public void testAddRemoveExceptions() throws Exception { - this.verifyAddRemoveProperty( - EXCEPTIONS_KEY, - EXCEPTIONS_TEST_VALUE, - EXCEPTIONS_TEST_VALUE_2); - } - - // ********** LogFileLocation ********** - public void testSetLogFileLocation() throws Exception { - this.verifyModelInitialized( - LOG_FILE_LOCATION_KEY, - LOG_FILE_LOCATION_TEST_VALUE); - this.verifySetProperty( - LOG_FILE_LOCATION_KEY, - LOG_FILE_LOCATION_TEST_VALUE, - LOG_FILE_LOCATION_TEST_VALUE_2); - } - - public void testAddRemoveLogFileLocation() throws Exception { - this.verifyAddRemoveProperty( - LOG_FILE_LOCATION_KEY, - LOG_FILE_LOCATION_TEST_VALUE, - LOG_FILE_LOCATION_TEST_VALUE_2); - } - - public void testSetEmptyFileLocation() throws Exception { - String puKey = LOG_FILE_LOCATION_KEY; - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - String propertyName = this.getModel().propertyIdOf(property); - - // Set FileLocation to "" & verify that the property is deleted - this.verifyPuHasProperty(puKey, "persistenceUnit.properties doesn't contains: "); - this.setProperty(propertyName, ""); - - this.verifyPuHasNotProperty(puKey, "Property was not deleted"); - this.verifyPutProperty(propertyName, null); - assertNull(this.getPersistenceUnit().getProperty(puKey)); - } - - // ********** Logger tests ********** - public void testSetLogger() throws Exception { - this.verifyModelInitialized( - LOGGER_KEY, - this.getPropertyStringValueOf(LOGGER_TEST_VALUE)); // model is storing EclipseLinkStringValue - // verify set enum value - this.verifySetProperty( - LOGGER_KEY, - LOGGER_TEST_VALUE, - LOGGER_TEST_VALUE_2); - // verify set custom and literal value - this.verifySetLogger( - LOGGER_KEY, - LOGGER_TEST_VALUE, - LOGGER_TEST_VALUE_2); - } - - public void testAddRemoveLogger() throws Exception { - this.verifyAddRemoveProperty( - LOGGER_KEY, - LOGGER_TEST_VALUE, - LOGGER_TEST_VALUE_2); - } - - /** - * Verifies setting custom logger and literals. - */ - protected void verifySetLogger(String elKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(elKey); - String propertyName = this.getModel().propertyIdOf(property); - // test set custom logger. - this.clearEvent(); - this.setProperty(propertyName, testValue2); - this.verifyPutProperty(propertyName, testValue2); - - // test set (Logger) null - this.clearEvent(); - this.logging.setLogger((Logger) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - - // test set enum literal - this.clearEvent(); - this.setProperty(propertyName, testValue1.toString()); - assertNotNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, this.getPropertyStringValueOf(testValue1)); - - // test set (String) null - this.clearEvent(); - this.logging.setLogger((String) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(Logging.LEVEL_PROPERTY)) - this.logging.setLevel((LoggingLevel) newValue); - else if (propertyName.equals(Logging.TIMESTAMP_PROPERTY)) - this.logging.setTimestamp((Boolean) newValue); - else if (propertyName.equals(Logging.THREAD_PROPERTY)) - this.logging.setThread((Boolean) newValue); - else if (propertyName.equals(Logging.SESSION_PROPERTY)) - this.logging.setSession((Boolean) newValue); - else if (propertyName.equals(Logging.EXCEPTIONS_PROPERTY)) - this.logging.setExceptions((Boolean) newValue); - else if (propertyName.equals(Logging.LOG_FILE_LOCATION_PROPERTY)) - this.logging.setLogFileLocation((String) newValue); - else if (propertyName.equals(Logging.LOGGER_PROPERTY)) { - if (newValue.getClass().isEnum()) - this.logging.setLogger((Logger) newValue); - else - this.logging.setLogger((String) newValue); - } - else - this.throwMissingDefinition("setProperty", propertyName); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(Logging.LEVEL_PROPERTY)) - modelValue = this.logging.getLevel(); - else if (propertyName.equals(Logging.TIMESTAMP_PROPERTY)) - modelValue = this.logging.getTimestamp(); - else if (propertyName.equals(Logging.THREAD_PROPERTY)) - modelValue = this.logging.getThread(); - else if (propertyName.equals(Logging.SESSION_PROPERTY)) - modelValue = this.logging.getSession(); - else if (propertyName.equals(Logging.EXCEPTIONS_PROPERTY)) - modelValue = this.logging.getExceptions(); - else if (propertyName.equals(Logging.LOG_FILE_LOCATION_PROPERTY)) - modelValue = this.logging.getLogFileLocation(); - else if (propertyName.equals(Logging.LOGGER_PROPERTY)) - modelValue = this.logging.getLogger(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - @Override - protected void verifyPutProperty(String propertyName, Object expectedValue) throws Exception { - Object expectedValue_ = expectedValue; - if (propertyName.equals(Logging.LOGGER_PROPERTY)) { - - expectedValue_ = (expectedValue != null && expectedValue.getClass().isEnum()) ? - this.getPropertyStringValueOf(LOGGER_TEST_VALUE) : // model is storing EclipseLinkStringValue - expectedValue; - } - super.verifyPutProperty(propertyName, expectedValue_); - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.logging; - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingValueModelTests.java deleted file mode 100644 index cf1076f1bb..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/logging/LoggingValueModelTests.java +++ /dev/null @@ -1,162 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.logging; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.logging.Logging; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * LoggingValueModelTests - */ -@SuppressWarnings("nls") -public class LoggingValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private Logging logging; - - private WritablePropertyValueModel<Boolean> timestampHolder; - private PropertyChangeListener timestampListener; - private PropertyChangeEvent timestampEvent; - - public static final Boolean TIMESTAMP_TEST_VALUE = Boolean.FALSE; - - public LoggingValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.logging = this.subject.getLogging(); // Subject - PropertyValueModel<Logging> loggingHolder = new SimplePropertyValueModel<Logging>(this.logging); - - this.timestampHolder = this.buildTimestampAA(loggingHolder); - this.timestampListener = this.buildTimestampChangeListener(); - this.timestampHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.timestampListener); - this.timestampEvent = null; - } - - public void testHasListeners() { - AbstractModel subjectLogging = (AbstractModel) this.logging; // Subject - - PropertyAspectAdapter<Logging, Boolean> timestampAA = - (PropertyAspectAdapter<Logging, Boolean>) this.timestampHolder; - assertTrue(timestampAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectLogging.hasAnyPropertyChangeListeners(Logging.TIMESTAMP_PROPERTY)); - - timestampAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.timestampListener); - assertFalse(subjectLogging.hasAnyPropertyChangeListeners(Logging.TIMESTAMP_PROPERTY)); - assertFalse(timestampAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - Logging.ECLIPSELINK_TIMESTAMP, - TIMESTAMP_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.logging; - } - - // ****** Timestamp ******* - private WritablePropertyValueModel<Boolean> buildTimestampAA(PropertyValueModel<Logging> subjectHolder) { - return new PropertyAspectAdapter<Logging, Boolean>(subjectHolder, Logging.TIMESTAMP_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getTimestamp(); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setTimestamp(enumValue); - } - }; - } - - private PropertyChangeListener buildTimestampChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - LoggingValueModelTests.this.timestampEvent = e; - } - }; - } - - // ****** Tests ******* - public void testValue() { - // ****** Timestamp ******* - this.verifyTimestampAAValue(TIMESTAMP_TEST_VALUE); - assertEquals(Logging.DEFAULT_TIMESTAMP, this.logging.getDefaultTimestamp()); - } - - public void testSetValue() throws Exception { - // ****** Timestamp ******* - this.timestampEvent = null; - this.verifyHasListeners(this.timestampHolder, PropertyValueModel.VALUE); - Boolean newTimestamp = !TIMESTAMP_TEST_VALUE; - // Modify the property holder - this.timestampHolder.setValue(newTimestamp); - this.verifyTimestampAAValue(newTimestamp); - assertNotNull(this.timestampEvent); - } - - public void testSetNullValue() { - String notDeleted = "Property not deleted"; - // ****** Timestamp ******* - this.timestampEvent = null; - // Setting the property holder - this.timestampHolder.setValue(null); - // testing Holder - this.verifyTimestampAAValue(null); - assertNotNull(this.timestampEvent); - // testing PU properties - this.verifyPuHasNotProperty(Logging.ECLIPSELINK_TIMESTAMP, notDeleted); - } - - // ****** convenience methods ******* - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyTimestampAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.logging.getTimestamp(), - this.timestampHolder, - Logging.ECLIPSELINK_TIMESTAMP); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/JptEclipseLinkPersistenceOptionsTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/JptEclipseLinkPersistenceOptionsTests.java deleted file mode 100644 index 102a23f641..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/JptEclipseLinkPersistenceOptionsTests.java +++ /dev/null @@ -1,33 +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.jpa.eclipselink.core.tests.internal.context.persistence.options; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceOptionsTests -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceOptionsTests.class.getPackage().getName()); - - suite.addTestSuite(OptionsValueModelTests.class); - suite.addTestSuite(OptionsAdapterTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceOptionsTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsAdapterTests.java deleted file mode 100644 index 4fd722d6fd..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsAdapterTests.java +++ /dev/null @@ -1,380 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2008, 2009 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.options; - -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.options.Options; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.options.TargetDatabase; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.options.TargetServer; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of model objects by the Option adapter when the - * PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class OptionsAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private Options options; - - private static final String SESSION_NAME_KEY = Options.ECLIPSELINK_SESSION_NAME; - private static final String SESSION_NAME_TEST_VALUE = "session-name.test"; - private static final String SESSION_NAME_TEST_VALUE_2 = "session-name-2.test"; - - private static final String SESSIONS_XML_KEY = Options.ECLIPSELINK_SESSIONS_XML; - private static final String SESSIONS_XML_TEST_VALUE = "sessions-xml.test"; - private static final String SESSIONS_XML_TEST_VALUE_2 = "sessions-xml-2.test"; - - public static final String TARGET_DATABASE_KEY = Options.ECLIPSELINK_TARGET_DATABASE; - public static final TargetDatabase TARGET_DATABASE_TEST_VALUE = TargetDatabase.cloudscape; - public static final String TARGET_DATABASE_TEST_VALUE_2 = "custom.targetDatabase.test"; - - private static final String TARGET_SERVER_KEY = Options.ECLIPSELINK_TARGET_SERVER; - private static final TargetServer TARGET_SERVER_TEST_VALUE = TargetServer.weblogic_9; - private static final String TARGET_SERVER_TEST_VALUE_2 = "custom.targetServer.test"; - - public static final String INCLUDE_DESCRIPTOR_QUERIES_KEY = Options.ECLIPSELINK_SESSION_INCLUDE_DESCRIPTOR_QUERIES; - public static final Boolean INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE = false; - public static final Boolean INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE_2 = ! INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE; - - public static final String SESSION_EVENT_LISTENER_KEY = Options.ECLIPSELINK_SESSION_EVENT_LISTENER; - public static final String SESSION_EVENT_LISTENER_TEST_VALUE = "acme.CustomSessionEventListener"; - public static final String SESSION_EVENT_LISTENER_TEST_VALUE_2 = "oracle.sessions.CustomSessionEventListener"; - - public static final String TEMPORAL_MUTABLE_KEY = Options.ECLIPSELINK_TEMPORAL_MUTABLE; - public static final Boolean TEMPORAL_MUTABLE_TEST_VALUE = true; - public static final Boolean TEMPORAL_MUTABLE_TEST_VALUE_2 = ! TEMPORAL_MUTABLE_TEST_VALUE; - - public OptionsAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.options = this.subject.getOptions(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - - this.options.addPropertyChangeListener(Options.SESSION_NAME_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener(Options.SESSIONS_XML_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener(Options.TARGET_DATABASE_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener(Options.TARGET_SERVER_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener(Options.SESSION_EVENT_LISTENER_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener( - Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY, propertyChangeListener); - this.options.addPropertyChangeListener(Options.TEMPORAL_MUTABLE_PROPERTY, propertyChangeListener); - - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.modelPropertiesSizeOriginal = 7; - this.propertiesTotal = this.modelPropertiesSizeOriginal + 4; // 4 misc properties - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty(SESSION_NAME_KEY, SESSION_NAME_TEST_VALUE); - this.persistenceUnitSetProperty(SESSIONS_XML_KEY, SESSIONS_XML_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.1", "value.1"); - this.persistenceUnitSetProperty(INCLUDE_DESCRIPTOR_QUERIES_KEY, INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE.toString()); - this.persistenceUnitSetProperty("misc.property.2", "value.2"); - this.persistenceUnitSetProperty("misc.property.3", "value.3"); - this.persistenceUnitSetProperty(TARGET_DATABASE_KEY, TARGET_DATABASE_TEST_VALUE); - this.persistenceUnitSetProperty(TARGET_SERVER_KEY, TARGET_SERVER_TEST_VALUE); - this.persistenceUnitSetProperty(SESSION_EVENT_LISTENER_KEY, SESSION_EVENT_LISTENER_TEST_VALUE); - this.persistenceUnitSetProperty("misc.property.4", "value.4"); - this.persistenceUnitSetProperty(TEMPORAL_MUTABLE_KEY, TEMPORAL_MUTABLE_TEST_VALUE.toString()); - return; - } - - // ********** Listeners ********** - - // ********** SessionName tests ********** - public void testSetSessionName() throws Exception { - this.verifyModelInitialized( - SESSION_NAME_KEY, - SESSION_NAME_TEST_VALUE); - this.verifySetProperty( - SESSION_NAME_KEY, - SESSION_NAME_TEST_VALUE, - SESSION_NAME_TEST_VALUE_2); - } - - public void testAddRemoveSessionName() throws Exception { - this.verifyAddRemoveProperty( - SESSION_NAME_KEY, - SESSION_NAME_TEST_VALUE, - SESSION_NAME_TEST_VALUE_2); - } - - // ********** SessionsXml tests ********** - public void testSetSessionsXml() throws Exception { - this.verifyModelInitialized( - SESSIONS_XML_KEY, - SESSIONS_XML_TEST_VALUE); - this.verifySetProperty( - SESSIONS_XML_KEY, - SESSIONS_XML_TEST_VALUE, - SESSIONS_XML_TEST_VALUE_2); - } - - public void testAddRemoveSessionsXml() throws Exception { - this.verifyAddRemoveProperty( - SESSIONS_XML_KEY, - SESSIONS_XML_TEST_VALUE, - SESSIONS_XML_TEST_VALUE_2); - } - - // ********** IncludeDescriptorQueries tests ********** - public void testSetIncludeDescriptorQueries() throws Exception { - this.verifyModelInitialized( - INCLUDE_DESCRIPTOR_QUERIES_KEY, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE); - this.verifySetProperty( - INCLUDE_DESCRIPTOR_QUERIES_KEY, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE_2); - } - - public void testAddRemoveIncludeDescriptorQueries() throws Exception { - this.verifyAddRemoveProperty( - INCLUDE_DESCRIPTOR_QUERIES_KEY, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE_2); - } - - // ********** TargetDatabase tests ********** - public void testSetTargetDatabase() throws Exception { - this.verifyModelInitialized( - TARGET_DATABASE_KEY, - this.getPropertyStringValueOf(TARGET_DATABASE_TEST_VALUE)); // model is storing EclipseLinkStringValue - this.verifySetProperty( - TARGET_DATABASE_KEY, - TARGET_DATABASE_TEST_VALUE, - TARGET_DATABASE_TEST_VALUE_2); - // verify set custom and literal value - this.verifySetTargetDatabase( - TARGET_DATABASE_KEY, - TARGET_DATABASE_TEST_VALUE, - TARGET_DATABASE_TEST_VALUE_2); - } - - public void testAddRemoveTargetDatabase() throws Exception { - this.verifyAddRemoveProperty( - TARGET_DATABASE_KEY, - TARGET_DATABASE_TEST_VALUE, - TARGET_DATABASE_TEST_VALUE_2); - } - - /** - * Verifies setting custom targetDatabase and literals. - */ - protected void verifySetTargetDatabase(String elKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(elKey); - String propertyName = this.getModel().propertyIdOf(property); - // test set custom targetDatabase. - this.clearEvent(); - this.setProperty(propertyName, testValue2); - this.verifyPutProperty(propertyName, testValue2); - - // test set (TargetDatabase) null - this.clearEvent(); - this.options.setTargetDatabase((TargetDatabase) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - - // test set enum literal - this.clearEvent(); - this.setProperty(propertyName, testValue1.toString()); - assertNotNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, this.getPropertyStringValueOf(testValue1)); - - // test set (String) null - this.clearEvent(); - this.options.setTargetDatabase((String) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - } - - // ********** TargetServer tests ********** - public void testSetTargetServer() throws Exception { - this.verifyModelInitialized( - TARGET_SERVER_KEY, - this.getPropertyStringValueOf(TARGET_SERVER_TEST_VALUE)); // model is storing EclipseLinkStringValue - // verify set enum value - this.verifySetProperty( - TARGET_SERVER_KEY, - TARGET_SERVER_TEST_VALUE, - TARGET_SERVER_TEST_VALUE_2); - // verify set custom and literal value - this.verifySetTargetServer( - TARGET_SERVER_KEY, - TARGET_SERVER_TEST_VALUE, - TARGET_SERVER_TEST_VALUE_2); - } - - public void testAddRemoveTargetServer() throws Exception { - this.verifyAddRemoveProperty( - TARGET_SERVER_KEY, - TARGET_SERVER_TEST_VALUE, - TARGET_SERVER_TEST_VALUE_2); - } - - /** - * Verifies setting custom targetServer and literals. - */ - protected void verifySetTargetServer(String elKey, Object testValue1, Object testValue2) throws Exception { - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(elKey); - String propertyName = this.getModel().propertyIdOf(property); - // test set custom targetServer. - this.clearEvent(); - this.setProperty(propertyName, testValue2); - this.verifyPutProperty(propertyName, testValue2); - - // test set (TargetServer) null - this.clearEvent(); - this.options.setTargetServer((TargetServer) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - - // test set enum literal - this.clearEvent(); - this.setProperty(propertyName, testValue1.toString()); - assertNotNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, this.getPropertyStringValueOf(testValue1)); - - // test set (String) null - this.clearEvent(); - this.options.setTargetServer((String) null); - assertNull(this.getPersistenceUnit().getProperty(elKey)); - this.verifyPutProperty(propertyName, null); - } - - // ********** EventListener tests ********** - public void testSetEventListener() throws Exception { - this.verifyModelInitialized( - SESSION_EVENT_LISTENER_KEY, - SESSION_EVENT_LISTENER_TEST_VALUE); - this.verifySetProperty( - SESSION_EVENT_LISTENER_KEY, - SESSION_EVENT_LISTENER_TEST_VALUE, - SESSION_EVENT_LISTENER_TEST_VALUE_2); - } - - public void testAddRemoveEventListener() throws Exception { - this.verifyAddRemoveProperty( - SESSION_EVENT_LISTENER_KEY, - SESSION_EVENT_LISTENER_TEST_VALUE, - SESSION_EVENT_LISTENER_TEST_VALUE_2); - } - - // ********** TemporalMutable tests ********** - public void testSetTemporalMutable() throws Exception { - this.verifyModelInitialized( - TEMPORAL_MUTABLE_KEY, - TEMPORAL_MUTABLE_TEST_VALUE); - this.verifySetProperty( - TEMPORAL_MUTABLE_KEY, - TEMPORAL_MUTABLE_TEST_VALUE, - TEMPORAL_MUTABLE_TEST_VALUE_2); - } - - public void testAddRemoveTemporalMutable() throws Exception { - this.verifyAddRemoveProperty( - TEMPORAL_MUTABLE_KEY, - TEMPORAL_MUTABLE_TEST_VALUE, - TEMPORAL_MUTABLE_TEST_VALUE_2); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - if (propertyName.equals(Options.SESSION_NAME_PROPERTY)) - this.options.setSessionName((String) newValue); - else if (propertyName.equals(Options.SESSIONS_XML_PROPERTY)) - this.options.setSessionsXml((String) newValue); - else if (propertyName.equals(Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)) - this.options.setIncludeDescriptorQueries((Boolean) newValue); - else if (propertyName.equals(Options.TARGET_DATABASE_PROPERTY)) - this.setTargetDatabaseProperty(newValue); - else if (propertyName.equals(Options.TARGET_SERVER_PROPERTY)) - this.setTargetServerProperty(newValue); - else if (propertyName.equals(Options.SESSION_EVENT_LISTENER_PROPERTY)) - this.options.setEventListener((String) newValue); - else if (propertyName.equals(Options.TEMPORAL_MUTABLE_PROPERTY)) - this.options.setTemporalMutable((Boolean) newValue); - else - this.throwMissingDefinition("setProperty", propertyName); - } - - private void setTargetDatabaseProperty(Object newValue) { - if (newValue.getClass().isEnum()) - this.options.setTargetDatabase((TargetDatabase) newValue); - else - this.options.setTargetDatabase((String) newValue); - } - - private void setTargetServerProperty(Object newValue) { - if (newValue.getClass().isEnum()) - this.options.setTargetServer((TargetServer) newValue); - else - this.options.setTargetServer((String) newValue); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(Options.SESSION_NAME_PROPERTY)) - modelValue = this.options.getSessionName(); - else if (propertyName.equals(Options.SESSIONS_XML_PROPERTY)) - modelValue = this.options.getSessionsXml(); - else if (propertyName.equals(Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)) - modelValue = this.options.getIncludeDescriptorQueries(); - else if (propertyName.equals(Options.TARGET_DATABASE_PROPERTY)) - modelValue = this.options.getTargetDatabase(); - else if (propertyName.equals(Options.TARGET_SERVER_PROPERTY)) - modelValue = this.options.getTargetServer(); - else if (propertyName.equals(Options.SESSION_EVENT_LISTENER_PROPERTY)) - modelValue = this.options.getEventListener(); - else if (propertyName.equals(Options.TEMPORAL_MUTABLE_PROPERTY)) - modelValue = this.options.getTemporalMutable(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - @Override - protected void verifyPutProperty(String propertyName, Object expectedValue) throws Exception { - Object expectedValue_ = expectedValue; - if (propertyName.equals(Options.TARGET_DATABASE_PROPERTY) || - propertyName.equals(Options.TARGET_SERVER_PROPERTY)) { - - expectedValue_ = this.convertToEclipseLinkStringValue(expectedValue); - } - - super.verifyPutProperty(propertyName, expectedValue_); - } - - private String convertToEclipseLinkStringValue(Object expectedValue) { - return (String) ((expectedValue != null && expectedValue.getClass().isEnum()) ? - this.getPropertyStringValueOf(expectedValue) : // model is storing EclipseLinkStringValue - expectedValue); // already a EclipseLinkStringValue - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.options; - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsValueModelTests.java deleted file mode 100644 index 8ba58a029b..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/options/OptionsValueModelTests.java +++ /dev/null @@ -1,161 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.options; - -import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.options.Options; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * OptionsValueModelTests - */ -public class OptionsValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private Options options; - - private WritablePropertyValueModel<Boolean> includeDescriptorQueriesHolder; - private PropertyChangeListener includeDescriptorQueriesListener; - private PropertyChangeEvent includeDescriptorQueriesEvent; - - public static final Boolean INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE = Boolean.FALSE; - - public OptionsValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.options = this.subject.getOptions(); // Subject - PropertyValueModel<Options> optionsHolder = new SimplePropertyValueModel<Options>(this.options); - - this.includeDescriptorQueriesHolder = this.buildIncludeDescriptorQueriesAA(optionsHolder); - this.includeDescriptorQueriesListener = this.buildIncludeDescriptorQueriesChangeListener(); - this.includeDescriptorQueriesHolder.addPropertyChangeListener(PropertyValueModel.VALUE, this.includeDescriptorQueriesListener); - this.includeDescriptorQueriesEvent = null; - } - - public void testHasListeners() { - AbstractModel subjectOptions = (AbstractModel) this.options; // Subject - - PropertyAspectAdapter<Options, Boolean> includeDescriptorQueriesAA = - (PropertyAspectAdapter<Options, Boolean>) this.includeDescriptorQueriesHolder; - assertTrue(includeDescriptorQueriesAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - assertTrue(subjectOptions.hasAnyPropertyChangeListeners(Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)); - - includeDescriptorQueriesAA.removePropertyChangeListener(PropertyValueModel.VALUE, this.includeDescriptorQueriesListener); - assertFalse(subjectOptions.hasAnyPropertyChangeListeners(Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY)); - assertFalse(includeDescriptorQueriesAA.hasAnyPropertyChangeListeners(PropertyValueModel.VALUE)); - } - - /** - * Initializes directly the PU properties before testing. - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - Options.ECLIPSELINK_SESSION_INCLUDE_DESCRIPTOR_QUERIES, - INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.options; - } - - // ****** IncludeDescriptorQueries ******* - private WritablePropertyValueModel<Boolean> buildIncludeDescriptorQueriesAA(PropertyValueModel<Options> subjectHolder) { - return new PropertyAspectAdapter<Options, Boolean>(subjectHolder, Options.SESSION_INCLUDE_DESCRIPTOR_QUERIES_PROPERTY) { - @Override - protected Boolean buildValue_() { - return this.subject.getIncludeDescriptorQueries(); - } - - @Override - protected void setValue_(Boolean enumValue) { - this.subject.setIncludeDescriptorQueries(enumValue); - } - }; - } - - private PropertyChangeListener buildIncludeDescriptorQueriesChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - OptionsValueModelTests.this.includeDescriptorQueriesEvent = e; - } - }; - } - - // ****** Tests ******* - public void testValue() { - // ****** IncludeDescriptorQueries ******* - this.verifyIncludeDescriptorQueriesAAValue(INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE); - assertEquals(Options.DEFAULT_SESSION_INCLUDE_DESCRIPTOR_QUERIES, this.options.getDefaultIncludeDescriptorQueries()); - } - - public void testSetValue() throws Exception { - // ****** IncludeDescriptorQueries ******* - this.includeDescriptorQueriesEvent = null; - this.verifyHasListeners(this.includeDescriptorQueriesHolder, PropertyValueModel.VALUE); - Boolean newIncludeDescriptorQueries = !INCLUDE_DESCRIPTOR_QUERIES_TEST_VALUE; - // Modify the property holder - this.includeDescriptorQueriesHolder.setValue(newIncludeDescriptorQueries); - this.verifyIncludeDescriptorQueriesAAValue(newIncludeDescriptorQueries); - assertNotNull(this.includeDescriptorQueriesEvent); - } - - public void testSetNullValue() { - String notDeleted = "Property not deleted"; - // ****** IncludeDescriptorQueries ******* - this.includeDescriptorQueriesEvent = null; - // Setting the property holder - this.includeDescriptorQueriesHolder.setValue(null); - // testing Holder - this.verifyIncludeDescriptorQueriesAAValue(null); - assertNotNull(this.includeDescriptorQueriesEvent); - // testing PU properties - this.verifyPuHasNotProperty(Options.ECLIPSELINK_SESSION_INCLUDE_DESCRIPTOR_QUERIES, notDeleted); - } - - // ****** convenience methods ******* - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyIncludeDescriptorQueriesAAValue(Boolean testValue) { - this.verifyAAValue( - testValue, - this.options.getIncludeDescriptorQueries(), - this.includeDescriptorQueriesHolder, - Options.ECLIPSELINK_SESSION_INCLUDE_DESCRIPTOR_QUERIES); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/JptEclipseLinkPersistenceSchemaGenerationTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/JptEclipseLinkPersistenceSchemaGenerationTests.java deleted file mode 100644 index 2f7e74595a..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/JptEclipseLinkPersistenceSchemaGenerationTests.java +++ /dev/null @@ -1,35 +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.jpa.eclipselink.core.tests.internal.context.persistence.schema.generation; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * decentralize test creation code - */ -public class JptEclipseLinkPersistenceSchemaGenerationTests { - - public static Test suite() { - TestSuite suite = new TestSuite(JptEclipseLinkPersistenceSchemaGenerationTests.class.getPackage().getName()); - - suite.addTestSuite(SchemaGenerationValueModelTests.class); - suite.addTestSuite(SchemaGenerationBasicAdapterTests.class); - suite.addTestSuite(SchemaGenerationAdapterTests.class); - - return suite; - } - - private JptEclipseLinkPersistenceSchemaGenerationTests() { - super(); - throw new UnsupportedOperationException(); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationAdapterTests.java deleted file mode 100644 index 18e265ce7c..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationAdapterTests.java +++ /dev/null @@ -1,254 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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.jpa.eclipselink.core.tests.internal.context.persistence.schema.generation; - -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.DdlGenerationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.OutputMode; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.SchemaGeneration; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of OutputMode model object by the SchemaGeneration adapter - * when the PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class SchemaGenerationAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private SchemaGeneration schemaGeneration; - - public static final String DDL_GENERATION_TYPE_KEY = SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE; - public static final DdlGenerationType DDL_GENERATION_TYPE_TEST_VALUE = DdlGenerationType.drop_and_create_tables; - public static final DdlGenerationType DDL_GENERATION_TYPE_TEST_VALUE_2 = DdlGenerationType.none; - - public static final String OUTPUT_MODE_KEY = SchemaGeneration.ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE; - public static final OutputMode OUTPUT_MODE_TEST_VALUE = OutputMode.sql_script; - public static final OutputMode OUTPUT_MODE_TEST_VALUE_2 = OutputMode.database; - - private static final String CREATE_FILE_NAME_KEY = SchemaGeneration.ECLIPSELINK_CREATE_FILE_NAME; - private static final String CREATE_FILE_NAME_TEST_VALUE = "create-file-name.test"; - private static final String CREATE_FILE_NAME_TEST_VALUE_2 = "create-file-name-2.test"; - - private static final String DROP_FILE_NAME_KEY = SchemaGeneration.ECLIPSELINK_DROP_FILE_NAME; - private static final String DROP_FILE_NAME_TEST_VALUE = "drop-file-name.test"; - private static final String DROP_FILE_NAME_TEST_VALUE_2 = "drop-file-name-2.test"; - - private static final String APPLICATION_LOCATION_KEY = SchemaGeneration.ECLIPSELINK_APPLICATION_LOCATION; - private static final String APPLICATION_LOCATION_TEST_VALUE = "C:/temp"; - private static final String APPLICATION_LOCATION_TEST_VALUE_2 = "C:/tmp"; - - public SchemaGenerationAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.schemaGeneration = this.subject.getSchemaGeneration(); - - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.OUTPUT_MODE_PROPERTY, propertyChangeListener); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY, propertyChangeListener); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.CREATE_FILE_NAME_PROPERTY, propertyChangeListener); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.DROP_FILE_NAME_PROPERTY, propertyChangeListener); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.APPLICATION_LOCATION_PROPERTY, propertyChangeListener); - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. Cannot use - * Property Holder to initialize because it is not created yet - */ - @Override - protected void populatePu() { - this.propertiesTotal = 9; - this.modelPropertiesSizeOriginal = 5; - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("property.0", "value.0"); - this.persistenceUnitSetProperty(OUTPUT_MODE_KEY, this.getPropertyStringValueOf(OUTPUT_MODE_TEST_VALUE)); - this.persistenceUnitSetProperty("property.2", "value.2"); - this.persistenceUnitSetProperty("property.3", "value.3"); - this.persistenceUnitSetProperty("property.4", "value.4"); - this.persistenceUnitSetProperty(DDL_GENERATION_TYPE_KEY, this.getPropertyStringValueOf(DDL_GENERATION_TYPE_TEST_VALUE)); - this.persistenceUnitSetProperty(CREATE_FILE_NAME_KEY, CREATE_FILE_NAME_TEST_VALUE); - this.persistenceUnitSetProperty(DROP_FILE_NAME_KEY, DROP_FILE_NAME_TEST_VALUE); - this.persistenceUnitSetProperty(APPLICATION_LOCATION_KEY, APPLICATION_LOCATION_TEST_VALUE); - return; - } - - // ********** CreateFileName ********** - /** - * Tests the update of CreateFileName property by the SchemaGeneration - * adapter when the PU or the model changes. - */ - public void testSetCreateFileName() throws Exception { - this.verifyModelInitialized( - CREATE_FILE_NAME_KEY, - CREATE_FILE_NAME_TEST_VALUE); - this.verifySetProperty( - CREATE_FILE_NAME_KEY, - CREATE_FILE_NAME_TEST_VALUE, - CREATE_FILE_NAME_TEST_VALUE_2); - } - - public void testAddRemoveCreateFileName() throws Exception { - this.verifyAddRemoveProperty( - CREATE_FILE_NAME_KEY, - CREATE_FILE_NAME_TEST_VALUE, - CREATE_FILE_NAME_TEST_VALUE_2); - } - - // ********** DropFileName ********** - /** - * Tests the update of DropFileName property by the SchemaGeneration adapter - * when the PU or the model changes. - */ - public void testSetDropFileName() throws Exception { - this.verifyModelInitialized( - DROP_FILE_NAME_KEY, - DROP_FILE_NAME_TEST_VALUE); - this.verifySetProperty( - DROP_FILE_NAME_KEY, - DROP_FILE_NAME_TEST_VALUE, - DROP_FILE_NAME_TEST_VALUE_2); - } - - public void testAddRemoveDropFileName() throws Exception { - this.verifyAddRemoveProperty( - DROP_FILE_NAME_KEY, - DROP_FILE_NAME_TEST_VALUE, - DROP_FILE_NAME_TEST_VALUE_2); - } - - // ********** ApplicationLocation ********** - /** - * Tests the update of ApplicationLocation property by the SchemaGeneration - * adapter when the PU or the model changes. - */ - public void testSetApplicationLocation() throws Exception { - this.verifyModelInitialized( - APPLICATION_LOCATION_KEY, - APPLICATION_LOCATION_TEST_VALUE); - this.verifySetProperty( - APPLICATION_LOCATION_KEY, - APPLICATION_LOCATION_TEST_VALUE, - APPLICATION_LOCATION_TEST_VALUE_2); - } - - public void testAddRemoveApplicationLocation() throws Exception { - this.verifyAddRemoveProperty( - APPLICATION_LOCATION_KEY, - APPLICATION_LOCATION_TEST_VALUE, - APPLICATION_LOCATION_TEST_VALUE_2); - } - - public void testSetEmptyApplicationLocation() throws Exception { - String puKey = APPLICATION_LOCATION_KEY; - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(puKey); - String propertyName = this.getModel().propertyIdOf(property); - - // Set ApplicationLocation to "" & verify that the property is deleted - this.verifyPuHasProperty(puKey, "persistenceUnit.properties doesn't contains: "); - this.setProperty(propertyName, ""); - - this.verifyPuHasNotProperty(puKey, "Property was not deleted"); - this.verifyPutProperty(propertyName, null); - assertNull(this.getPersistenceUnit().getProperty(puKey)); - } - - // ********** OutputMode ********** - /** - * Tests the update of OutputMode property by the SchemaGeneration adapter - * when the PU or the model changes. - */ - public void testSetOutputMode() throws Exception { - this.verifyModelInitialized( - OUTPUT_MODE_KEY, - OUTPUT_MODE_TEST_VALUE); - this.verifySetProperty( - OUTPUT_MODE_KEY, - OUTPUT_MODE_TEST_VALUE, - OUTPUT_MODE_TEST_VALUE_2); - } - - public void testAddRemoveOutputMode() throws Exception { - this.verifyAddRemoveProperty( - OUTPUT_MODE_KEY, - OUTPUT_MODE_TEST_VALUE, - OUTPUT_MODE_TEST_VALUE_2); - } - - // ********** DdlGenerationType ********** - /** - * Tests the update of DdlGenerationType property by the SchemaGeneration - * adapter when the PU or the model changes. - */ - public void testSetDdlGenerationType() throws Exception { - this.verifyModelInitialized( - DDL_GENERATION_TYPE_KEY, - DDL_GENERATION_TYPE_TEST_VALUE); - this.verifySetProperty( - DDL_GENERATION_TYPE_KEY, - DDL_GENERATION_TYPE_TEST_VALUE, - DDL_GENERATION_TYPE_TEST_VALUE_2); - } - - public void testAddRemoveDdlGenerationType() throws Exception { - this.verifyAddRemoveProperty( - DDL_GENERATION_TYPE_KEY, - DDL_GENERATION_TYPE_TEST_VALUE, - DDL_GENERATION_TYPE_TEST_VALUE_2); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws NoSuchFieldException { - if (propertyName.equals(SchemaGeneration.OUTPUT_MODE_PROPERTY)) - this.schemaGeneration.setOutputMode((OutputMode) newValue); - // else if( propertyName.equals( Caching.CACHE_SIZE_PROPERTY)) - // TODO - else if (propertyName.equals(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY)) - this.schemaGeneration.setDdlGenerationType((DdlGenerationType) newValue); - else if (propertyName.equals(SchemaGeneration.APPLICATION_LOCATION_PROPERTY)) - this.schemaGeneration.setApplicationLocation((String) newValue); - else if (propertyName.equals(SchemaGeneration.CREATE_FILE_NAME_PROPERTY)) - this.schemaGeneration.setCreateFileName((String) newValue); - else if (propertyName.equals(SchemaGeneration.DROP_FILE_NAME_PROPERTY)) - this.schemaGeneration.setDropFileName((String) newValue); - else - this.throwMissingDefinition("setProperty", propertyName); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - Object modelValue = null; - if (propertyName.equals(SchemaGeneration.OUTPUT_MODE_PROPERTY)) - modelValue = this.schemaGeneration.getOutputMode(); - else if (propertyName.equals(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY)) - modelValue = this.schemaGeneration.getDdlGenerationType(); - else if (propertyName.equals(SchemaGeneration.APPLICATION_LOCATION_PROPERTY)) - modelValue = this.schemaGeneration.getApplicationLocation(); - else if (propertyName.equals(SchemaGeneration.CREATE_FILE_NAME_PROPERTY)) - modelValue = this.schemaGeneration.getCreateFileName(); - else if (propertyName.equals(SchemaGeneration.DROP_FILE_NAME_PROPERTY)) - modelValue = this.schemaGeneration.getDropFileName(); - else - this.throwMissingDefinition("getProperty", propertyName); - return modelValue; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.schemaGeneration; - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationBasicAdapterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationBasicAdapterTests.java deleted file mode 100644 index 9f26e1c7ef..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationBasicAdapterTests.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 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.jpa.eclipselink.core.tests.internal.context.persistence.schema.generation; - -import org.eclipse.jpt.common.utility.internal.iterables.ListIterable; -import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.ListValueModel; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.DdlGenerationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.OutputMode; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.SchemaGeneration; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * Tests the update of OutputMode model object by the SchemaGeneration adapter - * when the PersistenceUnit changes. - */ -@SuppressWarnings("nls") -public class SchemaGenerationBasicAdapterTests extends EclipseLinkPersistenceUnitTestCase -{ - private SchemaGeneration schemaGeneration; - - public static final String outputModeKey = SchemaGeneration.ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE; - public static final String ddlGenTypeKey = SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE; - - public static final OutputMode OUTPUT_MODE_TEST_VALUE = OutputMode.sql_script; - public static final OutputMode OUTPUT_MODE_TEST_VALUE_2 = OutputMode.database; - - public static final DdlGenerationType DDL_GENERATION_TYPE_TEST_VALUE = DdlGenerationType.drop_and_create_tables; - public static final DdlGenerationType DDL_GENERATION_TYPE_TEST_VALUE_2 = DdlGenerationType.none; - - public SchemaGenerationBasicAdapterTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - - this.schemaGeneration = this.subject.getSchemaGeneration(); - PropertyChangeListener propertyChangeListener = this.buildPropertyChangeListener(); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.OUTPUT_MODE_PROPERTY, propertyChangeListener); - this.schemaGeneration.addPropertyChangeListener(SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY, propertyChangeListener); - this.clearEvent(); - } - - /** - * Initializes directly the PU properties before testing. Cannot use - * Property Holder to initialize because it is not created yet - */ - @Override - protected void populatePu() { - this.propertiesTotal = 6; - this.modelPropertiesSizeOriginal = 2; - this.modelPropertiesSize = this.modelPropertiesSizeOriginal; - - this.persistenceUnitSetProperty("property.0", "value.0"); - this.persistenceUnitSetProperty(outputModeKey, this.getPropertyStringValueOf(OUTPUT_MODE_TEST_VALUE)); - this.persistenceUnitSetProperty("property.2", "value.2"); - this.persistenceUnitSetProperty("property.3", "value.3"); - this.persistenceUnitSetProperty("property.4", "value.4"); - this.persistenceUnitSetProperty(ddlGenTypeKey, this.getPropertyStringValueOf(DDL_GENERATION_TYPE_TEST_VALUE)); - return; - } - - /** ****** test methods ******* */ - - /** - * Tests the update of OutputMode property by the SchemaGeneration adapter - * when the PU changes. - */ - public void testOutputModeUpdate() throws Exception { - ListValueModel<PersistenceUnit.Property> propertiesAdapter = this.buildPropertiesAdapter(this.subjectHolder); - ListValueModel<PersistenceUnit.Property> propertyListAdapter = new ItemPropertyListValueModelAdapter<PersistenceUnit.Property>(propertiesAdapter, PersistenceUnit.Property.VALUE_PROPERTY); - - this.verifyHasListeners(this.schemaGeneration, SchemaGeneration.OUTPUT_MODE_PROPERTY); - - // Basic - assertTrue(schemaGeneration.itemIsProperty(this.getPersistenceUnit().getProperty(outputModeKey))); - assertEquals(OUTPUT_MODE_TEST_VALUE, this.schemaGeneration.getOutputMode()); - - // Replace - this.persistenceUnitSetProperty(outputModeKey, OUTPUT_MODE_TEST_VALUE_2); - this.verifyPutEvent(SchemaGeneration.OUTPUT_MODE_PROPERTY, OUTPUT_MODE_TEST_VALUE_2, this.schemaGeneration.getOutputMode()); - - // Remove - this.clearEvent(); - --this.propertiesTotal; - --this.modelPropertiesSize; - this.getPersistenceUnit().removeProperty(outputModeKey); - assertNull(this.getPersistenceUnit().getProperty(outputModeKey)); - assertEquals(this.modelPropertiesSize, this.modelPropertiesSizeOriginal - 1); - assertNotNull(this.propertyChangedEvent); - assertNull(this.propertyChangedEvent.getNewValue()); - - // Add original OutputMode - ++this.propertiesTotal; - ++this.modelPropertiesSize; - this.persistenceUnitSetProperty(outputModeKey, OUTPUT_MODE_TEST_VALUE); - this.verifyPutEvent(SchemaGeneration.OUTPUT_MODE_PROPERTY, OUTPUT_MODE_TEST_VALUE, this.schemaGeneration.getOutputMode()); - - // Replace again - this.persistenceUnitSetProperty(outputModeKey, OUTPUT_MODE_TEST_VALUE_2); - this.verifyPutEvent(SchemaGeneration.OUTPUT_MODE_PROPERTY, OUTPUT_MODE_TEST_VALUE_2, this.schemaGeneration.getOutputMode()); - - // Replace by setting model object - this.clearEvent(); - this.schemaGeneration.setOutputMode(OUTPUT_MODE_TEST_VALUE); - this.verifyPutEvent(SchemaGeneration.OUTPUT_MODE_PROPERTY, OUTPUT_MODE_TEST_VALUE, this.schemaGeneration.getOutputMode()); - } - - // ****** convenience methods ******* - @Override - protected PersistenceUnitProperties getModel() { - return this.schemaGeneration; - } - - private ListValueModel<PersistenceUnit.Property> buildPropertiesAdapter(PropertyValueModel<EclipseLinkPersistenceUnit> subjectHolder) { - return new ListAspectAdapter<EclipseLinkPersistenceUnit, PersistenceUnit.Property>(subjectHolder, PersistenceUnit.PROPERTIES_LIST) { - @Override - protected ListIterable<PersistenceUnit.Property> getListIterable() { - return this.subject.getProperties(); - } - - @Override - protected int size_() { - return this.subject.getPropertiesSize(); - } - }; - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationValueModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationValueModelTests.java deleted file mode 100644 index 2cda6aec46..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/persistence/schema/generation/SchemaGenerationValueModelTests.java +++ /dev/null @@ -1,232 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.schema.generation; - -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; -import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit; -import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnitProperties; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.DdlGenerationType; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.OutputMode; -import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.schema.generation.SchemaGeneration; -import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.persistence.EclipseLinkPersistenceUnitTestCase; - -/** - * SchemaGenerationValueModelTests - * - * Tests the PropertyValueModel of SchemaGeneration model and the update of the - * PersistenceUnit. - */ -public class SchemaGenerationValueModelTests extends EclipseLinkPersistenceUnitTestCase -{ - private SchemaGeneration schemaGen; - private PropertyValueModel<SchemaGeneration> schemaGenHolder; - - private WritablePropertyValueModel<DdlGenerationType> ddlGenerationTypeHolder; - private PropertyChangeEvent ddlGenerationTypeEvent; - - private WritablePropertyValueModel<OutputMode> outputModeHolder; - private PropertyChangeEvent outputModeEvent; - - public static final DdlGenerationType DDL_GENERATION_TYPE_TEST_VALUE = DdlGenerationType.drop_and_create_tables; - public static final OutputMode OUTPUT_MODE_TEST_VALUE = OutputMode.sql_script; - - public SchemaGenerationValueModelTests(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.schemaGen = this.subject.getSchemaGeneration(); // Subject - this.schemaGenHolder = new SimplePropertyValueModel<SchemaGeneration>(this.schemaGen); - - this.ddlGenerationTypeHolder = this.buildDdlGenerationTypeAA(this.schemaGenHolder); - PropertyChangeListener ddlGenerationTypeListener = this.buildDdlGenerationTypeChangeListener(); - this.ddlGenerationTypeHolder.addPropertyChangeListener(PropertyValueModel.VALUE, ddlGenerationTypeListener); - this.ddlGenerationTypeEvent = null; - - this.outputModeHolder = this.buildOutputModeAA(this.schemaGenHolder); - PropertyChangeListener outputModeListener = this.buildOutputModeChangeListener(); - this.outputModeHolder.addPropertyChangeListener(PropertyValueModel.VALUE, outputModeListener); - this.outputModeEvent = null; - } - - /** - * Initializes directly the PU properties before testing. Cannot use - * Property Holder to initialize because it is not created yet - */ - @Override - protected void populatePu() { - this.persistenceUnitSetProperty( - SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE, - DDL_GENERATION_TYPE_TEST_VALUE); - this.persistenceUnitSetProperty( - SchemaGeneration.ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE, - OUTPUT_MODE_TEST_VALUE); - return; - } - - @Override - protected PersistenceUnitProperties getModel() { - return this.schemaGen; - } - - /** ****** DdlGenerationType ******* */ - private WritablePropertyValueModel<DdlGenerationType> buildDdlGenerationTypeAA(PropertyValueModel<SchemaGeneration> subjectHolder) { - return new PropertyAspectAdapter<SchemaGeneration, DdlGenerationType>(subjectHolder, SchemaGeneration.DDL_GENERATION_TYPE_PROPERTY) { - @Override - protected DdlGenerationType buildValue_() { - return this.subject.getDdlGenerationType(); - } - - @Override - protected void setValue_(DdlGenerationType enumValue) { - this.subject.setDdlGenerationType(enumValue); - } - }; - } - - private PropertyChangeListener buildDdlGenerationTypeChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - SchemaGenerationValueModelTests.this.ddlGenerationTypeEvent = e; - } - }; - } - - /** ****** OutputMode ******* */ - private WritablePropertyValueModel<OutputMode> buildOutputModeAA(PropertyValueModel<SchemaGeneration> subjectHolder) { - return new PropertyAspectAdapter<SchemaGeneration, OutputMode>(subjectHolder, SchemaGeneration.OUTPUT_MODE_PROPERTY) { - @Override - protected OutputMode buildValue_() { - return this.subject.getOutputMode(); - } - - @Override - protected void setValue_(OutputMode enumValue) { - this.subject.setOutputMode(enumValue); - } - }; - } - - private PropertyChangeListener buildOutputModeChangeListener() { - return new PropertyChangeListener() { - public void propertyChanged(PropertyChangeEvent e) { - SchemaGenerationValueModelTests.this.outputModeEvent = e; - } - }; - } - - public void testValue() { - /** ****** DdlGenerationType ******* */ - this.verifyDdlGenerationTypeAAValue(DDL_GENERATION_TYPE_TEST_VALUE); - assertEquals( - SchemaGeneration.DEFAULT_SCHEMA_GENERATION_DDL_GENERATION_TYPE, - this.schemaGen.getDefaultDdlGenerationType()); - /** ****** OutputMode ******* */ - this.verifyOutputModeAAValue(OUTPUT_MODE_TEST_VALUE); - assertEquals( - SchemaGeneration.DEFAULT_SCHEMA_GENERATION_OUTPUT_MODE, - this.schemaGen.getDefaultOutputMode()); - } - - public void testSetValue() throws Exception { - /** ****** DdlGenerationType ******* */ - this.ddlGenerationTypeEvent = null; - this.verifyHasListeners(this.ddlGenerationTypeHolder, PropertyValueModel.VALUE); - DdlGenerationType newDdlGenerationType = DdlGenerationType.create_tables; - // Modify the persistenceUnit directly - this.subject.setProperty( - SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE, - this.getPropertyStringValueOf(newDdlGenerationType), - false); - this.verifyDdlGenerationTypeAAValue(newDdlGenerationType); - assertNotNull(this.ddlGenerationTypeEvent); - - /** ****** OutputMode ******* */ - this.outputModeEvent = null; - this.verifyHasListeners(this.outputModeHolder, PropertyValueModel.VALUE); - OutputMode newOutputMode = OutputMode.database; - // Modify the property holder - this.outputModeHolder.setValue(newOutputMode); - this.verifyOutputModeAAValue(newOutputMode); - assertNotNull(this.outputModeEvent); - } - - public void testSetNullValue() { - /** ****** DdlGenerationType ******* */ - this.ddlGenerationTypeEvent = null; - // Setting the persistenceUnit directly - this.subject.setProperty(SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE, null, false); - this.ddlGenerationTypeHolder.setValue(null); - // testing Holder - this.verifyDdlGenerationTypeAAValue(null); - assertNotNull(this.ddlGenerationTypeEvent); - // testing PU properties - PersistenceUnit.Property property = this.getPersistenceUnit().getProperty(SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE); - assertNull(property); - - /** ****** OutputMode ******* */ - this.outputModeEvent = null; - // Setting the property holder - this.outputModeHolder.setValue(null); - // testing Holder - this.verifyOutputModeAAValue(null); - assertNotNull(this.outputModeEvent); - // testing PU properties - property = this.getPersistenceUnit().getProperty(SchemaGeneration.ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE); - assertNull(property); - } - - /** ****** convenience methods ******* */ - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyDdlGenerationTypeAAValue(DdlGenerationType testValue) { - this.verifyAAValue( - testValue, - this.schemaGen.getDdlGenerationType(), - this.ddlGenerationTypeHolder, - SchemaGeneration.ECLIPSELINK_DDL_GENERATION_TYPE); - } - - /** - * Performs three value tests:<br> - * 1. subject value<br> - * 2. aspect adapter value<br> - * 3. persistenceUnit property value<br> - */ - protected void verifyOutputModeAAValue(OutputMode testValue) { - this.verifyAAValue( - testValue, - this.schemaGen.getOutputMode(), - this.outputModeHolder, - SchemaGeneration.ECLIPSELINK_DDL_GENERATION_OUTPUT_MODE); - } - - // ********** get/set property ********** - @Override - protected void setProperty(String propertyName, Object newValue) throws Exception { - throw new UnsupportedOperationException(); - } - - @Override - protected Object getProperty(String propertyName) throws NoSuchFieldException { - throw new UnsupportedOperationException(); - } -} |