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 2022/06/09 15:20:08 UTC

[isis] branch master updated: ISIS-3048: more meaningful excel export of the various markup types

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 f35b831f8c ISIS-3048: more meaningful excel export of the various markup types
f35b831f8c is described below

commit f35b831f8ca23c3f51709da0d9d7a52ce22e79aa
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jun 9 17:20:00 2022 +0200

    ISIS-3048: more meaningful excel export of the various markup types
---
 .../src/main/java/org/apache/isis/applib/value/Markup.java   | 12 +++++++++++-
 .../isis/valuetypes/asciidoc/applib/value/AsciiDoc.java      |  4 +++-
 .../isis/valuetypes/markdown/applib/value/Markdown.java      |  4 +++-
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java b/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
index 0edefac4e6..c47139f5a5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Markup.java
@@ -21,6 +21,7 @@ package org.apache.isis.applib.value;
 import java.io.Serializable;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
+import java.util.stream.Collectors;
 
 import javax.inject.Named;
 import javax.xml.bind.annotation.adapters.XmlAdapter;
@@ -29,6 +30,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import org.apache.isis.applib.IsisModuleApplib;
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.commons.internal.base._Strings;
+import org.apache.isis.commons.internal.base._Text;
 
 import lombok.EqualsAndHashCode;
 
@@ -65,7 +67,15 @@ public final class Markup implements Serializable {
 
     @Override
     public String toString() {
-        return "Markup[length="+html.length()+"]";
+        return String.format("Markup[length=%d,content=%s]",
+                html.length(), summarizeHtmlAsTitle(html));
+    }
+
+    public static String summarizeHtmlAsTitle(final String html) {
+        return _Strings.ellipsifyAtEnd(
+                _Text.normalize(_Text.getLines(html)).stream()
+                .collect(Collectors.joining(" ")),
+                255, "...");
     }
 
     public static final class JaxbToStringAdapter extends XmlAdapter<String, Markup> {
diff --git a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
index 73322e1582..9af1c1d493 100644
--- a/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
+++ b/valuetypes/asciidoc/applib/src/main/java/org/apache/isis/valuetypes/asciidoc/applib/value/AsciiDoc.java
@@ -25,6 +25,7 @@ import javax.inject.Named;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.isis.applib.IsisModuleApplib;
+import org.apache.isis.applib.value.Markup;
 import org.apache.isis.valuetypes.asciidoc.applib.jaxb.AsciiDocJaxbAdapter;
 
 import lombok.AccessLevel;
@@ -74,7 +75,8 @@ public final class AsciiDoc implements Serializable {
 
     @Override
     public String toString() {
-        return "AsciiDoc[length=" + adoc.length() + "]";
+        return String.format("AsciiDoc[length=%d,content=%s]",
+                adoc.length(), Markup.summarizeHtmlAsTitle(adoc));
     }
 
     // -- UTILITY
diff --git a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
index f16d5b520e..829fb99fc7 100644
--- a/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
+++ b/valuetypes/markdown/applib/src/main/java/org/apache/isis/valuetypes/markdown/applib/value/Markdown.java
@@ -25,6 +25,7 @@ import javax.inject.Named;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.isis.applib.IsisModuleApplib;
+import org.apache.isis.applib.value.Markup;
 import org.apache.isis.valuetypes.markdown.applib.jaxb.MarkdownJaxbAdapter;
 
 import lombok.AccessLevel;
@@ -74,7 +75,8 @@ public class Markdown implements Serializable {
 
     @Override
     public String toString() {
-        return "Markdown[length=" + markdown.length() + "]";
+        return String.format("Markdown[length=%d,content=%s]",
+                markdown.length(), Markup.summarizeHtmlAsTitle(markdown));
     }
 
 }