You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2006/10/04 23:52:17 UTC
svn commit: r453044 - in
/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa:
kernel/BrokerImpl.java util/CallbackException.java
Author: awhite
Date: Wed Oct 4 14:52:17 2006
New Revision: 453044
URL: http://svn.apache.org/viewvc?view=rev&rev=453044
Log:
When there is only one callback exception, use its error message in top-level
exception.
Modified:
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/CallbackException.java
Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java?view=diff&rev=453044&r1=453043&r2=453044
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java Wed Oct 4 14:52:17 2006
@@ -670,14 +670,20 @@
if (exceps.length == 0 || (mode & CALLBACK_IGNORE) != 0)
return;
- OpenJPAException ke = new CallbackException(_loc.get("callback-err")).
- setNestedThrowables(exceps).setFatal(true);
- if ((mode & CALLBACK_ROLLBACK) != 0 && (_flags & FLAG_ACTIVE) != 0)
+ OpenJPAException ce;
+ if (exceps.length == 1)
+ ce = new CallbackException(exceps[0]);
+ else
+ ce = new CallbackException(_loc.get("callback-err")).
+ setNestedThrowables(exceps);
+ if ((mode & CALLBACK_ROLLBACK) != 0 && (_flags & FLAG_ACTIVE) != 0) {
+ ce.setFatal(true);
setRollbackOnlyInternal();
+ }
if ((mode & CALLBACK_LOG) != 0 && _log.isWarnEnabled())
- _log.warn(ke);
+ _log.warn(ce);
if ((mode & CALLBACK_RETHROW) != 0)
- throw ke;
+ throw ce;
}
public void addTransactionListener(Object tl) {
Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/CallbackException.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/CallbackException.java?view=diff&rev=453044&r1=453043&r2=453044
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/CallbackException.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/CallbackException.java Wed Oct 4 14:52:17 2006
@@ -30,6 +30,10 @@
super(msg);
}
+ public CallbackException(Throwable cause) {
+ super(cause);
+ }
+
public int getSubtype() {
return CALLBACK;
}