org.broadleafcommerce.common.extensibility.jpa
Class MergePersistenceUnitManager

java.lang.Object
  extended by org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
      extended by org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, org.springframework.context.ResourceLoaderAware, org.springframework.context.weaving.LoadTimeWeaverAware, org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager

public class MergePersistenceUnitManager
extends org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

Merges jars, class names and mapping file names from several persistence.xml files. The MergePersistenceUnitManager will continue to keep track of individual persistence unit names (including individual data sources). When a specific PersistenceUnitInfo is requested by unit name, the appropriate PersistenceUnitInfo is returned with modified jar files urls, class names and mapping file names that include the comprehensive collection of these values from all persistence.xml files.

Author:
jfischer, jjacobs

Field Summary
protected  List<BroadleafClassTransformer> classTransformers
           
protected  boolean jpa2ApiPresent
           
protected  HashMap<String,javax.persistence.spi.PersistenceUnitInfo> mergedPus
           
 
Fields inherited from class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
DEFAULT_PERSISTENCE_XML_LOCATION, ORIGINAL_DEFAULT_PERSISTENCE_UNIT_ROOT_LOCATION
 
Constructor Summary
MergePersistenceUnitManager()
           
 
Method Summary
 List<BroadleafClassTransformer> getClassTransformers()
           
protected  javax.persistence.spi.PersistenceUnitInfo getMergedUnit(String persistenceUnitName, org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo newPU)
           
 javax.persistence.spi.PersistenceUnitInfo obtainDefaultPersistenceUnitInfo()
           
 javax.persistence.spi.PersistenceUnitInfo obtainPersistenceUnitInfo(String persistenceUnitName)
           
protected  void postProcessPersistenceUnitInfo(org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo newPU)
           
 void preparePersistenceUnitInfos()
           
 void setClassTransformers(List<BroadleafClassTransformer> classTransformers)
           
 
Methods inherited from class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager
afterPropertiesSet, getDataSourceLookup, getDefaultDataSource, getLoadTimeWeaver, getPersistenceUnitInfo, getPersistenceUnitPostProcessors, setDataSourceLookup, setDataSources, setDefaultDataSource, setDefaultPersistenceUnitRootLocation, setLoadTimeWeaver, setPersistenceUnitPostProcessors, setPersistenceXmlLocation, setPersistenceXmlLocations, setResourceLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mergedPus

protected HashMap<String,javax.persistence.spi.PersistenceUnitInfo> mergedPus

jpa2ApiPresent

protected final boolean jpa2ApiPresent

classTransformers

protected List<BroadleafClassTransformer> classTransformers
Constructor Detail

MergePersistenceUnitManager

public MergePersistenceUnitManager()
Method Detail

getMergedUnit

protected javax.persistence.spi.PersistenceUnitInfo getMergedUnit(String persistenceUnitName,
                                                                  org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo newPU)

preparePersistenceUnitInfos

public void preparePersistenceUnitInfos()
Overrides:
preparePersistenceUnitInfos in class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

postProcessPersistenceUnitInfo

protected void postProcessPersistenceUnitInfo(org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo newPU)
Overrides:
postProcessPersistenceUnitInfo in class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

obtainPersistenceUnitInfo

public javax.persistence.spi.PersistenceUnitInfo obtainPersistenceUnitInfo(String persistenceUnitName)
Specified by:
obtainPersistenceUnitInfo in interface org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager
Overrides:
obtainPersistenceUnitInfo in class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

obtainDefaultPersistenceUnitInfo

public javax.persistence.spi.PersistenceUnitInfo obtainDefaultPersistenceUnitInfo()
Specified by:
obtainDefaultPersistenceUnitInfo in interface org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager
Overrides:
obtainDefaultPersistenceUnitInfo in class org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager

getClassTransformers

public List<BroadleafClassTransformer> getClassTransformers()

setClassTransformers

public void setClassTransformers(List<BroadleafClassTransformer> classTransformers)


Copyright © 2012. All Rights Reserved.