Browse Source

fixed assertion message

3.0.x
Juergen Hoeller 14 years ago
parent
commit
288408e89f
  1. 39
      org.springframework.transaction/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java

39
org.springframework.transaction/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2010 the original author or authors.
* Copyright 2002-2011 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -35,25 +35,28 @@ import org.springframework.util.Assert; @@ -35,25 +35,28 @@ import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
/**
* Bean post-processor that automatically applies persistence exception
* translation to any bean that carries the
* {@link org.springframework.stereotype.Repository} annotation,
* adding a corresponding {@link PersistenceExceptionTranslationAdvisor}
* to the exposed proxy (either an existing AOP proxy or a newly generated
* proxy that implements all of the target's interfaces).
* Bean post-processor that automatically applies persistence exception translation to any
* bean marked with Spring's @{@link org.springframework.stereotype.Repository Repository}
* annotation, adding a corresponding {@link PersistenceExceptionTranslationAdvisor} to
* the exposed proxy (either an existing AOP proxy or a newly generated proxy that
* implements all of the target's interfaces).
*
* <p>Translates native resource exceptions to Spring's
* {@link org.springframework.dao.DataAccessException} hierarchy.
* {@link org.springframework.dao.DataAccessException DataAccessException} hierarchy.
* Autodetects beans that implement the
* {@link org.springframework.dao.support.PersistenceExceptionTranslator}
* interface, which are subsequently asked to translate candidate exceptions.
* {@link org.springframework.dao.support.PersistenceExceptionTranslator
* PersistenceExceptionTranslator} interface, which are subsequently asked to translate
* candidate exceptions.
*
* <p>All of Spring's applicable resource factories implement the
* <code>PersistenceExceptionTranslator</code> interface out of the box.
* As a consequence, all that is usually needed to enable automatic exception
* translation is marking all affected beans (such as DAOs) with the
* <code>Repository</code> annotation, along with defining this post-processor
* as bean in the application context.
* <p>All of Spring's applicable resource factories (e.g. {@link
* org.springframework.orm.hibernate3.LocalSessionFactoryBean LocalSessionFactoryBean},
* {@link org.springframework.orm.jpa.LocalEntityManagerFactoryBean
* LocalEntityManagerFactoryBean}) implement the {@code PersistenceExceptionTranslator}
* interface out of the box. As a consequence, all that is usually needed to enable
* automatic exception translation is marking all affected beans (such as Repositories or
* DAOs) with the {@code @Repository} annotation, along with defining this post-processor
* as a bean in the application context.
*
* @author Rod Johnson
* @author Juergen Hoeller
@ -82,7 +85,7 @@ public class PersistenceExceptionTranslationPostProcessor extends ProxyConfig @@ -82,7 +85,7 @@ public class PersistenceExceptionTranslationPostProcessor extends ProxyConfig
* @param repositoryAnnotationType the desired annotation type
*/
public void setRepositoryAnnotationType(Class<? extends Annotation> repositoryAnnotationType) {
Assert.notNull(repositoryAnnotationType, "'requiredAnnotationType' must not be null");
Assert.notNull(repositoryAnnotationType, "'repositoryAnnotationType' must not be null");
this.repositoryAnnotationType = repositoryAnnotationType;
}
@ -115,7 +118,7 @@ public class PersistenceExceptionTranslationPostProcessor extends ProxyConfig @@ -115,7 +118,7 @@ public class PersistenceExceptionTranslationPostProcessor extends ProxyConfig
// Ignore AOP infrastructure such as scoped proxies.
return bean;
}
Class targetClass = AopUtils.getTargetClass(bean);
Class<?> targetClass = AopUtils.getTargetClass(bean);
if (AopUtils.canApply(this.persistenceExceptionTranslationAdvisor, targetClass)) {
if (bean instanceof Advised) {
((Advised) bean).addAdvisor(this.persistenceExceptionTranslationAdvisor);

Loading…
Cancel
Save