/* * Hibernate Search, full-text search for your domain model * * 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.search.testsupport.setup; import java.util.List; import java.util.ArrayList; import javax.transaction.Synchronization; import javax.transaction.Status; import org.hibernate.search.backend.TransactionContext; /** * @author Emmanuel Bernard */ public class TransactionContextForTest implements TransactionContext { private boolean progress = true; private List<Synchronization> syncs = new ArrayList<Synchronization>(); @Override public boolean isTransactionInProgress() { return progress; } @Override public Object getTransactionIdentifier() { return this; } @Override public void registerSynchronization(Synchronization synchronization) { syncs.add( synchronization ); } public void end() { this.progress = false; for ( Synchronization sync : syncs ) { sync.beforeCompletion(); } for ( Synchronization sync : syncs ) { sync.afterCompletion( Status.STATUS_COMMITTED ); } } }