diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource')
50 files changed, 0 insertions, 12369 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/JptJpaCoreResourceModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/JptJpaCoreResourceModelTests.java deleted file mode 100644 index 856925d1f3..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/JptJpaCoreResourceModelTests.java +++ /dev/null @@ -1,42 +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.core.tests.internal.resource; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.eclipse.jpt.jpa.core.tests.internal.JptJpaCoreTests; -import org.eclipse.jpt.jpa.core.tests.internal.jpa2.resource.java.JavaResource2_0Tests; -import org.eclipse.jpt.jpa.core.tests.internal.resource.java.JptJavaResourceTests; - -/** - * Required Java system property: - * -Dorg.eclipse.jpt.jpa.jar=<jpa.jar path> - */ -public class JptJpaCoreResourceModelTests - extends TestCase -{ - public static Test suite() { - TestSuite suite = new TestSuite(JptJpaCoreResourceModelTests.class.getPackage().getName()); - - if (JptJpaCoreTests.requiredJarsExists()) { - suite.addTest(JptJavaResourceTests.suite()); - suite.addTest(JavaResource2_0Tests.suite()); - } else { - suite.addTest(TestSuite.warning(JptJpaCoreTests.buildMissingJarErrorMessage())); - } - return suite; - } - - private JptJpaCoreResourceModelTests() { - super(); - throw new UnsupportedOperationException(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverrideTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverrideTests.java deleted file mode 100644 index fb8831a64f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverrideTests.java +++ /dev/null @@ -1,251 +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.core.tests.internal.resource.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.JavaResourceMember; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.AssociationOverrideAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation; - -@SuppressWarnings("nls") -public class AssociationOverrideTests extends JpaJavaResourceModelTestCase { - - private static final String ASSOCIATION_OVERRIDE_NAME = "MY_ASSOCIATION_OVERRIDE"; - - public AssociationOverrideTests(String name) { - super(name); - } - - private ICompilationUnit createTestAssociationOverrideOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ASSOCIATION_OVERRIDE, JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestAssociationOverrideWithJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ASSOCIATION_OVERRIDE, JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn})"); - } - }); - } - - private AssociationOverrideAnnotation getAssociationOverrideAnnotationAt(JavaResourceMember resourceMember, int index) { - return (AssociationOverrideAnnotation) resourceMember.getAnnotation(index, JPA.ASSOCIATION_OVERRIDE); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertNotNull(associationOverride); - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertNotNull(associationOverride); - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - - associationOverride.setName("Foo"); - assertEquals("Foo", associationOverride.getName()); - assertSourceContains("@AssociationOverride(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - - associationOverride.setName(null); - assertNull(associationOverride.getName()); - - assertSourceDoesNotContain("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\")", cu); - assertSourceContains("@AssociationOverride", cu); - } - - - public void testJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(0, associationOverride.getJoinColumnsSize()); - } - - public void testJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - - associationOverride.addJoinColumn(0); - associationOverride.addJoinColumn(1); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - } - - public void testJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - } - - public void testAddJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - associationOverride.addJoinColumn(0).setName("FOO"); - associationOverride.addJoinColumn(1); - associationOverride.addJoinColumn(0).setName("BAR"); - - assertEquals("BAR", associationOverride.joinColumnAt(0).getName()); - assertEquals("FOO", associationOverride.joinColumnAt(1).getName()); - assertNull(associationOverride.joinColumnAt(2).getName()); - - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\"),@JoinColumn(name = \"FOO\"), @JoinColumn})", cu); - } - - public void testRemoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - associationOverride.addJoinColumn(0).setName("FOO"); - - Iterator<JoinColumnAnnotation> joinColumns = associationOverride.getJoinColumns().iterator(); - assertEquals("FOO", joinColumns.next().getName()); - assertEquals("BAR", joinColumns.next().getName()); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\"), @JoinColumn})", cu); - - associationOverride.removeJoinColumn(1); - joinColumns = associationOverride.getJoinColumns().iterator(); - assertEquals("FOO", joinColumns.next().getName()); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn})", cu); - - associationOverride.removeJoinColumn(0); - joinColumns = associationOverride.getJoinColumns().iterator(); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = @JoinColumn)", cu); - - - associationOverride.setName(null); - associationOverride.removeJoinColumn(0); - assertSourceDoesNotContain("@JoinColumn", cu); - } - - public void testMoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - associationOverride.addJoinColumn(0).setName("FOO"); - - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn})", cu); - - associationOverride.moveJoinColumn(2, 0); - assertEquals("BAR", associationOverride.joinColumnAt(0).getName()); - assertNull(associationOverride.joinColumnAt(1).getName()); - assertEquals("FOO", associationOverride.joinColumnAt(2).getName()); - assertEquals(3, associationOverride.getJoinColumnsSize()); - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn, @JoinColumn(name = \"FOO\")})", cu); - } - - public void testMoveJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - associationOverride.addJoinColumn(0).setName("FOO"); - - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn})", cu); - - associationOverride.moveJoinColumn(0, 2); - assertNull(associationOverride.joinColumnAt(0).getName()); - assertEquals("FOO", associationOverride.joinColumnAt(1).getName()); - assertEquals("BAR", associationOverride.joinColumnAt(2).getName()); - assertEquals(3, associationOverride.getJoinColumnsSize()); - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn, @JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\")})", cu); - } - - public void testSetJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"foo\"), @JoinColumn})", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverridesTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverridesTests.java deleted file mode 100644 index 10434abf8f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AssociationOverridesTests.java +++ /dev/null @@ -1,344 +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.core.tests.internal.resource.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.JavaResourceMember; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.AssociationOverrideAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation; - -@SuppressWarnings("nls") -public class AssociationOverridesTests extends JpaJavaResourceModelTestCase { - - private static final String ASSOCIATION_OVERRIDE_NAME = "MY_ASSOCIATION_OVERRIDE"; - - public AssociationOverridesTests(String name) { - super(name); - } - - private ICompilationUnit createTestAssociationOverrideOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ASSOCIATION_OVERRIDE, JPA.ASSOCIATION_OVERRIDES); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestAssociationOverrideWithJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ASSOCIATION_OVERRIDE, JPA.ASSOCIATION_OVERRIDES, JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn}))"); - } - }); - } - - private ICompilationUnit createTestAssociationOverride() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ASSOCIATION_OVERRIDE, JPA.JOIN_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\"))"); - } - }); - } - - private AssociationOverrideAnnotation getAssociationOverrideAnnotationAt(JavaResourceMember resourceMember, int index) { - return (AssociationOverrideAnnotation) resourceMember.getAnnotation(index, JPA.ASSOCIATION_OVERRIDE); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertNotNull(associationOverride); - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertNotNull(associationOverride); - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - - associationOverride.setName("Foo"); - assertEquals("Foo", associationOverride.getName()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"Foo\"))", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - assertEquals(ASSOCIATION_OVERRIDE_NAME, associationOverride.getName()); - - associationOverride.setName(null); - assertNull(associationOverride.getName()); - - assertSourceDoesNotContain("@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\")", cu); - assertSourceContains("@AssociationOverride", cu); - assertSourceContains("@AssociationOverrides", cu); - } - - public void testAddAssociationOverrideCopyExisting() throws Exception { - ICompilationUnit cu = createTestAssociationOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - String expected1 = "@AssociationOverrides({"; - String expected2 = "@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\")),"; - String expected3 = "@AssociationOverride(name = \"BAR\") })"; - - AssociationOverrideAnnotation associationOverride = (AssociationOverrideAnnotation) resourceType.addAnnotation(1, JPA.ASSOCIATION_OVERRIDE); - associationOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNull(resourceType.getAnnotation(JPA.ASSOCIATION_OVERRIDE)); - assertNotNull(resourceType.getAnnotation(JPA.ASSOCIATION_OVERRIDES)); - assertNotNull(resourceType.getAnnotation(0, JPA.ASSOCIATION_OVERRIDE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.ASSOCIATION_OVERRIDE)); - } - - public void testAddAssociationOverrideToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestAssociationOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@AssociationOverrides({"; - String expected2 = "@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\")),"; - String expected3 = "@AssociationOverride(name = \"BAR\") })"; - - AssociationOverrideAnnotation associationOverride = (AssociationOverrideAnnotation) resourceType.addAnnotation(1, JPA.ASSOCIATION_OVERRIDE); - associationOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@AssociationOverride(name = \"BAZ\"),"; - expected3 = "@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\")), @AssociationOverride(name = \"BAR\") })"; - associationOverride = (AssociationOverrideAnnotation) resourceType.addAnnotation(0, JPA.ASSOCIATION_OVERRIDE); - associationOverride.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> associationOverrides = resourceType.getAnnotations(JPA.ASSOCIATION_OVERRIDE).iterator(); - assertEquals("BAZ", ((AssociationOverrideAnnotation) associationOverrides.next()).getName()); - assertEquals("FOO", ((AssociationOverrideAnnotation) associationOverrides.next()).getName()); - assertEquals("BAR", ((AssociationOverrideAnnotation) associationOverrides.next()).getName()); - - assertNull(resourceType.getAnnotation(JPA.ASSOCIATION_OVERRIDE)); - assertNotNull(resourceType.getAnnotation(JPA.ASSOCIATION_OVERRIDES)); - assertNotNull(resourceType.getAnnotation(0, JPA.ASSOCIATION_OVERRIDE)); - assertEquals(3, resourceType.getAnnotationsSize(JPA.ASSOCIATION_OVERRIDE)); - } - - public void testRemoveAssociationOverrideCopyExisting() throws Exception { - ICompilationUnit cu = createTestAssociationOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - String expected1 = "@AssociationOverrides({"; - String expected2 = "@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\")),"; - String expected3 = "@AssociationOverride(name = \"BAR\") })"; - - AssociationOverrideAnnotation associationOverride = (AssociationOverrideAnnotation) resourceType.addAnnotation(1, JPA.ASSOCIATION_OVERRIDE); - associationOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@AssociationOverride(name = \"FOO\", joinColumns = @JoinColumn(name = \"FOO\", columnDefinition = \"BAR\", referencedColumnName = \"BAZ\"))"; - resourceType.removeAnnotation(1, JPA.ASSOCIATION_OVERRIDE); - assertSourceContains(expected2, cu); - assertSourceDoesNotContain("@AssociationOverrides", cu); - } - - public void testJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(0, associationOverride.getJoinColumnsSize()); - } - - public void testJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - associationOverride.addJoinColumn(0); - associationOverride.addJoinColumn(1); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - } - - public void testJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - } - - public void testAddJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - associationOverride.addJoinColumn(0).setName("FOO"); - associationOverride.addJoinColumn(1); - associationOverride.addJoinColumn(0).setName("BAR"); - - - Iterator<JoinColumnAnnotation> joinColumns = associationOverride.getJoinColumns().iterator(); - assertEquals("BAR", joinColumns.next().getName()); - assertEquals("FOO", joinColumns.next().getName()); - assertNull(joinColumns.next().getName()); - - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\"),@JoinColumn(name = \"FOO\"), @JoinColumn}))", cu); - } - - public void testRemoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - associationOverride.addJoinColumn(0).setName("FOO"); - - Iterator<JoinColumnAnnotation> joinColumns = associationOverride.getJoinColumns().iterator(); - assertEquals("FOO", joinColumns.next().getName()); - assertEquals("BAR", joinColumns.next().getName()); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\"), @JoinColumn}))", cu); - - associationOverride.removeJoinColumn(1); - joinColumns = associationOverride.getJoinColumns().iterator(); - assertEquals("FOO", joinColumns.next().getName()); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn}))", cu); - - associationOverride.removeJoinColumn(0); - joinColumns = associationOverride.getJoinColumns().iterator(); - assertNull(joinColumns.next().getName()); - assertEquals(false, joinColumns.hasNext()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = @JoinColumn))", cu); - - - associationOverride.setName(null); - associationOverride.removeJoinColumn(0); - assertSourceDoesNotContain("@JoinColumn", cu); - } - - public void testMoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - associationOverride.addJoinColumn(0).setName("FOO"); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn}))", cu); - - associationOverride.moveJoinColumn(2, 0); - assertEquals("BAR", associationOverride.joinColumnAt(0).getName()); - assertNull(associationOverride.joinColumnAt(1).getName()); - assertEquals("FOO", associationOverride.joinColumnAt(2).getName()); - assertEquals(3, associationOverride.getJoinColumnsSize()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn, @JoinColumn(name = \"FOO\")}))", cu); - } - - public void testMoveJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - associationOverride.addJoinColumn(0).setName("FOO"); - - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn}))", cu); - associationOverride.moveJoinColumn(0, 2); - assertNull(associationOverride.joinColumnAt(0).getName()); - assertEquals("FOO", associationOverride.joinColumnAt(1).getName()); - assertEquals("BAR", associationOverride.joinColumnAt(2).getName()); - assertEquals(3, associationOverride.getJoinColumnsSize()); - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn, @JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\")}))", cu); - } - - public void testSetJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestAssociationOverrideWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - AssociationOverrideAnnotation associationOverride = this.getAssociationOverrideAnnotationAt(resourceField, 0); - - assertEquals(2, associationOverride.getJoinColumnsSize()); - - JoinColumnAnnotation joinColumn = associationOverride.joinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@AssociationOverrides(@AssociationOverride(name = \"" + ASSOCIATION_OVERRIDE_NAME + "\", joinColumns = {@JoinColumn(name = \"foo\"), @JoinColumn}))", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverrideTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverrideTests.java deleted file mode 100644 index eec0cf1f62..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverrideTests.java +++ /dev/null @@ -1,163 +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.core.tests.internal.resource.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.JavaResourceMember; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.AttributeOverrideAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class AttributeOverrideTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String ATTRIBUTE_OVERRIDE_NAME = "MY_ATTRIBUTE_OVERRIDE"; - - public AttributeOverrideTests(String name) { - super(name); - } - - private ICompilationUnit createTestAttributeOverrideOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ATTRIBUTE_OVERRIDE, JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestAttributeOverrideWithColumnOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ATTRIBUTE_OVERRIDE, JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\", column = @Column(name = \"" + COLUMN_NAME + "\"))"); - } - }); - } - - private AttributeOverrideAnnotation getAttributeOverrideAnnotationAt(JavaResourceMember resourceMember, int index) { - return (AttributeOverrideAnnotation) resourceMember.getAnnotation(index, JPA.ATTRIBUTE_OVERRIDE); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertNotNull(attributeOverride); - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - } - - public void testGetNullColumn() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - ColumnAnnotation column = attributeOverride.getColumn(); - assertNotNull(attributeOverride); - assertNull(column); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertNotNull(attributeOverride); - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - - attributeOverride.setName("Foo"); - assertEquals("Foo", attributeOverride.getName()); - assertSourceContains("@AttributeOverride(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - - attributeOverride.setName(null); - assertNull(attributeOverride.getName()); - - assertSourceDoesNotContain("@AttributeOverride(name=\"" + ATTRIBUTE_OVERRIDE_NAME + "\")", cu); - assertSourceContains("@AttributeOverride", cu); - } - - public void testColumnGetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - ColumnAnnotation column = attributeOverride.getColumn(); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testColumnSetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - ColumnAnnotation column = attributeOverride.getColumn(); - assertEquals(COLUMN_NAME, column.getName()); - - column.setName("Foo"); - - assertSourceContains("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\", column = @Column(name = \"Foo\"))", cu); - - column.setName(null); - assertNull(attributeOverride.getColumn().getName()); - attributeOverride.removeColumn(); - assertNull(attributeOverride.getColumn()); - assertSourceContains("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\")", cu); - } - - public void testAddColumn() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - ColumnAnnotation column = attributeOverride.getColumn(); - assertNull(column); - - attributeOverride.addColumn(); - column = attributeOverride.getColumn(); - assertNotNull(column); - assertSourceContains("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\", column = @Column)", cu); - } - - public void testRemoveColumn() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - ColumnAnnotation column = attributeOverride.getColumn(); - assertNull(column); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverridesTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverridesTests.java deleted file mode 100644 index 2331276d19..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/AttributeOverridesTests.java +++ /dev/null @@ -1,298 +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.core.tests.internal.resource.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.JavaResourceMember; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.AttributeOverrideAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class AttributeOverridesTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String ATTRIBUTE_OVERRIDE_NAME = "MY_ATTRIBUTE_OVERRIDE"; - - public AttributeOverridesTests(String name) { - super(name); - } - - private ICompilationUnit createTestAttributeOverrideOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES, JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AttributeOverrides(@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestAttributeOverrideWithColumnOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES, JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@AttributeOverrides(@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\", column = @Column(name = \"" + COLUMN_NAME + "\")))"); - } - }); - } - - private ICompilationUnit createTestAttributeOverride() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ATTRIBUTE_OVERRIDE, JPA.COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1))"); - } - }); - } - - private AttributeOverrideAnnotation getAttributeOverrideAnnotationAt(JavaResourceMember resourceMember, int index) { - return (AttributeOverrideAnnotation) resourceMember.getAnnotation(index, JPA.ATTRIBUTE_OVERRIDE); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertNotNull(attributeOverride); - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - } - - public void testGetNullColumn() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - ColumnAnnotation column = attributeOverride.getColumn(); - assertNotNull(attributeOverride); - assertNull(column); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertNotNull(attributeOverride); - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - - attributeOverride.setName("Foo"); - assertEquals("Foo", attributeOverride.getName()); - assertSourceContains("@AttributeOverrides(@AttributeOverride(name = \"Foo\"))", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - assertEquals(ATTRIBUTE_OVERRIDE_NAME, attributeOverride.getName()); - - attributeOverride.setName(null); - assertNull(attributeOverride.getName()); - - assertSourceDoesNotContain("@AttributeOverride(name=\"" + ATTRIBUTE_OVERRIDE_NAME + "\")", cu); - assertSourceContains("@AttributeOverride", cu); - assertSourceContains("@AttributeOverrides", cu); - } - - public void testColumnGetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - ColumnAnnotation column = attributeOverride.getColumn(); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testColumnSetName() throws Exception { - ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - AttributeOverrideAnnotation attributeOverride = this.getAttributeOverrideAnnotationAt(resourceField, 0); - - ColumnAnnotation column = attributeOverride.getColumn(); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName("Foo"); - - assertSourceContains("@AttributeOverrides(@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\", column = @Column(name = \"Foo\")))", cu); - - column.setName(null); - assertNull(attributeOverride.getColumn().getName()); - attributeOverride.removeColumn(); - assertNull(attributeOverride.getColumn()); - assertSourceContains("@AttributeOverride(name = \"" + ATTRIBUTE_OVERRIDE_NAME + "\")", cu); - } - - public void testAddAttributeOverrideCopyExisting() throws Exception { - ICompilationUnit cu = createTestAttributeOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@AttributeOverrides({"; - String expected2 = "@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1)),"; - String expected3 = "@AttributeOverride(name = \"BAR\") })"; - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceType.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNull(resourceType.getAnnotation(JPA.ATTRIBUTE_OVERRIDE)); - assertNotNull(resourceType.getAnnotation(JPA.ATTRIBUTE_OVERRIDES)); - assertNotNull(resourceType.getAnnotation(0, JPA.ATTRIBUTE_OVERRIDE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - public void testAddAttributeOverrideToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestAttributeOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@AttributeOverrides({"; - String expected2 = "@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1)),"; - String expected3 = "@AttributeOverride(name = \"BAR\") })"; - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceType.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@AttributeOverride(name = \"BAZ\"),"; - expected3 = "@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1)), @AttributeOverride(name = \"BAR\") })"; - attributeOverride = (AttributeOverrideAnnotation) resourceType.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> attributeOverrides = resourceType.getAnnotations(JPA.ATTRIBUTE_OVERRIDE).iterator(); - assertEquals("BAZ", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName()); - assertEquals("FOO", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName()); - assertEquals("BAR", ((AttributeOverrideAnnotation) attributeOverrides.next()).getName()); - - assertNull(resourceType.getAnnotation(JPA.ATTRIBUTE_OVERRIDE)); - assertNotNull(resourceType.getAnnotation(JPA.ATTRIBUTE_OVERRIDES)); - assertNotNull(resourceType.getAnnotation(0, JPA.ATTRIBUTE_OVERRIDE)); - assertEquals(3, resourceType.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - public void testRemoveAttributeOverrideCopyExisting() throws Exception { - ICompilationUnit cu = createTestAttributeOverride(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@AttributeOverrides({"; - String expected2 = "@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1)),"; - String expected3 = "@AttributeOverride(name = \"BAR\") })"; - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceType.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@AttributeOverride(name = \"FOO\", column = @Column(name = \"FOO\", columnDefinition = \"BAR\", table = \"BAZ\", unique = false, nullable = false, insertable = false, updatable = false, length = 1, precision = 1, scale = 1))"; - resourceType.removeAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@AttributeOverrides", cu); - } - //not sure i want to test this api, how can we keep ContainerAnnotation.add, move, remove from being public? - //users should go throught AbstractJavapersistenceResource. this gets confusing because you would handle it differently - //for non top-level annotations -// public void testAdd() throws Exception { -// ICompilationUnit cu = this.createTestType(); -// JavaPersistentTypeResource typeResource = buildJavaTypeResource(cu); -// JavaPersistentAttributeResource attributeResource = typeResource.fields().next(); -// AttributeOverrides attributeOverrides = (AttributeOverrides) attributeResource.annotation(JPA.ATTRIBUTE_OVERRIDES); -// assertNull(attributeOverrides); -// -// attributeResource.addAnnotation(JPA.ATTRIBUTE_OVERRIDES); -// attributeOverrides = (AttributeOverrides) attributeResource.annotation(JPA.ATTRIBUTE_OVERRIDES); -// assertNotNull(attributeOverrides); -// -// assertSourceContains("@AttributeOverrides"); -// -// AttributeOverride fooAttributeOverride = attributeOverrides.add(0); -// fooAttributeOverride.setName("Foo"); -// -// assertSourceContains("@AttributeOverrides(@AttributeOverride(name=\"Foo\"))"); -// -// AttributeOverride barAttributeOverride = attributeOverrides.add(0); -// barAttributeOverride.setName("Bar"); -// -// assertSourceContains("@AttributeOverrides({@AttributeOverride(name=\"Bar\"), @AttributeOverride(name=\"Foo\")})"); -// -// } -// -// public void testMove() throws Exception { -// ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); -// JavaPersistentTypeResource typeResource = buildJavaTypeResource(cu); -// JavaPersistentAttributeResource attributeResource = typeResource.fields().next(); -// AttributeOverrides attributeOverrides = (AttributeOverrides) attributeResource.annotation(JPA.ATTRIBUTE_OVERRIDES); -// -// AttributeOverride fooAttributeOverride = attributeOverrides.add(1); -// fooAttributeOverride.setName("Foo"); -// -// assertSourceContains("@AttributeOverrides({@AttributeOverride(name=\"" + ATTRIBUTE_OVERRIDE_NAME + "\"), @AttributeOverride(name=\"Foo\")})"); -// -// attributeOverrides.move(0, 1); -// -// assertSourceContains("@AttributeOverrides({@AttributeOverride(name=\"Foo\"), @AttributeOverride(name=\"" + ATTRIBUTE_OVERRIDE_NAME + "\")})"); -// } -// -// public void testRemove() throws Exception { -// ICompilationUnit cu = this.createTestAttributeOverrideWithColumnOnField(); -// JavaPersistentTypeResource typeResource = buildJavaTypeResource(cu); -// JavaPersistentAttributeResource attributeResource = typeResource.fields().next(); -// AttributeOverrides attributeOverrides = (AttributeOverrides) attributeResource.annotation(JPA.ATTRIBUTE_OVERRIDES); -// -// AttributeOverride fooAttributeOverride = attributeOverrides.add(1); -// fooAttributeOverride.setName("Foo"); -// -// assertSourceContains("@AttributeOverrides({@AttributeOverride(name=\"" + ATTRIBUTE_OVERRIDE_NAME + "\"), @AttributeOverride(name=\"Foo\")})"); -// -// attributeOverrides.remove(0); -// -// assertSourceContains("@AttributeOverrides(@AttributeOverride(name=\"Foo\"))"); -// -// attributeOverrides.remove(0); -// -// assertSourceContains("@AttributeOverrides()"); -// -// } - - - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/BasicTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/BasicTests.java deleted file mode 100644 index e90df300fb..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/BasicTests.java +++ /dev/null @@ -1,152 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.BasicAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.FetchType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class BasicTests extends JpaJavaResourceModelTestCase { - - public BasicTests(String name) { - super(name); - } - - private ICompilationUnit createTestBasic() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.BASIC); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic"); - } - }); - } - - private ICompilationUnit createTestBasicWithOptional() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.BASIC); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic(optional = true)"); - } - }); - } - - private ICompilationUnit createTestBasicWithFetch() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.BASIC, JPA.FETCH_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Basic(fetch = FetchType.EAGER)"); - } - }); - } - - public void testBasic() throws Exception { - ICompilationUnit cu = this.createTestBasic(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertNotNull(basic); - } - - public void testGetOptional() throws Exception { - ICompilationUnit cu = this.createTestBasicWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(Boolean.TRUE, basic.getOptional()); - } - - public void testSetOptional() throws Exception { - ICompilationUnit cu = this.createTestBasicWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(Boolean.TRUE, basic.getOptional()); - - basic.setOptional(Boolean.FALSE); - assertEquals(Boolean.FALSE, basic.getOptional()); - - assertSourceContains("@Basic(optional = false)", cu); - } - - public void testSetOptionalNull() throws Exception { - ICompilationUnit cu = this.createTestBasicWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(Boolean.TRUE, basic.getOptional()); - - basic.setOptional(null); - assertNull(basic.getOptional()); - - assertSourceContains("@Basic", cu); - assertSourceDoesNotContain("optional", cu); - } - - public void testGetFetch() throws Exception { - ICompilationUnit cu = this.createTestBasicWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(FetchType.EAGER, basic.getFetch()); - } - - public void testSetFetch() throws Exception { - ICompilationUnit cu = this.createTestBasicWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(FetchType.EAGER, basic.getFetch()); - - basic.setFetch(FetchType.LAZY); - assertEquals(FetchType.LAZY, basic.getFetch()); - - assertSourceContains("@Basic(fetch = LAZY)", cu); - } - - public void testSetFetchNull() throws Exception { - ICompilationUnit cu = this.createTestBasicWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - BasicAnnotation basic = (BasicAnnotation) resourceField.getAnnotation(JPA.BASIC); - assertEquals(FetchType.EAGER, basic.getFetch()); - - basic.setFetch(null); - assertNull(basic.getFetch()); - - assertSourceContains("@Basic", cu); - assertSourceDoesNotContain("fetch", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ColumnTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ColumnTests.java deleted file mode 100644 index 06ba8be96f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ColumnTests.java +++ /dev/null @@ -1,405 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class ColumnTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_TABLE = "MY_TABLE"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - - public ColumnTests(String name) { - super(name); - } - - private ICompilationUnit createTestColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column"); - } - }); - } - - private ICompilationUnit createTestColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(name = \"" + COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestColumnWithTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(table = \"" + COLUMN_TABLE + "\")"); - } - }); - } - - private ICompilationUnit createTestColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\")"); - } - }); - } - - private ICompilationUnit createTestColumnWithBooleanElement(final String booleanElement) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(" + booleanElement + " = true)"); - } - }); - } - - private ICompilationUnit createTestColumnWithIntElement(final String intElement) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(" + intElement + " = 5)"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertNotNull(column); - assertNull(column.getName()); - assertNull(column.getNullable()); - assertNull(column.getInsertable()); - assertNull(column.getUnique()); - assertNull(column.getUpdatable()); - assertNull(column.getTable()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@Column(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("(name", cu); - } - - public void testGetTable() throws Exception { - ICompilationUnit cu = this.createTestColumnWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertEquals(COLUMN_TABLE, column.getTable()); - } - - public void testSetTable() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getTable()); - - column.setTable("Foo"); - assertEquals("Foo", column.getTable()); - - assertSourceContains("@Column(table = \"Foo\")", cu); - - - column.setTable(null); - assertSourceDoesNotContain("table", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@Column(columnDefinition = \"Foo\")", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("columnDefinition", cu); - } - - public void testGetUnique() throws Exception { - ICompilationUnit cu = this.createTestColumnWithBooleanElement("unique"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Boolean.TRUE, column.getUnique()); - } - - public void testSetUnique() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getUnique()); - - column.setUnique(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getUnique()); - - assertSourceContains("@Column(unique = false)", cu); - - column.setUnique(null); - assertSourceDoesNotContain("unique", cu); - } - - public void testGetNullable() throws Exception { - ICompilationUnit cu = this.createTestColumnWithBooleanElement("nullable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Boolean.TRUE, column.getNullable()); - } - - public void testSetNullable() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getNullable()); - - column.setNullable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getNullable()); - - assertSourceContains("@Column(nullable = false)", cu); - - column.setNullable(null); - assertSourceDoesNotContain("nullable", cu); - } - - public void testGetInsertable() throws Exception { - ICompilationUnit cu = this.createTestColumnWithBooleanElement("insertable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Boolean.TRUE, column.getInsertable()); - } - - public void testSetInsertable() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getInsertable()); - - column.setInsertable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getInsertable()); - - assertSourceContains("@Column(insertable = false)", cu); - - column.setInsertable(null); - assertSourceDoesNotContain("insertable", cu); - } - - public void testGetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestColumnWithBooleanElement("updatable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Boolean.TRUE, column.getUpdatable()); - } - - public void testSetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getUpdatable()); - - column.setUpdatable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getUpdatable()); - - assertSourceContains("@Column(updatable = false)", cu); - - column.setUpdatable(null); - assertSourceDoesNotContain("updatable", cu); - } - - public void testGetLength() throws Exception { - ICompilationUnit cu = this.createTestColumnWithIntElement("length"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Integer.valueOf(5), column.getLength()); - } - - public void testSetLength() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getLength()); - - column.setLength(Integer.valueOf(5)); - assertEquals(Integer.valueOf(5), column.getLength()); - - assertSourceContains("@Column(length = 5)", cu); - - column.setLength(null); - assertSourceDoesNotContain("length", cu); - } - - public void testGetPrecision() throws Exception { - ICompilationUnit cu = this.createTestColumnWithIntElement("precision"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Integer.valueOf(5), column.getPrecision()); - } - - public void testSetPrecision() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertEquals(null, column.getPrecision()); - - column.setPrecision(Integer.valueOf(5)); - assertEquals(Integer.valueOf(5), column.getPrecision()); - - assertSourceContains("@Column(precision = 5)", cu); - - column.setPrecision(null); - assertSourceDoesNotContain("precision", cu); - } - - public void testGetScale() throws Exception { - ICompilationUnit cu = this.createTestColumnWithIntElement("scale"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertEquals(Integer.valueOf(5), column.getScale()); - } - - public void testSetScale() throws Exception { - ICompilationUnit cu = this.createTestColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - - assertNotNull(column); - assertNull(column.getScale()); - - column.setScale(Integer.valueOf(5)); - assertEquals(Integer.valueOf(5), column.getScale()); - - assertSourceContains("@Column(scale = 5)", cu); - - column.setScale(null); - assertSourceDoesNotContain("scale", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorColumnTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorColumnTests.java deleted file mode 100644 index efbde613b9..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorColumnTests.java +++ /dev/null @@ -1,212 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.DiscriminatorColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.DiscriminatorType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class DiscriminatorColumnTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - - public DiscriminatorColumnTests(String name) { - super(name); - } - - private ICompilationUnit createTestDiscriminatorColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorColumn"); - } - }); - } - - private ICompilationUnit createTestDiscriminatorColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorColumn(name = \"" + COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestDiscriminatorColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorColumn(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\")"); - } - }); - } - - private ICompilationUnit createTestDiscriminatorColumnWithDiscriminatorType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_COLUMN, JPA.DISCRIMINATOR_TYPE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorColumn(discriminatorType = DiscriminatorType.CHAR)"); - } - }); - } - - private ICompilationUnit createTestColumnWithIntElement(final String intElement) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorColumn(" + intElement + " = 5)"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - assertNotNull(column); - assertNull(column.getName()); - assertNull(column.getDiscriminatorType()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@DiscriminatorColumn(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("(name", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@DiscriminatorColumn(columnDefinition = \"Foo\")", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("(columnDefinition", cu); - } - - public void testGetLength() throws Exception { - ICompilationUnit cu = this.createTestColumnWithIntElement("length"); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertEquals(Integer.valueOf(5), column.getLength()); - } - - public void testSetLength() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertNotNull(column); - assertNull(column.getLength()); - - column.setLength(Integer.valueOf(5)); - assertEquals(Integer.valueOf(5), column.getLength()); - - assertSourceContains("@DiscriminatorColumn(length = 5)", cu); - - column.setLength(null); - assertSourceDoesNotContain("(length", cu); - } - - public void testGetDiscriminatorType() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumnWithDiscriminatorType(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - assertEquals(DiscriminatorType.CHAR, column.getDiscriminatorType()); - } - - public void testSetDiscriminatorType() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - DiscriminatorColumnAnnotation column = (DiscriminatorColumnAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_COLUMN); - - assertNull(column.getDiscriminatorType()); - - column.setDiscriminatorType(DiscriminatorType.INTEGER); - assertEquals(DiscriminatorType.INTEGER, column.getDiscriminatorType()); - - assertSourceContains("@DiscriminatorColumn(discriminatorType = INTEGER)", cu); - - column.setDiscriminatorType(null); - assertSourceDoesNotContain("(discriminatorType", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorValueTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorValueTests.java deleted file mode 100644 index fdacd1b956..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/DiscriminatorValueTests.java +++ /dev/null @@ -1,83 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.DiscriminatorValueAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class DiscriminatorValueTests extends JpaJavaResourceModelTestCase { - - public DiscriminatorValueTests(String name) { - super(name); - } - - private ICompilationUnit createTestDiscriminatorValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_VALUE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorValue"); - } - }); - } - - private ICompilationUnit createTestDiscriminatorValueWithValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.DISCRIMINATOR_VALUE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@DiscriminatorValue(value = \"discriminator\")"); - } - }); - } - - public void testDiscriminatorValue() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - DiscriminatorValueAnnotation discriminatorValue = (DiscriminatorValueAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_VALUE); - assertNotNull(discriminatorValue); - } - - public void testGetValue() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorValueWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - DiscriminatorValueAnnotation discriminatorValue = (DiscriminatorValueAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_VALUE); - assertEquals("discriminator", discriminatorValue.getValue()); - } - - public void testSetValue() throws Exception { - ICompilationUnit cu = this.createTestDiscriminatorValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - DiscriminatorValueAnnotation discriminatorValue = (DiscriminatorValueAnnotation) resourceType.getAnnotation(JPA.DISCRIMINATOR_VALUE); - - discriminatorValue.setValue("foo"); - - assertSourceContains("@DiscriminatorValue(\"foo\")", cu); - - discriminatorValue.setValue(null); - - assertSourceDoesNotContain("@DiscriminatorValue(", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddableTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddableTests.java deleted file mode 100644 index 21eee17559..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddableTests.java +++ /dev/null @@ -1,74 +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.core.tests.internal.resource.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceNode; -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.EmbeddableAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class EmbeddableTests extends JpaJavaResourceModelTestCase { - - public EmbeddableTests(String name) { - super(name); - } - - private ICompilationUnit createTestEmbeddable() 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"); - } - }); - } - - private ICompilationUnit createTestEmbeddableAndEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDABLE, JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append("@Embeddable"); - } - }); - } - - public void testEmbeddable() throws Exception { - ICompilationUnit cu = this.createTestEmbeddable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - JavaResourceNode mappingAnnotation = resourceType.getAnnotation(EmbeddableAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof EmbeddableAnnotation); - } - - public void testEmbeddableAndEntity() throws Exception { - ICompilationUnit cu = this.createTestEmbeddableAndEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - JavaResourceNode mappingAnnotation = resourceType.getAnnotation(EmbeddableAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof EmbeddableAnnotation); - - EntityAnnotation entity = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertNotNull(entity); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedIdTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedIdTests.java deleted file mode 100644 index 12317ee4a7..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedIdTests.java +++ /dev/null @@ -1,51 +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.core.tests.internal.resource.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.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.EmbeddedIdAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class EmbeddedIdTests extends JpaJavaResourceModelTestCase { - - public EmbeddedIdTests(String name) { - super(name); - } - - private ICompilationUnit createTestEmbeddedId() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED_ID); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@EmbeddedId"); - } - }); - } - - public void testEmbeddedId() throws Exception { - ICompilationUnit cu = this.createTestEmbeddedId(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JavaResourceNode mappingAnnotation = resourceField.getAnnotation(EmbeddedIdAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof EmbeddedIdAnnotation); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedTests.java deleted file mode 100644 index 2335e75954..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EmbeddedTests.java +++ /dev/null @@ -1,51 +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.core.tests.internal.resource.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.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.EmbeddedAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class EmbeddedTests extends JpaJavaResourceModelTestCase { - - public EmbeddedTests(String name) { - super(name); - } - - private ICompilationUnit createTestEmbedded() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Embedded"); - } - }); - } - - public void testEmbedded() throws Exception { - ICompilationUnit cu = this.createTestEmbedded(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JavaResourceNode mappingAnnotation = resourceField.getAnnotation(EmbeddedAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof EmbeddedAnnotation); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EntityTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EntityTests.java deleted file mode 100644 index a1d9de6f4f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EntityTests.java +++ /dev/null @@ -1,124 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.MappedSuperclassAnnotation; - -@SuppressWarnings("nls") -public class EntityTests extends JpaJavaResourceModelTestCase { - - private static final String ENTITY_NAME = "Foo"; - - public EntityTests(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); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - }); - } - - private ICompilationUnit createTestEntityWithName() 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(name = \"" + ENTITY_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassAndEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass"); - sb.append("@Entity"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestEntityWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation entity = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertTrue(entity != null); - assertEquals(ENTITY_NAME, entity.getName()); - } - - public void testGetNameNull() throws Exception { - ICompilationUnit cu = this.createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation entity = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertTrue(entity != null); - assertNull(entity.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation entity = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertNull(entity.getName()); - entity.setName("Foo"); - assertEquals("Foo", entity.getName()); - - assertSourceContains("@Entity(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestEntityWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation entity = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertEquals(ENTITY_NAME, entity.getName()); - - entity.setName(null); - assertNull(entity.getName()); - - assertSourceContains("@Entity", cu); - assertSourceDoesNotContain("@Entity(name = \"Foo\")", cu); - } - - public void testMappedSuperclassAndEntity() throws Exception { - ICompilationUnit cu = this.createTestMappedSuperclassAndEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation mappingAnnotation = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertNotNull(mappingAnnotation); - - MappedSuperclassAnnotation mappedSuperclass = (MappedSuperclassAnnotation) resourceType.getAnnotation(JPA.MAPPED_SUPERCLASS); - assertNotNull(mappedSuperclass); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EnumeratedTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EnumeratedTests.java deleted file mode 100644 index 7a6f8d44df..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/EnumeratedTests.java +++ /dev/null @@ -1,90 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.EnumType; -import org.eclipse.jpt.jpa.core.resource.java.EnumeratedAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class EnumeratedTests extends JpaJavaResourceModelTestCase { - - public EnumeratedTests(String name) { - super(name); - } - - private ICompilationUnit createTestEnumerated() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENUMERATED); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Enumerated"); - } - }); - } - - private ICompilationUnit createTestEnumeratedWithValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENUMERATED, JPA.ENUM_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Enumerated(EnumType.ORDINAL)"); - } - }); - } - - public void testEnumerated() throws Exception { - ICompilationUnit cu = this.createTestEnumerated(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - EnumeratedAnnotation enumerated = (EnumeratedAnnotation) resourceField.getAnnotation(JPA.ENUMERATED); - assertNotNull(enumerated); - } - - public void testGetValue() throws Exception { - ICompilationUnit cu = this.createTestEnumeratedWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - EnumeratedAnnotation enumerated = (EnumeratedAnnotation) resourceField.getAnnotation(JPA.ENUMERATED); - assertEquals(EnumType.ORDINAL, enumerated.getValue()); - } - - public void testSetValue() throws Exception { - ICompilationUnit cu = this.createTestEnumerated(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - EnumeratedAnnotation enumerated = (EnumeratedAnnotation) resourceField.getAnnotation(JPA.ENUMERATED); - - enumerated.setValue(EnumType.STRING); - - assertSourceContains("@Enumerated(STRING)", cu); - - enumerated.setValue(null); - - assertSourceDoesNotContain("@Enumerated(", cu); - assertSourceContains("@Enumerated", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/GeneratedValueTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/GeneratedValueTests.java deleted file mode 100644 index ee536a2732..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/GeneratedValueTests.java +++ /dev/null @@ -1,134 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.GeneratedValueAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.GenerationType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class GeneratedValueTests extends JpaJavaResourceModelTestCase { - - private static final String GENERATOR = "MY_GENERATOR"; - public GeneratedValueTests(String name) { - super(name); - } - - private ICompilationUnit createTestGeneratedValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.GENERATED_VALUE, JPA.GENERATION_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@GeneratedValue"); - } - }); - } - - private ICompilationUnit createTestGeneratedValueWithGenerator() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.GENERATED_VALUE, JPA.GENERATION_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@GeneratedValue(generator = \"" + GENERATOR + "\")"); - } - }); - } - - private ICompilationUnit createTestGeneratedValueWithStrategy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.GENERATED_VALUE, JPA.GENERATION_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@GeneratedValue(strategy = GenerationType.SEQUENCE)"); - } - }); - } - - public void testGeneratedValue() throws Exception { - ICompilationUnit cu = this.createTestGeneratedValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - GeneratedValueAnnotation generatedValue = (GeneratedValueAnnotation) resourceField.getAnnotation(JPA.GENERATED_VALUE); - assertNotNull(generatedValue); - } - - public void testGetGenerator() throws Exception { - ICompilationUnit cu = this.createTestGeneratedValueWithGenerator(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - GeneratedValueAnnotation generatedValue = (GeneratedValueAnnotation) resourceField.getAnnotation(JPA.GENERATED_VALUE); - assertEquals(GENERATOR, generatedValue.getGenerator()); - } - - public void testSetGenerator() throws Exception { - ICompilationUnit cu = this.createTestGeneratedValueWithGenerator(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - GeneratedValueAnnotation generatedValue = (GeneratedValueAnnotation) resourceField.getAnnotation(JPA.GENERATED_VALUE); - assertEquals(GENERATOR, generatedValue.getGenerator()); - - generatedValue.setGenerator("foo"); - assertEquals("foo", generatedValue.getGenerator()); - - assertSourceContains("@GeneratedValue(generator = \"foo\")", cu); - - generatedValue.setGenerator(null); - assertNull(generatedValue.getGenerator()); - - assertSourceDoesNotContain("generator", cu); - assertSourceContains("@GeneratedValue", cu); - } - - public void testGetStrategy() throws Exception { - ICompilationUnit cu = this.createTestGeneratedValueWithStrategy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - GeneratedValueAnnotation generatedValue = (GeneratedValueAnnotation) resourceField.getAnnotation(JPA.GENERATED_VALUE); - assertEquals(GenerationType.SEQUENCE, generatedValue.getStrategy()); - } - - public void testSetStrategy() throws Exception { - ICompilationUnit cu = this.createTestGeneratedValueWithStrategy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - GeneratedValueAnnotation generatedValue = (GeneratedValueAnnotation) resourceField.getAnnotation(JPA.GENERATED_VALUE); - assertEquals(GenerationType.SEQUENCE, generatedValue.getStrategy()); - - generatedValue.setStrategy(GenerationType.TABLE); - assertEquals(GenerationType.TABLE, generatedValue.getStrategy()); - - assertSourceContains("@GeneratedValue(strategy = TABLE)", cu); - - generatedValue.setStrategy(null); - assertNull(generatedValue.getStrategy()); - assertSourceDoesNotContain("strategy", cu); - assertSourceContains("@GeneratedValue", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdClassTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdClassTests.java deleted file mode 100644 index ced5111f8f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdClassTests.java +++ /dev/null @@ -1,103 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.IdClassAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class IdClassTests extends JpaJavaResourceModelTestCase { - - private static final String ID_CLASS_VALUE = "MyClass"; - - public IdClassTests(String name) { - super(name); - } - - private ICompilationUnit createTestIdClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ID_CLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@IdClass"); - } - }); - } - - private ICompilationUnit createTestIdClassWithValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ID_CLASS); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@IdClass(" + ID_CLASS_VALUE + ".class)"); - } - }); - } - - public void testIdClass() throws Exception { - ICompilationUnit cu = this.createTestIdClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - IdClassAnnotation idClass = (IdClassAnnotation) resourceType.getAnnotation(JPA.ID_CLASS); - assertNotNull(idClass); - assertNull(idClass.getValue()); - } - - public void testGetValue() throws Exception { - ICompilationUnit cu = this.createTestIdClassWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - IdClassAnnotation idClass = (IdClassAnnotation) resourceType.getAnnotation(JPA.ID_CLASS); - assertEquals(ID_CLASS_VALUE, idClass.getValue()); - } - - public void testSetValue() throws Exception { - ICompilationUnit cu = this.createTestIdClassWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - IdClassAnnotation idClass = (IdClassAnnotation) resourceType.getAnnotation(JPA.ID_CLASS); - assertEquals(ID_CLASS_VALUE, idClass.getValue()); - - idClass.setValue("foo"); - assertEquals("foo", idClass.getValue()); - - assertSourceContains("@IdClass(foo.class)", cu); - - idClass.setValue(null); - - assertSourceDoesNotContain("@IdClass(", cu); - } - - public void testGetFullyQualifiedClass() throws Exception { - ICompilationUnit cu = this.createTestIdClassWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - IdClassAnnotation idClass = (IdClassAnnotation) resourceType.getAnnotation(JPA.ID_CLASS); - assertNotNull(idClass.getValue()); - assertEquals("MyClass", idClass.getFullyQualifiedClassName()); //bug 196200 changed this - - - idClass.setValue(TYPE_NAME); - - assertEquals(FULLY_QUALIFIED_TYPE_NAME, idClass.getFullyQualifiedClassName()); - assertSourceContains("@IdClass(" + TYPE_NAME + ".class)", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdTests.java deleted file mode 100644 index 26fc303f9d..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/IdTests.java +++ /dev/null @@ -1,51 +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.core.tests.internal.resource.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.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class IdTests extends JpaJavaResourceModelTestCase { - - public IdTests(String name) { - super(name); - } - - private ICompilationUnit createTestId() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ID); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id"); - } - }); - } - - public void testId() throws Exception { - ICompilationUnit cu = this.createTestId(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JavaResourceNode mappingAnnotation = resourceField.getAnnotation(IdAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof IdAnnotation); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/InheritanceTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/InheritanceTests.java deleted file mode 100644 index a4e7beed25..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/InheritanceTests.java +++ /dev/null @@ -1,83 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.InheritanceAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.InheritanceType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; - -@SuppressWarnings("nls") -public class InheritanceTests extends JpaJavaResourceModelTestCase { - - public InheritanceTests(String name) { - super(name); - } - - private ICompilationUnit createTestInheritance() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.INHERITANCE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Inheritance"); - } - }); - } - - private ICompilationUnit createTestInheritanceWithStrategy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.INHERITANCE, JPA.INHERITANCE_TYPE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Inheritance(strategy = InheritanceType.JOINED)"); - } - }); - } - - public void testInheritance() throws Exception { - ICompilationUnit cu = this.createTestInheritance(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - InheritanceAnnotation inheritance = (InheritanceAnnotation) resourceType.getAnnotation(JPA.INHERITANCE); - assertNotNull(inheritance); - } - - public void testGetStrategy() throws Exception { - ICompilationUnit cu = this.createTestInheritanceWithStrategy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - InheritanceAnnotation inheritance = (InheritanceAnnotation) resourceType.getAnnotation(JPA.INHERITANCE); - assertEquals(InheritanceType.JOINED, inheritance.getStrategy()); - } - - public void testSetStrategy() throws Exception { - ICompilationUnit cu = this.createTestInheritance(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - InheritanceAnnotation inheritance = (InheritanceAnnotation) resourceType.getAnnotation(JPA.INHERITANCE); - inheritance.setStrategy(InheritanceType.TABLE_PER_CLASS); - - assertSourceContains("@Inheritance(strategy = TABLE_PER_CLASS)", cu); - - inheritance.setStrategy(null); - - assertSourceDoesNotContain("strategy", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JPTToolsTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JPTToolsTests.java deleted file mode 100644 index 7598f87526..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JPTToolsTests.java +++ /dev/null @@ -1,479 +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.core.tests.internal.resource.java; - -import java.util.Iterator; - -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.dom.CompilationUnit; -import org.eclipse.jpt.common.core.utility.jdt.FieldAttribute; -import org.eclipse.jpt.common.core.utility.jdt.MethodAttribute; -import org.eclipse.jpt.common.core.utility.jdt.Type; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; - -@SuppressWarnings("nls") -public class JPTToolsTests extends JpaJavaResourceModelTestCase { - - public JPTToolsTests(String name) { - super(name); - } - - private ICompilationUnit createTestTypeFieldWithModifier(final String modifier) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" " + modifier + " String foo;").append(CR); - sb.append(CR); - } - }); - } - - protected FieldAttribute fooField(ICompilationUnit cu) { - return this.buildField("foo", cu); - } - - - private ICompilationUnit createTestTypeGetMethodWithModifier(final String modifier) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" " + modifier + " int getFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(int id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeInvalidMethodName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public int foo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(int id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeConstructor() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public " + TYPE_NAME + "() {").append(CR); - sb.append(" super();").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeVoidMethodReturnType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public void getFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(int id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeInvalidMethodReturnType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>("com.foo.Foo"); - } - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public Foo getFoo() {").append(CR); - sb.append(" return null;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(Foo id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeIsMethod() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public boolean isFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(boolean id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeIsMethodReturnInt() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public int isFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(int id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeIsAndGetMethodWithModifier(final String modifier) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" " + modifier + " boolean isFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" " + modifier + " boolean getFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" public void setFoo(boolean id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeSetMethodWithModifier(final String modifier) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendGetIdMethodAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public int getFoo() {").append(CR); - sb.append(" return this.id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - sb.append(" " + modifier + " void setFoo(int id) {").append(CR); - sb.append(" this.id = id;").append(CR); - sb.append(" }").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeWithMemberTypes() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public void appendMemberTypeTo(StringBuilder sb) { - sb.append(" public static class FooStatic {}").append(CR); - sb.append(CR); - sb.append(" public class FooNotStatic {}").append(CR); - sb.append(CR); - sb.append(" public @interface MyAnnotation {}").append(CR); - sb.append(CR); - sb.append(" public enum MyEnum {}").append(CR); - } - }); - } - - protected MethodAttribute fooMethod(ICompilationUnit cu) { - return this.buildMethod("getFoo", cu); - } - - //private String foo; - persistable - public void testFieldIsPersistable1() throws Exception { - ICompilationUnit cu = createTestTypeFieldWithModifier("private"); - FieldAttribute fieldAttribute = fooField(cu); - assertTrue(fieldAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //private static String foo; - not persistable - public void testFieldIsPersistable2() throws Exception { - ICompilationUnit cu = createTestTypeFieldWithModifier("private static"); - FieldAttribute fieldAttribute = fooField(cu); - assertFalse(fieldAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //private transient String foo; - not persistable - public void testFieldIsPersistable3() throws Exception { - ICompilationUnit cu = createTestTypeFieldWithModifier("private transient"); - FieldAttribute fieldAttribute = fooField(cu); - assertFalse(fieldAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //private final String foo; - persistable - public void testFieldIsPersistable4() throws Exception { - ICompilationUnit cu = createTestTypeFieldWithModifier("private final"); - FieldAttribute fieldAttribute = fooField(cu); - assertTrue(fieldAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public String foo; - persistable - public void testFieldIsPersistable5() throws Exception { - ICompilationUnit cu = createTestTypeFieldWithModifier("public"); - FieldAttribute fieldAttribute = fooField(cu); - assertTrue(fieldAttribute.isPersistable(this.buildASTRoot(cu))); - } - - - //public int getFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter01() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier("public"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //protected int getFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter02() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier("protected"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //int getFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter03() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier(""); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //private int getFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter04() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier("private"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public static int getFoo() {} - not persistable - public void testMethodIsPersistablePropertyGetter05() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier("public static"); - MethodAttribute methodAttribute = fooMethod(cu); - assertFalse(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public final int getFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter06() throws Exception { - ICompilationUnit cu = createTestTypeGetMethodWithModifier("public final"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public void setFoo(int foo) {} - persistable - public void testMethodIsPersistablePropertyGetter07() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier("public"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //protected void setFoo(int foo) {} - persistable - public void testMethodIsPersistablePropertyGetter08() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier("protected"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //void setFoo(int foo) {} - persistable - public void testMethodIsPersistablePropertyGetter09() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier(""); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //private void setFoo(int foo) {} - persistable - public void testMethodIsPersistablePropertyGetter10() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier("private"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public static void setFoo(int foo) {} - not persistable - public void testMethodIsPersistablePropertyGetter11() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier("public static"); - MethodAttribute methodAttribute = fooMethod(cu); - assertFalse(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public final void setFoo(int foo) {} - persistable - public void testMethodIsPersistablePropertyGetter12() throws Exception { - ICompilationUnit cu = createTestTypeSetMethodWithModifier("public final"); - MethodAttribute methodAttribute = fooMethod(cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public boolean isFoo() {} - persistable - public void testMethodIsPersistablePropertyGetter13() throws Exception { - ICompilationUnit cu = createTestTypeIsMethod(); - MethodAttribute methodAttribute = this.buildMethod("isFoo", cu); - assertTrue(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public int isFoo() {} - not persistable - public void testMethodIsPersistablePropertyGetter14() throws Exception { - ICompilationUnit cu = createTestTypeIsMethodReturnInt(); - MethodAttribute methodAttribute = this.buildMethod("isFoo", cu); - assertFalse(methodAttribute.isPersistable(this.buildASTRoot(cu))); - } - - //public int isFoo() {} - persistable - //public int getFoo() {} - not persistable - public void testMethodIsPersistablePropertyGetter15() throws Exception { - ICompilationUnit cu = createTestTypeIsAndGetMethodWithModifier("public"); - MethodAttribute isFooMethod = this.buildMethod("isFoo", cu); - MethodAttribute getFooMethod = this.buildMethod("getFoo", cu); - - CompilationUnit astRoot = this.buildASTRoot(cu); - assertTrue(isFooMethod.isPersistable(astRoot)); - assertFalse(getFooMethod.isPersistable(astRoot)); - } - - //public int foo() {} - not persistable - public void testMethodIsPersistablePropertyGetter16() throws Exception { - ICompilationUnit cu = createTestTypeInvalidMethodName(); - MethodAttribute fooMethod = this.buildMethod("foo", cu); - assertFalse(fooMethod.isPersistable(this.buildASTRoot(cu))); - } - - //public void getFoo() {} - not persistable - void return type - public void testMethodIsPersistablePropertyGetter17() throws Exception { - ICompilationUnit cu = createTestTypeVoidMethodReturnType(); - MethodAttribute fooMethod = this.buildMethod("getFoo", cu); - assertFalse(fooMethod.isPersistable(this.buildASTRoot(cu))); - } - - //public Foo getFoo() {} - persistable??? - Foo does not resolve - public void testMethodIsPersistablePropertyGetter18() throws Exception { - ICompilationUnit cu = createTestTypeInvalidMethodReturnType(); - MethodAttribute getFooMethod = this.buildMethod("getFoo", cu); - assertTrue(getFooMethod.isPersistable(this.buildASTRoot(cu))); - } - - //method with parameters - not persistable - public void testMethodIsPersistablePropertyGetter19() throws Exception { - ICompilationUnit cu = createTestType(); - MethodAttribute setIdMethod = idSetMethod(cu); - assertFalse(setIdMethod.isPersistable(this.buildASTRoot(cu))); - } - - //constructor - not persistable - public void testMethodIsPersistablePropertyGetter20() throws Exception { - ICompilationUnit cu = createTestTypeConstructor(); - MethodAttribute constructor = buildMethod(TYPE_NAME, cu); - assertFalse(constructor.isPersistable(this.buildASTRoot(cu))); - } - - //no corresponding set method - not persistable - public void testMethodIsPersistablePropertyGetter21() throws Exception { - ICompilationUnit cu = createTestType(); - MethodAttribute getNameMethod = nameGetMethod(cu); - assertFalse(getNameMethod.isPersistable(this.buildASTRoot(cu))); - } - - //public class AnnotationTestType - public void testTypeIsPersistable1() throws Exception { - ICompilationUnit cu = createTestType(); - Type type = testType(cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertTrue(type.isPersistable(astRoot)); - } - - //public final class MyFinal - public void testTypeIsPersistable2() throws Exception { - ICompilationUnit cu = this.javaProject.createCompilationUnit("finals", "MyFinal.java", "public final class MyFinal { }"); - Type type = buildType("MyFinal", cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertTrue(type.isPersistable(astRoot)); - } - - //public interface MyInterface - public void testTypeIsPersistable3() throws Exception { - ICompilationUnit cu = this.javaProject.createCompilationUnit("interfaces", "MyInterface.java", "public interface MyInterface { }"); - Type type = buildType("MyInterface", cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertFalse(type.isPersistable(astRoot)); - } - - //enum not persistable - public void testTypeIsPersistable4() throws Exception { - ICompilationUnit cu = this.createEnumAndMembers("TestEnum", "FOO, BAR, BAZ"); - Type type = buildType("TestEnum", cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertFalse(type.isPersistable(astRoot)); - } - - //annotation not persistable - public void testTypeIsPersistable5() throws Exception { - ICompilationUnit cu = this.createAnnotationAndMembers("TestAnnotation", "TestEnum foo();"); - Type type = buildType("TestAnnotation", cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertFalse(type.isPersistable(astRoot)); - } - - //public static member type is persistable - public void testTypeIsPersistable6() throws Exception { - ICompilationUnit cu = this.createTestTypeWithMemberTypes(); - Type testType = this.testType(cu); - Type memberType = this.buildType(testType, "FooStatic", 1, cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertTrue(memberType.isPersistable(astRoot)); - } - - //non-static member type is persistable, handled with validation - public void testTypeIsPersistable7() throws Exception { - ICompilationUnit cu = this.createTestTypeWithMemberTypes(); - Type testType = this.testType(cu); - Type memberType = this.buildType(testType, "FooNotStatic", 1, cu); - CompilationUnit astRoot = this.buildASTRoot(cu); - assertTrue(memberType.isPersistable(astRoot)); - } - //TODO still need to test typeIsPersistable() returns false for local and anonymous classes - - -} - diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceAttributeTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceAttributeTests.java deleted file mode 100644 index 1ec05fdc56..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceAttributeTests.java +++ /dev/null @@ -1,718 +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.core.tests.internal.resource.java; - -import java.lang.reflect.Modifier; -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement.Editor; -import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.internal.resource.java.source.SourceIdAnnotation; -import org.eclipse.jpt.jpa.core.internal.resource.java.source.SourceOneToOneAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.AttributeOverrideAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.BasicAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.GeneratedValueAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation; - -@SuppressWarnings("nls") -public class JavaResourceAttributeTests extends JpaJavaResourceModelTestCase { - - public JavaResourceAttributeTests(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); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - }); - } - - private ICompilationUnit createTestEntityWithNonResolvingField() 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"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("private Foo foo;").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestEntityMultipleVariableDeclarationsPerLine() 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(CR); - sb.append(" "); - sb.append("@Id"); - sb.append(CR); - sb.append(" "); - sb.append("@Column(name = \"baz\")"); - sb.append(" private String foo, bar;").append(CR); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestEntityWithIdAndBasic() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.ID, JPA.BASIC); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id"); - sb.append(CR); - sb.append("@Basic"); - } - }); - } - - private ICompilationUnit createTestEntityAnnotatedField() 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(CR); - sb.append(" "); - sb.append("@Column"); - } - }); - } - - private ICompilationUnit createTestEntityWithColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(name = \"FOO\", table = \"MY_TABLE\")"); - } - }); - } - - private ICompilationUnit createTestEntityWithIdColumnGeneratedValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.COLUMN, JPA.ID, JPA.GENERATED_VALUE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Id"); - sb.append(CR); - sb.append("@Column"); - sb.append(CR); - sb.append("@GeneratedValue"); - } - }); - } - - - private ICompilationUnit createTestEntityMultipleColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Column(name = \"FOO\")"); - sb.append(CR); - sb.append("@Column(name = \"BAR\")"); - } - }); - } - - private ICompilationUnit createTestEmbeddedWithAttributeOverride() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED, JPA.ATTRIBUTE_OVERRIDE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Embedded"); - sb.append(CR); - sb.append("@AttributeOverride(name = \"FOO\")"); - } - }); - } - private ICompilationUnit createTestEmbeddedWithAttributeOverrides() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Embedded"); - sb.append(CR); - sb.append("@AttributeOverrides(@AttributeOverride(name = \"FOO\"))"); - } - }); - } - private ICompilationUnit createTestEmbeddedWithAttributeOverridesEmpty() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED, JPA.ATTRIBUTE_OVERRIDES); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Embedded"); - sb.append(CR); - sb.append("@AttributeOverrides()"); - } - }); - } - - private ICompilationUnit createTestEmbeddedWith2AttributeOverrides() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.EMBEDDED, JPA.ATTRIBUTE_OVERRIDE, JPA.ATTRIBUTE_OVERRIDES); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Embedded"); - sb.append(CR); - sb.append("@AttributeOverrides({@AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAR\")})"); - } - }); - } - - private ICompilationUnit createTestTypePublicAttribute() throws Exception { - - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public String foo;"); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypePackageAttribute() throws Exception { - - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" String foo;"); - sb.append(CR); - } - }); - } - - private ICompilationUnit createTestTypeFinalAttribute() throws Exception { - - return this.createTestType(new DefaultAnnotationWriter() { - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append(CR); - sb.append(" public final String foo;"); - sb.append(CR); - } - }); - } - - public void testJavaAttributeAnnotations() throws Exception { - ICompilationUnit cu = this.createTestEntityWithColumn(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertEquals(1, resourceAttribute.getAnnotationsSize()); - } - - public void testJavaAttributeAnnotation() throws Exception { - ICompilationUnit cu = this.createTestEntityWithColumn(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertNotNull(resourceAttribute.getAnnotation(JPA.COLUMN)); - } - - public void testJavaAttributeAnnotationNull() throws Exception { - ICompilationUnit cu = this.createTestEntity(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertNull(resourceAttribute.getAnnotation(JPA.TABLE)); - } - - //This will result in a compilation error, but we assume the first column found - public void testDuplicateAnnotations() throws Exception { - ICompilationUnit cu = this.createTestEntityMultipleColumns(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - ColumnAnnotation columnResource = (ColumnAnnotation) resourceAttribute.getAnnotation(JPA.COLUMN); - assertEquals("FOO", columnResource.getName()); - } - - public void testRemoveColumn() throws Exception { - ICompilationUnit cu = this.createTestEntityWithColumn(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - resourceAttribute.removeAnnotation(JPA.COLUMN); - - assertSourceDoesNotContain("@Column", cu); - } - - public void testRemoveColumnName() throws Exception { - ICompilationUnit cu = this.createTestEntityWithColumn(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - ColumnAnnotation columnResource = (ColumnAnnotation) resourceAttribute.getAnnotation(JPA.COLUMN); - columnResource.setTable(null); - assertSourceContains("@Column(name = \"FOO\")", cu); - - columnResource.setName(null); - assertSourceDoesNotContain("(name", cu); - assertSourceDoesNotContain("@Column(", cu); - } - - public void testMultipleAttributeMappings() throws Exception { - ICompilationUnit cu = this.createTestEntityWithIdAndBasic(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - assertEquals(2, resourceAttribute.getAnnotationsSize()); - assertNotNull(resourceAttribute.getAnnotation(JPA.BASIC)); - assertNotNull(resourceAttribute.getAnnotation(JPA.ID)); - - JavaResourceNode javaAttributeMappingAnnotation = resourceAttribute.getAnnotation(BasicAnnotation.ANNOTATION_NAME); - assertTrue(javaAttributeMappingAnnotation instanceof BasicAnnotation); - assertSourceContains("@Basic", cu); - assertSourceContains("@Id", cu); - - resourceAttribute.setPrimaryAnnotation(JPA.ONE_TO_MANY, EmptyIterable.<String>instance()); - assertEquals(1, resourceAttribute.getAnnotationsSize()); - javaAttributeMappingAnnotation = resourceAttribute.getAnnotation(OneToManyAnnotation.ANNOTATION_NAME); - assertTrue(javaAttributeMappingAnnotation instanceof OneToManyAnnotation); - assertSourceDoesNotContain("@Id", cu); - assertSourceContains("@OneToMany", cu); - assertSourceDoesNotContain("@Basic", cu); - } - - public void testSetJavaAttributeMappingAnnotation() throws Exception { - ICompilationUnit cu = createTestType(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertEquals(0, resourceAttribute.getAnnotationsSize()); - - resourceAttribute.setPrimaryAnnotation(JPA.ID, EmptyIterable.<String>instance()); - assertTrue(resourceAttribute.getAnnotation(IdAnnotation.ANNOTATION_NAME) instanceof IdAnnotation); - assertSourceContains("@Id", cu); - } - - public void testSetJavaAttributeMappingAnnotation2() throws Exception { - ICompilationUnit cu = createTestEntityWithColumn(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertEquals(1, resourceAttribute.getAnnotationsSize()); - - resourceAttribute.setPrimaryAnnotation(JPA.ID, Collections.singleton(ColumnAnnotation.ANNOTATION_NAME)); - assertTrue(resourceAttribute.getAnnotation(IdAnnotation.ANNOTATION_NAME) instanceof IdAnnotation); - - assertSourceContains("@Id", cu); - assertSourceContains("@Column", cu); - } - - public void testSetJavaAttributeMappingAnnotation3() throws Exception { - ICompilationUnit cu = createTestEntityWithIdColumnGeneratedValue(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertTrue(resourceAttribute.getAnnotation(IdAnnotation.ANNOTATION_NAME) instanceof IdAnnotation); - - resourceAttribute.setPrimaryAnnotation( - JPA.BASIC, - Arrays.asList(new String[] { - ColumnAnnotation.ANNOTATION_NAME, - GeneratedValueAnnotation.ANNOTATION_NAME})); - assertTrue(resourceAttribute.getAnnotation(BasicAnnotation.ANNOTATION_NAME) instanceof BasicAnnotation); - - assertSourceDoesNotContain("@Id", cu); - assertSourceContains("@GeneratedValue", cu); //not supported by Basic - assertSourceContains("@Column", cu); //common between Id and Basic - } - - public void testSetJavaAttributeMappingAnnotationNull() throws Exception { - ICompilationUnit cu = createTestEntityWithIdColumnGeneratedValue(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertTrue(resourceAttribute.getAnnotation(IdAnnotation.ANNOTATION_NAME) instanceof IdAnnotation); - - resourceAttribute.setPrimaryAnnotation( - null, - Arrays.asList(new String[] { - ColumnAnnotation.ANNOTATION_NAME, - GeneratedValueAnnotation.ANNOTATION_NAME})); - - assertEquals(2, resourceAttribute.getAnnotationsSize()); - assertSourceDoesNotContain("@Id", cu); - assertSourceContains("@GeneratedValue", cu); //not supported by Basic - assertSourceContains("@Column", cu); //common between Id and Basic - } - - public void testAddJavaAttributeAnnotation() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType typeResource = buildJavaResourceType(cu); - - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - assertSourceDoesNotContain("@Column", cu); - resourceAttribute.addAnnotation(JPA.COLUMN); - assertSourceContains("@Column", cu); - } - - public void testRemoveJavaAttributeAnnotation() throws Exception { - ICompilationUnit cu = createTestEntityAnnotatedField(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - assertSourceContains("@Column", cu); - resourceAttribute.removeAnnotation(JPA.COLUMN); - assertSourceDoesNotContain("@Column", cu); - } - - //update source code to change from @Id to @OneToOne and make sure @Column is not removed - public void testChangeAttributeMappingInSource() throws Exception { - ICompilationUnit cu = createTestEntityAnnotatedField(); - JavaResourceType typeResource = buildJavaResourceType(cu); - final JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - idField(cu).edit(new Editor() { - public void edit(ModifiedDeclaration declaration) { - SourceIdAnnotation.DECLARATION_ANNOTATION_ADAPTER.removeAnnotation(declaration); - } - }); - - cu.createImport("javax.persistence.OneToOne", null, new NullProgressMonitor()); - - idField(cu).edit(new Editor() { - public void edit(ModifiedDeclaration declaration) { - SourceOneToOneAnnotation.DECLARATION_ANNOTATION_ADAPTER.newMarkerAnnotation(declaration); - } - }); - - assertNotNull(resourceAttribute.getAnnotation(JPA.COLUMN)); - assertNull(resourceAttribute.getAnnotation(JPA.ID)); - assertNotNull(resourceAttribute.getAnnotation(JPA.ONE_TO_ONE)); - assertSourceContains("@Column", cu); - } - - public void testJavaAttributeAnnotationsNestable() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverride(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - assertEquals(1, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceAttribute.getAnnotations(JPA.ATTRIBUTE_OVERRIDE).iterator().next(); - - assertEquals("FOO", attributeOverride.getName()); - } - - public void testJavaAttributeAnnotationsNoNestable() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - assertEquals(0, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - public void testJavaAttributeAnnotationsContainerNoNestable() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverridesEmpty(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - assertEquals(0, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - // -->> @AttributeOverride(name="FOO") - public void testAddJavaAttributeAnnotationNestableContainer() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceAttribute.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("FOO"); - assertSourceContains("@AttributeOverride(name = \"FOO\")", cu); - } - - // @Embedded -->> @Embedded - // @AttributeOverride(name="FOO") @AttributeOverrides({@AttributeOverride(name="FOO"), @AttributeOverride(name="BAR")}) - public void testAddJavaAttributeAnnotationNestableContainer2() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverride(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceAttribute.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains("@AttributeOverrides({ @AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAR\") })", cu); - - assertNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDE)); - assertNotNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDES)); - assertNotNull(resourceAttribute.getAnnotation(0, JPA.ATTRIBUTE_OVERRIDE)); - assertEquals(2, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - // @Embedded - // @AttributeOverrides(@AttributeOverride(name="FOO")) - // || - // \/ - // @Embedded - // @AttributeOverrides({@AttributeOverride(name="FOO"), @AttributeOverride(name="BAR")}) - public void testAddJavaAttributeAnnotationNestableContainer3() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceAttribute.addAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"FOO\"),@AttributeOverride(name = \"BAR\")})", cu); - - assertNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDE)); - assertNotNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDES)); - assertNotNull(resourceAttribute.getAnnotation(0, JPA.ATTRIBUTE_OVERRIDE)); - assertEquals(2, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - public void testAddJavaAttributeAnnotationNestableContainer5() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - AttributeOverrideAnnotation attributeOverride = (AttributeOverrideAnnotation) resourceAttribute.addAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - attributeOverride.setName("BAR"); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"BAR\"),@AttributeOverride(name = \"FOO\")})", cu); - - assertNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDE)); - assertNotNull(resourceAttribute.getAnnotation(JPA.ATTRIBUTE_OVERRIDES)); - assertNotNull(resourceAttribute.getAnnotation(0, JPA.ATTRIBUTE_OVERRIDE)); - assertEquals(2, resourceAttribute.getAnnotationsSize(JPA.ATTRIBUTE_OVERRIDE)); - } - - //@Entity - //@AttributeOverride(name="FOO") - public void testRemoveJavaAttributeAnnotationNestableContainer() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverride(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - resourceAttribute.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - - assertSourceDoesNotContain("@AttributeOverride", cu); - } - - //@Embedded - //@AttributeOverrides(@AttributeOverride(name = \"FOO\")) - public void testRemoveJavaAttributeAnnotationNestableContainer2() throws Exception { - ICompilationUnit cu = createTestEmbeddedWithAttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - resourceAttribute.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - - assertSourceDoesNotContain("@AttributeOverride(name = \"FOO\")", cu); - assertSourceContains("@AttributeOverrides", cu); - } - - public void testRemoveJavaAttributeAnnotationIndex() throws Exception { - ICompilationUnit cu = createTestEmbeddedWith2AttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - resourceAttribute.removeAnnotation(0, JPA.ATTRIBUTE_OVERRIDE); - - assertSourceDoesNotContain("@AttributeOverride(name = \"FOO\"", cu); - assertSourceContains("@AttributeOverride(name = \"BAR\"", cu); - assertSourceDoesNotContain("@AttributeOverrides", cu); - } - - public void testRemoveJavaAttributeAnnotationIndex2() throws Exception { - ICompilationUnit cu = createTestEmbeddedWith2AttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - AttributeOverrideAnnotation newAnnotation = (AttributeOverrideAnnotation)resourceAttribute.addAnnotation(2, JPA.ATTRIBUTE_OVERRIDE); - newAnnotation.setName("BAZ"); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAR\"),", cu); - assertSourceContains("@AttributeOverride(name = \"BAZ\")})", cu); - - resourceAttribute.removeAnnotation(1, JPA.ATTRIBUTE_OVERRIDE); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAZ\")})", cu); - } - - public void testMoveJavaTypeAnnotation() throws Exception { - ICompilationUnit cu = createTestEmbeddedWith2AttributeOverrides(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = typeResource.getFields().iterator().next(); - - AttributeOverrideAnnotation newAnnotation = (AttributeOverrideAnnotation)resourceAttribute.addAnnotation(2, JPA.ATTRIBUTE_OVERRIDE); - newAnnotation.setName("BAZ"); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAR\"),", cu); - assertSourceContains("@AttributeOverride(name = \"BAZ\")})", cu); - - - resourceAttribute.moveAnnotation(0, 2, JPA.ATTRIBUTE_OVERRIDE); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"BAZ\"), @AttributeOverride(name = \"FOO\"),", cu); - assertSourceContains("@AttributeOverride(name = \"BAR\")})", cu); - } - - public void testMoveJavaTypeAnnotation2() throws Exception { - ICompilationUnit cu = createTestEmbeddedWith2AttributeOverrides(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = resourceType.getFields().iterator().next(); - - AttributeOverrideAnnotation newAnnotation = (AttributeOverrideAnnotation) resourceAttribute.addAnnotation(2, JPA.ATTRIBUTE_OVERRIDE); - newAnnotation.setName("BAZ"); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"FOO\"), @AttributeOverride(name = \"BAR\"),", cu); - assertSourceContains("@AttributeOverride(name = \"BAZ\")})", cu); - - resourceAttribute.moveAnnotation(1, 0, JPA.ATTRIBUTE_OVERRIDE); - assertSourceContains("@AttributeOverrides({@AttributeOverride(name = \"BAR\"), @AttributeOverride(name = \"FOO\"),", cu); - assertSourceContains("@AttributeOverride(name = \"BAZ\")})", cu); - } - - public void testGetTypeName() throws Exception { - ICompilationUnit cu = createTestEntityWithNonResolvingField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceAttribute resourceAttribute = resourceType.getFields().iterator().next(); - - assertEquals("foo", resourceAttribute.getName()); - assertEquals("test.Foo", resourceAttribute.getTypeName()); //bug 196200 changed this - - this.javaProject.createCompilationUnit("test", "Foo.java", "public class Foo {}"); - - assertEquals("test.Foo", resourceAttribute.getTypeName()); - } - - //this tests that we handle mutliple variable declarations in one line. - //The annotations should apply to all fields defined. This is not really a useful - //thing to do with JPA beyond the most basic things that use default column names - public void testMultipleVariableDeclarationsPerLine() throws Exception { - ICompilationUnit cu = createTestEntityMultipleVariableDeclarationsPerLine(); - JavaResourceType typeResource = buildJavaResourceType(cu); - - assertEquals(4, CollectionTools.size(typeResource.getFields())); - Iterator<JavaResourceField> fields = typeResource.getFields().iterator(); - JavaResourceField resourceField = fields.next(); - ColumnAnnotation column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertEquals("baz", column.getName()); - - resourceField = fields.next(); - column = (ColumnAnnotation) resourceField.getAnnotation(JPA.COLUMN); - assertEquals("baz", column.getName()); - } - - public void testIsPublic() throws Exception { - ICompilationUnit cu = createTestTypePublicAttribute(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute attribute = typeResource.getFields().iterator().next(); - - assertTrue(Modifier.isPublic(attribute.getModifiers())); - } - - public void testIsPublicFalse() throws Exception { - ICompilationUnit cu = createTestTypePackageAttribute(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute attribute = typeResource.getFields().iterator().next(); - - assertFalse(Modifier.isPublic(attribute.getModifiers())); - } - - public void testIsFinal() throws Exception { - ICompilationUnit cu = createTestTypeFinalAttribute(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute attribute = typeResource.getFields().iterator().next(); - - assertTrue(Modifier.isFinal(attribute.getModifiers())); - } - - public void testIsFinalFalse() throws Exception { - ICompilationUnit cu = createTestTypePackageAttribute(); - JavaResourceType typeResource = buildJavaResourceType(cu); - JavaResourceAttribute attribute = typeResource.getFields().iterator().next(); - - assertFalse(Modifier.isFinal(attribute.getModifiers())); - } - - //TODO add tests for JPTTools static methods -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceModelTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceModelTestCase.java deleted file mode 100644 index 3573fa84e0..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceModelTestCase.java +++ /dev/null @@ -1,173 +0,0 @@ -/******************************************************************************* - * Copyright (c) 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.core.tests.internal.resource.java; - -import org.eclipse.jdt.core.ElementChangedEvent; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.IElementChangedListener; -import org.eclipse.jdt.core.IJavaElement; -import org.eclipse.jdt.core.IJavaElementDelta; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jpt.common.core.AnnotationProvider; -import org.eclipse.jpt.common.core.internal.resource.java.source.SourcePackageInfoCompilationUnit; -import org.eclipse.jpt.common.core.internal.resource.java.source.SourceTypeCompilationUnit; -import org.eclipse.jpt.common.core.internal.utility.jdt.NullAnnotationEditFormatter; -import org.eclipse.jpt.common.core.resource.java.JavaResourceCompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourcePackage; -import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageInfoCompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.tests.internal.utility.jdt.AnnotationTestCase; -import org.eclipse.jpt.common.utility.CommandExecutor; -import org.eclipse.jpt.common.utility.internal.BitTools; -import org.eclipse.jpt.common.utility.internal.ReflectionTools; -import org.eclipse.jpt.common.utility.internal.StringTools; -import org.eclipse.jpt.jpa.core.JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.core.internal.GenericJpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; - - -@SuppressWarnings("nls") -public class JavaResourceModelTestCase - extends AnnotationTestCase { - - private JavaElementChangeListener javaElementChangeListener; - protected JavaResourceCompilationUnit javaResourceCompilationUnit; - - - public JavaResourceModelTestCase(String name) { - super(name); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.javaElementChangeListener = new JavaElementChangeListener(); - JavaCore.addElementChangedListener(this.javaElementChangeListener); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - JavaCore.removeElementChangedListener(this.javaElementChangeListener); - this.javaElementChangeListener = null; - } - - private class JavaElementChangeListener - implements IElementChangedListener { - - JavaElementChangeListener() { - super(); - } - - public void elementChanged(ElementChangedEvent event) { - JavaResourceModelTestCase.this.javaElementChanged(event); - } - - @Override - public String toString() { - return StringTools.buildToStringFor(this); - } - } - - void javaElementChanged(ElementChangedEvent event) { - if (this.javaResourceCompilationUnit == null) { - return; - } - this.syncWithJavaDelta(event.getDelta()); - } - - /** - * NB: this is copied from GenericJpaProject, so it might need to be - * kept in synch with that code if it changes... yech... - */ - protected void syncWithJavaDelta(IJavaElementDelta delta) { - switch (delta.getElement().getElementType()) { - case IJavaElement.JAVA_MODEL : - case IJavaElement.JAVA_PROJECT : - case IJavaElement.PACKAGE_FRAGMENT_ROOT : - case IJavaElement.PACKAGE_FRAGMENT : - this.syncWithJavaDeltaChildren(delta); - break; - case IJavaElement.COMPILATION_UNIT : - this.javaCompilationUnitChanged(delta); - break; - default : - break; // ignore the elements inside a compilation unit - } - } - - protected void syncWithJavaDeltaChildren(IJavaElementDelta delta) { - for (IJavaElementDelta child : delta.getAffectedChildren()) { - this.syncWithJavaDelta(child); // recurse - } - } - - protected void javaCompilationUnitChanged(IJavaElementDelta delta) { - if (this.deltaIsRelevant(delta)) { - this.javaResourceCompilationUnit.synchronizeWithJavaSource(); - } - } - - protected boolean deltaIsRelevant(IJavaElementDelta delta) { - if (BitTools.onlyFlagIsSet(delta.getFlags(), IJavaElementDelta.F_PRIMARY_WORKING_COPY)) { - return false; - } - return delta.getKind() == IJavaElementDelta.CHANGED; - } - - protected ICompilationUnit createAnnotationAndMembers(String packageName, String annotationName, String annotationBody) throws Exception { - return this.javaProject.createCompilationUnit(packageName, annotationName + ".java", "public @interface " + annotationName + " { " + annotationBody + " }"); - } - - protected ICompilationUnit createEnumAndMembers(String packageName, String enumName, String enumBody) throws Exception { - return this.javaProject.createCompilationUnit(packageName, enumName + ".java", "public enum " + enumName + " { " + enumBody + " }"); - } - - protected JavaResourcePackage buildJavaResourcePackage(ICompilationUnit cu) { - JavaResourcePackageInfoCompilationUnit pkgCu = - new SourcePackageInfoCompilationUnit( - cu, - this.buildAnnotationProvider(), - NullAnnotationEditFormatter.instance(), - CommandExecutor.Default.instance()); - this.javaResourceCompilationUnit = pkgCu; - return pkgCu.getPackage(); - } - - protected JavaResourceType buildJavaResourceType(ICompilationUnit cu) { - this.javaResourceCompilationUnit = this.buildJavaResourceCompilationUnit(cu); - this.javaResourceCompilationUnit.resolveTypes(); - return this.hackJavaResourceType(); - } - - protected JavaResourceType hackJavaResourceType() { - return (JavaResourceType) ReflectionTools.getFieldValue(this.javaResourceCompilationUnit, "primaryType"); - } - - protected JavaResourceCompilationUnit buildJavaResourceCompilationUnit(ICompilationUnit cu) { - if (this.javaResourceCompilationUnit != null) { - throw new IllegalStateException(); - } - return new SourceTypeCompilationUnit( - cu, - this.buildAnnotationProvider(), - NullAnnotationEditFormatter.instance(), - CommandExecutor.Default.instance() - ); - } - - protected AnnotationProvider buildAnnotationProvider() { - return new JpaAnnotationProvider(this.annotationDefinitionProvider()); - } - - protected JpaAnnotationDefinitionProvider annotationDefinitionProvider() { - return GenericJpaAnnotationDefinitionProvider.instance(); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceTypeTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceTypeTests.java deleted file mode 100644 index f32ee74085..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JavaResourceTypeTests.java +++ /dev/null @@ -1,679 +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.core.tests.internal.resource.java; - -import java.util.Iterator; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceField; -import org.eclipse.jpt.common.core.resource.java.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.utility.jdt.ModifiedDeclaration; -import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement.Editor; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.internal.resource.java.source.SourceEmbeddableAnnotation; -import org.eclipse.jpt.jpa.core.internal.resource.java.source.SourceEntityAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.EmbeddableAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.MappedSuperclassAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.TableAnnotation; -import org.eclipse.jpt.jpa.core.tests.internal.resource.java.JpaJavaResourceModelTestCase; - -@SuppressWarnings("nls") -public class JavaResourceTypeTests extends JpaJavaResourceModelTestCase { - - public JavaResourceTypeTests(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); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - }); - } - - private ICompilationUnit createTestInvalidAnnotations() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>("javax.persistence.Foo"); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Foo"); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Foo"); - } - }); - } - - private ICompilationUnit createTestEntityWithMemberEmbeddable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - } - - @Override - public void appendMemberTypeTo(StringBuilder sb) { - sb.append(" @Embeddable"); - sb.append(CR); - sb.append(" public static class Foo { }").append(CR); - - } - }); - } - - private ICompilationUnit createTestEntityDuplicates() 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(name = \"FirstEntity\")").append(CR); - sb.append("@Entity(name = \"SecondEntity\")"); - } - }); - } - - private ICompilationUnit createTestEntityWithEmbeddable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.EMBEDDABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@Embeddable"); - } - }); - } - - -// private ICompilationUnit createTestEntityLarge(final int i) throws Exception { -// return this.createTestType(new DefaultAnnotationWriter() { -// @Override -// public Iterator<String> imports() { -// return new ArrayIterator<String>(JPA.ENTITY + i); -// } -// @Override -// public void appendTypeAnnotationTo(StringBuilder sb) { -// sb.append("@Entity" + i); -// sb.append(CR); -// } -// @Override -// public String typeName() { -// return TYPE_NAME + i; -// } -// }); -// } -// -// public void testLarge() throws Exception { -// for (int i = START; i <= END; i++) { -// this.createAnnotationAndMembers("Entity" +i, "String name();"); -// } -// -// List<ICompilationUnit> cus = new ArrayList<ICompilationUnit>(); -// for (int i = START; i <= END; i++) { -// cus.add(createTestEntityLarge(i)); -// } -// long start = System.currentTimeMillis(); -// List<JavaPersistentresourceType> resourceTypes = new ArrayList<JavaPersistentresourceType>(); -// for (int i = 0; i < END; i++) { -// resourceTypes.add(buildJavaresourceType(cus.get(i))); -// } -// long end = System.currentTimeMillis(); -// -// System.out.println(end-start + "ms"); -// for (int i = 0; i < END; i++) { -// assertEquals(1, CollectionTools.size(resourceTypes.get(i).javaTypeMappingAnnotations())); -// assertNotNull(resourceTypes.get(i).javaTypeMappingAnnotation(JPA.ENTITY + (i+1))); -// } -// -// -//// assertEquals(0, CollectionTools.size(resourceType.javaTypeAnnotations())); -// } - - - - private ICompilationUnit createTestEntityWithTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@Table(name = \"FOO\", schema = \"BAR\")"); - } - }); - } - -// private ICompilationUnit createTestEntityWithTableAndIdClass() throws Exception { -// createEntityAnnotation(); -// this.createAnnotationAndMembers("Table", "String name(); String schema();"); -// this.createAnnotationAndMembers("IdClass", "Class value();"); -// return this.createTestType(new DefaultAnnotationWriter() { -// @Override -// public Iterator<String> imports() { -// return new ArrayIterator<String>(JPA.ENTITY, JPA.TABLE, JPA.ID_CLASS); -// } -// @Override -// public void appendTypeAnnotationTo(StringBuilder sb) { -// sb.append("@Entity"); -// sb.append(CR); -// sb.append("@Table"); -// sb.append(CR); -// sb.append("@IdClass"); -// } -// }); -// } -// - - private ICompilationUnit createTestEntityMultipleTables() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@Table(name = \"FOO\")"); - sb.append(CR); - sb.append("@Table(name = \"BAR\")"); - } - }); - } - - private ICompilationUnit createTestEntityWithSecondaryTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.SECONDARY_TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@SecondaryTable(name = \"FOO\")"); - } - }); - } - private ICompilationUnit createTestEntityWithEmptySecondaryTables() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@SecondaryTables()"); - } - }); - } - - private ICompilationUnit createTestEntityWithSecondaryTables() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@SecondaryTables(@SecondaryTable(name = \"FOO\"))"); - } - }); - } - - private ICompilationUnit createTestEntityWith2SecondaryTables() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@SecondaryTables({@SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\")})"); - } - }); - } - - private ICompilationUnit createTestEntityWithMemberTypes() 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"); - } - @Override - public void appendMemberTypeTo(StringBuilder sb) { - sb.append(" static class FooStatic {}").append(CR); - sb.append(CR); - sb.append(" class FooNotStatic {}").append(CR); - sb.append(CR); - sb.append(" @interface MyAnnotation {}").append(CR); - sb.append(CR); - sb.append(" enum MyEnum {}").append(CR); - } - }); - } - - public void testJavaTypeAnnotations() throws Exception { - ICompilationUnit cu = this.createTestEntityWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertEquals(2, resourceType.getAnnotationsSize()); - } - - public void testJavaTypeAnnotation() throws Exception { - ICompilationUnit cu = this.createTestEntityWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertNotNull(resourceType.getAnnotation(JPA.TABLE)); - } - - public void testJavaTypeAnnotationNull() throws Exception { - ICompilationUnit cu = this.createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertNull(resourceType.getAnnotation(JPA.TABLE)); - } - - //This will result in a compilation error, but we assume the first table found - public void testDuplicateAnnotations() throws Exception { - ICompilationUnit cu = this.createTestEntityMultipleTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation tableResource = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertEquals("FOO", tableResource.getName()); - } - - public void testRemoveTable() throws Exception { - ICompilationUnit cu = this.createTestEntityWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - resourceType.removeAnnotation(JPA.TABLE); - - assertSourceDoesNotContain("@Table", cu); - } - - public void testRemoveTableName() throws Exception { - ICompilationUnit cu = this.createTestEntityWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation tableAnnotation = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - tableAnnotation.setSchema(null); - assertSourceContains("@Table(name = \"FOO\")", cu); - - tableAnnotation.setName(null); - assertSourceDoesNotContain("(name", cu); - } - - public void testMultipleTypeMappings() throws Exception { - ICompilationUnit cu = this.createTestEntityWithEmbeddable(); - - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals(2, resourceType.getAnnotationsSize()); - assertNotNull(resourceType.getAnnotation(JPA.EMBEDDABLE)); - assertNotNull(resourceType.getAnnotation(JPA.ENTITY)); - - JavaResourceNode javaTypeMappingAnnotation = resourceType.getAnnotation(EmbeddableAnnotation.ANNOTATION_NAME); - assertTrue(javaTypeMappingAnnotation instanceof EmbeddableAnnotation); - assertSourceContains("@Entity", cu); - assertSourceContains("@Embeddable", cu); - - resourceType.setPrimaryAnnotation(JPA.MAPPED_SUPERCLASS, EmptyIterable.<String>instance()); - assertEquals(1, resourceType.getAnnotationsSize()); - javaTypeMappingAnnotation = resourceType.getAnnotation(MappedSuperclassAnnotation.ANNOTATION_NAME); - assertTrue(javaTypeMappingAnnotation instanceof MappedSuperclassAnnotation); - assertSourceDoesNotContain("@Entity", cu); - assertSourceContains("@MappedSuperclass", cu); - assertSourceDoesNotContain("@Embeddable", cu); - } - - public void testSetJavaTypeMappingAnnotation() throws Exception { - ICompilationUnit cu = createTestType(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertEquals(0, resourceType.getAnnotationsSize()); - - resourceType.setPrimaryAnnotation(JPA.ENTITY, EmptyIterable.<String>instance()); - assertTrue(resourceType.getAnnotation(EntityAnnotation.ANNOTATION_NAME) instanceof EntityAnnotation); - assertSourceContains("@Entity", cu); - } - - public void testAddJavaTypeAnnotation() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertSourceDoesNotContain("@Table", cu); - resourceType.addAnnotation(JPA.TABLE); - - assertSourceContains("@Table", cu); - } - - public void testRemoveJavaTypeAnnotation() throws Exception { - ICompilationUnit cu = createTestEntityWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertSourceContains("@Table", cu); - resourceType.removeAnnotation(JPA.TABLE); - assertSourceDoesNotContain("@Table", cu); - } - - //update source code to change from @Entity to @Embeddable and make sure @Table is not removed - public void testChangeTypeMappingInSource() throws Exception { - ICompilationUnit cu = createTestEntityWithTable(); - final JavaResourceType resourceType = buildJavaResourceType(cu); - - testType(cu).edit(new Editor() { - public void edit(ModifiedDeclaration declaration) { - SourceEntityAnnotation.DECLARATION_ANNOTATION_ADAPTER.removeAnnotation(declaration); - } - }); - - cu.createImport("javax.persistence.Embeddable", null, new NullProgressMonitor()); - - this.testType(cu).edit(new Editor() { - public void edit(ModifiedDeclaration declaration) { - SourceEmbeddableAnnotation.DECLARATION_ANNOTATION_ADAPTER.newMarkerAnnotation(declaration); - } - }); - - assertNotNull(resourceType.getAnnotation(JPA.TABLE)); - assertNull(resourceType.getAnnotation(JPA.ENTITY)); - assertNotNull(resourceType.getAnnotation(JPA.EMBEDDABLE)); - assertSourceContains("@Table", cu); - } - - public void testJavaTypeAnnotationsNestable() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals(1, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.getAnnotations(JPA.SECONDARY_TABLE).iterator().next(); - - assertEquals("FOO", secondaryTableResource.getName()); - } - - public void testJavaTypeAnnotationsNoNestable() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals(0, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - public void testJavaTypeAnnotationsContainerNoNestable() throws Exception { - ICompilationUnit cu = createTestEntityWithEmptySecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals(0, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - // @Entity -->> @Entity - // @SecondaryTable(name="FOO") - public void testAddJavaTypeAnnotationNestableContainer() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("FOO"); - assertSourceContains("@SecondaryTable(name = \"FOO\")", cu); - } - - // @Entity -->> @Entity - // @SecondaryTable(name="FOO") @SecondaryTables({@SecondaryTable(name="FOO"), @SecondaryTable(name="BAR")}) - public void testAddJavaTypeAnnotationNestableContainer2() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(1, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("BAR"); - assertSourceContains("@SecondaryTables({ @SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\") })", cu); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - // @Entity - // @SecondaryTables(@SecondaryTable(name="FOO")) - // || - // \/ - // @Entity - // @SecondaryTables({@SecondaryTable(name="FOO"), @SecondaryTable(name="BAR")}) - public void testAddJavaTypeAnnotationNestableContainer3() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(1, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("BAR"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"FOO\"),@SecondaryTable(name = \"BAR\")})", cu); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - public void testAddJavaTypeAnnotationNestableContainer5() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("BAR"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"BAR\"),@SecondaryTable(name = \"FOO\")})", cu); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - public void testAddJavaTypeAnnotationNestableContainer6() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("BAR"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"BAR\"),@SecondaryTable(name = \"FOO\")})", cu); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - - secondaryTableResource = (SecondaryTableAnnotation) resourceType.addAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTableResource.setName("BAZ"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"BAZ\"),@SecondaryTable(name = \"BAR\"), @SecondaryTable(name = \"FOO\")})", cu); - - assertEquals(3, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - - //@Entity - //@SecondaryTable(name="FOO") - public void testRemoveJavaTypeAnnotationNestableContainer() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - resourceType.removeAnnotation(0, JPA.SECONDARY_TABLE); - - assertSourceDoesNotContain("@SecondaryTable", cu); - } - - - //@Entity - //@SecondaryTables(@SecondaryTable(name="FOO")) - public void testRemoveJavaTypeAnnotationNestableContainer2() throws Exception { - ICompilationUnit cu = createTestEntityWithSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - resourceType.removeAnnotation(0, JPA.SECONDARY_TABLE); - - assertSourceDoesNotContain("@SecondaryTable(name = \"FOO\")", cu); - assertSourceContains("@SecondaryTables", cu); - } - - public void testRemoveJavaTypeAnnotationIndex() throws Exception { - ICompilationUnit cu = createTestEntityWith2SecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - resourceType.removeAnnotation(0, JPA.SECONDARY_TABLE); - - assertSourceDoesNotContain("@SecondaryTable(name = \"FOO\"", cu); - assertSourceContains("@SecondaryTable(name = \"BAR\"", cu); - assertSourceDoesNotContain("@SecondaryTables", cu); - } - - public void testRemoveJavaTypeAnnotationIndex2() throws Exception { - ICompilationUnit cu = createTestEntityWith2SecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation newAnnotation = (SecondaryTableAnnotation)resourceType.addAnnotation(2, JPA.SECONDARY_TABLE); - newAnnotation.setName("BAZ"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\"), @SecondaryTable(name = \"BAZ", cu); - - resourceType.removeAnnotation(1, JPA.SECONDARY_TABLE); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAZ\")})", cu); - } - - public void testMoveJavaTypeAnnotation() throws Exception { - ICompilationUnit cu = createTestEntityWith2SecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation newAnnotation = (SecondaryTableAnnotation)resourceType.addAnnotation(2, JPA.SECONDARY_TABLE); - newAnnotation.setName("BAZ"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\"), @SecondaryTable(name = \"BAZ\")})", cu); - - resourceType.moveAnnotation(0, 2, JPA.SECONDARY_TABLE); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"BAZ\"), @SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\")})", cu); - } - - public void testMoveJavaTypeAnnotation2() throws Exception { - ICompilationUnit cu = createTestEntityWith2SecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation newAnnotation = (SecondaryTableAnnotation)resourceType.addAnnotation(2, JPA.SECONDARY_TABLE); - newAnnotation.setName("BAZ"); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"FOO\"), @SecondaryTable(name = \"BAR\"), @SecondaryTable(name = \"BAZ\")})", cu); - - resourceType.moveAnnotation(2, 0, JPA.SECONDARY_TABLE); - assertSourceContains("@SecondaryTables({@SecondaryTable(name = \"BAR\"), @SecondaryTable(name = \"BAZ\"), @SecondaryTable(name = \"FOO\")})", cu); - } - - public void testNestedTypes() throws Exception { - ICompilationUnit cu = createTestEntityWithMemberTypes(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals("only not classes and interfaces should be returned by #getTypes()", 2, CollectionTools.size(resourceType.getTypes())); - assertEquals("only enums should be returned by #getEnums()", 1, CollectionTools.size(resourceType.getEnums())); - } - - public void testDuplicateEntityAnnotations() throws Exception { - ICompilationUnit cu = createTestEntityDuplicates(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - EntityAnnotation javaTypeMappingAnnotation = (EntityAnnotation) resourceType.getAnnotation(JPA.ENTITY); - assertEquals("FirstEntity", javaTypeMappingAnnotation.getName()); - - assertEquals(1, resourceType.getAnnotationsSize()); - - javaTypeMappingAnnotation = (EntityAnnotation) resourceType.getAnnotation(EntityAnnotation.ANNOTATION_NAME); - assertEquals("FirstEntity", javaTypeMappingAnnotation.getName()); - - } - - - public void testAttributes() throws Exception { - // TODO - } - - public void testFields() throws Exception { - // TODO - } - - public void testProperties() throws Exception { - // TODO - } - - - //TODO more tests here with superclasses other than Object. - //1. Test where the superclass does not resolve - //2. Test a superclass that does resolve - //3. What about a superclass that is a class file in a jar?? - //4. - public void testGetSuperclassQualifiedName() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertEquals("java.lang.Object", resourceType.getSuperclassQualifiedName()); - - } - - public void testIsAnnotated() throws Exception { - ICompilationUnit cu = createTestEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - assertTrue(resourceType.isAnnotated()); - - resourceType.removeAnnotation(JPA.ENTITY); - assertFalse(resourceType.isAnnotated()); - - resourceType.addAnnotation(JPA.TABLE); - assertTrue(resourceType.isAnnotated()); - } - - public void testAnnotatedMemberType() throws Exception { - ICompilationUnit cu = this.createTestEntityWithMemberEmbeddable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertNotNull(resourceType.getAnnotation(JPA.ENTITY)); - assertNull(resourceType.getAnnotation(JPA.EMBEDDABLE)); - - JavaResourceType nestedType = resourceType.getTypes().iterator().next(); - assertNull(nestedType.getAnnotation(JPA.ENTITY)); - assertNotNull(nestedType.getAnnotation(JPA.EMBEDDABLE)); - } - - public void testInvalidAnnotations() throws Exception { - ICompilationUnit cu = this.createTestInvalidAnnotations(); - JavaResourceType resourceType = buildJavaResourceType(cu); - assertEquals(0, resourceType.getAnnotationsSize()); - assertEquals(0, resourceType.getAnnotationsSize()); - - JavaResourceField resourceField = resourceType.getFields().iterator().next(); - assertEquals(0, resourceField.getAnnotationsSize()); - assertEquals(0, resourceField.getAnnotationsSize()); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnTests.java deleted file mode 100644 index a570ab8bfe..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnTests.java +++ /dev/null @@ -1,353 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation; - -@SuppressWarnings("nls") -public class JoinColumnTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_TABLE = "MY_TABLE"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - private static final String COLUMN_REFERENCED_COLUMN_NAME = "MY_REF_COLUMN_NAME"; - - public JoinColumnTests(String name) { - super(name); - } - - private ICompilationUnit createTestJoinColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(name = \"" + COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(table = \"" + COLUMN_TABLE + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithReferencedColumnName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(referencedColumnName = \"" + COLUMN_REFERENCED_COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithBooleanElement(final String booleanElement) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(" + booleanElement + " = true)"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - assertNotNull(column); - assertNull(column.getName()); - assertNull(column.getNullable()); - assertNull(column.getInsertable()); - assertNull(column.getUnique()); - assertNull(column.getUpdatable()); - assertNull(column.getTable()); - assertNull(column.getReferencedColumnName()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@JoinColumn(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("(name", cu); - } - - public void testGetTable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - assertEquals(COLUMN_TABLE, column.getTable()); - } - - public void testSetTable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getTable()); - - column.setTable("Foo"); - assertEquals("Foo", column.getTable()); - - assertSourceContains("@JoinColumn(table = \"Foo\")", cu); - - - column.setTable(null); - assertSourceDoesNotContain("(table", cu); - } - - public void testGetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithReferencedColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - assertEquals(COLUMN_REFERENCED_COLUMN_NAME, column.getReferencedColumnName()); - } - - public void testSetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getReferencedColumnName()); - - column.setReferencedColumnName("Foo"); - assertEquals("Foo", column.getReferencedColumnName()); - - assertSourceContains("@JoinColumn(referencedColumnName = \"Foo\")", cu); - - - column.setReferencedColumnName(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@JoinColumn(columnDefinition = \"Foo\")", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("(columnDefinition", cu); - } - - public void testGetUnique() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("unique"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertEquals(Boolean.TRUE, column.getUnique()); - } - - public void testSetUnique() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getUnique()); - - column.setUnique(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getUnique()); - - assertSourceContains("@JoinColumn(unique = false)", cu); - - column.setUnique(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetNullable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("nullable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertEquals(Boolean.TRUE, column.getNullable()); - } - - public void testSetNullable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getNullable()); - - column.setNullable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getNullable()); - - assertSourceContains("@JoinColumn(nullable = false)", cu); - - column.setNullable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetInsertable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("insertable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertEquals(Boolean.TRUE, column.getInsertable()); - } - - public void testSetInsertable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getInsertable()); - - column.setInsertable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getInsertable()); - - assertSourceContains("@JoinColumn(insertable = false)", cu); - - column.setInsertable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("updatable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertEquals(Boolean.TRUE, column.getUpdatable()); - } - - public void testSetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = (JoinColumnAnnotation) resourceField.getAnnotation(0, JPA.JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getUpdatable()); - - column.setUpdatable(Boolean.FALSE); - assertEquals(Boolean.FALSE, column.getUpdatable()); - - assertSourceContains("@JoinColumn(updatable = false)", cu); - - column.setUpdatable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnsTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnsTests.java deleted file mode 100644 index 8c568a50fe..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinColumnsTests.java +++ /dev/null @@ -1,446 +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.core.tests.internal.resource.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.JavaResourceMember; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation; - -@SuppressWarnings("nls") -public class JoinColumnsTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_TABLE = "MY_TABLE"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - private static final String COLUMN_REFERENCED_COLUMN_NAME = "MY_REF_COLUMN_NAME"; - - public JoinColumnsTests(String name) { - super(name); - } - - private ICompilationUnit createTestJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn)"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn(name = \"" + COLUMN_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn(table = \"" + COLUMN_TABLE + "\"))"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithReferencedColumnName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn(referencedColumnName = \"" + COLUMN_REFERENCED_COLUMN_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\"))"); - } - }); - } - - private ICompilationUnit createTestJoinColumnWithBooleanElement(final String booleanElement) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumns(@JoinColumn(" + booleanElement + " = true))"); - } - }); - } - - private ICompilationUnit createTestJoinColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_COLUMN, JPA.JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\")"); - } - }); - } - - private JoinColumnAnnotation joinColumnAt(JavaResourceMember resourceMember, int index) { - return (JoinColumnAnnotation) CollectionTools.get(resourceMember.getAnnotations(JPA.JOIN_COLUMN), index); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - assertNotNull(column); - assertNull(column.getName()); - assertNull(column.getNullable()); - assertNull(column.getInsertable()); - assertNull(column.getUnique()); - assertNull(column.getUpdatable()); - assertNull(column.getTable()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@JoinColumns(@JoinColumn(name = \"Foo\"))", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetTable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - assertEquals(COLUMN_TABLE, column.getTable()); - } - - public void testSetTable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getTable()); - - column.setTable("Foo"); - assertEquals("Foo", column.getTable()); - - assertSourceContains("@JoinColumns(@JoinColumn(table = \"Foo\"))", cu); - - - column.setTable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithReferencedColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - assertEquals(COLUMN_REFERENCED_COLUMN_NAME, column.getReferencedColumnName()); - } - - public void testSetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getReferencedColumnName()); - - column.setReferencedColumnName("Foo"); - assertEquals("Foo", column.getReferencedColumnName()); - - assertSourceContains("@JoinColumns(@JoinColumn(referencedColumnName = \"Foo\"))", cu); - - - column.setReferencedColumnName(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@JoinColumns(@JoinColumn(columnDefinition = \"Foo\"))", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetUnique() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("unique"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertTrue(column.getUnique().booleanValue()); - } - - public void testSetUnique() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getUnique()); - - column.setUnique(Boolean.FALSE); - assertFalse(column.getUnique().booleanValue()); - - assertSourceContains("@JoinColumns(@JoinColumn(unique = false))", cu); - - column.setUnique(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetNullable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("nullable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertTrue(column.getNullable().booleanValue()); - } - - public void testSetNullable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getNullable()); - - column.setNullable(Boolean.FALSE); - assertFalse(column.getNullable().booleanValue()); - - assertSourceContains("@JoinColumns(@JoinColumn(nullable = false))", cu); - - column.setNullable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetInsertable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("insertable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertTrue(column.getInsertable().booleanValue()); - } - - public void testSetInsertable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getInsertable()); - - column.setInsertable(Boolean.FALSE); - assertFalse(column.getInsertable().booleanValue()); - - assertSourceContains("@JoinColumns(@JoinColumn(insertable = false))", cu); - - column.setInsertable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - public void testGetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumnWithBooleanElement("updatable"); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertTrue(column.getUpdatable().booleanValue()); - } - - public void testSetUpdatable() throws Exception { - ICompilationUnit cu = this.createTestJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinColumnAnnotation column = this.joinColumnAt(resourceField, 0); - - assertNotNull(column); - assertNull(column.getUpdatable()); - - column.setUpdatable(Boolean.FALSE); - assertFalse(column.getUpdatable().booleanValue()); - - assertSourceContains("@JoinColumns(@JoinColumn(updatable = false))", cu); - - column.setUpdatable(null); - assertSourceDoesNotContain("@JoinColumn(", cu); - } - - - public void testAddJoinColumnCopyExisting() throws Exception { - ICompilationUnit cu = createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@JoinColumns({"; - String expected2 = "@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"),"; - String expected3 = "@JoinColumn(name = \"FOO\") })"; - JoinColumnAnnotation joinColumn = (JoinColumnAnnotation) resourceField.addAnnotation(1, JPA.JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertEquals(2, resourceField.getAnnotationsSize(JPA.JOIN_COLUMN)); - } - - public void testAddJoinColumnToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@JoinColumns({"; - String expected2 = "@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"),"; - String expected3 = "@JoinColumn(name = \"FOO\") })"; - JoinColumnAnnotation joinColumn = (JoinColumnAnnotation) resourceField.addAnnotation(1, JPA.JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@JoinColumn(name = \"BAZ\"),"; - expected3 = "@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn(name = \"FOO\") })"; - joinColumn = (JoinColumnAnnotation) resourceField.addAnnotation(0, JPA.JOIN_COLUMN); - joinColumn.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> joinColumns = resourceField.getAnnotations(JPA.JOIN_COLUMN).iterator(); - assertEquals("BAZ", ((JoinColumnAnnotation) joinColumns.next()).getName()); - assertEquals("BAR", ((JoinColumnAnnotation) joinColumns.next()).getName()); - assertEquals("FOO", ((JoinColumnAnnotation) joinColumns.next()).getName()); - - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(0, JPA.JOIN_COLUMN)); - assertEquals(3, resourceField.getAnnotationsSize(JPA.JOIN_COLUMN)); - } - - - public void testRemoveJoinColumnCopyExisting() throws Exception { - ICompilationUnit cu = createTestJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@JoinColumns({"; - String expected2 = "@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"),"; - String expected3 = "@JoinColumn(name = \"FOO\") })"; - JoinColumnAnnotation joinColumn = (JoinColumnAnnotation) resourceField.addAnnotation(1, JPA.JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\")"; - resourceField.removeAnnotation(1, JPA.JOIN_COLUMN); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@JoinColumns", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinTableTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinTableTests.java deleted file mode 100644 index 6bfb8ac293..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JoinTableTests.java +++ /dev/null @@ -1,656 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JoinTableAnnotation; - -@SuppressWarnings("nls") -public class JoinTableTests extends JpaJavaResourceModelTestCase { - - private static final String TABLE_NAME = "MY_TABLE"; - private static final String SCHEMA_NAME = "MY_SCHEMA"; - private static final String CATALOG_NAME = "MY_CATALOG"; - - public JoinTableTests(String name) { - super(name); - } - - private ICompilationUnit createTestJoinTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(name = \"" + TABLE_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithSchema() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE); - } - - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(schema = \"" + SCHEMA_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithCatalog() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(catalog = \"" + CATALOG_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithUniqueConstraints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE, JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(joinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn})"); - } - }); - } - - private ICompilationUnit createTestJoinTableWithInverseJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.JOIN_TABLE, JPA.JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@JoinTable(inverseJoinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn})"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertEquals(TABLE_NAME, table.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertNull(table.getName()); - assertNull(table.getCatalog()); - assertNull(table.getSchema()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertNull(table.getName()); - - table.setName("Foo"); - assertEquals("Foo", table.getName()); - - assertSourceContains("@JoinTable(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertEquals(TABLE_NAME, table.getName()); - - table.setName(null); - assertNull(table.getName()); - - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testGetCatalog() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertEquals(CATALOG_NAME, table.getCatalog()); - } - - public void testSetCatalog() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertNull(table.getCatalog()); - - table.setCatalog("Foo"); - assertEquals("Foo", table.getCatalog()); - - assertSourceContains("@JoinTable(catalog = \"Foo\")", cu); - } - - public void testSetCatalogNull() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertEquals(CATALOG_NAME, table.getCatalog()); - - table.setCatalog(null); - assertNull(table.getCatalog()); - - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testGetSchema() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertEquals(SCHEMA_NAME, table.getSchema()); - } - - public void testSetSchema() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertNotNull(table); - assertNull(table.getSchema()); - - table.setSchema("Foo"); - assertEquals("Foo", table.getSchema()); - - assertSourceContains("@JoinTable(schema = \"Foo\")", cu); - } - - public void testSetSchemaNull() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertEquals(SCHEMA_NAME, table.getSchema()); - - table.setSchema(null); - assertNull(table.getSchema()); - - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testUniqueConstraints() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(0, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints2() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - - table.addUniqueConstraint(0); - table.addUniqueConstraint(1); - - assertEquals(2, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints3() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(3, table.getUniqueConstraintsSize()); - } - - public void testAddUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(1); - table.addUniqueConstraint(0).addColumnName("BAR"); - - assertEquals("BAR", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", table.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, table.uniqueConstraintAt(2).getColumnNamesSize()); - - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint})", cu); - } - - public void testRemoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertEquals("BAR", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", table.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("BAZ", table.uniqueConstraintAt(2).columnNameAt(0)); - assertEquals(3, table.getUniqueConstraintsSize()); - - table.removeUniqueConstraint(1); - assertEquals("BAR", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("BAZ", table.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(2, table.getUniqueConstraintsSize()); - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - table.removeUniqueConstraint(0); - assertEquals("BAZ", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals(1, table.getUniqueConstraintsSize()); - assertSourceContains("@JoinTable(uniqueConstraints = @UniqueConstraint(columnNames = {\"BAZ\"}))", cu); - - table.removeUniqueConstraint(0); - assertEquals(0, table.getUniqueConstraintsSize()); - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testMoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - table.moveUniqueConstraint(2, 0); - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"})})", cu); - } - - public void testMoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - table.moveUniqueConstraint(0, 2); - assertSourceContains("@JoinTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"})})", cu); - } - - public void testJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(0, table.getJoinColumnsSize()); - } - - public void testJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - - table.addJoinColumn(0); - table.addJoinColumn(1); - - assertEquals(2, table.getJoinColumnsSize()); - } - - public void testJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(2, table.getJoinColumnsSize()); - } - - public void testAddJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - table.addJoinColumn(0).setName("FOO"); - table.addJoinColumn(1); - table.addJoinColumn(0).setName("BAR"); - - assertEquals("BAR", table.joinColumnAt(0).getName()); - assertEquals("FOO", table.joinColumnAt(1).getName()); - assertNull(table.joinColumnAt(2).getName()); - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"BAR\"),@JoinColumn(name = \"FOO\"), @JoinColumn})", cu); - } - - public void testRemoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - table.addJoinColumn(0).setName("FOO"); - - assertEquals("FOO", table.joinColumnAt(0).getName()); - assertEquals("BAR", table.joinColumnAt(1).getName()); - assertNull(table.joinColumnAt(2).getName()); - assertEquals(3, table.getJoinColumnsSize()); - - table.removeJoinColumn(1); - assertEquals("FOO", table.joinColumnAt(0).getName()); - assertNull(table.joinColumnAt(1).getName()); - assertEquals(2, table.getJoinColumnsSize()); - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn})", cu); - - table.removeJoinColumn(0); - assertNull(table.joinColumnAt(0).getName()); - assertEquals(1, table.getJoinColumnsSize()); - assertSourceContains("@JoinTable(joinColumns = @JoinColumn)", cu); - - - table.removeJoinColumn(0); - assertEquals(0, table.getJoinColumnsSize()); - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testMoveJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - JoinColumnAnnotation joinColumn = table.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - table.addJoinColumn(0).setName("FOO"); - - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn})", cu); - - table.moveJoinColumn(2, 0); - assertEquals("BAR", table.joinColumnAt(0).getName()); - assertNull(table.joinColumnAt(1).getName()); - assertEquals("FOO", table.joinColumnAt(2).getName()); - assertEquals(3, table.getJoinColumnsSize()); - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn, @JoinColumn(name = \"FOO\")})", cu); - } - - public void testMoveJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - JoinColumnAnnotation joinColumn = table.joinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setUnique(Boolean.FALSE); - joinColumn.setNullable(Boolean.FALSE); - joinColumn.setInsertable(Boolean.FALSE); - joinColumn.setUpdatable(Boolean.FALSE); - joinColumn.setColumnDefinition("COLUMN_DEF"); - joinColumn.setTable("TABLE"); - - table.addJoinColumn(0).setName("FOO"); - - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\"), @JoinColumn})", cu); - - - table.moveJoinColumn(0, 2); - assertNull(table.joinColumnAt(0).getName()); - assertEquals("FOO", table.joinColumnAt(1).getName()); - assertEquals("BAR", table.joinColumnAt(2).getName()); - assertEquals(3, table.getJoinColumnsSize()); - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn, @JoinColumn(name = \"FOO\"), @JoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", unique = false, nullable = false, insertable = false, updatable = false, columnDefinition = \"COLUMN_DEF\", table = \"TABLE\")})", cu); - } - - public void testSetJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(2, table.getJoinColumnsSize()); - - JoinColumnAnnotation joinColumn = table.joinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@JoinTable(joinColumns = {@JoinColumn(name = \"foo\"), @JoinColumn})", cu); - } - - public void testInverseJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(0, table.getInverseJoinColumnsSize()); - } - - public void testInverseJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - - table.addInverseJoinColumn(0); - table.addInverseJoinColumn(1); - - assertEquals(2, table.getInverseJoinColumnsSize()); - } - - public void testInverseJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithInverseJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(2, table.getInverseJoinColumnsSize()); - } - - public void testAddInverseJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - table.addInverseJoinColumn(0).setName("FOO"); - table.addInverseJoinColumn(1); - table.addInverseJoinColumn(0).setName("BAR"); - - assertEquals("BAR", table.inverseJoinColumnAt(0).getName()); - assertEquals("FOO", table.inverseJoinColumnAt(1).getName()); - assertNull(table.inverseJoinColumnAt(2).getName()); - assertSourceContains("@JoinTable(inverseJoinColumns = {@JoinColumn(name = \"BAR\"),@JoinColumn(name = \"FOO\"), @JoinColumn})", cu); - } - - public void testRemoveInverseJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithInverseJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - table.addInverseJoinColumn(2).setName("FOO"); - - Iterator<JoinColumnAnnotation> inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertNull(inverseJoinColumns.next().getName()); - assertEquals("FOO", inverseJoinColumns.next().getName()); - assertFalse(inverseJoinColumns.hasNext()); - - table.removeInverseJoinColumn(1); - assertSourceContains("@JoinTable(inverseJoinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn(name = \"FOO\")})", cu); - inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertEquals("FOO", inverseJoinColumns.next().getName()); - assertFalse(inverseJoinColumns.hasNext()); - - table.removeInverseJoinColumn(0); - assertSourceContains("@JoinTable(inverseJoinColumns = @JoinColumn(name = \"FOO\"))", cu); - inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("FOO", inverseJoinColumns.next().getName()); - assertFalse(inverseJoinColumns.hasNext()); - - table.removeInverseJoinColumn(0); - assertSourceDoesNotContain("@JoinTable(", cu); - } - - public void testMoveInverseJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithInverseJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - table.addInverseJoinColumn(0).setName("FOO"); - - Iterator<JoinColumnAnnotation> inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("FOO", inverseJoinColumns.next().getName()); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertNull(inverseJoinColumns.next().getName()); - - table.moveInverseJoinColumn(2, 0); - inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertNull(inverseJoinColumns.next().getName()); - assertEquals("FOO", inverseJoinColumns.next().getName()); - - assertSourceContains("@JoinTable(inverseJoinColumns = {@JoinColumn(name = \"BAR\"), @JoinColumn, @JoinColumn(name = \"FOO\")})", cu); - } - - public void testMoveInverseJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithInverseJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - table.addInverseJoinColumn(1).setName("FOO"); - - Iterator<JoinColumnAnnotation> inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertEquals("FOO", inverseJoinColumns.next().getName()); - assertNull(inverseJoinColumns.next().getName()); - - table.moveInverseJoinColumn(0, 2); - inverseJoinColumns = table.getInverseJoinColumns().iterator(); - assertNull(inverseJoinColumns.next().getName()); - assertEquals("BAR", inverseJoinColumns.next().getName()); - assertEquals("FOO", inverseJoinColumns.next().getName()); - - assertSourceContains("@JoinTable(inverseJoinColumns = {@JoinColumn, @JoinColumn(name = \"BAR\"), @JoinColumn(name = \"FOO\")})", cu); - } - - public void testSetInverseJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestJoinTableWithInverseJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JoinTableAnnotation table = (JoinTableAnnotation) resourceField.getAnnotation(JPA.JOIN_TABLE); - - assertEquals(2, table.getInverseJoinColumnsSize()); - - JoinColumnAnnotation joinColumn = table.inverseJoinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@JoinTable(inverseJoinColumns = {@JoinColumn(name = \"foo\"), @JoinColumn})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JpaJavaResourceModelTestCase.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JpaJavaResourceModelTestCase.java deleted file mode 100644 index 18e758ca5f..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JpaJavaResourceModelTestCase.java +++ /dev/null @@ -1,48 +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.core.tests.internal.resource.java; - -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.jpa.core.tests.internal.projects.TestJpaProject; - -public class JpaJavaResourceModelTestCase - extends JavaResourceModelTestCase { - - public static final String JAVAX_PERSISTENCE_PACKAGE_NAME = "javax.persistence"; //$NON-NLS-1$ - - - public JpaJavaResourceModelTestCase(String name) { - super(name); - } - - - @Override - protected void setUp() throws Exception { - super.setUp(); - this.javaProject.addJar(TestJpaProject.jpaJarName()); - if (TestJpaProject.eclipseLinkJarName() != null) { - this.javaProject.addJar(TestJpaProject.eclipseLinkJarName()); - } - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - // nothing as of yet - } - - protected ICompilationUnit createAnnotationAndMembers(String annotationName, String annotationBody) throws Exception { - return createAnnotationAndMembers(JAVAX_PERSISTENCE_PACKAGE_NAME, annotationName, annotationBody); - } - - protected ICompilationUnit createEnumAndMembers(String enumName, String enumBody) throws Exception { - return createEnumAndMembers(JAVAX_PERSISTENCE_PACKAGE_NAME, enumName, enumBody); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JptJavaResourceTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JptJavaResourceTests.java deleted file mode 100644 index cb7d7cc80c..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/JptJavaResourceTests.java +++ /dev/null @@ -1,75 +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.core.tests.internal.resource.java; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class JptJavaResourceTests { - - public static Test suite() { - TestSuite suite = new TestSuite(JptJavaResourceTests.class.getPackage().getName()); - suite.addTestSuite(JavaResourceTypeTests.class); - suite.addTestSuite(JavaResourceAttributeTests.class); - suite.addTestSuite(JPTToolsTests.class); - - suite.addTestSuite(AssociationOverrideTests.class); - suite.addTestSuite(AssociationOverridesTests.class); - suite.addTestSuite(AttributeOverrideTests.class); - suite.addTestSuite(AttributeOverridesTests.class); - suite.addTestSuite(BasicTests.class); - suite.addTestSuite(ColumnTests.class); - suite.addTestSuite(DiscriminatorValueTests.class); - suite.addTestSuite(DiscriminatorColumnTests.class); - suite.addTestSuite(EmbeddableTests.class); - suite.addTestSuite(EmbeddedTests.class); - suite.addTestSuite(EmbeddedIdTests.class); - suite.addTestSuite(EntityTests.class); - suite.addTestSuite(EnumeratedTests.class); - suite.addTestSuite(GeneratedValueTests.class); - suite.addTestSuite(IdClassTests.class); - suite.addTestSuite(IdTests.class); - suite.addTestSuite(InheritanceTests.class); - suite.addTestSuite(JoinColumnTests.class); - suite.addTestSuite(JoinColumnsTests.class); - suite.addTestSuite(JoinTableTests.class); - suite.addTestSuite(LobTests.class); - suite.addTestSuite(ManyToManyTests.class); - suite.addTestSuite(ManyToOneTests.class); - suite.addTestSuite(MapKeyTests.class); - suite.addTestSuite(MappedSuperclassTests.class); - suite.addTestSuite(NamedNativeQueryTests.class); - suite.addTestSuite(NamedNativeQueriesTests.class); - suite.addTestSuite(NamedQueryTests.class); - suite.addTestSuite(NamedQueriesTests.class); - suite.addTestSuite(OneToManyTests.class); - suite.addTestSuite(OneToOneTests.class); - suite.addTestSuite(OrderByTests.class); - suite.addTestSuite(PrimaryKeyJoinColumnTests.class); - suite.addTestSuite(PrimaryKeyJoinColumnsTests.class); - suite.addTestSuite(QueryHintTests.class); - suite.addTestSuite(SecondaryTableTests.class); - suite.addTestSuite(SecondaryTablesTests.class); - suite.addTestSuite(SequenceGeneratorTests.class); - suite.addTestSuite(TableGeneratorTests.class); - suite.addTestSuite(TableTests.class); - suite.addTestSuite(TemporalTests.class); - suite.addTestSuite(TransientTests.class); - suite.addTestSuite(VersionTests.class); - - return suite; - } - - private JptJavaResourceTests() { - super(); - throw new UnsupportedOperationException(); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/LobTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/LobTests.java deleted file mode 100644 index d660c8103b..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/LobTests.java +++ /dev/null @@ -1,50 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.LobAnnotation; - -@SuppressWarnings("nls") -public class LobTests extends JpaJavaResourceModelTestCase { - - public LobTests(String name) { - super(name); - } - - private ICompilationUnit createTestLob() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.LOB); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Lob"); - } - }); - } - - public void testLob() throws Exception { - ICompilationUnit cu = this.createTestLob(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - LobAnnotation lob = (LobAnnotation) resourceField.getAnnotation(JPA.LOB); - assertNotNull(lob); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToManyTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToManyTests.java deleted file mode 100644 index fae22f1be4..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToManyTests.java +++ /dev/null @@ -1,395 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.FetchType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.ManyToManyAnnotation; - -@SuppressWarnings("nls") -public class ManyToManyTests extends JpaJavaResourceModelTestCase { - - public ManyToManyTests(String name) { - super(name); - } - - private ICompilationUnit createTestManyToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithFetch() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY, JPA.FETCH_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(fetch = FetchType.EAGER)"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithTargetEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(targetEntity = AnnotationTestType.class)"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithMappedBy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(mappedBy = \"foo\")"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(cascade = CascadeType.ALL)"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithMultipleCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.REMOVE})"); - } - }); - } - - private ICompilationUnit createTestManyToManyWithDuplicateCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.MERGE})"); - } - }); - } - - public void testManyToMany() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertNotNull(manyToMany); - } - - public void testGetFetch() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(FetchType.EAGER, manyToMany.getFetch()); - } - - public void testSetFetch() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(FetchType.EAGER, manyToMany.getFetch()); - - manyToMany.setFetch(FetchType.LAZY); - assertEquals(FetchType.LAZY, manyToMany.getFetch()); - - assertSourceContains("@ManyToMany(fetch = LAZY)", cu); - } - - public void testSetFetchNull() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(FetchType.EAGER, manyToMany.getFetch()); - - manyToMany.setFetch(null); - assertNull(manyToMany.getFetch()); - - assertSourceContains("@ManyToMany", cu); - assertSourceDoesNotContain("fetch", cu); - } - - public void testGetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(TYPE_NAME, manyToMany.getTargetEntity()); - } - - public void testSetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(TYPE_NAME, manyToMany.getTargetEntity()); - - manyToMany.setTargetEntity("Foo"); - - assertSourceContains("@ManyToMany(targetEntity = Foo.class)", cu); - } - - public void testSetTargetEntityNull() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(TYPE_NAME, manyToMany.getTargetEntity()); - - manyToMany.setTargetEntity(null); - - assertSourceContains("@ManyToMany", cu); - assertSourceDoesNotContain("targetEntity", cu); - } - - - public void testGetFullyQualifiedTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(FULLY_QUALIFIED_TYPE_NAME, manyToMany.getFullyQualifiedTargetEntityClassName()); - - manyToMany.setTargetEntity("Foo"); - - assertSourceContains("@ManyToMany(targetEntity = Foo.class)", cu); - - assertEquals("Foo", manyToMany.getTargetEntity()); - - assertEquals("Foo", manyToMany.getFullyQualifiedTargetEntityClassName()); //bug 196200 changed this - } - - public void testGetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals("foo", manyToMany.getMappedBy()); - } - - public void testGetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals(null, manyToMany.getMappedBy()); - } - - public void testSetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertNull(manyToMany.getMappedBy()); - manyToMany.setMappedBy("bar"); - assertEquals("bar", manyToMany.getMappedBy()); - - assertSourceContains("@ManyToMany(mappedBy = \"bar\")", cu); - } - - public void testSetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertEquals("foo", manyToMany.getMappedBy()); - - manyToMany.setMappedBy(null); - assertNull(manyToMany.getMappedBy()); - - assertSourceContains("@ManyToMany", cu); - assertSourceDoesNotContain("mappedBy", cu); - } - - public void testSetCascadeAll() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertFalse(manyToMany.isCascadeAll()); - - manyToMany.setCascadeAll(true); - assertSourceContains("@ManyToMany(cascade = ALL)", cu); - - assertTrue(manyToMany.isCascadeAll()); - } - - public void testSetCascadeMerge() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertFalse(manyToMany.isCascadeMerge()); - - manyToMany.setCascadeMerge(true); - assertSourceContains("@ManyToMany(cascade = MERGE)", cu); - - assertTrue(manyToMany.isCascadeMerge()); - } - - public void testSetCascadePersist() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertFalse(manyToMany.isCascadePersist()); - - manyToMany.setCascadePersist(true); - assertSourceContains("@ManyToMany(cascade = PERSIST)", cu); - - assertTrue(manyToMany.isCascadePersist()); - } - - public void testSetCascadeRemove() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertFalse(manyToMany.isCascadeRemove()); - - manyToMany.setCascadeRemove(true); - assertSourceContains("@ManyToMany(cascade = REMOVE)", cu); - - assertTrue(manyToMany.isCascadeRemove()); - } - - public void testSetCascadeRefresh() throws Exception { - ICompilationUnit cu = this.createTestManyToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertFalse(manyToMany.isCascadeRefresh()); - - manyToMany.setCascadeRefresh(true); - assertSourceContains("@ManyToMany(cascade = REFRESH)", cu); - - assertTrue(manyToMany.isCascadeRefresh()); - } - - public void testCascadeMoreThanOnce() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertTrue(manyToMany.isCascadeAll()); - - manyToMany.setCascadeAll(true); - assertTrue(manyToMany.isCascadeAll()); - //a second CascadeType.All should not have been added - assertSourceContains("@ManyToMany(cascade = CascadeType.ALL)", cu); - - manyToMany.setCascadeAll(false); - assertFalse(manyToMany.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - - //test setting cascadeAll to false again, should just do nothing - manyToMany.setCascadeAll(false); - assertFalse(manyToMany.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testDuplicateCascade() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithDuplicateCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertTrue(manyToMany.isCascadeMerge()); - - manyToMany.setCascadeMerge(false); //TODO should the resource model handle this and remove both MERGE - //settings instead of having to set it false twice? - assertTrue(manyToMany.isCascadeMerge()); - - manyToMany.setCascadeMerge(false); - assertFalse(manyToMany.isCascadeMerge()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testMultipleCascade() throws Exception { - ICompilationUnit cu = this.createTestManyToManyWithMultipleCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToManyAnnotation manyToMany = (ManyToManyAnnotation) resourceField.getAnnotation(JPA.MANY_TO_MANY); - assertTrue(manyToMany.isCascadeMerge()); - assertTrue(manyToMany.isCascadeRemove()); - - manyToMany.setCascadeMerge(false); - assertSourceContains("@ManyToMany(cascade = REMOVE)", cu); - - manyToMany.setCascadeRemove(false); - assertSourceDoesNotContain("cascade", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToOneTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToOneTests.java deleted file mode 100644 index d221a7a029..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/ManyToOneTests.java +++ /dev/null @@ -1,388 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.FetchType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.ManyToOneAnnotation; - -@SuppressWarnings("nls") -public class ManyToOneTests extends JpaJavaResourceModelTestCase { - - public ManyToOneTests(String name) { - super(name); - } - - private ICompilationUnit createTestManyToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithFetch() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE, JPA.FETCH_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(fetch = FetchType.EAGER)"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithTargetEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(targetEntity = AnnotationTestType.class)"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithOptional() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(optional = true)"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(cascade = CascadeType.ALL)"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithMultipleCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REMOVE})"); - } - }); - } - - private ICompilationUnit createTestManyToOneWithDuplicateCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MANY_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@ManyToOne(cascade = {CascadeType.MERGE, CascadeType.MERGE})"); - } - }); - } - - public void testManyToOne() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertNotNull(manyToOne); - } - - public void testGetFetch() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(FetchType.EAGER, manyToOne.getFetch()); - } - - public void testSetFetch() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(FetchType.EAGER, manyToOne.getFetch()); - - manyToOne.setFetch(FetchType.LAZY); - assertEquals(FetchType.LAZY, manyToOne.getFetch()); - - assertSourceContains("@ManyToOne(fetch = LAZY)", cu); - } - - public void testSetFetchNull() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(FetchType.EAGER, manyToOne.getFetch()); - - manyToOne.setFetch(null); - assertNull(manyToOne.getFetch()); - - assertSourceContains("@ManyToOne", cu); - assertSourceDoesNotContain("fetch", cu); - } - - - public void testGetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(TYPE_NAME, manyToOne.getTargetEntity()); - } - - public void testSetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(TYPE_NAME, manyToOne.getTargetEntity()); - - manyToOne.setTargetEntity("Foo"); - - assertSourceContains("@ManyToOne(targetEntity = Foo.class)", cu); - } - - public void testSetTargetEntityNull() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(TYPE_NAME, manyToOne.getTargetEntity()); - - manyToOne.setTargetEntity(null); - - assertSourceContains("@ManyToOne", cu); - assertSourceDoesNotContain("targetEntity", cu); - } - - - public void testGetFullyQualifiedTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(FULLY_QUALIFIED_TYPE_NAME, manyToOne.getFullyQualifiedTargetEntityClassName()); - - manyToOne.setTargetEntity("Foo"); - - assertSourceContains("@ManyToOne(targetEntity = Foo.class)", cu); - - assertEquals("Foo", manyToOne.getTargetEntity()); - - assertEquals("Foo", manyToOne.getFullyQualifiedTargetEntityClassName());//bug 196200 changed this - } - - public void testGetOptional() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(Boolean.TRUE, manyToOne.getOptional()); - } - - public void testSetOptional() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(Boolean.TRUE, manyToOne.getOptional()); - - manyToOne.setOptional(Boolean.FALSE); - assertEquals(Boolean.FALSE, manyToOne.getOptional()); - - assertSourceContains("@ManyToOne(optional = false)", cu); - } - - public void testSetOptionalNull() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertEquals(Boolean.TRUE, manyToOne.getOptional()); - - manyToOne.setOptional(null); - assertNull(manyToOne.getOptional()); - - assertSourceContains("@ManyToOne", cu); - assertSourceDoesNotContain("optional", cu); - } - - public void testSetCascadeAll() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertFalse(manyToOne.isCascadeAll()); - - manyToOne.setCascadeAll(true); - assertSourceContains("@ManyToOne(cascade = ALL)", cu); - - assertTrue(manyToOne.isCascadeAll()); - } - - public void testSetCascadeMerge() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertFalse(manyToOne.isCascadeMerge()); - - manyToOne.setCascadeMerge(true); - assertSourceContains("@ManyToOne(cascade = MERGE)", cu); - - assertTrue(manyToOne.isCascadeMerge()); - } - - public void testSetCascadePersist() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertFalse(manyToOne.isCascadePersist()); - - manyToOne.setCascadePersist(true); - assertSourceContains("@ManyToOne(cascade = PERSIST)", cu); - - assertTrue(manyToOne.isCascadePersist()); - } - - public void testSetCascadeRemove() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertFalse(manyToOne.isCascadeRemove()); - - manyToOne.setCascadeRemove(true); - assertSourceContains("@ManyToOne(cascade = REMOVE)", cu); - - assertTrue(manyToOne.isCascadeRemove()); - } - - public void testSetCascadeRefresh() throws Exception { - ICompilationUnit cu = this.createTestManyToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertFalse(manyToOne.isCascadeRefresh()); - - manyToOne.setCascadeRefresh(true); - assertSourceContains("@ManyToOne(cascade = REFRESH)", cu); - - assertTrue(manyToOne.isCascadeRefresh()); - } - - public void testCascadeMoreThanOnce() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertTrue(manyToOne.isCascadeAll()); - - manyToOne.setCascadeAll(true); - assertTrue(manyToOne.isCascadeAll()); - //a second CascadeType.All should not have been added - assertSourceContains("@ManyToOne(cascade = CascadeType.ALL)", cu); - - manyToOne.setCascadeAll(false); - assertFalse(manyToOne.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - - //test setting cascadeAll to false again, should just do nothing - manyToOne.setCascadeAll(false); - assertFalse(manyToOne.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testDuplicateCascade() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithDuplicateCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertTrue(manyToOne.isCascadeMerge()); - - manyToOne.setCascadeMerge(false);//TODO should the resource model handle this and remove both MERGE - //settings instead of having to set it false twice? - assertTrue(manyToOne.isCascadeMerge()); - - manyToOne.setCascadeMerge(false); - assertFalse(manyToOne.isCascadeMerge()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testMultipleCascade() throws Exception { - ICompilationUnit cu = this.createTestManyToOneWithMultipleCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - ManyToOneAnnotation manyToOne = (ManyToOneAnnotation) resourceField.getAnnotation(JPA.MANY_TO_ONE); - assertTrue(manyToOne.isCascadeMerge()); - assertTrue(manyToOne.isCascadeRemove()); - - manyToOne.setCascadeMerge(false); - assertSourceContains("@ManyToOne(cascade = REMOVE)", cu); - - manyToOne.setCascadeRemove(false); - assertSourceDoesNotContain("cascade", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MapKeyTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MapKeyTests.java deleted file mode 100644 index 0ef74ab3ea..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MapKeyTests.java +++ /dev/null @@ -1,89 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.MapKeyAnnotation; - -@SuppressWarnings("nls") -public class MapKeyTests extends JpaJavaResourceModelTestCase { - - public MapKeyTests(String name) { - super(name); - } - - private ICompilationUnit createTestMapKey() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAP_KEY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@MapKey"); - } - }); - } - - private ICompilationUnit createTestMapKeyWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAP_KEY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@MapKey(name = \"key\")"); - } - }); - } - - public void testMapKey() throws Exception { - ICompilationUnit cu = this.createTestMapKey(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - MapKeyAnnotation mapKey = (MapKeyAnnotation) resourceField.getAnnotation(JPA.MAP_KEY); - assertNotNull(mapKey); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestMapKeyWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - MapKeyAnnotation mapKey = (MapKeyAnnotation) resourceField.getAnnotation(JPA.MAP_KEY); - assertEquals("key", mapKey.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestMapKey(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - MapKeyAnnotation mapKey = (MapKeyAnnotation) resourceField.getAnnotation(JPA.MAP_KEY); - - mapKey.setName("foo"); - - assertSourceContains("@MapKey(name = \"foo\")", cu); - - mapKey.setName(null); - - assertSourceContains("@MapKey", cu); - assertSourceDoesNotContain("@MapKey(name = \"foo\")", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MappedSuperclassTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MappedSuperclassTests.java deleted file mode 100644 index 03d08f6a39..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/MappedSuperclassTests.java +++ /dev/null @@ -1,74 +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.core.tests.internal.resource.java; - -import java.util.Iterator; -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.JavaResourceNode; -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.EntityAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.MappedSuperclassAnnotation; - -@SuppressWarnings("nls") -public class MappedSuperclassTests extends JpaJavaResourceModelTestCase { - - public MappedSuperclassTests(String name) { - super(name); - } - - private ICompilationUnit createTestMappedSuperclass() 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"); - } - }); - } - - private ICompilationUnit createTestMappedSuperclassAndEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.MAPPED_SUPERCLASS, JPA.ENTITY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@MappedSuperclass"); - sb.append("@Entity"); - } - }); - } - - public void testMappedSuperclass() throws Exception { - ICompilationUnit cu = this.createTestMappedSuperclass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - JavaResourceNode mappingAnnotation = resourceType.getAnnotation(MappedSuperclassAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof MappedSuperclassAnnotation); - } - - public void testMappedSuperclassAndEntity() throws Exception { - ICompilationUnit cu = this.createTestMappedSuperclassAndEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - JavaResourceNode mappingAnnotation = resourceType.getAnnotation(EntityAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof EntityAnnotation); - - MappedSuperclassAnnotation mappedSuperclass = (MappedSuperclassAnnotation) resourceType.getAnnotation(JPA.MAPPED_SUPERCLASS); - assertNotNull(mappedSuperclass); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueriesTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueriesTests.java deleted file mode 100644 index f8e60be450..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueriesTests.java +++ /dev/null @@ -1,425 +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.core.tests.internal.resource.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.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueryAnnotation; - -@SuppressWarnings("nls") -public class NamedNativeQueriesTests extends JpaJavaResourceModelTestCase { - - private static final String QUERY_NAME = "myQuery"; - private static final String QUERY_QUERY = "SELECT name FROM Employee"; - private static final String QUERY_RESULT_CLASS = "Result"; - private static final String QUERY_RESULT_SET_MAPPING = "resultSetMapping"; - - public NamedNativeQueriesTests(String name) { - super(name); - } - - private ICompilationUnit createTestNamedNativeQueries() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERIES, JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQueries(@NamedNativeQuery)"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithName() throws Exception { - return createTestNamedNativeQueryWithStringElement("name", QUERY_NAME); - } - - private ICompilationUnit createTestNamedNativeQueryWithQuery() throws Exception { - return createTestNamedNativeQueryWithStringElement("query", QUERY_QUERY); - } - - private ICompilationUnit createTestNamedNativeQueryWithResultSetMapping() throws Exception { - return createTestNamedNativeQueryWithStringElement("resultSetMapping", QUERY_RESULT_SET_MAPPING); - } - - - private ICompilationUnit createTestNamedNativeQueryWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERIES, JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQueries(@NamedNativeQuery(" + elementName + " = \"" + value + "\"))"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithResultClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERIES, JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQueries(@NamedNativeQuery(resultClass = " + QUERY_RESULT_CLASS + ".class))"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithQueryHints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERIES, JPA.NAMED_NATIVE_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQueries(@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint}))"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQuery() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\")"); - } - }); - } - - public void testNamedNativeQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertNotNull(namedQuery); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - - namedQuery.setName("foo"); - assertEquals("foo", namedQuery.getName()); - - assertSourceContains("@NamedNativeQuery(name = \"foo\")", cu); - - namedQuery.setName(null); - assertNull(namedQuery.getName()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - } - - public void testSetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - - namedQuery.setQuery("foo"); - assertEquals("foo", namedQuery.getQuery()); - - assertSourceContains("@NamedNativeQuery(query = \"foo\")", cu); - - namedQuery.setQuery(null); - assertNull(namedQuery.getQuery()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetResultClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_CLASS, namedQuery.getResultClass()); - } - - public void testSetResultClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_CLASS, namedQuery.getResultClass()); - - namedQuery.setResultClass("foo"); - assertEquals("foo", namedQuery.getResultClass()); - - assertSourceContains("@NamedNativeQuery(resultClass = foo.class)", cu); - - namedQuery.setResultClass(null); - assertNull(namedQuery.getResultClass()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetFullyQualifiedClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertNotNull(namedQuery.getResultClass()); - assertEquals("Result", namedQuery.getFullyQualifiedResultClassName());//bug 196200 changed this - - namedQuery.setResultClass(TYPE_NAME); - - assertEquals(FULLY_QUALIFIED_TYPE_NAME, namedQuery.getFullyQualifiedResultClassName()); - assertSourceContains("@NamedNativeQuery(resultClass = " + TYPE_NAME + ".class)", cu); - } - - public void testGetResultSetMapping() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultSetMapping(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_SET_MAPPING, namedQuery.getResultSetMapping()); - } - - public void testSetResultSetMapping() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultSetMapping(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_SET_MAPPING, namedQuery.getResultSetMapping()); - - namedQuery.setResultSetMapping("foo"); - assertEquals("foo", namedQuery.getResultSetMapping()); - - assertSourceContains("@NamedNativeQuery(resultSetMapping = \"foo\")", cu); - - namedQuery.setResultSetMapping(null); - assertNull(namedQuery.getResultSetMapping()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testHints() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - assertEquals(0, namedQuery.getHintsSize()); - } - - public void testHints2() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0); - namedQuery.addHint(1); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testHints3() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testAddHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0).setName("FOO"); - namedQuery.addHint(1); - namedQuery.addHint(0).setName("BAR"); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals("FOO", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertSourceContains("@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\"),@QueryHint(name = \"FOO\"), @QueryHint})", cu); - } - - public void testRemoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.removeHint(2); - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertEquals(2, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQueries(@NamedNativeQuery(hints = {@QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")}))", cu); - - namedQuery.removeHint(0); - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals(1, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQueries(@NamedNativeQuery(hints = @QueryHint(name = \"BAR\", value = \"FOO\")))", cu); - - - namedQuery.removeHint(0); - assertEquals(0, namedQuery.getHintsSize()); - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testMoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(2, 0); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertNull(namedQuery.hintAt(1).getName()); - assertEquals("BAZ", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQueries(@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint, @QueryHint(name = \"BAZ\")}))", cu); - } - - public void testMoveHint2() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(0, 2); - - assertNull(namedQuery.hintAt(0).getName()); - assertEquals("BAZ", namedQuery.hintAt(1).getName()); - assertEquals("BAR", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQueries(@NamedNativeQuery(hints = {@QueryHint, @QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")}))", cu); - } - - public void testAddNamedNativeQueryCopyExisting() throws Exception { - ICompilationUnit cu = createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedNativeQueries({"; - String expected2 = "@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\"),"; - String expected3 = "@NamedNativeQuery(name = \"BAR\") })"; - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_NATIVE_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNull(resourceType.getAnnotation(JPA.NAMED_NATIVE_QUERY)); - assertNotNull(resourceType.getAnnotation(JPA.NAMED_NATIVE_QUERIES)); - assertNotNull(resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.NAMED_NATIVE_QUERY)); - } - - public void testAddNamedNativeQueryToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedNativeQueries({"; - String expected2 = "@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\"),"; - String expected3 = "@NamedNativeQuery(name = \"BAR\") })"; - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_NATIVE_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@NamedNativeQuery(name = \"BAZ\"),"; - expected3 = "@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\"), @NamedNativeQuery(name = \"BAR\") })"; - namedQuery = (NamedNativeQueryAnnotation) resourceType.addAnnotation(0, JPA.NAMED_NATIVE_QUERY); - namedQuery.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> namedQueries = resourceType.getAnnotations(JPA.NAMED_NATIVE_QUERY).iterator(); - assertEquals("BAZ", ((NamedNativeQueryAnnotation) namedQueries.next()).getName()); - assertEquals("foo", ((NamedNativeQueryAnnotation) namedQueries.next()).getName()); - assertEquals("BAR", ((NamedNativeQueryAnnotation) namedQueries.next()).getName()); - - assertNull(resourceType.getAnnotation(JPA.NAMED_NATIVE_QUERY)); - assertNotNull(resourceType.getAnnotation(JPA.NAMED_NATIVE_QUERIES)); - assertNotNull(resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY)); - assertEquals(3, resourceType.getAnnotationsSize(JPA.NAMED_NATIVE_QUERY)); - } - - public void testRemoveNamedNativeQueryCopyExisting() throws Exception { - ICompilationUnit cu = createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedNativeQueries({"; - String expected2 = "@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\"),"; - String expected3 = "@NamedNativeQuery(name = \"BAR\") })"; - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_NATIVE_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@NamedNativeQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"), resultClass = Foo.class, resultSetMapping = \"mapping\")"; - resourceType.removeAnnotation(1, JPA.NAMED_NATIVE_QUERY); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@NamedNativeQueries", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueryTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueryTests.java deleted file mode 100644 index e8fa64dd6e..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedNativeQueryTests.java +++ /dev/null @@ -1,341 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueryAnnotation; - -@SuppressWarnings("nls") -public class NamedNativeQueryTests extends JpaJavaResourceModelTestCase { - - private static final String QUERY_NAME = "myQuery"; - private static final String QUERY_QUERY = "SELECT name FROM Employee"; - private static final String QUERY_RESULT_CLASS = "Result"; - private static final String QUERY_RESULT_SET_MAPPING = "resultSetMapping"; - - public NamedNativeQueryTests(String name) { - super(name); - } - - private ICompilationUnit createTestNamedNativeQuery() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQuery"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithName() throws Exception { - return createTestNamedNativeQueryWithStringElement("name", QUERY_NAME); - } - - private ICompilationUnit createTestNamedNativeQueryWithQuery() throws Exception { - return createTestNamedNativeQueryWithStringElement("query", QUERY_QUERY); - } - - private ICompilationUnit createTestNamedNativeQueryWithResultSetMapping() throws Exception { - return createTestNamedNativeQueryWithStringElement("resultSetMapping", QUERY_RESULT_SET_MAPPING); - } - - - private ICompilationUnit createTestNamedNativeQueryWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQuery(" + elementName + " = \"" + value + "\")"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithResultClass() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQuery(resultClass = " + QUERY_RESULT_CLASS + ".class)"); - } - }); - } - - private ICompilationUnit createTestNamedNativeQueryWithQueryHints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_NATIVE_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint})"); - } - }); - } - - public void testNamedNativeQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertNotNull(namedQuery); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - - namedQuery.setName("foo"); - assertEquals("foo", namedQuery.getName()); - - assertSourceContains("@NamedNativeQuery(name = \"foo\")", cu); - - namedQuery.setName(null); - assertNull(namedQuery.getName()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - } - - public void testSetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - - namedQuery.setQuery("foo"); - assertEquals("foo", namedQuery.getQuery()); - - assertSourceContains("@NamedNativeQuery(query = \"foo\")", cu); - - namedQuery.setQuery(null); - assertNull(namedQuery.getQuery()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetResultClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_CLASS, namedQuery.getResultClass()); - } - - public void testSetResultClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_CLASS, namedQuery.getResultClass()); - - namedQuery.setResultClass("foo"); - assertEquals("foo", namedQuery.getResultClass()); - - assertSourceContains("@NamedNativeQuery(resultClass = foo.class)", cu); - - namedQuery.setResultClass(null); - assertNull(namedQuery.getResultClass()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testGetFullyQualifiedClass() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultClass(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertNotNull(namedQuery.getResultClass()); - assertEquals("Result", namedQuery.getFullyQualifiedResultClassName());//bug 196200 changed this - - namedQuery.setResultClass(TYPE_NAME); - - assertEquals(FULLY_QUALIFIED_TYPE_NAME, namedQuery.getFullyQualifiedResultClassName()); - assertSourceContains("@NamedNativeQuery(resultClass = " + TYPE_NAME + ".class)", cu); - } - - public void testGetResultSetMapping() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultSetMapping(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_SET_MAPPING, namedQuery.getResultSetMapping()); - } - - public void testSetResultSetMapping() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithResultSetMapping(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - assertEquals(QUERY_RESULT_SET_MAPPING, namedQuery.getResultSetMapping()); - - namedQuery.setResultSetMapping("foo"); - assertEquals("foo", namedQuery.getResultSetMapping()); - - assertSourceContains("@NamedNativeQuery(resultSetMapping = \"foo\")", cu); - - namedQuery.setResultSetMapping(null); - assertNull(namedQuery.getResultSetMapping()); - - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testHints() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - assertEquals(0, namedQuery.getHintsSize()); - } - - public void testHints2() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0); - namedQuery.addHint(1); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testHints3() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - assertEquals(2, namedQuery.getHintsSize()); - } - - - public void testAddHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0).setName("FOO"); - namedQuery.addHint(1); - namedQuery.addHint(0).setName("BAR"); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals("FOO", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertSourceContains("@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\"),@QueryHint(name = \"FOO\"), @QueryHint})", cu); - } - - public void testRemoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.removeHint(2); - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertEquals(2, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQuery(hints = {@QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")})", cu); - - namedQuery.removeHint(0); - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals(1, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQuery(hints = @QueryHint(name = \"BAR\", value = \"FOO\"))", cu); - - - namedQuery.removeHint(0); - assertEquals(0, namedQuery.getHintsSize()); - assertSourceDoesNotContain("@NamedNativeQuery(", cu); - } - - public void testMoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(2, 0); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertNull(namedQuery.hintAt(1).getName()); - assertEquals("BAZ", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint, @QueryHint(name = \"BAZ\")})", cu); - } - - public void testMoveHint2() throws Exception { - ICompilationUnit cu = this.createTestNamedNativeQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedNativeQueryAnnotation namedQuery = (NamedNativeQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_NATIVE_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(0, 2); - - assertNull(namedQuery.hintAt(0).getName()); - assertEquals("BAZ", namedQuery.hintAt(1).getName()); - assertEquals("BAR", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedNativeQuery(hints = {@QueryHint, @QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueriesTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueriesTests.java deleted file mode 100644 index 91a9a27ec1..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueriesTests.java +++ /dev/null @@ -1,339 +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.core.tests.internal.resource.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.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.NamedQueryAnnotation; - -@SuppressWarnings("nls") -public class NamedQueriesTests extends JpaJavaResourceModelTestCase { - - private static final String QUERY_NAME = "myQuery"; - private static final String QUERY_QUERY = "SELECT name FROM Employee"; - - public NamedQueriesTests(String name) { - super(name); - } - - private ICompilationUnit createTestNamedQueries() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERIES, JPA.NAMED_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQueries(@NamedQuery)"); - } - }); - } - - private ICompilationUnit createTestNamedQueryWithName() throws Exception { - return createTestNamedQueryWithStringElement("name", QUERY_NAME); - } - - private ICompilationUnit createTestNamedQueryWithQuery() throws Exception { - return createTestNamedQueryWithStringElement("query", QUERY_QUERY); - } - - private ICompilationUnit createTestNamedQueryWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERIES, JPA.NAMED_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQueries(@NamedQuery(" + elementName + " = \"" + value + "\"))"); - } - }); - } - - private ICompilationUnit createTestNamedQueryWithQueryHints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERIES, JPA.NAMED_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQueries(@NamedQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint}))"); - } - }); - } - - - private ICompilationUnit createTestNamedQuery() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"))"); - } - }); - } - - public void testNamedQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertNotNull(namedQuery); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - - namedQuery.setName("foo"); - assertEquals("foo", namedQuery.getName()); - - assertSourceContains("@NamedQuery(name = \"foo\")", cu); - - namedQuery.setName(null); - assertNull(namedQuery.getName()); - - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testGetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - } - - public void testSetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - - namedQuery.setQuery("foo"); - assertEquals("foo", namedQuery.getQuery()); - - assertSourceContains("@NamedQuery(query = \"foo\")", cu); - - namedQuery.setQuery(null); - assertNull(namedQuery.getQuery()); - - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testHints() throws Exception { - ICompilationUnit cu = this.createTestNamedQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - assertEquals(0, namedQuery.getHintsSize()); - } - - public void testHints2() throws Exception { - ICompilationUnit cu = this.createTestNamedQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - namedQuery.addHint(0); - namedQuery.addHint(1); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testHints3() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testAddHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQueries(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - namedQuery.addHint(0).setName("FOO"); - namedQuery.addHint(1); - namedQuery.addHint(0).setName("BAR"); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals("FOO", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - - assertSourceContains("@NamedQuery(hints = {@QueryHint(name = \"BAR\"),@QueryHint(name = \"FOO\"), @QueryHint})", cu); - } - - public void testRemoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.removeHint(2); - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertEquals(2, namedQuery.getHintsSize()); - assertSourceContains("@NamedQueries(@NamedQuery(hints = {@QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")}))", cu); - - namedQuery.removeHint(0); - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals(1, namedQuery.getHintsSize()); - assertSourceContains("@NamedQueries(@NamedQuery(hints = @QueryHint(name = \"BAR\", value = \"FOO\")))", cu); - - namedQuery.removeHint(0); - assertEquals(0, namedQuery.getHintsSize()); - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testMoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(2, 0); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertNull(namedQuery.hintAt(1).getName()); - assertEquals("BAZ", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedQueries(@NamedQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint, @QueryHint(name = \"BAZ\")}))", cu); - } - - public void testMoveHint2() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(0, 2); - - assertNull(namedQuery.hintAt(0).getName()); - assertEquals("BAZ", namedQuery.hintAt(1).getName()); - assertEquals("BAR", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedQueries(@NamedQuery(hints = {@QueryHint, @QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")}))", cu); - } - - public void testAddNamedQueryCopyExisting() throws Exception { - ICompilationUnit cu = createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedQueries({"; - String expected2 = "@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\")),"; - String expected3 = "@NamedQuery(name = \"BAR\") })"; - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNull(resourceType.getAnnotation(JPA.NAMED_QUERY)); - assertNotNull(resourceType.getAnnotation(JPA.NAMED_QUERIES)); - assertNotNull(resourceType.getAnnotation(0, JPA.NAMED_QUERY)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.NAMED_QUERY)); - } - - public void testAddNamedQueryToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedQueries({"; - String expected2 = "@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\")),"; - String expected3 = "@NamedQuery(name = \"BAR\") })"; - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - - expected2 = "@NamedQuery(name = \"BAZ\"),"; - expected3 = "@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\")), @NamedQuery(name = \"BAR\") })"; - namedQuery = (NamedQueryAnnotation) resourceType.addAnnotation(0, JPA.NAMED_QUERY); - namedQuery.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> namedQueries = resourceType.getAnnotations(JPA.NAMED_QUERY).iterator(); - assertEquals("BAZ", ((NamedQueryAnnotation) namedQueries.next()).getName()); - assertEquals("foo", ((NamedQueryAnnotation) namedQueries.next()).getName()); - assertEquals("BAR", ((NamedQueryAnnotation) namedQueries.next()).getName()); - - assertNull(resourceType.getAnnotation(JPA.NAMED_QUERY)); - assertNotNull(resourceType.getAnnotation(JPA.NAMED_QUERIES)); - assertNotNull(resourceType.getAnnotation(0, JPA.NAMED_QUERY)); - assertEquals(3, resourceType.getAnnotationsSize(JPA.NAMED_QUERY)); - } - - public void testRemoveNamedQueryCopyExisting() throws Exception { - ICompilationUnit cu = createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@NamedQueries({"; - String expected2 = "@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\")),"; - String expected3 = "@NamedQuery(name = \"BAR\") })"; - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.addAnnotation(1, JPA.NAMED_QUERY); - namedQuery.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@NamedQuery(name = \"foo\", query = \"bar\", hints = @QueryHint(name = \"BAR\", value = \"FOO\"))"; - resourceType.removeAnnotation(1, JPA.NAMED_QUERY); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@NamedNativeQueries", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueryTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueryTests.java deleted file mode 100644 index 6a1491711c..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/NamedQueryTests.java +++ /dev/null @@ -1,259 +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.core.tests.internal.resource.java; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -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.core.resource.java.NamedQueryAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.QueryHintAnnotation; - -@SuppressWarnings("nls") -public class NamedQueryTests extends JpaJavaResourceModelTestCase { - - private static final String QUERY_NAME = "myQuery"; - private static final String QUERY_QUERY = "SELECT name FROM Employee"; - - public NamedQueryTests(String name) { - super(name); - } - - private ICompilationUnit createTestNamedQuery() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQuery"); - } - }); - } - - private ICompilationUnit createTestNamedQueryWithName() throws Exception { - return createTestNamedQueryWithStringElement("name", QUERY_NAME); - } - - private ICompilationUnit createTestNamedQueryWithQuery() throws Exception { - return createTestNamedQueryWithStringElement("query", QUERY_QUERY); - } - - private ICompilationUnit createTestNamedQueryWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERY); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQuery(" + elementName + " = \"" + value + "\")"); - } - }); - } - - private ICompilationUnit createTestNamedQueryWithQueryHints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint})"); - } - }); - } - - public void testNamedQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertNotNull(namedQuery); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_NAME, namedQuery.getName()); - - namedQuery.setName("foo"); - assertEquals("foo", namedQuery.getName()); - - assertSourceContains("@NamedQuery(name = \"foo\")", cu); - - namedQuery.setName(null); - assertNull(namedQuery.getName()); - - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testGetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - } - - public void testSetQuery() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - assertEquals(QUERY_QUERY, namedQuery.getQuery()); - - namedQuery.setQuery("foo"); - assertEquals("foo", namedQuery.getQuery()); - - assertSourceContains("@NamedQuery(query = \"foo\")", cu); - - namedQuery.setQuery(null); - assertNull(namedQuery.getQuery()); - - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testHints() throws Exception { - ICompilationUnit cu = this.createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - assertEquals(0, namedQuery.getHintsSize()); - } - - public void testHints2() throws Exception { - ICompilationUnit cu = this.createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - namedQuery.addHint(0); - namedQuery.addHint(1); - - assertEquals(2, namedQuery.getHintsSize()); - } - - public void testHints3() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - assertEquals(2, namedQuery.getHintsSize()); - - ListIterator<QueryHintAnnotation> iterator = namedQuery.getHints().iterator(); - assertEquals("BAR", iterator.next().getName()); - assertNull(iterator.next().getName()); - } - - public void testAddHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQuery(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - - namedQuery.addHint(0).setName("FOO"); - namedQuery.addHint(1); - QueryHintAnnotation queryHint = namedQuery.addHint(0); - queryHint.setName("BAR"); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals("FOO", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertSourceContains("@NamedQuery(hints = {@QueryHint(name = \"BAR\"),@QueryHint(name = \"FOO\"), @QueryHint})", cu); - } - - public void testRemoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.removeHint(2); - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertEquals(2, namedQuery.getHintsSize()); - assertSourceContains("@NamedQuery(hints = {@QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")})", cu); - - namedQuery.removeHint(0); - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertEquals(1, namedQuery.getHintsSize()); - assertSourceContains("@NamedQuery(hints = @QueryHint(name = \"BAR\", value = \"FOO\"))", cu); - - namedQuery.removeHint(0); - assertEquals(0, namedQuery.getHintsSize()); - assertSourceDoesNotContain("@NamedQuery(", cu); - } - - public void testMoveHint() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(2, 0); - - assertEquals("BAR", namedQuery.hintAt(0).getName()); - assertNull(namedQuery.hintAt(1).getName()); - assertEquals("BAZ", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedQuery(hints = {@QueryHint(name = \"BAR\", value = \"FOO\"), @QueryHint, @QueryHint(name = \"BAZ\")})", cu); - } - - public void testMoveHint2() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - namedQuery.addHint(0).setName("BAZ"); - - assertEquals("BAZ", namedQuery.hintAt(0).getName()); - assertEquals("BAR", namedQuery.hintAt(1).getName()); - assertNull(namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - - namedQuery.moveHint(0, 2); - - assertNull(namedQuery.hintAt(0).getName()); - assertEquals("BAZ", namedQuery.hintAt(1).getName()); - assertEquals("BAR", namedQuery.hintAt(2).getName()); - assertEquals(3, namedQuery.getHintsSize()); - assertSourceContains("@NamedQuery(hints = {@QueryHint, @QueryHint(name = \"BAZ\"), @QueryHint(name = \"BAR\", value = \"FOO\")})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToManyTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToManyTests.java deleted file mode 100644 index 88e6f08235..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToManyTests.java +++ /dev/null @@ -1,398 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.FetchType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation; - -@SuppressWarnings("nls") -public class OneToManyTests extends JpaJavaResourceModelTestCase { - - public OneToManyTests(String name) { - super(name); - } - - private ICompilationUnit createTestOneToMany() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithFetch() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY, JPA.FETCH_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(fetch = FetchType.EAGER)"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithTargetEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(targetEntity = AnnotationTestType.class)"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithMappedBy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(mappedBy = \"foo\")"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(cascade = CascadeType.ALL)"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithMultipleCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(cascade = {CascadeType.MERGE, CascadeType.REMOVE})"); - } - }); - } - - private ICompilationUnit createTestOneToManyWithDuplicateCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_MANY, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToMany(cascade = {CascadeType.MERGE, CascadeType.MERGE})"); - } - }); - } - - public void testOneToMany() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertNotNull(oneToMany); - } - - public void testGetFetch() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(FetchType.EAGER, oneToMany.getFetch()); - } - - public void testSetFetch() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(FetchType.EAGER, oneToMany.getFetch()); - - oneToMany.setFetch(FetchType.LAZY); - assertEquals(FetchType.LAZY, oneToMany.getFetch()); - - assertSourceContains("@OneToMany(fetch = LAZY)", cu); - } - - public void testSetFetchNull() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(FetchType.EAGER, oneToMany.getFetch()); - - oneToMany.setFetch(null); - assertNull(oneToMany.getFetch()); - - assertSourceContains("@OneToMany", cu); - assertSourceDoesNotContain("fetch", cu); - } - - - public void testGetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(TYPE_NAME, oneToMany.getTargetEntity()); - } - - public void testSetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(TYPE_NAME, oneToMany.getTargetEntity()); - - oneToMany.setTargetEntity("Foo"); - - assertSourceContains("@OneToMany(targetEntity = Foo.class)", cu); - } - - public void testSetTargetEntityNull() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(TYPE_NAME, oneToMany.getTargetEntity()); - - oneToMany.setTargetEntity(null); - - assertSourceContains("@OneToMany", cu); - assertSourceDoesNotContain("targetEntity", cu); - } - - - public void testGetFullyQualifiedTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(FULLY_QUALIFIED_TYPE_NAME, oneToMany.getFullyQualifiedTargetEntityClassName()); - - oneToMany.setTargetEntity("Foo"); - - assertSourceContains("@OneToMany(targetEntity = Foo.class)", cu); - - assertEquals("Foo", oneToMany.getTargetEntity()); - - assertEquals("Foo", oneToMany.getFullyQualifiedTargetEntityClassName()); //bug 196200 changed this - } - - public void testGetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals("foo", oneToMany.getMappedBy()); - } - - - public void testGetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals(null, oneToMany.getMappedBy()); - } - - public void testSetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertNull(oneToMany.getMappedBy()); - oneToMany.setMappedBy("bar"); - assertEquals("bar", oneToMany.getMappedBy()); - - assertSourceContains("@OneToMany(mappedBy = \"bar\")", cu); - } - - public void testSetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertEquals("foo", oneToMany.getMappedBy()); - - oneToMany.setMappedBy(null); - assertNull(oneToMany.getMappedBy()); - - assertSourceContains("@OneToMany", cu); - assertSourceDoesNotContain("mappedBy", cu); - } - - public void testSetCascadeAll() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertFalse(oneToMany.isCascadeAll()); - - oneToMany.setCascadeAll(true); - assertSourceContains("@OneToMany(cascade = ALL)", cu); - - assertTrue(oneToMany.isCascadeAll()); - } - - public void testSetCascadeMerge() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertFalse(oneToMany.isCascadeMerge()); - - oneToMany.setCascadeMerge(true); - assertSourceContains("@OneToMany(cascade = MERGE)", cu); - - assertTrue(oneToMany.isCascadeMerge()); - } - - public void testSetCascadePersist() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertFalse(oneToMany.isCascadePersist()); - - oneToMany.setCascadePersist(true); - assertSourceContains("@OneToMany(cascade = PERSIST)", cu); - - assertTrue(oneToMany.isCascadePersist()); - } - - public void testSetCascadeRemove() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertFalse(oneToMany.isCascadeRemove()); - - oneToMany.setCascadeRemove(true); - assertSourceContains("@OneToMany(cascade = REMOVE)", cu); - - assertTrue(oneToMany.isCascadeRemove()); - } - - public void testSetCascadeRefresh() throws Exception { - ICompilationUnit cu = this.createTestOneToMany(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertFalse(oneToMany.isCascadeRefresh()); - - oneToMany.setCascadeRefresh(true); - assertSourceContains("@OneToMany(cascade = REFRESH)", cu); - - assertTrue(oneToMany.isCascadeRefresh()); - } - - public void testCascadeMoreThanOnce() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertTrue(oneToMany.isCascadeAll()); - - oneToMany.setCascadeAll(true); - assertTrue(oneToMany.isCascadeAll()); - //a second CascadeType.All should not have been added - assertSourceContains("@OneToMany(cascade = CascadeType.ALL)", cu); - - oneToMany.setCascadeAll(false); - assertFalse(oneToMany.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - - //test setting cascadeAll to false again, should just do nothing - oneToMany.setCascadeAll(false); - assertFalse(oneToMany.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testDuplicateCascade() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithDuplicateCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertTrue(oneToMany.isCascadeMerge()); - - oneToMany.setCascadeMerge(false);//TODO should the resource model handle this and remove both MERGE - //settings instead of having to set it false twice? - assertTrue(oneToMany.isCascadeMerge()); - - oneToMany.setCascadeMerge(false); - assertFalse(oneToMany.isCascadeMerge()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testMultipleCascade() throws Exception { - ICompilationUnit cu = this.createTestOneToManyWithMultipleCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToManyAnnotation oneToMany = (OneToManyAnnotation) resourceField.getAnnotation(JPA.ONE_TO_MANY); - assertTrue(oneToMany.isCascadeMerge()); - assertTrue(oneToMany.isCascadeRemove()); - - oneToMany.setCascadeMerge(false); - assertSourceContains("@OneToMany(cascade = REMOVE)", cu); - - oneToMany.setCascadeRemove(false); - assertSourceDoesNotContain("cascade", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToOneTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToOneTests.java deleted file mode 100644 index fe0f567469..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OneToOneTests.java +++ /dev/null @@ -1,448 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.FetchType; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation; - -@SuppressWarnings("nls") -public class OneToOneTests extends JpaJavaResourceModelTestCase { - - public OneToOneTests(String name) { - super(name); - } - - private ICompilationUnit createTestOneToOne() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithFetch() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE, JPA.FETCH_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(fetch = FetchType.EAGER)"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithTargetEntity() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(targetEntity = AnnotationTestType.class)"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithOptional() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(optional = true)"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithMappedBy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(mappedBy = \"foo\")"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(cascade = CascadeType.ALL)"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithMultipleCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(cascade = {CascadeType.MERGE, CascadeType.REMOVE})"); - } - }); - } - - private ICompilationUnit createTestOneToOneWithDuplicateCascade() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ONE_TO_ONE, JPA.CASCADE_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OneToOne(cascade = {CascadeType.MERGE, CascadeType.MERGE})"); - } - }); - } - - public void testOneToOne() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertNotNull(oneToOne); - } - - public void testGetFetch() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(FetchType.EAGER, oneToOne.getFetch()); - } - - public void testSetFetch() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(FetchType.EAGER, oneToOne.getFetch()); - - oneToOne.setFetch(FetchType.LAZY); - assertEquals(FetchType.LAZY, oneToOne.getFetch()); - - assertSourceContains("@OneToOne(fetch = LAZY)", cu); - } - - public void testSetFetchNull() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithFetch(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(FetchType.EAGER, oneToOne.getFetch()); - - oneToOne.setFetch(null); - assertNull(oneToOne.getFetch()); - - assertSourceContains("@OneToOne", cu); - assertSourceDoesNotContain("fetch", cu); - } - - - public void testGetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(TYPE_NAME, oneToOne.getTargetEntity()); - } - - public void testSetTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(TYPE_NAME, oneToOne.getTargetEntity()); - - oneToOne.setTargetEntity("Foo"); - - assertSourceContains("@OneToOne(targetEntity = Foo.class)", cu); - } - - public void testSetTargetEntityNull() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(TYPE_NAME, oneToOne.getTargetEntity()); - - oneToOne.setTargetEntity(null); - - assertSourceContains("@OneToOne", cu); - assertSourceDoesNotContain("targetEntity", cu); - } - - - public void testGetFullyQualifiedTargetEntity() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithTargetEntity(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(FULLY_QUALIFIED_TYPE_NAME, oneToOne.getFullyQualifiedTargetEntityClassName()); - - oneToOne.setTargetEntity("Foo"); - - assertSourceContains("@OneToOne(targetEntity = Foo.class)", cu); - - assertEquals("Foo", oneToOne.getTargetEntity()); - - assertEquals("Foo", oneToOne.getFullyQualifiedTargetEntityClassName()); //bug 196200 changed this - } - - public void testGetOptional() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(Boolean.TRUE, oneToOne.getOptional()); - } - - public void testSetOptional() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(Boolean.TRUE, oneToOne.getOptional()); - - oneToOne.setOptional(Boolean.FALSE); - assertEquals(Boolean.FALSE, oneToOne.getOptional()); - - assertSourceContains("@OneToOne(optional = false)", cu); - } - - public void testSetOptionalNull() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithOptional(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(Boolean.TRUE, oneToOne.getOptional()); - - oneToOne.setOptional(null); - assertNull(oneToOne.getOptional()); - - assertSourceContains("@OneToOne", cu); - assertSourceDoesNotContain("optional", cu); - } - - public void testGetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals("foo", oneToOne.getMappedBy()); - } - - public void testGetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals(null, oneToOne.getMappedBy()); - } - - public void testSetMappedBy() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertNull(oneToOne.getMappedBy()); - oneToOne.setMappedBy("bar"); - assertEquals("bar", oneToOne.getMappedBy()); - - assertSourceContains("@OneToOne(mappedBy = \"bar\")", cu); - } - - public void testSetMappedByNull() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithMappedBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertEquals("foo", oneToOne.getMappedBy()); - - oneToOne.setMappedBy(null); - assertNull(oneToOne.getMappedBy()); - - assertSourceContains("@OneToOne", cu); - assertSourceDoesNotContain("mappedBy", cu); - } - - public void testSetCascadeAll() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertFalse(oneToOne.isCascadeAll()); - - oneToOne.setCascadeAll(true); - assertSourceContains("@OneToOne(cascade = ALL)", cu); - - assertTrue(oneToOne.isCascadeAll()); - } - - public void testSetCascadeMerge() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertFalse(oneToOne.isCascadeMerge()); - - oneToOne.setCascadeMerge(true); - assertSourceContains("@OneToOne(cascade = MERGE)", cu); - - assertTrue(oneToOne.isCascadeMerge()); - } - - public void testSetCascadePersist() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertFalse(oneToOne.isCascadePersist()); - - oneToOne.setCascadePersist(true); - assertSourceContains("@OneToOne(cascade = PERSIST)", cu); - - assertTrue(oneToOne.isCascadePersist()); - } - - public void testSetCascadeRemove() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertFalse(oneToOne.isCascadeRemove()); - - oneToOne.setCascadeRemove(true); - assertSourceContains("@OneToOne(cascade = REMOVE)", cu); - - assertTrue(oneToOne.isCascadeRemove()); - } - - public void testSetCascadeRefresh() throws Exception { - ICompilationUnit cu = this.createTestOneToOne(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertFalse(oneToOne.isCascadeRefresh()); - - oneToOne.setCascadeRefresh(true); - assertSourceContains("@OneToOne(cascade = REFRESH)", cu); - - assertTrue(oneToOne.isCascadeRefresh()); - } - - public void testCascadeMoreThanOnce() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertTrue(oneToOne.isCascadeAll()); - - oneToOne.setCascadeAll(true); - assertTrue(oneToOne.isCascadeAll()); - //a second CascadeType.All should not have been added - assertSourceContains("@OneToOne(cascade = CascadeType.ALL)", cu); - - oneToOne.setCascadeAll(false); - assertFalse(oneToOne.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - - //test setting cascadeAll to false again, should just do nothing - oneToOne.setCascadeAll(false); - assertFalse(oneToOne.isCascadeAll()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testDuplicateCascade() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithDuplicateCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertTrue(oneToOne.isCascadeMerge()); - - oneToOne.setCascadeMerge(false);//TODO should the resource model handle this and remove both MERGE - //settings instead of having to set it false twice? - assertTrue(oneToOne.isCascadeMerge()); - - oneToOne.setCascadeMerge(false); - assertFalse(oneToOne.isCascadeMerge()); - - assertSourceDoesNotContain("cascade", cu); - } - - public void testMultipleCascade() throws Exception { - ICompilationUnit cu = this.createTestOneToOneWithMultipleCascade(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OneToOneAnnotation oneToOne = (OneToOneAnnotation) resourceField.getAnnotation(JPA.ONE_TO_ONE); - assertTrue(oneToOne.isCascadeMerge()); - assertTrue(oneToOne.isCascadeRemove()); - - oneToOne.setCascadeMerge(false); - assertSourceContains("@OneToOne(cascade = REMOVE)", cu); - - oneToOne.setCascadeRemove(false); - assertSourceDoesNotContain("cascade", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OrderByTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OrderByTests.java deleted file mode 100644 index 45af210208..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/OrderByTests.java +++ /dev/null @@ -1,88 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.OrderByAnnotation; - -@SuppressWarnings("nls") -public class OrderByTests extends JpaJavaResourceModelTestCase { - - public OrderByTests(String name) { - super(name); - } - - private ICompilationUnit createTestOrderBy() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ORDER_BY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OrderBy"); - } - }); - } - - private ICompilationUnit createTestOrderByWithValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ORDER_BY); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@OrderBy(value = \"key\")"); - } - }); - } - - public void testOrderBy() throws Exception { - ICompilationUnit cu = this.createTestOrderBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY); - assertNotNull(orderBy); - } - - public void testGetValue() throws Exception { - ICompilationUnit cu = this.createTestOrderByWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY); - assertEquals("key", orderBy.getValue()); - } - - public void testSetValue() throws Exception { - ICompilationUnit cu = this.createTestOrderBy(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY); - - orderBy.setValue("foo"); - - assertSourceContains("@OrderBy(\"foo\")", cu); - - orderBy.setValue(null); - - assertSourceContains("@OrderBy", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnTests.java deleted file mode 100644 index ac65d38137..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnTests.java +++ /dev/null @@ -1,188 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.PrimaryKeyJoinColumnAnnotation; - -@SuppressWarnings("nls") -public class PrimaryKeyJoinColumnTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - private static final String COLUMN_REFERENCED_COLUMN_NAME = "MY_REF_COLUMN_NAME"; - - public PrimaryKeyJoinColumnTests(String name) { - super(name); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumn"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumn(name = \"" + COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithReferencedColumnName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumn(referencedColumnName = \"" + COLUMN_REFERENCED_COLUMN_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumn(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\")"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertNotNull(column); - assertNull(column.getReferencedColumnName()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@PrimaryKeyJoinColumn(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - - - - public void testGetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithReferencedColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertEquals(COLUMN_REFERENCED_COLUMN_NAME, column.getReferencedColumnName()); - } - - public void testSetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getReferencedColumnName()); - - column.setReferencedColumnName("Foo"); - assertEquals("Foo", column.getReferencedColumnName()); - - assertSourceContains("@PrimaryKeyJoinColumn(referencedColumnName = \"Foo\")", cu); - - - column.setReferencedColumnName(null); - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@PrimaryKeyJoinColumn(columnDefinition = \"Foo\")", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnsTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnsTests.java deleted file mode 100644 index cfa0bb6714..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/PrimaryKeyJoinColumnsTests.java +++ /dev/null @@ -1,273 +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.core.tests.internal.resource.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.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.PrimaryKeyJoinColumnAnnotation; - -@SuppressWarnings("nls") -public class PrimaryKeyJoinColumnsTests extends JpaJavaResourceModelTestCase { - - private static final String COLUMN_NAME = "MY_COLUMN"; - private static final String COLUMN_COLUMN_DEFINITION = "COLUMN_DEFINITION"; - private static final String COLUMN_REFERENCED_COLUMN_NAME = "MY_REF_COLUMN_NAME"; - - public PrimaryKeyJoinColumnsTests(String name) { - super(name); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN, JPA.PRIMARY_KEY_JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn)"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN, JPA.PRIMARY_KEY_JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(name = \"" + COLUMN_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithReferencedColumnName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN, JPA.PRIMARY_KEY_JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(referencedColumnName = \"" + COLUMN_REFERENCED_COLUMN_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumnWithColumnDefinition() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN, JPA.PRIMARY_KEY_JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(columnDefinition = \"" + COLUMN_COLUMN_DEFINITION + "\"))"); - } - }); - } - - private ICompilationUnit createTestPrimaryKeyJoinColumn() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.PRIMARY_KEY_JOIN_COLUMN, JPA.PRIMARY_KEY_JOIN_COLUMNS); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\")"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertNotNull(column); - assertEquals(COLUMN_NAME, column.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertNotNull(column); - assertNull(column.getName()); - assertNull(column.getReferencedColumnName()); - assertNull(column.getColumnDefinition()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getName()); - - column.setName("Foo"); - assertEquals("Foo", column.getName()); - - assertSourceContains("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(name = \"Foo\"))", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertEquals(COLUMN_NAME, column.getName()); - - column.setName(null); - assertNull(column.getName()); - - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - - public void testGetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithReferencedColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertEquals(COLUMN_REFERENCED_COLUMN_NAME, column.getReferencedColumnName()); - } - - public void testSetReferencedColumnName() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getReferencedColumnName()); - - column.setReferencedColumnName("Foo"); - assertEquals("Foo", column.getReferencedColumnName()); - - assertSourceContains("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(referencedColumnName = \"Foo\"))", cu); - - - column.setReferencedColumnName(null); - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - - public void testGetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumnWithColumnDefinition(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertEquals(COLUMN_COLUMN_DEFINITION, column.getColumnDefinition()); - } - - public void testSetColumnDefinition() throws Exception { - ICompilationUnit cu = this.createTestPrimaryKeyJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - PrimaryKeyJoinColumnAnnotation column = (PrimaryKeyJoinColumnAnnotation) resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - - assertNotNull(column); - assertNull(column.getColumnDefinition()); - - column.setColumnDefinition("Foo"); - assertEquals("Foo", column.getColumnDefinition()); - - assertSourceContains("@PrimaryKeyJoinColumns(@PrimaryKeyJoinColumn(columnDefinition = \"Foo\"))", cu); - - - column.setColumnDefinition(null); - assertSourceDoesNotContain("@PrimaryKeyJoinColumn(", cu); - } - - - public void testAddPrimaryKeyJoinColumnCopyExisting() throws Exception { - ICompilationUnit cu = createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@PrimaryKeyJoinColumns({"; - String expected2 = "@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\"),"; - String expected3 = "@PrimaryKeyJoinColumn(name = \"FOO\") })"; - PrimaryKeyJoinColumnAnnotation joinColumn = (PrimaryKeyJoinColumnAnnotation) resourceField.addAnnotation(1, JPA.PRIMARY_KEY_JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNotNull(resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN)); - assertEquals(2, resourceField.getAnnotationsSize(JPA.PRIMARY_KEY_JOIN_COLUMN)); - } - public void testAddPrimaryKeyJoinColumnToBeginningOfList() throws Exception { - ICompilationUnit cu = createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@PrimaryKeyJoinColumns({"; - String expected2 = "@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\"),"; - String expected3 = "@PrimaryKeyJoinColumn(name = \"FOO\") })"; - PrimaryKeyJoinColumnAnnotation joinColumn = (PrimaryKeyJoinColumnAnnotation) resourceField.addAnnotation(1, JPA.PRIMARY_KEY_JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@PrimaryKeyJoinColumn(name = \"BAZ\"),"; - expected3 = "@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\"), @PrimaryKeyJoinColumn(name = \"FOO\") })"; - joinColumn = (PrimaryKeyJoinColumnAnnotation) resourceField.addAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN); - joinColumn.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> pkJoinColumns = resourceField.getAnnotations(JPA.PRIMARY_KEY_JOIN_COLUMN).iterator(); - assertEquals("BAZ", ((PrimaryKeyJoinColumnAnnotation) pkJoinColumns.next()).getName()); - assertEquals("BAR", ((PrimaryKeyJoinColumnAnnotation) pkJoinColumns.next()).getName()); - assertEquals("FOO", ((PrimaryKeyJoinColumnAnnotation) pkJoinColumns.next()).getName()); - - assertNotNull(resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN)); - assertNotNull(resourceField.getAnnotation(0, JPA.PRIMARY_KEY_JOIN_COLUMN)); - assertEquals(3, resourceField.getAnnotationsSize(JPA.PRIMARY_KEY_JOIN_COLUMN)); - } - - public void testRemovePrimaryKeyJoinColumnCopyExisting() throws Exception { - ICompilationUnit cu = createTestPrimaryKeyJoinColumn(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - String expected1 = "@PrimaryKeyJoinColumns({"; - String expected2 = "@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\"),"; - String expected3 = "@PrimaryKeyJoinColumn(name = \"FOO\") })"; - PrimaryKeyJoinColumnAnnotation joinColumn = (PrimaryKeyJoinColumnAnnotation) resourceField.addAnnotation(1, JPA.PRIMARY_KEY_JOIN_COLUMN); - joinColumn.setName("FOO"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@PrimaryKeyJoinColumn(name = \"BAR\", columnDefinition = \"COLUMN_DEF\", referencedColumnName = \"REF_NAME\")"; - resourceField.removeAnnotation(1, JPA.PRIMARY_KEY_JOIN_COLUMN); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@PrimaryKeyJoinColumns", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/QueryHintTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/QueryHintTests.java deleted file mode 100644 index 8a07427449..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/QueryHintTests.java +++ /dev/null @@ -1,65 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.NamedQueryAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.QueryHintAnnotation; - -@SuppressWarnings("nls") -public class QueryHintTests extends JpaJavaResourceModelTestCase { - - private static final String QUERY_HINT_NAME = "myHint"; - private static final String QUERY_HINT_VALUE = "myValue"; - - public QueryHintTests(String name) { - super(name); - } - - private ICompilationUnit createTestNamedQueryWithQueryHints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.NAMED_QUERY, JPA.QUERY_HINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@NamedQuery(hints = {@QueryHint(name = \"" + QUERY_HINT_NAME + "\", value = \"" + QUERY_HINT_VALUE + "\"), @QueryHint})"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - QueryHintAnnotation queryHint = namedQuery.hintAt(0); - assertEquals(QUERY_HINT_NAME, queryHint.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestNamedQueryWithQueryHints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - NamedQueryAnnotation namedQuery = (NamedQueryAnnotation) resourceType.getAnnotation(0, JPA.NAMED_QUERY); - QueryHintAnnotation queryHint = namedQuery.hintAt(0); - assertEquals(QUERY_HINT_NAME, queryHint.getName()); - - queryHint.setName("foo"); - assertEquals("foo", queryHint.getName()); - - assertSourceContains("@QueryHint(name = \"foo\", value = \"" + QUERY_HINT_VALUE + "\")", cu); - } -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTableTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTableTests.java deleted file mode 100644 index d8d4ed5122..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTableTests.java +++ /dev/null @@ -1,436 +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.core.tests.internal.resource.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.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.PrimaryKeyJoinColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.UniqueConstraintAnnotation; - -@SuppressWarnings("nls") -public class SecondaryTableTests extends JpaJavaResourceModelTestCase { - - private static final String TABLE_NAME = "MY_TABLE"; - private static final String SCHEMA_NAME = "MY_SCHEMA"; - private static final String CATALOG_NAME = "MY_CATALOG"; - - public SecondaryTableTests(String name) { - super(name); - } - - private ICompilationUnit createTestSecondaryTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable(name = \"" + TABLE_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithSchema() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable(schema = \"" + SCHEMA_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithCatalog() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable(catalog = \"" + CATALOG_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithUniqueConstraints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithPkJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"), @PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\")})"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertEquals(TABLE_NAME, table.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertNull(table.getName()); - assertNull(table.getCatalog()); - assertNull(table.getSchema()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertNull(table.getName()); - - table.setName("Foo"); - assertEquals("Foo", table.getName()); - - assertSourceContains("@SecondaryTable(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(TABLE_NAME, table.getName()); - - table.setName(null); - assertNull(table.getName()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testGetCatalog() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertEquals(CATALOG_NAME, table.getCatalog()); - } - - public void testSetCatalog() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertNull(table.getCatalog()); - - table.setCatalog("Foo"); - assertEquals("Foo", table.getCatalog()); - - assertSourceContains("@SecondaryTable(catalog = \"Foo\")", cu); - } - - public void testSetCatalogNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(CATALOG_NAME, table.getCatalog()); - - table.setCatalog(null); - assertNull(table.getCatalog()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testGetSchema() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertEquals(SCHEMA_NAME, table.getSchema()); - } - - public void testSetSchema() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(table); - assertNull(table.getSchema()); - - table.setSchema("Foo"); - assertEquals("Foo", table.getSchema()); - - assertSourceContains("@SecondaryTable(schema = \"Foo\")", cu); - } - - public void testSetSchemaNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(SCHEMA_NAME, table.getSchema()); - - table.setSchema(null); - assertNull(table.getSchema()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - - public void testUniqueConstraints() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(0, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.addUniqueConstraint(0); - table.addUniqueConstraint(1); - - assertEquals(2, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints3() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(3, table.getUniqueConstraintsSize()); - } - - public void testAddUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(1); - table.addUniqueConstraint(0).addColumnName("BAR"); - - assertEquals("BAR", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", table.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, table.uniqueConstraintAt(2).getColumnNamesSize()); - - assertSourceContains("@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint})", cu); - } - - public void testRemoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.removeUniqueConstraint(1); - Iterator<UniqueConstraintAnnotation> uniqueConstraints = table.getUniqueConstraints().iterator(); - assertEquals("BAR", uniqueConstraints.next().columnNameAt(0)); - assertEquals("BAZ", uniqueConstraints.next().columnNameAt(0)); - assertFalse(uniqueConstraints.hasNext()); - assertSourceContains("@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - table.removeUniqueConstraint(0); - uniqueConstraints = table.getUniqueConstraints().iterator(); - assertEquals("BAZ", uniqueConstraints.next().columnNameAt(0)); - assertFalse(uniqueConstraints.hasNext()); - assertSourceContains("@SecondaryTable(uniqueConstraints = @UniqueConstraint(columnNames = {\"BAZ\"}))", cu); - - table.removeUniqueConstraint(0); - uniqueConstraints = table.getUniqueConstraints().iterator(); - assertFalse(uniqueConstraints.hasNext()); - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testMoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals("BAR", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("BAZ", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertEquals(3, secondaryTable.getUniqueConstraintsSize()); - - secondaryTable.moveUniqueConstraint(2, 0); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("BAZ", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertEquals(3, secondaryTable.getUniqueConstraintsSize()); - assertSourceContains("@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"})})", cu); - } - - public void testMoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals("BAR", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("BAZ", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertEquals(3, secondaryTable.getUniqueConstraintsSize()); - - secondaryTable.moveUniqueConstraint(0, 2); - assertEquals("BAZ", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertEquals(3, secondaryTable.getUniqueConstraintsSize()); - assertSourceContains("@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"})})", cu); - } - - - public void testPkJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(0, table.getPkJoinColumnsSize()); - } - - public void testPkJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.addPkJoinColumn(0); - table.addPkJoinColumn(1); - - assertEquals(2, table.getPkJoinColumnsSize()); - } - - public void testPkJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(3, table.getPkJoinColumnsSize()); - } - - public void testAddPkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - - table.addPkJoinColumn(0).setName("FOO"); - table.addPkJoinColumn(0); - table.addPkJoinColumn(0).setName("BAR");//test adding a pkJoinColumn in front of 2 other joinColumns - - assertEquals("BAR", table.pkJoinColumnAt(0).getName()); - assertNull(table.pkJoinColumnAt(1).getName()); - assertEquals("FOO", table.pkJoinColumnAt(2).getName()); - - assertEquals(3, table.getPkJoinColumnsSize()); - assertSourceContains("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"),@PrimaryKeyJoinColumn, @PrimaryKeyJoinColumn(name = \"FOO\")})", cu); - } - - public void testRemovePkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.removePkJoinColumn(1); - assertSourceContains("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"), @PrimaryKeyJoinColumn(name = \"BAZ\")})", cu); - - table.removePkJoinColumn(0); - assertSourceContains("@SecondaryTable(pkJoinColumns = @PrimaryKeyJoinColumn(name = \"BAZ\"))", cu); - - - table.removePkJoinColumn(0); - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testMovePkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setColumnDefinition("COLUMN_DEF"); - table.movePkJoinColumn(2, 0); - assertSourceContains("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\"), @PrimaryKeyJoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", columnDefinition = \"COLUMN_DEF\")})", cu); - } - - public void testMovePkJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setColumnDefinition("COLUMN_DEF"); - table.movePkJoinColumn(0, 2); - assertSourceContains("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAZ\"), @PrimaryKeyJoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", columnDefinition = \"COLUMN_DEF\"), @PrimaryKeyJoinColumn(name = \"FOO\")})", cu); - } - - public void testSetPkJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(3, table.getPkJoinColumnsSize()); - - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"foo\"), @PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\")})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTablesTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTablesTests.java deleted file mode 100644 index af866a8313..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SecondaryTablesTests.java +++ /dev/null @@ -1,503 +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.core.tests.internal.resource.java; - -import java.util.Iterator; - -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jpt.common.core.resource.java.Annotation; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.core.resource.java.NestableAnnotation; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.PrimaryKeyJoinColumnAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.SecondaryTableAnnotation; - -@SuppressWarnings("nls") -public class SecondaryTablesTests extends JpaJavaResourceModelTestCase { - - private static final String TABLE_NAME = "MY_TABLE"; - private static final String SCHEMA_NAME = "MY_SCHEMA"; - private static final String CATALOG_NAME = "MY_CATALOG"; - - public SecondaryTablesTests(String name) { - super(name); - } - - private ICompilationUnit createTestSecondaryTables() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable)"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable(name = \"" + TABLE_NAME + "\"))"); - } - }); - } - - private ICompilationUnit createTestSecondaryTableWithSchema() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable(schema = \"" + SCHEMA_NAME + "\"))"); - } - }); - } - private ICompilationUnit createTestSecondaryTableWithCatalog() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable(catalog = \"" + CATALOG_NAME + "\"))"); - } - }); - } - - - private ICompilationUnit createTestSecondaryTableWithUniqueConstraints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLE, JPA.SECONDARY_TABLES, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint}))"); - } - }); - } - - private ICompilationUnit createTestSecondaryTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.ENTITY, JPA.SECONDARY_TABLE, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Entity"); - sb.append(CR); - sb.append("@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = {\"BAR\"}))"); - } - }); - } - - private ICompilationUnit createTestSecondaryTablesWithPkJoinColumns() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SECONDARY_TABLES, JPA.SECONDARY_TABLE, JPA.PRIMARY_KEY_JOIN_COLUMN); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"), @PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\")}))"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - Annotation secondaryTables = resourceType.getAnnotation(JPA.SECONDARY_TABLES); - assertNotNull(secondaryTables); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(TABLE_NAME, secondaryTable.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNull(secondaryTable.getName()); - assertNull(secondaryTable.getCatalog()); - assertNull(secondaryTable.getSchema()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertNull(secondaryTable.getName()); - - secondaryTable.setName("Foo"); - assertEquals("Foo", secondaryTable.getName()); - - assertSourceContains("@SecondaryTables(@SecondaryTable(name = \"Foo\"))", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(TABLE_NAME, secondaryTable.getName()); - - secondaryTable.setName(null); - assertNull(secondaryTable.getName()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testGetCatalog() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(CATALOG_NAME, secondaryTable.getCatalog()); - } - - public void testSetCatalog() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNull(secondaryTable.getCatalog()); - - secondaryTable.setCatalog("Foo"); - assertEquals("Foo", secondaryTable.getCatalog()); - - assertSourceContains("@SecondaryTables(@SecondaryTable(catalog = \"Foo\"))", cu); - } - - public void testSetCatalogNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(CATALOG_NAME, secondaryTable.getCatalog()); - - secondaryTable.setCatalog(null); - assertNull(secondaryTable.getCatalog()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testGetSchema() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNotNull(secondaryTable); - assertEquals(SCHEMA_NAME, secondaryTable.getSchema()); - } - - public void testSetSchema() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertNull(secondaryTable.getSchema()); - - secondaryTable.setSchema("Foo"); - assertEquals("Foo", secondaryTable.getSchema()); - - assertSourceContains("@SecondaryTables(@SecondaryTable(schema = \"Foo\"))", cu); - } - - public void testSetSchemaNull() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - assertEquals(SCHEMA_NAME, secondaryTable.getSchema()); - - secondaryTable.setSchema(null); - assertNull(secondaryTable.getSchema()); - - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - - public void testUniqueConstraints() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(0, secondaryTable.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - secondaryTable.addUniqueConstraint(0); - secondaryTable.addUniqueConstraint(1); - - assertEquals(2, secondaryTable.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints3() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(2, secondaryTable.getUniqueConstraintsSize()); - } - - public void testAddUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - secondaryTable.addUniqueConstraint(0).addColumnName("FOO"); - secondaryTable.addUniqueConstraint(1); - secondaryTable.addUniqueConstraint(0).addColumnName("BAR"); - - assertEquals("BAR", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, secondaryTable.uniqueConstraintAt(2).getColumnNamesSize()); - - assertSourceContains("@SecondaryTables(@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint}))", cu); - } - - public void testRemoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTable.addUniqueConstraint(0).addColumnName("FOO"); - - secondaryTable.removeUniqueConstraint(2); - assertSourceContains("@SecondaryTables(@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint(columnNames = {\"BAR\"})})", cu); - - secondaryTable.removeUniqueConstraint(0); - assertSourceContains("@SecondaryTables(@SecondaryTable(uniqueConstraints = @UniqueConstraint(columnNames = {\"BAR\"}))", cu); - - secondaryTable.removeUniqueConstraint(0); - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testMoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTable.addUniqueConstraint(0).addColumnName("FOO"); - - assertEquals("FOO", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, secondaryTable.uniqueConstraintAt(2).getColumnNamesSize()); - - secondaryTable.moveUniqueConstraint(2, 0); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals(0, secondaryTable.uniqueConstraintAt(1).getColumnNamesSize()); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertSourceContains("@SecondaryTables(@SecondaryTable(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint, @UniqueConstraint(columnNames = \"FOO\")}))", cu); - } - - public void testMoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTable.addUniqueConstraint(0).addColumnName("FOO"); - - assertEquals("FOO", secondaryTable.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, secondaryTable.uniqueConstraintAt(2).getColumnNamesSize()); - - secondaryTable.moveUniqueConstraint(0, 2); - assertEquals(0, secondaryTable.uniqueConstraintAt(0).getColumnNamesSize()); - assertEquals("FOO", secondaryTable.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals("BAR", secondaryTable.uniqueConstraintAt(2).columnNameAt(0)); - assertSourceContains("@SecondaryTables(@SecondaryTable(uniqueConstraints = {@UniqueConstraint, @UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint(columnNames = {\"BAR\"})}))", cu); - } - - - // @Entity -->> @Entity - // @SecondaryTable(name="FOO") @SecondaryTables({@SecondaryTable(name="FOO"), @SecondaryTable(name="BAR")}) - public void testAddSecondaryTableCopyExisting() throws Exception { - ICompilationUnit cu = createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@SecondaryTables({"; - String expected2 = "@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = { \"BAR\" })),"; - String expected3 = "@SecondaryTable(name = \"BAR\") })"; - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.addAnnotation(1, JPA.SECONDARY_TABLE); - secondaryTable.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(2, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - public void testAddSecondaryTable() throws Exception { - ICompilationUnit cu = createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@SecondaryTables({"; - String expected2 = "@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = { \"BAR\" })),"; - String expected3 = "@SecondaryTable(name = \"BAR\") })"; - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.addAnnotation(1, JPA.SECONDARY_TABLE); - secondaryTable.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected2 = "@SecondaryTable(name = \"BAZ\"),"; - expected3 = "@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = { \"BAR\" })), @SecondaryTable(name = \"BAR\") })"; - secondaryTable = (SecondaryTableAnnotation) resourceType.addAnnotation(0, JPA.SECONDARY_TABLE); - secondaryTable.setName("BAZ"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - Iterator<NestableAnnotation> secondaryTables = resourceType.getAnnotations(JPA.SECONDARY_TABLE).iterator(); - assertEquals("BAZ", ((SecondaryTableAnnotation) secondaryTables.next()).getName()); - assertEquals("FOO", ((SecondaryTableAnnotation) secondaryTables.next()).getName()); - assertEquals("BAR", ((SecondaryTableAnnotation) secondaryTables.next()).getName()); - - assertNotNull(resourceType.getAnnotation(0, JPA.SECONDARY_TABLE)); - assertEquals(3, resourceType.getAnnotationsSize(JPA.SECONDARY_TABLE)); - } - - public void testRemoveSecondaryTableCopyExisting() throws Exception { - ICompilationUnit cu = createTestSecondaryTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - String expected1 = "@SecondaryTables({"; - String expected2 = "@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = { \"BAR\" })),"; - String expected3 = "@SecondaryTable(name = \"BAR\") })"; - SecondaryTableAnnotation secondaryTable = (SecondaryTableAnnotation) resourceType.addAnnotation(1, JPA.SECONDARY_TABLE); - secondaryTable.setName("BAR"); - assertSourceContains(expected1, cu); - assertSourceContains(expected2, cu); - assertSourceContains(expected3, cu); - - expected1 = "@SecondaryTable(name = \"FOO\", catalog = \"BAR\", schema = \"BAZ\", uniqueConstraints = @UniqueConstraint(columnNames = { \"BAR\" }))"; - resourceType.removeAnnotation(1, JPA.SECONDARY_TABLE); - assertSourceContains(expected1, cu); - assertSourceDoesNotContain("@SecondaryTables", cu); - } - - - public void testPkJoinColumns() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(0, table.getPkJoinColumnsSize()); - } - - public void testPkJoinColumns2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.addPkJoinColumn(0); - table.addPkJoinColumn(1); - - assertEquals(2, table.getPkJoinColumnsSize()); - } - - public void testPkJoinColumns3() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTablesWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(3, table.getPkJoinColumnsSize()); - } - - public void testAddPkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTables(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.addPkJoinColumn(0).setName("FOO"); - table.addPkJoinColumn(1); - table.addPkJoinColumn(0).setName("BAR"); - - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"),@PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn}))", cu); - } - - public void testRemovePkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTablesWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - table.removePkJoinColumn(1); - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAR\"), @PrimaryKeyJoinColumn(name = \"BAZ\")}))", cu); - - table.removePkJoinColumn(0); - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = @PrimaryKeyJoinColumn(name = \"BAZ\")))", cu); - - table.removePkJoinColumn(0); - assertSourceDoesNotContain("@SecondaryTable(", cu); - } - - public void testMovePkJoinColumn() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTablesWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setColumnDefinition("COLUMN_DEF"); - table.movePkJoinColumn(2, 0); - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\"), @PrimaryKeyJoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", columnDefinition = \"COLUMN_DEF\")}))", cu); - } - - public void testMovePkJoinColumn2() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTablesWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - joinColumn.setReferencedColumnName("REF_NAME"); - joinColumn.setColumnDefinition("COLUMN_DEF"); - table.movePkJoinColumn(0, 2); - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"BAZ\"), @PrimaryKeyJoinColumn(name = \"BAR\", referencedColumnName = \"REF_NAME\", columnDefinition = \"COLUMN_DEF\"), @PrimaryKeyJoinColumn(name = \"FOO\")}))", cu); - } - - public void testSetPkJoinColumnName() throws Exception { - ICompilationUnit cu = this.createTestSecondaryTablesWithPkJoinColumns(); - JavaResourceType resourceType = buildJavaResourceType(cu); - SecondaryTableAnnotation table = (SecondaryTableAnnotation) resourceType.getAnnotation(0, JPA.SECONDARY_TABLE); - - assertEquals(3, table.getPkJoinColumnsSize()); - - PrimaryKeyJoinColumnAnnotation joinColumn = table.pkJoinColumnAt(0); - - assertEquals("BAR", joinColumn.getName()); - - joinColumn.setName("foo"); - assertEquals("foo", joinColumn.getName()); - - assertSourceContains("@SecondaryTables(@SecondaryTable(pkJoinColumns = {@PrimaryKeyJoinColumn(name = \"foo\"), @PrimaryKeyJoinColumn(name = \"FOO\"), @PrimaryKeyJoinColumn(name = \"BAZ\")}))", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SequenceGeneratorTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SequenceGeneratorTests.java deleted file mode 100644 index 8e99caf5bb..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/SequenceGeneratorTests.java +++ /dev/null @@ -1,234 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.SequenceGeneratorAnnotation; - -@SuppressWarnings("nls") -public class SequenceGeneratorTests extends JpaJavaResourceModelTestCase { - - private static final String GENERATOR_NAME = "MY_GENERATOR"; - private static final String GENERATOR_SEQUENCE_NAME = "MY_SEQUENCE"; - private static final Integer GENERATOR_ALLOCATION_SIZE = Integer.valueOf(5); - private static final Integer GENERATOR_INITIAL_VALUE = Integer.valueOf(5); - - public SequenceGeneratorTests(String name) { - super(name); - } - - private ICompilationUnit createTestSequenceGeneratorOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SEQUENCE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@SequenceGenerator"); - } - }); - } - - private ICompilationUnit createTestSequenceGeneratorOnType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SEQUENCE_GENERATOR); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@SequenceGenerator"); - } - }); - } - - private ICompilationUnit createTestSequenceGeneratorWithName() throws Exception { - return createTestSequenceGeneratorWithStringElement("name", GENERATOR_NAME); - } - - private ICompilationUnit createTestSequenceGeneratorWithSequenceName() throws Exception { - return createTestSequenceGeneratorWithStringElement("sequenceName", GENERATOR_SEQUENCE_NAME); - } - - protected ICompilationUnit createTestSequenceGeneratorWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SEQUENCE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@SequenceGenerator(" + elementName + " = \"" + value + "\")"); - } - }); - } - - private ICompilationUnit createTestSequenceGeneratorWithAllocationSize() throws Exception { - return createTestSequenceGeneratorWithIntElement("allocationSize", GENERATOR_ALLOCATION_SIZE.intValue()); - } - - private ICompilationUnit createTestSequenceGeneratorWithInitialValue() throws Exception { - return createTestSequenceGeneratorWithIntElement("initialValue", GENERATOR_INITIAL_VALUE.intValue()); - } - - private ICompilationUnit createTestSequenceGeneratorWithIntElement(final String elementName, final int value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.SEQUENCE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@SequenceGenerator(" + elementName + " = " + value + ")"); - } - }); - } - - public void testSequenceGeneratorOnField() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertNotNull(sequenceGenerator); - } - - public void testSequenceGeneratorOnType() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorOnType(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceType.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertNotNull(sequenceGenerator); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_NAME, sequenceGenerator.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_NAME, sequenceGenerator.getName()); - - sequenceGenerator.setName("foo"); - assertEquals("foo", sequenceGenerator.getName()); - - assertSourceContains("@SequenceGenerator(name = \"foo\")", cu); - - sequenceGenerator.setName(null); - assertNull(sequenceGenerator.getName()); - - assertSourceDoesNotContain("@SequenceGenerator(", cu); - } - - public void testGetSequenceName() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithSequenceName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_SEQUENCE_NAME, sequenceGenerator.getSequenceName()); - } - - public void testSetSequenceName() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithSequenceName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_SEQUENCE_NAME, sequenceGenerator.getSequenceName()); - - sequenceGenerator.setSequenceName("foo"); - assertEquals("foo", sequenceGenerator.getSequenceName()); - - assertSourceContains("@SequenceGenerator(sequenceName = \"foo\")", cu); - - sequenceGenerator.setSequenceName(null); - assertNull(sequenceGenerator.getSequenceName()); - - assertSourceDoesNotContain("@SequenceGenerator(", cu); - } - - public void testGetAllocationSize() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithAllocationSize(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_ALLOCATION_SIZE, sequenceGenerator.getAllocationSize()); - } - - public void testSetAllocationSize() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithAllocationSize(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_ALLOCATION_SIZE, sequenceGenerator.getAllocationSize()); - - sequenceGenerator.setAllocationSize(Integer.valueOf(500)); - assertEquals(Integer.valueOf(500), sequenceGenerator.getAllocationSize()); - - assertSourceContains("@SequenceGenerator(allocationSize = 500)", cu); - - sequenceGenerator.setAllocationSize(null); - - assertSourceDoesNotContain("@SequenceGenerator(", cu); - - sequenceGenerator.setAllocationSize(Integer.valueOf(0)); - assertSourceContains("@SequenceGenerator(allocationSize = 0)", cu); - } - - public void testGetInitialValue() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithInitialValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_INITIAL_VALUE, sequenceGenerator.getInitialValue()); - } - - public void testSetInitialValue() throws Exception { - ICompilationUnit cu = this.createTestSequenceGeneratorWithInitialValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - SequenceGeneratorAnnotation sequenceGenerator = (SequenceGeneratorAnnotation) resourceField.getAnnotation(JPA.SEQUENCE_GENERATOR); - assertEquals(GENERATOR_INITIAL_VALUE, sequenceGenerator.getInitialValue()); - - sequenceGenerator.setInitialValue(Integer.valueOf(500)); - assertEquals(Integer.valueOf(500), sequenceGenerator.getInitialValue()); - - assertSourceContains("@SequenceGenerator(initialValue = 500)", cu); - - sequenceGenerator.setInitialValue(null); - - assertSourceDoesNotContain("@SequenceGenerator(", cu); - - sequenceGenerator.setInitialValue(Integer.valueOf(0)); - assertSourceContains("@SequenceGenerator(initialValue = 0)", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableGeneratorTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableGeneratorTests.java deleted file mode 100644 index cf2ec06bbf..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableGeneratorTests.java +++ /dev/null @@ -1,502 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TableGeneratorAnnotation; - -@SuppressWarnings("nls") -public class TableGeneratorTests extends JpaJavaResourceModelTestCase { - - private static final String GENERATOR_NAME = "MY_GENERATOR"; - private static final String GENERATOR_TABLE = "MY_TABLE"; - private static final String GENERATOR_CATALOG = "MY_CATALOG"; - private static final String GENERATOR_SCHEMA = "MY_SCHEMA"; - private static final String GENERATOR_PK_COLUMN_NAME = "MY_PK_COLUMN_NAME"; - private static final String GENERATOR_VALUE_COLUMN_NAME = "MY_VALUE_COLUMN_NAME"; - private static final String GENERATOR_PK_COLUMN_VALUE = "MY_PK_COLUMN_VALUE"; - private static final Integer GENERATOR_ALLOCATION_SIZE = Integer.valueOf(5); - private static final Integer GENERATOR_INITIAL_VALUE = Integer.valueOf(5); - - public TableGeneratorTests(String name) { - super(name); - } - - private ICompilationUnit createTestTableGeneratorOnField() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@TableGenerator"); - } - }); - } - - private ICompilationUnit createTestTableGeneratorOnType() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE_GENERATOR); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@TableGenerator"); - } - }); - } - - private ICompilationUnit createTestTableGeneratorWithName() throws Exception { - return createTestTableGeneratorWithStringElement("name", GENERATOR_NAME); - } - - private ICompilationUnit createTestTableGeneratorWithTable() throws Exception { - return createTestTableGeneratorWithStringElement("table", GENERATOR_TABLE); - } - - private ICompilationUnit createTestTableGeneratorWithCatalog() throws Exception { - return createTestTableGeneratorWithStringElement("catalog", GENERATOR_CATALOG); - } - - private ICompilationUnit createTestTableGeneratorWithSchema() throws Exception { - return createTestTableGeneratorWithStringElement("schema", GENERATOR_SCHEMA); - } - private ICompilationUnit createTestTableGeneratorWithPkColumnName() throws Exception { - return createTestTableGeneratorWithStringElement("pkColumnName", GENERATOR_PK_COLUMN_NAME); - } - - private ICompilationUnit createTestTableGeneratorWithValueColumnName() throws Exception { - return createTestTableGeneratorWithStringElement("valueColumnName", GENERATOR_VALUE_COLUMN_NAME); - } - - private ICompilationUnit createTestTableGeneratorWithPkColumnValue() throws Exception { - return createTestTableGeneratorWithStringElement("pkColumnValue", GENERATOR_PK_COLUMN_VALUE); - } - - private ICompilationUnit createTestTableGeneratorWithStringElement(final String elementName, final String value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@TableGenerator(" + elementName + " = \"" + value + "\")"); - } - }); - } - - private ICompilationUnit createTestTableGeneratorWithAllocationSize() throws Exception { - return createTestTableGeneratorWithIntElement("allocationSize", GENERATOR_ALLOCATION_SIZE.intValue()); - } - - private ICompilationUnit createTestTableGeneratorWithInitialValue() throws Exception { - return createTestTableGeneratorWithIntElement("initialValue", GENERATOR_INITIAL_VALUE.intValue()); - } - - private ICompilationUnit createTestTableGeneratorWithIntElement(final String elementName, final int value) throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE_GENERATOR); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@TableGenerator(" + elementName + " = " + value + ")"); - } - }); - } - - private ICompilationUnit createTestTableGeneratorWithUniqueConstraints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE_GENERATOR, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@TableGenerator(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})"); - } - }); - } - - public void testTableGeneratorOnField() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertNotNull(tableGenerator); - } - - public void testTableGeneratorOnType() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorOnType(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceType.getAnnotation(JPA.TABLE_GENERATOR); - assertNotNull(tableGenerator); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_NAME, tableGenerator.getName()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_NAME, tableGenerator.getName()); - - tableGenerator.setName("foo"); - assertEquals("foo", tableGenerator.getName()); - - assertSourceContains("@TableGenerator(name = \"foo\")", cu); - - tableGenerator.setName(null); - assertNull(tableGenerator.getName()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetTable() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_TABLE, tableGenerator.getTable()); - } - - public void testSetTable() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_TABLE, tableGenerator.getTable()); - - tableGenerator.setTable("foo"); - assertEquals("foo", tableGenerator.getTable()); - - assertSourceContains("@TableGenerator(table = \"foo\")", cu); - - tableGenerator.setTable(null); - assertNull(tableGenerator.getTable()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetCatalog() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_CATALOG, tableGenerator.getCatalog()); - } - - public void testSetCatalog() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_CATALOG, tableGenerator.getCatalog()); - - tableGenerator.setCatalog("foo"); - assertEquals("foo", tableGenerator.getCatalog()); - - assertSourceContains("@TableGenerator(catalog = \"foo\")", cu); - - tableGenerator.setCatalog(null); - assertNull(tableGenerator.getCatalog()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetSchema() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_SCHEMA, tableGenerator.getSchema()); - } - - public void testSetSchema() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_SCHEMA, tableGenerator.getSchema()); - - tableGenerator.setSchema("foo"); - assertEquals("foo", tableGenerator.getSchema()); - - assertSourceContains("@TableGenerator(schema = \"foo\")", cu); - - tableGenerator.setSchema(null); - assertNull(tableGenerator.getSchema()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetPkColumnName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithPkColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_PK_COLUMN_NAME, tableGenerator.getPkColumnName()); - } - - public void testSetPkColumnName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithPkColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_PK_COLUMN_NAME, tableGenerator.getPkColumnName()); - - tableGenerator.setPkColumnName("foo"); - assertEquals("foo", tableGenerator.getPkColumnName()); - - assertSourceContains("@TableGenerator(pkColumnName = \"foo\")", cu); - - tableGenerator.setPkColumnName(null); - assertNull(tableGenerator.getPkColumnName()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetValueColumnName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithValueColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_VALUE_COLUMN_NAME, tableGenerator.getValueColumnName()); - } - - public void testSetValueColumnName() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithValueColumnName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_VALUE_COLUMN_NAME, tableGenerator.getValueColumnName()); - - tableGenerator.setValueColumnName("foo"); - assertEquals("foo", tableGenerator.getValueColumnName()); - - assertSourceContains("@TableGenerator(valueColumnName = \"foo\")", cu); - - tableGenerator.setValueColumnName(null); - assertNull(tableGenerator.getValueColumnName()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetPkColumnValue() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithPkColumnValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_PK_COLUMN_VALUE, tableGenerator.getPkColumnValue()); - } - - public void testSetPkColumnValue() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithPkColumnValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_PK_COLUMN_VALUE, tableGenerator.getPkColumnValue()); - - tableGenerator.setPkColumnValue("foo"); - assertEquals("foo", tableGenerator.getPkColumnValue()); - - assertSourceContains("@TableGenerator(pkColumnValue = \"foo\")", cu); - - tableGenerator.setPkColumnValue(null); - assertNull(tableGenerator.getPkColumnValue()); - - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testGetAllocationSize() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithAllocationSize(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_ALLOCATION_SIZE, tableGenerator.getAllocationSize()); - } - - public void testSetAllocationSize() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithAllocationSize(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_ALLOCATION_SIZE, tableGenerator.getAllocationSize()); - - tableGenerator.setAllocationSize(Integer.valueOf(500)); - assertEquals(Integer.valueOf(500), tableGenerator.getAllocationSize()); - - assertSourceContains("@TableGenerator(allocationSize = 500)", cu); - - tableGenerator.setAllocationSize(null); - - assertSourceDoesNotContain("@TableGenerator(", cu); - - tableGenerator.setAllocationSize(Integer.valueOf(0)); - assertSourceContains("@TableGenerator(allocationSize = 0)", cu); - } - - public void testGetInitialValue() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithInitialValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_INITIAL_VALUE, tableGenerator.getInitialValue()); - } - - public void testSetInitialValue() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithInitialValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - assertEquals(GENERATOR_INITIAL_VALUE, tableGenerator.getInitialValue()); - - tableGenerator.setInitialValue(Integer.valueOf(500)); - assertEquals(Integer.valueOf(500), tableGenerator.getInitialValue()); - - assertSourceContains("@TableGenerator(initialValue = 500)", cu); - - tableGenerator.setInitialValue(null); - - assertSourceDoesNotContain("@TableGenerator(", cu); - - tableGenerator.setInitialValue(Integer.valueOf(0)); - assertSourceContains("@TableGenerator(initialValue = 0)", cu); - } - - public void testUniqueConstraints() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - assertEquals(0, tableGenerator.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints2() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - tableGenerator.addUniqueConstraint(0); - tableGenerator.addUniqueConstraint(1); - - assertEquals(2, tableGenerator.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints3() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - assertEquals(3, tableGenerator.getUniqueConstraintsSize()); - } - - public void testAddUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorOnField(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - tableGenerator.addUniqueConstraint(0).addColumnName("FOO"); - tableGenerator.addUniqueConstraint(1); - tableGenerator.addUniqueConstraint(0).addColumnName("BAR"); - - assertEquals("BAR", tableGenerator.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", tableGenerator.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, tableGenerator.uniqueConstraintAt(2).getColumnNamesSize()); - - assertEquals(3, tableGenerator.getUniqueConstraintsSize()); - assertSourceContains("@TableGenerator(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint})", cu); - } - - public void testRemoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - tableGenerator.removeUniqueConstraint(1); - assertSourceContains("@TableGenerator(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - tableGenerator.removeUniqueConstraint(0); - assertSourceContains("@TableGenerator(uniqueConstraints = @UniqueConstraint(columnNames = {\"BAZ\"}))", cu); - - tableGenerator.removeUniqueConstraint(0); - assertSourceDoesNotContain("@TableGenerator(", cu); - } - - public void testMoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - tableGenerator.moveUniqueConstraint(2, 0); - assertSourceContains("@TableGenerator(uniqueConstraints = {@UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"})})", cu); - } - - public void testMoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestTableGeneratorWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TableGeneratorAnnotation tableGenerator = (TableGeneratorAnnotation) resourceField.getAnnotation(JPA.TABLE_GENERATOR); - - tableGenerator.moveUniqueConstraint(0, 2); - assertSourceContains("@TableGenerator(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"})})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableTests.java deleted file mode 100644 index f14a6b4aba..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TableTests.java +++ /dev/null @@ -1,346 +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.core.tests.internal.resource.java; - -import java.util.Iterator; -import java.util.ListIterator; -import org.eclipse.jdt.core.ICompilationUnit; -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.core.resource.java.TableAnnotation; - -@SuppressWarnings("nls") -public class TableTests extends JpaJavaResourceModelTestCase { - - private static final String TABLE_NAME = "MY_TABLE"; - private static final String SCHEMA_NAME = "MY_SCHEMA"; - private static final String CATALOG_NAME = "MY_CATALOG"; - - public TableTests(String name) { - super(name); - } - - private ICompilationUnit createTestTable() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Table"); - } - }); - } - - private ICompilationUnit createTestTableWithName() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Table(name = \"" + TABLE_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestTableWithSchema() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Table(schema = \"" + SCHEMA_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestTableWithCatalog() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Table(catalog = \"" + CATALOG_NAME + "\")"); - } - }); - } - - private ICompilationUnit createTestTableWithUniqueConstraints() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TABLE, JPA.UNIQUE_CONSTRAINT); - } - @Override - public void appendTypeAnnotationTo(StringBuilder sb) { - sb.append("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})"); - } - }); - } - - public void testGetName() throws Exception { - ICompilationUnit cu = this.createTestTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertEquals(TABLE_NAME, table.getName()); - } - - public void testGetNull() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertNull(table.getName()); - assertNull(table.getCatalog()); - assertNull(table.getSchema()); - } - - public void testSetName() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertNull(table.getName()); - - table.setName("Foo"); - assertEquals("Foo", table.getName()); - - assertSourceContains("@Table(name = \"Foo\")", cu); - } - - public void testSetNameNull() throws Exception { - ICompilationUnit cu = this.createTestTableWithName(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertEquals(TABLE_NAME, table.getName()); - - table.setName(null); - assertNull(table.getName()); - - assertSourceDoesNotContain("@Table(", cu); - } - - public void testGetCatalog() throws Exception { - ICompilationUnit cu = this.createTestTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertEquals(CATALOG_NAME, table.getCatalog()); - } - - public void testSetCatalog() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertNull(table.getCatalog()); - - table.setCatalog("Foo"); - assertEquals("Foo", table.getCatalog()); - - assertSourceContains("@Table(catalog = \"Foo\")", cu); - } - - public void testSetCatalogNull() throws Exception { - ICompilationUnit cu = this.createTestTableWithCatalog(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertEquals(CATALOG_NAME, table.getCatalog()); - - table.setCatalog(null); - assertNull(table.getCatalog()); - - assertSourceDoesNotContain("@Table(", cu); - } - - public void testGetSchema() throws Exception { - ICompilationUnit cu = this.createTestTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertEquals(SCHEMA_NAME, table.getSchema()); - } - - public void testSetSchema() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertNotNull(table); - assertNull(table.getSchema()); - - table.setSchema("Foo"); - assertEquals("Foo", table.getSchema()); - - assertSourceContains("@Table(schema = \"Foo\")", cu); - } - - public void testSetSchemaNull() throws Exception { - ICompilationUnit cu = this.createTestTableWithSchema(); - JavaResourceType resourceType = buildJavaResourceType(cu); - - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - assertEquals(SCHEMA_NAME, table.getSchema()); - - table.setSchema(null); - assertNull(table.getSchema()); - - assertSourceDoesNotContain("@Table(", cu); - } - - public void testUniqueConstraints() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - assertEquals(0, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints2() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.addUniqueConstraint(0); - table.addUniqueConstraint(1); - - assertEquals(2, table.getUniqueConstraintsSize()); - } - - public void testUniqueConstraints3() throws Exception { - ICompilationUnit cu = this.createTestTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - assertEquals(3, table.getUniqueConstraintsSize()); - } - - public void testAddUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(1); - table.addUniqueConstraint(0).addColumnName("BAR"); - - assertEquals("BAR", table.uniqueConstraintAt(0).columnNameAt(0)); - assertEquals("FOO", table.uniqueConstraintAt(1).columnNameAt(0)); - assertEquals(0, table.uniqueConstraintAt(2).getColumnNamesSize()); - - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"FOO\"), @UniqueConstraint})", cu); - } - - public void testAddUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(0); - table.addUniqueConstraint(1).addColumnName("BAR"); - table.uniqueConstraintAt(1).addColumnName("BAZ"); - - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint,@UniqueConstraint(columnNames = { \"BAR\", \"BAZ\" }), @UniqueConstraint(columnNames = \"FOO\")})", cu); - - assertEquals("FOO", table.uniqueConstraintAt(2).columnNameAt(0)); - ListIterator<String> columnNames = table.uniqueConstraintAt(1).getColumnNames().iterator(); - assertEquals("BAR", columnNames.next()); - assertEquals("BAZ", columnNames.next()); - } - public void testRemoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.removeUniqueConstraint(1); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"BAZ\"})})", cu); - - table.removeUniqueConstraint(0); - assertSourceContains("@Table(uniqueConstraints = @UniqueConstraint(columnNames = {\"BAZ\"}))", cu); - - table.removeUniqueConstraint(0); - assertSourceDoesNotContain("@Table(", cu); - } - - public void testRemoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(1).addColumnName("BAR"); - table.addUniqueConstraint(2).addColumnName("BAZ"); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = \"FOO\"),@UniqueConstraint(columnNames = \"BAR\"), @UniqueConstraint(columnNames = \"BAZ\")})", cu); - - table.removeUniqueConstraint(0); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = \"BAR\"),@UniqueConstraint(columnNames = \"BAZ\")})", cu); - - table.removeUniqueConstraint(0); - assertSourceContains("@Table(uniqueConstraints = @UniqueConstraint(columnNames = \"BAZ\"))", cu); - - table.removeUniqueConstraint(0); - assertSourceDoesNotContain("@Table(", cu); - } - - public void testRemoveUniqueConstraint3() throws Exception { - ICompilationUnit cu = this.createTestTable(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - table.addUniqueConstraint(0).addColumnName("FOO"); - table.addUniqueConstraint(1).addColumnName("BAR"); - table.addUniqueConstraint(2).addColumnName("BAZ"); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = \"FOO\"),@UniqueConstraint(columnNames = \"BAR\"), @UniqueConstraint(columnNames = \"BAZ\")})", cu); - - table.removeUniqueConstraint(2); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = \"FOO\"),@UniqueConstraint(columnNames = \"BAR\")})", cu); - - table.removeUniqueConstraint(1); - assertSourceContains("@Table(uniqueConstraints = @UniqueConstraint(columnNames = \"FOO\"))", cu); - - table.removeUniqueConstraint(0); - assertSourceDoesNotContain("@Table(", cu); - } - - public void testMoveUniqueConstraint() throws Exception { - ICompilationUnit cu = this.createTestTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.moveUniqueConstraint(2, 0); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {\"FOO\"}), @UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"})})", cu); - } - - public void testMoveUniqueConstraint2() throws Exception { - ICompilationUnit cu = this.createTestTableWithUniqueConstraints(); - JavaResourceType resourceType = buildJavaResourceType(cu); - TableAnnotation table = (TableAnnotation) resourceType.getAnnotation(JPA.TABLE); - - table.moveUniqueConstraint(0, 2); - assertSourceContains("@Table(uniqueConstraints = {@UniqueConstraint(columnNames = {\"BAZ\"}), @UniqueConstraint(columnNames = {\"BAR\"}), @UniqueConstraint(columnNames = {\"FOO\"})})", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TemporalTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TemporalTests.java deleted file mode 100644 index 61953901d4..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TemporalTests.java +++ /dev/null @@ -1,89 +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.core.tests.internal.resource.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.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TemporalAnnotation; -import org.eclipse.jpt.jpa.core.resource.java.TemporalType; - -@SuppressWarnings("nls") -public class TemporalTests extends JpaJavaResourceModelTestCase { - - public TemporalTests(String name) { - super(name); - } - - private ICompilationUnit createTestTemporal() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TEMPORAL); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Temporal"); - } - }); - } - - private ICompilationUnit createTestTemporalWithValue() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TEMPORAL, JPA.TEMPORAL_TYPE); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Temporal(TemporalType.DATE)"); - } - }); - } - - public void testTemporal() throws Exception { - ICompilationUnit cu = this.createTestTemporal(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(JPA.TEMPORAL); - assertNotNull(temporal); - } - - public void testGetValue() throws Exception { - ICompilationUnit cu = this.createTestTemporalWithValue(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(JPA.TEMPORAL); - assertEquals(TemporalType.DATE, temporal.getValue()); - } - - public void testSetValue() throws Exception { - ICompilationUnit cu = this.createTestTemporal(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - TemporalAnnotation temporal = (TemporalAnnotation) resourceField.getAnnotation(JPA.TEMPORAL); - - temporal.setValue(TemporalType.TIME); - - assertSourceContains("@Temporal(TIME)", cu); - - temporal.setValue(null); - - assertSourceDoesNotContain("@Temporal(", cu); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TransientTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TransientTests.java deleted file mode 100644 index 8815516a87..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/TransientTests.java +++ /dev/null @@ -1,51 +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.core.tests.internal.resource.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.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.TransientAnnotation; - -@SuppressWarnings("nls") -public class TransientTests extends JpaJavaResourceModelTestCase { - - public TransientTests(String name) { - super(name); - } - - private ICompilationUnit createTestTransient() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.TRANSIENT); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Transient"); - } - }); - } - - public void testTransient() throws Exception { - ICompilationUnit cu = this.createTestTransient(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JavaResourceNode mappingAnnotation = resourceField.getAnnotation(TransientAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof TransientAnnotation); - } - -} diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/VersionTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/VersionTests.java deleted file mode 100644 index 2f045e7a63..0000000000 --- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/resource/java/VersionTests.java +++ /dev/null @@ -1,50 +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.core.tests.internal.resource.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.JavaResourceNode; -import org.eclipse.jpt.common.core.resource.java.JavaResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.jpa.core.resource.java.JPA; -import org.eclipse.jpt.jpa.core.resource.java.VersionAnnotation; - -@SuppressWarnings("nls") -public class VersionTests extends JpaJavaResourceModelTestCase { - - public VersionTests(String name) { - super(name); - } - - private ICompilationUnit createTestVersion() throws Exception { - return this.createTestType(new DefaultAnnotationWriter() { - @Override - public Iterator<String> imports() { - return new ArrayIterator<String>(JPA.VERSION); - } - @Override - public void appendIdFieldAnnotationTo(StringBuilder sb) { - sb.append("@Version"); - } - }); - } - - public void testVersion() throws Exception { - ICompilationUnit cu = this.createTestVersion(); - JavaResourceType resourceType = buildJavaResourceType(cu); - JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0); - - JavaResourceNode mappingAnnotation = resourceField.getAnnotation(VersionAnnotation.ANNOTATION_NAME); - assertTrue(mappingAnnotation instanceof VersionAnnotation); - } -} |