Moved over JPA exception translator from Roo
This commit is contained in:
parent
2c0cf49b94
commit
66261ecb8c
|
|
@ -16,5 +16,6 @@
|
||||||
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-1.6.5.RELEASE.jar" sourcepath="/IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.5.RELEASE.jar"/>
|
<classpathentry kind="var" path="IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-1.6.5.RELEASE.jar" sourcepath="/IVY_CACHE/org.aspectj/com.springsource.org.aspectj.weaver/1.6.5.RELEASE/com.springsource.org.aspectj.weaver-sources-1.6.5.RELEASE.jar"/>
|
||||||
<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-4.7.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-sources-4.7.0.jar"/>
|
<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-4.7.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-sources-4.7.0.jar"/>
|
||||||
<classpathentry kind="var" path="IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-1.0.0.jar" sourcepath="/IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-sources-1.0.0.jar"/>
|
<classpathentry kind="var" path="IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-1.0.0.jar" sourcepath="/IVY_CACHE/javax.persistence/com.springsource.javax.persistence/1.0.0/com.springsource.javax.persistence-sources-1.0.0.jar"/>
|
||||||
|
<classpathentry combineaccessrules="false" kind="src" path="/org.springframework.orm"/>
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
<include file="${spring.build.dir}/common/default-ivy-configurations.xml"/>
|
<include file="${spring.build.dir}/common/default-ivy-configurations.xml"/>
|
||||||
<conf name="aspectj" extends="runtime" description="JARs needed to run with AspectJ"/>
|
<conf name="aspectj" extends="runtime" description="JARs needed to run with AspectJ"/>
|
||||||
<conf name="tx" extends="runtime" description="JARs needed to run transactional aspects"/>
|
<conf name="tx" extends="runtime" description="JARs needed to run transactional aspects"/>
|
||||||
|
<conf name="orm" extends="runtime" description="JARs needed to compile JPA aspects"/>
|
||||||
</configurations>
|
</configurations>
|
||||||
|
|
||||||
<publications>
|
<publications>
|
||||||
|
|
@ -25,6 +26,7 @@
|
||||||
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.5.RELEASE" conf="optional, aspectj->compile"/>
|
<dependency org="org.aspectj" name="com.springsource.org.aspectj.weaver" rev="1.6.5.RELEASE" conf="optional, aspectj->compile"/>
|
||||||
<dependency org="org.springframework" name="org.springframework.beans" rev="latest.integration" conf="test->compile"/>
|
<dependency org="org.springframework" name="org.springframework.beans" rev="latest.integration" conf="test->compile"/>
|
||||||
<dependency org="org.springframework" name="org.springframework.transaction" rev="latest.integration" conf="optional, tx->compile"/>
|
<dependency org="org.springframework" name="org.springframework.transaction" rev="latest.integration" conf="optional, tx->compile"/>
|
||||||
|
<dependency org="org.springframework" name="org.springframework.orm" rev="latest.integration" conf="optional,orm->compile"/>
|
||||||
<dependency org="org.springframework" name="org.springframework.test" rev="latest.integration" conf="test->runtime"/>
|
<dependency org="org.springframework" name="org.springframework.test" rev="latest.integration" conf="test->runtime"/>
|
||||||
<dependency org="org.springframework" name="org.springframework.context" rev="latest.integration" conf="test->runtime"/>
|
<dependency org="org.springframework" name="org.springframework.context" rev="latest.integration" conf="test->runtime"/>
|
||||||
<dependency org="org.springframework" name="org.springframework.context.support" rev="latest.integration" conf="test->runtime"/>
|
<dependency org="org.springframework" name="org.springframework.context.support" rev="latest.integration" conf="test->runtime"/>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
package org.springframework.orm.jpa.aspectj;
|
||||||
|
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.EntityManagerFactory;
|
||||||
|
import javax.persistence.EntityTransaction;
|
||||||
|
import javax.persistence.Query;
|
||||||
|
|
||||||
|
import org.springframework.dao.DataAccessException;
|
||||||
|
import org.springframework.orm.jpa.EntityManagerFactoryUtils;
|
||||||
|
|
||||||
|
public aspect JpaExceptionTranslatorAspect {
|
||||||
|
pointcut entityManagerCall(): call(* EntityManager.*(..)) || call(* EntityManagerFactory.*(..)) || call(* EntityTransaction.*(..)) || call(* Query.*(..));
|
||||||
|
|
||||||
|
after() throwing(RuntimeException re): entityManagerCall() {
|
||||||
|
DataAccessException dex = EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(re);
|
||||||
|
if (dex != null) {
|
||||||
|
throw dex;
|
||||||
|
} else {
|
||||||
|
throw re;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,9 @@ Import-Template:
|
||||||
org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
|
org.apache.commons.logging.*;version="[1.1.1, 2.0.0)",
|
||||||
org.aspectj.*;version="[1.5.4, 2.0.0)";resolution:=optional,
|
org.aspectj.*;version="[1.5.4, 2.0.0)";resolution:=optional,
|
||||||
org.springframework.beans.*;version="[3.0.0, 3.0.1)",
|
org.springframework.beans.*;version="[3.0.0, 3.0.1)",
|
||||||
org.springframework.transaction.*;version="[3.0.0, 3.0.1)";resolution:=optional
|
org.springframework.transaction.*;version="[3.0.0, 3.0.1)";resolution:=optional,
|
||||||
|
org.springframework.orm.jpa.*;version="[3.0.0, 3.0.1)";resolution:=optional,
|
||||||
|
org.springframework.dao.*;version="[3.0.0, 3.0.1)";resolution:=optional
|
||||||
Ignored-Existing-Headers:
|
Ignored-Existing-Headers:
|
||||||
Bnd-LastModified,
|
Bnd-LastModified,
|
||||||
Import-Package,
|
Import-Package,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue