Author: nusco
Date: 2006-11-30 07:25:02 -0500 (Thu, 30 Nov 2006)
New Revision: 10893
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Book.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/DynamicGenericsResolutionTest.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Edition.java
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Reprint.java
Log:
Test to expose ANN-494
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Book.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Book.java 2006-11-30
10:35:57 UTC (rev 10892)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Book.java 2006-11-30
12:25:02 UTC (rev 10893)
@@ -0,0 +1,15 @@
+package org.hibernate.test.annotations.generics.dynamic;
+
+import javax.persistence.Embeddable;
+import javax.persistence.Id;
+
+@Embeddable
+public class Book {
+
+ @Id
+ public final String title;
+
+ public Book(String title) {
+ this.title = title;
+ }
+}
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/DynamicGenericsResolutionTest.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/DynamicGenericsResolutionTest.java 2006-11-30
10:35:57 UTC (rev 10892)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/DynamicGenericsResolutionTest.java 2006-11-30
12:25:02 UTC (rev 10893)
@@ -0,0 +1,53 @@
+package org.hibernate.test.annotations.generics.dynamic;
+
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.hibernate.test.annotations.TestCase;
+
+public class DynamicGenericsResolutionTest extends TestCase {
+
+ Session session;
+
+ public void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void tearDown() throws Exception {
+ session.close();
+ super.tearDown();
+ }
+
+ private void clean(Class<?> clazz, String id) {
+ Transaction tx = session.beginTransaction();
+ session.delete( session.get( clazz, id ) );
+ tx.commit();
+ }
+
+ public void testDinamicallyResolvesGenericTypes() {
+ session = getSessions().openSession();
+ session.getTransaction().begin();
+ Book book = new Book( "The Naked Lunch" );
+ Edition<Book> edition = new Edition<Book>( "Second", book );
+ edition.originalDocument = book;
+
+ Reprint series = new Reprint( "Happy Joyful Christmas Readings" );
+ series.batch.add( edition );
+ persist( series );
+
+ clean( Reprint.class, series.name );
+ }
+
+ private void persist(Object data) {
+ session.persist( data );
+ session.getTransaction().commit();
+ session.clear();
+ }
+
+ protected Class[] getMappings() {
+ return new Class[]{
+ Book.class,
+ Edition.class,
+ Reprint.class
+ };
+ }
+}
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Edition.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Edition.java 2006-11-30
10:35:57 UTC (rev 10892)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Edition.java 2006-11-30
12:25:02 UTC (rev 10893)
@@ -0,0 +1,18 @@
+package org.hibernate.test.annotations.generics.dynamic;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class Edition<T> {
+
+ @Id
+ public final String code;
+
+ public T originalDocument;
+
+ public Edition(String name, T originalDocument) {
+ this.code = name;
+ this.originalDocument = originalDocument;
+ }
+}
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Reprint.java
===================================================================
---
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Reprint.java 2006-11-30
10:35:57 UTC (rev 10892)
+++
trunk/HibernateExt/metadata/src/test/org/hibernate/test/annotations/generics/dynamic/Reprint.java 2006-11-30
12:25:02 UTC (rev 10893)
@@ -0,0 +1,23 @@
+
+package org.hibernate.test.annotations.generics.dynamic;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+@Entity
+public class Reprint {
+
+ @Id
+ public final String name;
+
+ public Reprint(String name) {
+ this.name = name;
+ }
+
+ @OneToMany
+ Set<Edition<Book>> batch = new HashSet<Edition<Book>>();
+}
Show replies by date