Example usage for org.springframework.orm.jpa.persistenceunit MutablePersistenceUnitInfo addJarFileUrl

List of usage examples for org.springframework.orm.jpa.persistenceunit MutablePersistenceUnitInfo addJarFileUrl

Introduction

In this page you can find the example usage for org.springframework.orm.jpa.persistenceunit MutablePersistenceUnitInfo addJarFileUrl.

Prototype

public void addJarFileUrl(URL jarFileUrl) 

Source Link

Usage

From source file:com.hmed.config.MultiConfigAwarePersistenceUnitManager.java

/**
 * Copies a persistence unit to another one. Takes care of copying both
 * managed classes and urls./*from w  ww .  ja v  a2s  .  com*/
 *
 * @param from the persistence unit to copy
 * @param to the target (copied) persistence unit
 */
protected void copyPersistenceUnit(MutablePersistenceUnitInfo from, MutablePersistenceUnitInfo to) {
    // Copy jar file urls
    for (URL url : from.getJarFileUrls()) {
        to.addJarFileUrl(url);
    }
    for (String s : from.getManagedClassNames()) {
        to.addManagedClassName(s);
    }
}

From source file:net.ggtools.maven.ddlgenerator.MultiConfigAwarePersistenceUnitManager.java

/**
 * Copies a persistence unit to another one. Takes care of copying both
 * managed classes and urls.//from  ww  w. j a  va2s  .com
 *
 * @param from the persistence unit to copy
 * @param to   the target (copied) persistence unit
 */
protected void copyPersistenceUnit(MutablePersistenceUnitInfo from, MutablePersistenceUnitInfo to) {
    for (String s : from.getMappingFileNames()) {
        to.addMappingFileName(s);
    }
    for (String s : from.getManagedClassNames()) {
        to.addManagedClassName(s);
    }
    // Copy jar file urls
    for (URL url : from.getJarFileUrls()) {
        to.addJarFileUrl(url);
    }
}

From source file:com.hmed.config.MultiConfigAwarePersistenceUnitManager.java

protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {
    super.postProcessPersistenceUnitInfo(pui);

    // This our template persistence unit that we are post-processing
    // so let's just skip.
    if (isApplicationPersistenceUnit(pui)) {
        return;//from   w  w  w  .jav  a 2s.  c  om
    }

    final MutablePersistenceUnitInfo mainPui = getMainPersistenceUnitInfo(pui);

    if (strict) {
        pui.addJarFileUrl(pui.getPersistenceUnitRootUrl());
    }

    if (mainPui != null) {
        if (strict) {
            if (logger.isDebugEnabled()) {
                logger.debug("Merging existing jar file urls " + mainPui.getJarFileUrls()
                        + " to persistence unit [" + pui.getPersistenceUnitName() + "]");
            }
            copyPersistenceUnit(mainPui, pui);
            if (logger.isDebugEnabled()) {
                logger.debug("Persistence unit[" + pui.getPersistenceUnitName() + "] has now "
                        + "the following jar file urls " + pui.getJarFileUrls() + "");
            }
        } else {
            if (logger.isDebugEnabled()) {
                logger.debug("Merging information from [" + pui.getPersistenceUnitName() + "] " + "to ["
                        + mainPui.getPersistenceUnitName() + "]");
            }
            mergePersistenceUnit(pui, mainPui);
            if (logger.isDebugEnabled()) {
                logger.debug("Persistence unit[" + mainPui.getPersistenceUnitName() + "] has now "
                        + "the following jar file urls " + mainPui.getJarFileUrls() + "");
            }
        }
    } else if (!pui.getPersistenceUnitName().equals(persistenceUnitName)) {
        logger.debug("Adding persistence unit [" + pui.getPersistenceUnitName() + "] as is (no merging)");
    }
}

From source file:net.ggtools.maven.ddlgenerator.MultiConfigAwarePersistenceUnitManager.java

