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;
  
  import java.util.Map;
 
Use OgmTransactionFactory as the default value if no TransactionFactory is set.

Author(s):
Emmanuel Bernard <emmanuel@hibernate.org>
 
 @SuppressWarnings("rawtypes")
 
 
 	private static final Log log = LoggerFactory.make();
 
 		return TransactionFactory.class;
 	}
 
 	public TransactionFactory<?> initiateService(Map configurationValuesServiceRegistryImplementor registry) {
 		TransactionFactory<?> transactionFactory = null;
 
 		// if there is a explicitly set transaction factory let ORM instantiate it
 		if ( hasExplicitNonJPAResourceLocalTransactionFactoryconfigurationValues ) ) {
 			transactionFactory = ..initiateServiceconfigurationValuesregistry );
 		}
 		else {
 			// if the strategy is not explicitly set or resource local we decide based on the dialect
 			DatastoreProvider datastoreProvider = registry.getServiceDatastoreProvider.class );
 			boolean emulateTransactions;
 			if ( datastoreProvider.allowsTransactionEmulation() ) {
 				// for resource local transaction type where the datastore does not support transactions
 				// it is enough to simulate transaction. In this case transactions are just used to scope a unit
 				// of work and to make sure that the appropriate flush event occurs
 				emulateTransactions = true;
 			}
 			else {
 				emulateTransactions = false;
 			}
 			transactionFactory = new OgmTransactionFactoryemulateTransactions );
 		}
 
 		ErrorHandler errorHandler = getErrorHandlerconfigurationValuesregistry );
 		return errorHandler == null ? transactionFactory : getErrorHandlerEnabledFactoryregistrytransactionFactoryerrorHandler );
 	}
 
 	private ErrorHandler getErrorHandler(Map<?, ?> configurationValuesServiceRegistryImplementor registry) {
 		ConfigurationPropertyReader propertyReader = new ConfigurationPropertyReaderconfigurationValuesregistry.getServiceClassLoaderService.class ) );
 
 		return propertyReader.property.ErrorHandler.class )
 				.getValue();
 	}
 
 	private TransactionFactory<?> getErrorHandlerEnabledFactory(ServiceRegistryImplementor registryTransactionFactory<?> transactionFactoryErrorHandler errorHandler) {
 		JtaPlatform jtaPlatform = null;
 
 		if ( transactionFactory.compatibleWithJtaSynchronization() ) {
 			jtaPlatform = registry.getServiceJtaPlatform.class );
 		}
 
 		return new ErrorHandlerEnabledTransactionDecoratorFactoryerrorHandlertransactionFactoryjtaPlatform );
 	}
 
 	private boolean hasExplicitNonJPAResourceLocalTransactionFactory(Map configurationValues) {
 		final Object strategy = configurationValues.get. );
 		return strategy != null && !isResourceLocalTransactionTypestrategy );
 	}
 
 	private boolean isResourceLocalTransactionType(Object strategy) {
 		return JdbcTransactionFactory.class.getName().equalsstrategy ) || JdbcTransactionFactory.class.equals(
 				strategy
 		);
 	}
New to GrepCode? Check out our FAQ X