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 2021/04/02 13:40:39 UTC

[isis] branch master updated: ISIS-2573: more simplifications to EntityChangeTracking (2)

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


The following commit(s) were added to refs/heads/master by this push:
     new d17631c  ISIS-2573: more simplifications to EntityChangeTracking (2)
d17631c is described below

commit d17631c37cb64aa4d971addadd60b702c81787ec
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Apr 2 15:40:25 2021 +0200

    ISIS-2573: more simplifications to EntityChangeTracking (2)
---
 .../changetracking/EntityChangeTrackerDefault.java |  3 ++-
 .../core/transaction/changetracking/_Xray.java     | 27 ++++++++++++++++++++++
 .../jdo/JdoEntityPropertyChangePublishingTest.java |  1 +
 3 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/EntityChangeTrackerDefault.java b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/EntityChangeTrackerDefault.java
index 184f2d6..9c392bf 100644
--- a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/EntityChangeTrackerDefault.java
+++ b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/EntityChangeTrackerDefault.java
@@ -181,6 +181,7 @@ implements
     @EventListener(value = TransactionBeforeCompletionEvent.class)
     public void onTransactionCompleting(TransactionBeforeCompletionEvent event) {
         try {
+            _Xray.publish(interactionContextProvider, authenticationContextProvider);
             doPublish();
         } finally {
             postPublishing();    
@@ -267,7 +268,7 @@ implements
             final ManagedObject entity,
             final Consumer<_PropertyChangeRecord> fun) {
 
-        log.debug("enlist entity's property changes for auditing {}", entity);
+        log.debug("enlist entity's property changes for publishing {}", entity);
 
         entity.getSpecification().streamProperties(MixedIn.EXCLUDED)
         .filter(property->!property.isNotPersisted())
diff --git a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/_Xray.java b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/_Xray.java
index 8c3f11a..0748cbf 100644
--- a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/_Xray.java
+++ b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/_Xray.java
@@ -31,6 +31,31 @@ import lombok.val;
 
 final class _Xray {
 
+    public static void publish(
+            final Provider<InteractionContext> iaContextProvider,
+            final Provider<AuthenticationContext> authContextProvider) {
+        
+        if(!XrayUi.isXrayEnabled()) {
+            return;
+        }
+        
+        val enteringLabel = String.format("do publish");
+        
+        XrayUtil.createSequenceHandle(iaContextProvider.get(), authContextProvider.get(), "ec-tracker")
+        .ifPresent(handle->{
+            
+            handle.submit(sequenceData->{
+                
+                sequenceData.alias("ec-tracker", "EntityChange-\nTracker-\n(Default)");
+                
+                val callee = handle.getCallees().getFirstOrFail();
+                sequenceData.enter(handle.getCaller(), callee, enteringLabel);
+                //sequenceData.activate(callee);
+            });
+            
+        });
+    }
+    
     public static void enlistCreated(
             final ManagedObject entity, 
             final Provider<InteractionContext> iaContextProvider,
@@ -108,6 +133,8 @@ final class _Xray {
         });
 
     }
+
+
     
 
 }
diff --git a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoEntityPropertyChangePublishingTest.java b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoEntityPropertyChangePublishingTest.java
index 0ae78fd..18624bd 100644
--- a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoEntityPropertyChangePublishingTest.java
+++ b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoEntityPropertyChangePublishingTest.java
@@ -54,6 +54,7 @@ import lombok.val;
                 "logging.level.org.apache.isis.applib.services.publishing.log.*=DEBUG",
                 "logging.level.org.apache.isis.testdomain.util.rest.KVStoreForTesting=DEBUG",
                 "logging.level.org.apache.isis.persistence.jdo.integration.changetracking.JdoLifecycleListener=DEBUG",
+                "logging.level.org.apache.isis.core.transaction.changetracking.EntityChangeTrackerDefault=DEBUG",
         })
 @TestPropertySource({
     IsisPresets.UseLog4j2Test