package org.hibernate.envers.test; import java.util.Arrays; import java.util.List; import org.hibernate.cfg.Configuration; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.hibernate.Session; import org.hibernate.envers.AuditReader; import org.hibernate.envers.AuditReaderFactory; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; /** * @author Strong Liu (stliu@hibernate.org) */ @RunWith(EnversRunner.class) public abstract class BaseEnversFunctionalTestCase extends BaseCoreFunctionalTestCase { private String auditStrategy; @Parameterized.Parameters public static List<Object[]> data() { return Arrays.asList( new Object[] { null }, new Object[] { "org.hibernate.envers.strategy.ValidityAuditStrategy" } ); } public void setTestData(Object[] data) { auditStrategy = (String) data[0]; } public String getAuditStrategy() { return auditStrategy; } protected Session getSession() { if ( session == null || !session.isOpen() ) { return openSession(); } return session; } protected AuditReader getAuditReader(){ return AuditReaderFactory.get( getSession() ); } @Override protected Configuration constructConfiguration() { Configuration configuration = super.constructConfiguration(); configuration.setProperty("org.hibernate.envers.use_revision_entity_with_native_id", "false"); return configuration; } @Override protected String getBaseForMappings() { return ""; } }