/**
 * {@inheritDoc}./*from   w w  w . j a  v  a2 s . co  m*/
 */
@Override
protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {
    super.postProcessPersistenceUnitInfo(pui);

    // This our template persistence unit that we are post-processing
    // so let's just skip.
    if (isApplicationPersistenceUnit(pui)) {
        return;
    }

    final MutablePersistenceUnitInfo mainPui = getMainPersistenceUnitInfo(pui);

    if (strict) {
        pui.addJarFileUrl(pui.getPersistenceUnitRootUrl());
    }

    if (mainPui != null) {
        if (strict) {
            if (log.isDebugEnabled()) {
                log.debug("Merging existing jar file urls " + mainPui.getJarFileUrls()
                        + " to persistence unit [" + pui.getPersistenceUnitName() + "]");
            }
            copyPersistenceUnit(mainPui, pui);
            if (log.isDebugEnabled()) {
                log.debug("Persistence unit[" + pui.getPersistenceUnitName() + "] has now "
                        + "the following jar file urls " + pui.getJarFileUrls() + "");
            }
        } else {
            if (log.isDebugEnabled()) {
                log.debug("Merging information from [" + pui.getPersistenceUnitName() + "] " + "to ["
                        + mainPui.getPersistenceUnitName() + "]");
            }
            mergePersistenceUnit(pui, mainPui);
            if (log.isDebugEnabled()) {
                log.debug("Persistence unit[" + mainPui.getPersistenceUnitName() + "] has now "
                        + "the following jar file urls " + mainPui.getJarFileUrls());
            }
        }
    } else if (!pui.getPersistenceUnitName().equals(persistenceUnitName)) {
        log.debug("Adding persistence unit [" + pui.getPersistenceUnitName() + "] as is (no merging)");
    }
}

From source file:com.hmed.config.MultiConfigAwarePersistenceUnitManager.java

/**
 * Merges a persistence unit to another one. Takes care of handling both
 * managed classes and urls. If the persistence unit has managed classes,
 * only merge these and prevents scanning. If no managed classes are
 * available, add the url of the module for entity scanning.
 *
 * @param from the persistence unit to handle
 * @param to the target (merged) persistence unit
 *///w  w  w  . jav a 2 s .  c  om
protected void mergePersistenceUnit(MutablePersistenceUnitInfo from, MutablePersistenceUnitInfo to) {
    if (from.getManagedClassNames().size() != 0) {
        for (String s : from.getManagedClassNames()) {
            if (logger.isDebugEnabled()) {
                logger.debug("Adding entity [" + s + "]");
            }
            to.addManagedClassName(s);
        }
        if (logger.isDebugEnabled()) {
            logger.debug("Added [" + from.getManagedClassNames().size() + "] managed classes to "
                    + "persistence unit[" + to.getPersistenceUnitName() + "]");
        }
    } else {
        to.addJarFileUrl(from.getPersistenceUnitRootUrl());
        if (logger.isDebugEnabled()) {
            logger.debug("Added [" + from.getPersistenceUnitRootUrl() + "] for entity scanning "
                    + "to persistence unit[" + to.getPersistenceUnitName() + "]");
        }
    }
}

From source file:net.ggtools.maven.ddlgenerator.MultiConfigAwarePersistenceUnitManager.java

/**
 * Merges a persistence unit to another one. Takes care of handling both
 * managed classes and urls. If the persistence unit has managed classes,
 * only merge these and prevents scanning. If no managed classes are
 * available, add the url of the module for entity scanning.
 *
 * @param from the persistence unit to handle
 * @param to   the target (merged) persistence unit
 *//*from w ww.  ja  va  2  s. co  m*/
