You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by tj...@apache.org on 2017/02/23 22:29:24 UTC
svn commit: r1784214 - in /aries/branches/jpa-1.x:
jpa-container-advancedtestbundle/pom.xml
jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java
jpa-container-itest/pom.xml
Author: tjwatson
Date: Thu Feb 23 22:29:24 2017
New Revision: 1784214
URL: http://svn.apache.org/viewvc?rev=1784214&view=rev
Log:
Catch Throwable to avoid propagating undeclared exceptions
Modified:
aries/branches/jpa-1.x/jpa-container-advancedtestbundle/pom.xml
aries/branches/jpa-1.x/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java
aries/branches/jpa-1.x/jpa-container-itest/pom.xml
Modified: aries/branches/jpa-1.x/jpa-container-advancedtestbundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/jpa-1.x/jpa-container-advancedtestbundle/pom.xml?rev=1784214&r1=1784213&r2=1784214&view=diff
==============================================================================
--- aries/branches/jpa-1.x/jpa-container-advancedtestbundle/pom.xml (original)
+++ aries/branches/jpa-1.x/jpa-container-advancedtestbundle/pom.xml Thu Feb 23 22:29:24 2017
@@ -30,7 +30,7 @@
<groupId>org.apache.aries.jpa</groupId>
<artifactId>org.apache.aries.jpa.container.advanced.itest.bundle</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>Test Bundle for Aries JPA Container advanced iTests</name>
Modified: aries/branches/jpa-1.x/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java
URL: http://svn.apache.org/viewvc/aries/branches/jpa-1.x/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java?rev=1784214&r1=1784213&r2=1784214&view=diff
==============================================================================
--- aries/branches/jpa-1.x/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java (original)
+++ aries/branches/jpa-1.x/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/transaction/impl/JTAEntityManagerHandler.java Thu Feb 23 22:29:24 2017
@@ -1,6 +1,7 @@
package org.apache.aries.jpa.container.context.transaction.impl;
import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashSet;
@@ -188,6 +189,28 @@ public class JTAEntityManagerHandler imp
new PersistenceException(NLS.MESSAGES.getMessage("wrong.JPA.version", new Object[]{
method.getName(), delegate
}), e);
+ } catch (final Throwable tActual) {
+ Throwable t = tActual;
+
+ while (t != null && t instanceof InvocationTargetException) {
+ t = ((InvocationTargetException) t).getTargetException();
+ }
+ if (t == null) {
+ throw new PersistenceException("unknown invocation target exception", tActual);
+ }
+
+ if (t instanceof RuntimeException) {
+ throw (RuntimeException) t;
+ }
+ if (t instanceof Error) {
+ throw (Error) t;
+ }
+ for (Class<?> declaredException : method.getExceptionTypes()) {
+ if (declaredException.isAssignableFrom(t.getClass())) {
+ throw t;
+ }
+ }
+ throw new PersistenceException("unexpected un-declared exception " + tActual, tActual);
}
return res;
Modified: aries/branches/jpa-1.x/jpa-container-itest/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/jpa-1.x/jpa-container-itest/pom.xml?rev=1784214&r1=1784213&r2=1784214&view=diff
==============================================================================
--- aries/branches/jpa-1.x/jpa-container-itest/pom.xml (original)
+++ aries/branches/jpa-1.x/jpa-container-itest/pom.xml Thu Feb 23 22:29:24 2017
@@ -301,7 +301,7 @@
<dependency>
<groupId>org.apache.aries.jpa</groupId>
<artifactId>org.apache.aries.jpa.container.advanced.itest.bundle</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>