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

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

Introduction

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

Prototype

public void addMappingFileName(String mappingFileName) 

Source Link

Usage

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.// w  w  w  .  ja  va 2 s.  co  m
 *
 * @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:fr.paris.lutece.util.jpa.JPAPersistenceUnitPostProcessor.java

/**
 * Scans for *.orm.xml and adds Entites from classpath.
 *
 * @param pui the pui/*from   www .  java  2 s  . c o  m*/
 */
@Override
public void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo pui) {
    _Log.info("Scanning for JPA orm.xml files");

    for (File ormFile : getListORMFiles()) {
        String ormAbsolutePath = ormFile.getAbsolutePath();
        _Log.info("Found ORM file : " + ormAbsolutePath);
        pui.addMappingFileName(ormAbsolutePath.substring(ormAbsolutePath.indexOf(CLASSPATH_PATH_IDENTIFIER)));
    }

    _Log.info("Scanning for JPA entities...");

    Set<String> entityClasses = AnnotationUtil.find(Entity.class.getName());
    entityClasses.addAll(AnnotationUtil.find(Embeddable.class.getName()));
    entityClasses.addAll(AnnotationUtil.find(MappedSuperclass.class.getName()));

    for (String strClass : entityClasses) {
        _Log.info("Found entity class : " + strClass);

        if (!pui.getManagedClassNames().contains(strClass)) {
            pui.addManagedClassName(strClass);
        }
    }

    if (_Log.isDebugEnabled()) {
        dumpPersistenceUnitInfo(pui);
    }
}

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
 *//*  w  w w.  j  a  va  2s.c om*/
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 w w.  j  av  a2s  .  c o  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());
    }
}