From 6535675526d608c835f4702b2ee57799da250fbe 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 +++++++++++++++++++++- .../openecomp/sdc/common/test/CommonUtilsTest.java | 2 +- 2 files changed, 30 insertions(+), 2 deletions(-) (limited to 'common-app-api') 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) { diff --git a/common-app-api/src/test/java/org/openecomp/sdc/common/test/CommonUtilsTest.java b/common-app-api/src/test/java/org/openecomp/sdc/common/test/CommonUtilsTest.java index e59f6a061f..9806bffc5e 100644 --- a/common-app-api/src/test/java/org/openecomp/sdc/common/test/CommonUtilsTest.java +++ b/common-app-api/src/test/java/org/openecomp/sdc/common/test/CommonUtilsTest.java @@ -146,7 +146,7 @@ public class CommonUtilsTest { public void testnormaliseWhitespace() { assertEquals("goo boo", ValidationUtils.normaliseWhitespace("goo boo")); - assertEquals("goo boo ", ValidationUtils.normaliseWhitespace("goo boo ")); + assertEquals("goo boo ", ValidationUtils.normaliseWhitespace("goo boo ")); assertEquals("goo boo", ValidationUtils.normaliseWhitespace("goo boo")); } -- cgit 1.2.3-korg a>stats
blob: 8783c0334430f76d745ec055eeeb96d252786976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93