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;
}