You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/06/27 08:08:05 UTC

[isis] 04/04: ISIS-1960: moving TransactionServiceDefault 'metamodel' -> 'runtime'

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit ce0968e53742140577ecdd92a4d8cc3337164d15
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Jun 27 09:41:51 2018 +0200

    ISIS-1960: moving TransactionServiceDefault 'metamodel' -> 'runtime'
    
    also cleaning up 'Transaction' interface
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1960
---
 .../org/apache/isis/applib/services/xactn/Transaction.java | 14 --------------
 .../runtime}/services/xactn/TransactionServiceDefault.java |  8 ++++++--
 .../core/runtime/system/transaction/IsisTransaction.java   | 10 +++++++++-
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java b/core/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
index a9857ab..cfc7c70 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/xactn/Transaction.java
@@ -51,20 +51,6 @@ public interface Transaction extends HasTransactionId {
     @Programmatic
     void flush();
 
-    /**
-     * If the cause has been rendered higher up in the stack, then clear the cause so that
-     * it won't be picked up and rendered elsewhere.
-     *
-     * <p>
-     *     DO NOT CALL - for framework use only.
-     * </p>
-     *
-     * @deprecated - for framework use only
-     */
-    @Deprecated
-    @Programmatic
-    void clearAbortCause();
-
     @Programmatic
     TransactionState getTransactionState();
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/xactn/TransactionServiceDefault.java
similarity index 90%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
rename to core/runtime/src/main/java/org/apache/isis/core/runtime/services/xactn/TransactionServiceDefault.java
index d3ddf28..de21748 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/xactn/TransactionServiceDefault.java
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.isis.core.metamodel.services.xactn;
+package org.apache.isis.core.runtime.services.xactn;
 
 import java.util.concurrent.CountDownLatch;
 
@@ -29,6 +29,7 @@ import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.applib.services.xactn.TransactionState;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 
 @DomainService(
         nature = NatureOfService.DOMAIN,
@@ -72,7 +73,10 @@ public class TransactionServiceDefault implements TransactionService {
                 throw new IsisException("Transaction is marked to abort");
             case ALWAYS:
                 persistenceSessionServiceInternal.abortTransaction();
-                currentTransaction().clearAbortCause();
+                final Transaction currentTransaction = currentTransaction();
+                if(currentTransaction instanceof IsisTransaction) {
+                	((IsisTransaction)currentTransaction).clearAbortCause();
+                }
                 break;
             }
             break;
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
index 6ebe65d..fef3fc9 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
@@ -476,7 +476,15 @@ public class IsisTransaction implements TransactionScopedComponent, Transaction
         return abortCause;
     }
 
-    @Override
+    /**
+     * If the cause has been rendered higher up in the stack, then clear the cause so that
+     * it won't be picked up and rendered elsewhere.
+     *
+     * <p>
+     *     for framework internal use only.
+     * </p>
+     *
+     */
     public void clearAbortCause() {
         abortCause = null;
     }