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.jpa;
  
 import java.util.List;
 import java.util.Map;
 
 
JPA PersistenceProvider implementation specific to Hibernate OGM All specific configurations are set transparently for the user.

Author(s):
Emmanuel Bernard <emmanuel@hibernate.org>
 
 public class HibernateOgmPersistence implements PersistenceProvider {
 
 
 		try {
 			Map<?, ?> integration = map == null ? Collections.emptyMap() : Collections.unmodifiableMapmap );
 
 			List<ParsedPersistenceXmlDescriptormetadataFiles = PersistenceXmlParser.locatePersistenceUnits(
 					integration
 			);
 
 			for ( ParsedPersistenceXmlDescriptor metadata : metadataFiles ) {
 				//if the provider is not set, don't use it as people might want to use Hibernate ORM
 				) ) {
 					//correct provider
 					Map<Object,ObjectprotectiveCopy = new HashMap<Object,Object>(integration);
 					enforceOgmConfigprotectiveCopy );
 							emNameprotectiveCopy
 					);
 					if ( coreEMF != null ) {
 						//delegate might return null to refuse the configuration
 						//(like when the configuration file is not defining the expected persistent unit)
 						return new OgmEntityManagerFactorycoreEMF );
 					}
 				}
 			}
 
 			//not the right provider
 			return null;
 		}
 		catch (PersistenceException pe) {
 			throw pe;
 		}
 		catch (Exception e) {
 			throw new PersistenceException"Unable to build EntityManagerFactory"e );
 		}
 	}
 
 	private void enforceOgmConfig(Map<Object,Objectmap) {
 		//we use a placeholder DS to make sure, Hibernate EntityManager (Ejb3Configuration) does not enforce a different connection provider
 		map.put."---PlaceHolderDSForOGM---" );
 		map.put."true" ); //needed to guarantee the table id generator mapping
 		map.put."true" );
 		HibernateSearchIntegration.resetPropertiesmap );
 	}
 
 		final String persistenceProviderClassName = info.getPersistenceProviderClassName();
 		if ( persistenceProviderClassName == null || .equalspersistenceProviderClassName ) ) {
			Map<Object,ObjectprotectiveCopy = map != null ? new HashMap<Object,Object>(map) : new HashMap<Object,Object>();
			enforceOgmConfigprotectiveCopy );
			//HEM only builds an EntityManagerFactory when HibernatePersistence.class.getName() is the PersistenceProvider
			//that's why we override it when
			//new DelegatorPersistenceUnitInfo(info)
							info
					),
					protectiveCopy
			);
			if ( coreEMF != null ) {
				//delegate might return null to refuse the configuration
				//(like when the configuration file is not defining the expected persistent unit)
				return new OgmEntityManagerFactorycoreEMF );
			}
		}
		//not the right provider
		return null;
	}
	}
	public void generateSchema(PersistenceUnitInfo infoMap map) {
		throw new IllegalStateException"Hibernate OGM does not support schema generation" );
	}
	public boolean generateSchema(String persistenceUnitNameMap map) {
		throw new IllegalStateException"Hibernate OGM does not support schema generation" );
	}
New to GrepCode? Check out our FAQ X