Bug 7064: yang-to-source error on description 58/48058/1
authorMartin Ciglan <mciglan@cisco.com>
Mon, 7 Nov 2016 13:27:54 +0000 (14:27 +0100)
committerMartin Ciglan <mciglan@cisco.com>
Mon, 7 Nov 2016 14:09:46 +0000 (14:09 +0000)
Existing logic of formatToParagraph() method doesn't expect a case
when very first text sequence is longer than 80 characters
and crashes in wrong condition branch. This has been fixed and tested
for various inputs.

Change-Id: Iefeb2b4063335561f3277c3ee40b3d9a46c418dc
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend

index 409b1266c2c3b946b1bb9a8bd70456e775e06423..c729af79e0fa47bf1f3a1d0b476275e2f9af5b99 100644 (file)
@@ -305,10 +305,10 @@ abstract class BaseTemplate {
 
         val StringTokenizer tokenizer = new StringTokenizer(formattedText, " ", true);
 
-        while(tokenizer.hasMoreElements) {
+        while (tokenizer.hasMoreElements) {
             val nextElement = tokenizer.nextElement.toString
 
-            if(lineBuilder.length + nextElement.length > 80) {
+            if (lineBuilder.length != 0 && lineBuilder.length + nextElement.length > 80) {
                 if (lineBuilder.charAt(lineBuilder.length - 1) == ' ') {
                     lineBuilder.setLength(0)
                     lineBuilder.append(lineBuilder.substring(0, lineBuilder.length - 1))
@@ -327,7 +327,7 @@ abstract class BaseTemplate {
                 }
             }
 
-            if(isFirstElementOnNewLineEmptyChar) {
+            if (isFirstElementOnNewLineEmptyChar) {
                 isFirstElementOnNewLineEmptyChar = !isFirstElementOnNewLineEmptyChar
             }