/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.test.resource.transaction; import java.util.Collections; import org.hibernate.boot.registry.BootstrapServiceRegistryBuilder; import org.hibernate.boot.registry.internal.BootstrapServiceRegistryImpl; import org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl; import org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl; import org.hibernate.resource.transaction.internal.TransactionCoordinatorBuilderInitiator; import org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder; import org.hibernate.testing.junit4.BaseUnitTestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.hamcrest.CoreMatchers.instanceOf; import static org.junit.Assert.assertThat; /** * @author Steve Ebersole */ public class LegacySettingInitiatorTest extends BaseUnitTestCase { private BootstrapServiceRegistryImpl bsr; @Before public void before() { bsr = (BootstrapServiceRegistryImpl) new BootstrapServiceRegistryBuilder().build(); } @After public void after() { if ( bsr != null ) { bsr.destroy(); } } @Test public void testLegacySettingSelection() { final TransactionCoordinatorBuilderInitiator initiator = new TransactionCoordinatorBuilderInitiator(); TransactionCoordinatorBuilder builder = initiator.initiateService( Collections.singletonMap( TransactionCoordinatorBuilderInitiator.LEGACY_SETTING_NAME, "org.hibernate.transaction.JDBCTransactionFactory" ), bsr ); assertThat( builder, instanceOf( JdbcResourceLocalTransactionCoordinatorBuilderImpl.class ) ); builder = initiator.initiateService( Collections.singletonMap( TransactionCoordinatorBuilderInitiator.LEGACY_SETTING_NAME, "org.hibernate.transaction.JTATransactionFactory" ), bsr ); assertThat( builder, instanceOf( JtaTransactionCoordinatorBuilderImpl.class ) ); builder = initiator.initiateService( Collections.singletonMap( TransactionCoordinatorBuilderInitiator.LEGACY_SETTING_NAME, "org.hibernate.transaction.CMTTransactionFactory" ), bsr ); assertThat( builder, instanceOf( JtaTransactionCoordinatorBuilderImpl.class ) ); } }