Package org.hibernate.ejb.test.ejb3configuration

Source Code of org.hibernate.ejb.test.ejb3configuration.EventOverridingTest

//$Id: EventOverridingTest.java 9796 2006-04-26 06:46:52Z epbernard $
package org.hibernate.ejb.test.ejb3configuration;

import java.util.HashMap;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.hibernate.ejb.test.Cat;
import org.hibernate.event.EventListeners;
import org.hibernate.event.PreInsertEventListener;

/**
* @author Emmanuel Bernard
*/
public class EventOverridingTest extends TestCase {

  public void testEventOverriding() throws Exception {
    EventListeners eventListeners = configuration.getEventListeners();
    assertEquals( 2, eventListeners.getPreInsertEventListeners().length );
    eventListeners.setPreInsertEventListeners( new PreInsertEventListener[]{} );
    Cat cat = new Cat();
    cat.setLength( 3 );
    cat.setAge( 34 );
    cat.setName( "Did" ); //should raise a validation exception
    EntityManager em = configuration.createEntityManagerFactory().createEntityManager();
    em.getTransaction().begin();
    try {
      em.persist( cat );
    }
    catch (Exception e) {
      fail( "The validation framework is still activated" );
    }
    em.flush();
    em.getTransaction().rollback();
    em.close();
  }

  public void testEventPerProperties() throws Exception {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory( "manager1", new HashMap() );
    EntityManager em = emf.createEntityManager();
    em.getTransaction().begin();
    Cat cat = new Cat();
    cat.setLength( 3 );
    cat.setAge( 34 );
    cat.setName( "Did" ); //should raise a validation exception
    try {
      em.persist( cat );
    }
    catch (Exception e) {
      fail( "The validation framework is still activated" );
    }
    em.flush();
    em.getTransaction().rollback();
    em.close();
    emf.close();
  }

  public Class[] getAnnotatedClasses() {
    return new Class[]{
        Cat.class
    };
  }
}
TOP

Related Classes of org.hibernate.ejb.test.ejb3configuration.EventOverridingTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.