Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Hibernate OGM, Domain model persistence for NoSQL datastores
   *
   * 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.ogm.transaction.impl;
  
 
Transaction implementation using JTA transactions exclusively from the TransactionManager.

Author(s):
Emmanuel Bernard <emmanuel@hibernate.org>
Sanne Grinovero <sanne@hibernate.org>
 
 public class JTATransaction extends AbstractTransactionImpl implements Transaction {
 
 	private static final Log log = LoggerFactory.make();
 
 	private boolean isDriver;
 	private boolean isInitiator;
 
 	public JTATransaction(TransactionCoordinator coordinator) {
 		supercoordinator );
 		final JtaPlatform jtaPlatform = coordinator
 	}
 
 
 	protected void doBegin() {
 		.trace"begin" );
 
 		try {
 			boolean newTransaction = .getStatus() == .;
 			if ( newTransaction ) {
 				 = true;
 				.trace"Began a new JTA transaction" );
 			}
 		}
 		catch ( Exception e ) {
 		}
 	}
 
 	protected void afterTransactionBegin() {
 		final TransactionCoordinator coordinator = transactionCoordinator();
 		coordinator.pulse();
 
 		if ( !coordinator.isSynchronizationRegistered() ) {
 			 = coordinator.takeOwnership();
 		}
 
 	}
 
 	protected void beforeTransactionCommit() {
 		final TransactionCoordinator coordinator = transactionCoordinator();
 		final TransactionContext transactionContext = coordinator.getTransactionContext();
 
 		final boolean flush = ! transactionContext.isFlushModeNever() &&
 				(  || ! transactionContext.isFlushBeforeCompletionEnabled() );
 
 		if ( flush ) {
 			// if an exception occurs during flush, user must call rollback()
 			transactionContext.managedFlush();
 		}
 
 		if (  &&  ) {
 			transactionContext.beforeTransactionCompletionthis );
 		}
 
	}
	private void closeIfRequired() throws HibernateException {
		final boolean close =  &&
				transactionContext.shouldAutoClose() &&
transactionContext.isClosed();
		if ( close ) {
			transactionContext.managedClose();
		}
	}
	protected void doCommit() {
		try {
			if (  ) {
				.debug"Committed JTA UserTransaction" );
			}
		}
		catch ( Exception e ) {
			throw .jtaCommitFailede );
		}
		finally {
			 = false;
		}
	}
	protected void afterTransactionCompletion(int status) {
		if (  ) {
		}
	}
	protected void afterAfterCompletion() {
		// nothing to do
	}
	protected void beforeTransactionRollBack() {
		// nothing to do
	}
	protected void doRollback() {
		try {
			if (  ) {
				// failed commits automatically rollback the transaction per JTA spec
					.debug"Rolled back JTA UserTransaction" );
				}
			}
			else {
			}
		}
		catch ( Exception e ) {
			throw .jtaRollbackFailede );
		}
	}
	public void markRollbackOnly() {
		.trace"Marking transaction for rollback only" );
		try {
			.debug"set JTA UserTransaction to rollback only" );
		}
		catch ( SystemException e ) {
		}
	}
	}
	public boolean isInitiator() {
		return ;
	}
	public boolean isActive() throws HibernateException {
		if ( getLocalStatus() != . ) {
			return false;
		}
		final int status;
		try {
		}
		catch ( SystemException se ) {
		}
		return JtaStatusHelper.isActivestatus );
	}
	public void setTimeout(int seconds) {
		super.setTimeoutseconds );
	}
	private void applyTimeout() {
		try {
		}
		catch ( SystemException se ) {
			throw .unableToSetTimeoutsegetTimeout() );
		}
	}
	public void join() {
	}
	public void resetJoinStatus() {
	}
		return JtaStatusHelper.isActive ) ? . : .;
	}
New to GrepCode? Check out our FAQ X