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/03/28 06:49:28 UTC

[isis] branch master updated: ISIS-2573: xray: add line breaking to connection labels

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 5f6e6aa  ISIS-2573: xray: add line breaking to connection labels
5f6e6aa is described below

commit 5f6e6aa77e84ebd0f937ccd9cbe9604a132d28fa
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Mar 28 08:49:12 2021 +0200

    ISIS-2573: xray: add line breaking to connection labels
---
 .../apache/isis/commons/internal/base/_Text.java   |  2 +-
 .../publish/CommandPublisherDefault.java           |  4 +--
 .../isis/core/runtimeservices/publish/_Xray.java   | 33 +++++++++++++++++++---
 3 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/commons/src/main/java/org/apache/isis/commons/internal/base/_Text.java b/commons/src/main/java/org/apache/isis/commons/internal/base/_Text.java
index d6a9c02..4db5f78 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Text.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Text.java
@@ -355,7 +355,7 @@ public final class _Text {
         if(line.length()<=maxChars) {
             return Stream.of(line);
         }
-        val tokens = Can.ofEnumeration(new StringTokenizer(line, " .-:/", true))
+        val tokens = Can.ofEnumeration(new StringTokenizer(line, " .-:/_", true))
                 .map(String.class::cast);
         
         val constraintLines = _Lists.<String>newArrayList();
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
index f61f63e..645b377 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/CommandPublisherDefault.java
@@ -95,11 +95,11 @@ public class CommandPublisherDefault implements CommandPublisher {
                 : !command.isPublishingEnabled()
                         ? String.format(
                                 "publishing not enabled for given command\n%s",
-                                command.toString())
+                                _Xray.toText(command))
                         : command.getLogicalMemberIdentifier() == null
                                 ? String.format(
                                         "no logical-member-id for given command\n%s",
-                                        command.toString())
+                                        _Xray.toText(command))
                                 : null;
     }
     
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
index b5bccde..a2c1d2f 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/_Xray.java
@@ -21,6 +21,7 @@ package org.apache.isis.core.runtimeservices.publish;
 import java.awt.Color;
 import java.util.Optional;
 import java.util.function.Supplier;
+import java.util.stream.Collectors;
 
 import javax.annotation.Nullable;
 
@@ -33,6 +34,7 @@ import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
 import org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
 import org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber;
 import org.apache.isis.commons.collections.Can;
+import org.apache.isis.commons.internal.base._Text;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
 import org.apache.isis.core.interaction.session.InteractionTracker;
 import org.apache.isis.core.runtime.util.XrayUtil;
@@ -60,7 +62,7 @@ final class _Xray {
         val enteringLabel = canPublish 
                 ? String.format("publishing command to %d subscriber(s):\n%s", 
                         enabledSubscribers.size(),
-                        command.toString())
+                        toText(command))
                 : String.format("not publishing command:\n%s", cannotPublishReason);
         
         val handleIfAny = XrayUtil.createSequenceHandle(iaTracker, "cmd-publisher");
@@ -103,7 +105,7 @@ final class _Xray {
         val enteringLabel = canPublish
                 ? String.format("publishing execution to %d subscriber(s):\n%s", 
                         enabledSubscribers.size(),
-                        execution.toString())
+                        toText(execution))
                 : String.format("not publishing execution:\n%s", cannotPublishReason);
         
         val handleIfAny = XrayUtil.createSequenceHandle(iaTracker, "exec-publisher");
@@ -146,7 +148,7 @@ final class _Xray {
         val enteringLabel = canPublish 
                 ? String.format("publishing entity-changes to %d subscriber(s):\n%s", 
                         enabledSubscribers.size(),
-                        payload.map(Object::toString).orElse("null"))
+                        payload.map(x->toText(x)).orElse("null"))
                 : String.format("not publishing entity-changes:\n%s", cannotPublishReason);
         
         val handleIfAny = XrayUtil.createSequenceHandle(iaTracker, "ec-publisher");
@@ -189,7 +191,7 @@ final class _Xray {
         val enteringLabel = canPublish
                 ? String.format("publishing entity-property-changes to %d subscriber(s):\n%s", 
                         enabledSubscribers.size(),
-                        payload)
+                        toText(payload))
                 : String.format("not publishing entity-property-changes:\n%s", cannotPublishReason);
         
         val handleIfAny = XrayUtil.createSequenceHandle(iaTracker, "epc-publisher");
@@ -234,4 +236,27 @@ final class _Xray {
         
     }
     
+    // -- HELPER
+    
+    static String toText(Command command) {
+        return _Text.breakLines(Can.of(command.toString()), 80)
+                .stream()
+                .collect(Collectors.joining("\n "));
+    }
+    
+    static String toText(Execution<?, ?> execution) {
+        //TODO  
+        return execution.toString();
+    }
+    
+    static String toText(EntityChanges changes) {
+        //TODO  
+        return changes.toString();
+    }
+    
+    static String toText(Can<EntityPropertyChange> changes) {
+        //TODO  
+        return changes.toString();
+    }
+    
 }