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