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"/>