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