Example usage for org.springframework.dao.support ChainedPersistenceExceptionTranslator ChainedPersistenceExceptionTranslator

List of usage examples for org.springframework.dao.support ChainedPersistenceExceptionTranslator ChainedPersistenceExceptionTranslator

Introduction

In this page you can find the example usage for org.springframework.dao.support ChainedPersistenceExceptionTranslator ChainedPersistenceExceptionTranslator.

Prototype

ChainedPersistenceExceptionTranslator

Source Link

Usage

From source file:org.kuali.rice.krad.data.jpa.JpaPersistenceProvider.java

/**
 * Gets any {@link PersistenceExceptionTranslator}s from the {@link BeanFactory}.
 *
 * @param beanFactory The {@link BeanFactory} to use.
 *
 * @return A {@link PersistenceExceptionTranslator} from the {@link BeanFactory}.
 *///from   w  w  w  . j  a  va2s .co  m
protected PersistenceExceptionTranslator detectPersistenceExceptionTranslators(
        ListableBeanFactory beanFactory) {
    // Find all translators, being careful not to activate FactoryBeans.
    Map<String, PersistenceExceptionTranslator> pets = BeanFactoryUtils
            .beansOfTypeIncludingAncestors(beanFactory, PersistenceExceptionTranslator.class, false, false);
    ChainedPersistenceExceptionTranslator cpet = new ChainedPersistenceExceptionTranslator();
    for (PersistenceExceptionTranslator pet : pets.values()) {
        cpet.addDelegate(pet);
    }
    // always add one last persistence exception translator as a catch all
    cpet.addDelegate(new DefaultPersistenceExceptionTranslator());
    return cpet;
}