This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit e09ab7d34eb91e68e4931a94c0f2c14a4c69d8b0 Author: Alex Heneveld <[email protected]> AuthorDate: Fri Apr 7 02:18:12 2023 +0100 some abbreviation for task summary with very long output even in verbose mode --- .../org/apache/brooklyn/util/core/task/BasicTask.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicTask.java b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicTask.java index 467cb188cf..fe250ee69a 100644 --- a/core/src/main/java/org/apache/brooklyn/util/core/task/BasicTask.java +++ b/core/src/main/java/org/apache/brooklyn/util/core/task/BasicTask.java @@ -658,7 +658,7 @@ public class BasicTask<T> implements TaskInternal<T> { if (verbosity >= 1) data.appendToSummary(duration); try { String v = valueGetter.call(); - data.multiLineData.add(v==null ? "No return value (null)" : "Result: "+v); + data.multiLineData.add(v==null ? "No return value (null)" : "Result: "+abbreviate(v, 512, true)); } catch (Exception e) { data.appendToSummary(", but error accessing result"); //shouldn't happen @@ -683,11 +683,15 @@ public class BasicTask<T> implements TaskInternal<T> { } private static String abbreviate(String s0) { - boolean isMultiline = Strings.isMultiLine(s0); - String s = Strings.getFirstLine(s0); - if (Strings.isBlank(s) && isMultiline) s = Strings.getFirstLine(s0.trim()); - if (s.length()>255) s = s.substring(0, 252)+ "..."; - else if (isMultiline) s = s+" ..."; + return abbreviate(s0, 255, false); + } + + private static String abbreviate(String s0, int length, boolean allowMultiLine) { + boolean isMultilineToShrink = !allowMultiLine && Strings.isMultiLine(s0); + String s = allowMultiLine ? s0 : Strings.getFirstLine(s0); + if (Strings.isBlank(s) && isMultilineToShrink) s = Strings.getFirstLine(s0.trim()); + if (s.length()>length) s = s.substring(0, length-3)+ "..."; + else if (isMultilineToShrink) s = s+" ..."; return s; }
