[hibernate-commits] Hibernate SVN: r11336 - trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Thu Mar 22 17:08:24 EDT 2007


Author: epbernard
Date: 2007-03-22 17:08:24 -0400 (Thu, 22 Mar 2007)
New Revision: 11336

Added:
   trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/CounterListener.java
Modified:
   trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java
   trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/orm3.xml
Log:
EJB-279 tests on default entity listeners

Added: trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/CounterListener.java
===================================================================
--- trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/CounterListener.java	                        (rev 0)
+++ trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/CounterListener.java	2007-03-22 21:08:24 UTC (rev 11336)
@@ -0,0 +1,36 @@
+//$Id: $
+package org.hibernate.ejb.test.xml;
+
+import javax.persistence.PrePersist;
+import javax.persistence.PreUpdate;
+import javax.persistence.PreRemove;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class CounterListener {
+	public static int insert;
+	public static int update;
+	public static int delete;
+
+	@PrePersist
+	public void increaseInsert(Object object) {
+		insert++;
+	}
+
+	@PreUpdate
+	public void increaseUpdate(Object object) {
+		update++;
+	}
+
+	@PreRemove
+	public void increaseDelete(Object object) {
+		delete++;
+	}
+
+	public static void reset() {
+		insert = 0;
+		update = 0;
+		delete = 0;
+	}
+}

Modified: trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java
===================================================================
--- trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java	2007-03-22 17:37:37 UTC (rev 11335)
+++ trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/XmlAttributeOverrideTest.java	2007-03-22 21:08:24 UTC (rev 11336)
@@ -28,6 +28,43 @@
 		em.close();
 	}
 
+	public void testDefaultEventListener() throws Exception {
+		EntityManager em = factory.createEntityManager();
+		em.getTransaction().begin();
+
+		CounterListener.reset();
+
+		Employee e = new Employee();
+        e.setId(Long.valueOf(100));
+        e.setName("Bubba");
+        e.setHomeAddress(new Address("123 Main St", "New York", "NY", "11111"));
+        e.setMailAddress(new Address("P.O. Box 123", "New York", "NY", "11111"));
+
+        em.persist(e);
+
+		em.flush();
+
+		em.clear();
+
+		em.find( Employee.class, e.getId() ).setName( "Bibo" );
+
+		em.flush();
+
+		em.clear();
+
+		em.remove( em.find( Employee.class, e.getId() ) );
+
+		em.flush();
+
+
+		em.getTransaction().rollback();
+		em.close();
+
+		assertEquals( 1, CounterListener.insert );
+		assertEquals( 1, CounterListener.update );
+		assertEquals( 1, CounterListener.delete );
+	}
+
 	public Class[] getAnnotatedClasses() {
 		return new Class[0];
 	}

Modified: trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/orm3.xml
===================================================================
--- trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/orm3.xml	2007-03-22 17:37:37 UTC (rev 11335)
+++ trunk/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/xml/orm3.xml	2007-03-22 21:08:24 UTC (rev 11336)
@@ -5,6 +5,14 @@
     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
     version="1.0">
 
+    <persistence-unit-metadata>
+        <persistence-unit-defaults>
+            <entity-listeners>
+                <entity-listener class="org.hibernate.ejb.test.xml.CounterListener"/>
+            </entity-listeners>
+        </persistence-unit-defaults>
+    </persistence-unit-metadata>
+
     <entity class="org.hibernate.ejb.test.xml.Employee" metadata-complete="false" access="FIELD">
         <attributes>
             <id name="id"/>




More information about the hibernate-commits mailing list