Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java')
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java37
1 files changed, 36 insertions, 1 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java
index 92f96531e7..1b2160cc96 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/resource/java/ElementCollection2_0AnnotationTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2011 Oracle. All rights reserved.
+ * Copyright (c) 2009, 2012 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.
@@ -66,6 +66,19 @@ public class ElementCollection2_0AnnotationTests extends JavaResourceModel2_0Tes
});
}
+ private ICompilationUnit createTestElementCollectionWithPrimitiveTargetClass() throws Exception {
+ return this.createTestType(new DefaultAnnotationWriter() {
+ @Override
+ public Iterator<String> imports() {
+ return new ArrayIterator<String>(JPA2_0.ELEMENT_COLLECTION);
+ }
+ @Override
+ public void appendIdFieldAnnotationTo(StringBuilder sb) {
+ sb.append("@ElementCollection(targetClass = byte.class)");
+ }
+ });
+ }
+
public void testElementCollection() throws Exception {
ICompilationUnit cu = this.createTestElementCollection();
JavaResourceType resourceType = buildJavaResourceType(cu);
@@ -167,4 +180,26 @@ public class ElementCollection2_0AnnotationTests extends JavaResourceModel2_0Tes
assertEquals("Foo", elementCollection.getFullyQualifiedTargetClassName()); //bug 196200 changed this
}
+
+ public void testGetPrimitiveTargetClass() throws Exception {
+ ICompilationUnit cu = this.createTestElementCollectionWithPrimitiveTargetClass();
+ JavaResourceType resourceType = buildJavaResourceType(cu);
+ JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0);
+
+ ElementCollection2_0Annotation elementCollection = (ElementCollection2_0Annotation) resourceField.getAnnotation(JPA2_0.ELEMENT_COLLECTION);
+ assertEquals("byte", elementCollection.getTargetClass());
+ }
+
+ public void testSetPrimitiveTargetClass() throws Exception {
+ ICompilationUnit cu = this.createTestElementCollection();
+ JavaResourceType resourceType = buildJavaResourceType(cu);
+ JavaResourceField resourceField = CollectionTools.get(resourceType.getFields(), 0);
+
+ ElementCollection2_0Annotation elementCollection = (ElementCollection2_0Annotation) resourceField.getAnnotation(JPA2_0.ELEMENT_COLLECTION);
+ assertEquals(null, elementCollection.getTargetClass());
+
+ elementCollection.setTargetClass("int");
+
+ assertSourceContains("@ElementCollection(targetClass = int.class)", cu);
+ }
}

Back to the top