You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/07/21 13:17:35 UTC

jena git commit: Put commit() back inside the try-catch for original behaviour.

Repository: jena
Updated Branches:
  refs/heads/master 9d7e822ba -> a3d65142f


Put commit() back inside the try-catch for original behaviour.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/a3d65142
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/a3d65142
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/a3d65142

Branch: refs/heads/master
Commit: a3d65142f4328a277df60fa6052fec667febb47f
Parents: 9d7e822
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Jul 21 14:16:07 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Jul 21 14:16:51 2016 +0100

----------------------------------------------------------------------
 .../jena/graph/impl/TransactionHandlerBase.java  | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/a3d65142/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java b/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
index c93de1d..5f0191d 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
@@ -38,18 +38,19 @@ public abstract class TransactionHandlerBase implements TransactionHandler {
     public Object executeInTransaction(Command c) {
         begin() ;
         Object result ;
-        try { result = c.execute() ; }
-        catch (JenaException e) { abortSilent() ; throw e ; }
-        catch (Throwable e)     { abortSilent() ; throw new JenaException(e) ; }
-        
-        // If this goes wrong, propagate the exception
-        commit() ;
-        return result ;
+        try {
+            result = c.execute() ;
+            commit() ;
+            return result ;
+        }
+        catch (JenaException e) { abort(e) ; throw e ; }
+        catch (Throwable e)     { abort(e) ; throw new JenaException(e) ; }
     }
 
     /* Abort but don't let problems with the transaction system itself cause loss of the exception */ 
-    private void abortSilent() {
-        try { abort() ; } catch (Throwable th) {}
+    private void abort(Throwable e) {
+        try { abort() ; }
+        catch (Throwable th) { e.addSuppressed(th); }
     }
 }