protected void mergePersistenceUnit(MutablePersistenceUnitInfo from, MutablePersistenceUnitInfo to) {
    if (from.getMappingFileNames().size() != 0) {
        for (String s : from.getMappingFileNames()) {
            if (log.isDebugEnabled()) {
                log.debug("Adding entity [" + s + "]");
            }
            to.addMappingFileName(s);
        }
        if (log.isDebugEnabled()) {
            log.debug("Added [" + from.getMappingFileNames().size() + "] mapping file to " + "persistence unit["
                    + to.getPersistenceUnitName() + "]");
        }
    } else if (from.getManagedClassNames().size() != 0) {
        for (String s : from.getManagedClassNames()) {
            if (log.isDebugEnabled()) {
                log.debug("Adding entity [" + s + "]");
            }
            to.addManagedClassName(s);
        }
        if (log.isDebugEnabled()) {
            log.debug("Added [" + from.getManagedClassNames().size() + "] managed classes to "
                    + "persistence unit[" + to.getPersistenceUnitName() + "]");
        }
    } else {
        to.addJarFileUrl(from.getPersistenceUnitRootUrl());
        if (log.isDebugEnabled()) {
            log.debug("Added [" + from.getPersistenceUnitRootUrl() + "] for entity scanning "
                    + "to persistence unit[" + to.getPersistenceUnitName() + "]");
        }
    }
}

From source file:org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.java

@Override
protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo newPU) {
    super.postProcessPersistenceUnitInfo(newPU);
    ConfigurationOnlyState state = ConfigurationOnlyState.getState();
    String persistenceUnitName = newPU.getPersistenceUnitName();
    MutablePersistenceUnitInfo pui = getMergedUnit(persistenceUnitName, newPU);

    List<String> managedClassNames = newPU.getManagedClassNames();
    for (String managedClassName : managedClassNames) {
        if (!pui.getManagedClassNames().contains(managedClassName)) {
            pui.addManagedClassName(managedClassName);
        }//w  ww  .  jav a  2  s . co  m
    }
    List<String> mappingFileNames = newPU.getMappingFileNames();
    for (String mappingFileName : mappingFileNames) {
        if (!pui.getMappingFileNames().contains(mappingFileName)) {
            pui.addMappingFileName(mappingFileName);
        }
    }
    pui.setExcludeUnlistedClasses(newPU.excludeUnlistedClasses());
    for (URL url : newPU.getJarFileUrls()) {
        // Avoid duplicate class scanning by Ejb3Configuration. Do not re-add the URL to the list of jars for this
        // persistence unit or duplicate the persistence unit root URL location (both types of locations are scanned)
        if (!pui.getJarFileUrls().contains(url) && !pui.getPersistenceUnitRootUrl().equals(url)) {
            pui.addJarFileUrl(url);
        }
    }
    if (pui.getProperties() == null) {
        pui.setProperties(newPU.getProperties());
    } else {
        Properties props = newPU.getProperties();
        if (props != null) {
            for (Object key : props.keySet()) {
                pui.getProperties().put(key, props.get(key));
                for (BroadleafClassTransformer transformer : classTransformers) {
                    try {
                        transformer.compileJPAProperties(props, key);
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }
            }
        }
    }
    if (state == null || !state.isConfigurationOnly()) {
        if (newPU.getJtaDataSource() != null) {
            pui.setJtaDataSource(newPU.getJtaDataSource());
        }
        if (newPU.getNonJtaDataSource() != null) {
            pui.setNonJtaDataSource(newPU.getNonJtaDataSource());
        }
    } else {
        pui.getProperties().setProperty("hibernate.hbm2ddl.auto", "none");
        pui.getProperties().setProperty("hibernate.temp.use_jdbc_metadata_defaults", "false");
    }
    pui.setTransactionType(newPU.getTransactionType());
    if (newPU.getPersistenceProviderClassName() != null) {
        pui.setPersistenceProviderClassName(newPU.getPersistenceProviderClassName());
    }
    if (newPU.getPersistenceProviderPackageName() != null) {
        pui.setPersistenceProviderPackageName(newPU.getPersistenceProviderPackageName());
    }
}