From 4d34afb67ad28e83e07cdd365c985b6fb8745ebe Mon Sep 17 00:00:00 2001 From: Tal Gitelman Date: Sun, 25 Nov 2018 11:49:39 +0200 Subject: SDC can not handle complex string in tosca yaml Issue-ID: SDC-1918 Change-Id: I86957b5d4bf0dab5ca749623efbccd6f4b535f10 Signed-off-by: Tal Gitelman --- .../openecomp/sdc/common/util/ValidationUtils.java | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'common-app-api/src/main/java/org/openecomp') diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/util/ValidationUtils.java b/common-app-api/src/main/java/org/openecomp/sdc/common/util/ValidationUtils.java index 0ee097b979..adfa457166 100644 --- a/common-app-api/src/main/java/org/openecomp/sdc/common/util/ValidationUtils.java +++ b/common-app-api/src/main/java/org/openecomp/sdc/common/util/ValidationUtils.java @@ -259,7 +259,35 @@ public class ValidationUtils { } public static String normaliseWhitespace(String str) { - return StringUtil.normaliseWhitespace(str); + StringBuilder sb = new StringBuilder(str.length()); + appendNormalisedWhitespace(sb, str, false); + return sb.toString(); + } + + private static void appendNormalisedWhitespace(StringBuilder accum, String string, boolean stripLeading) { + boolean lastWasWhite = false; + boolean reachedNonWhite = false; + + int len = string.length(); + int c; + for (int i = 0; i < len; i+= Character.charCount(c)) { + c = string.codePointAt(i); + if (isWhitespace(c)) { + if ((stripLeading && !reachedNonWhite) || lastWasWhite) + continue; + accum.append(' '); + lastWasWhite = true; + } + else { + accum.appendCodePoint(c); + lastWasWhite = false; + reachedNonWhite = true; + } + } + } + + private static boolean isWhitespace(int c){ + return c == ' '; } public static String stripOctets(String str) { -- cgit 1.2.3-korg