From a8b003b020b613387e23777a9c3a041de5846ca6 Mon Sep 17 00:00:00 2001 From: BoykoAlex Date: Mon, 21 Nov 2016 19:09:03 -0500 Subject: [PATCH] Corrections for type region in html and tests for no javadoc comment --- .../commons/javadoc/HtmlJavadocProvider.java | 9 ++- .../javadoc/internal/JavadocContents.java | 31 +++++--- .../vscode/commons/maven/JavaIndexTest.java | 73 ++++++++++++++++++- .../src/main/java/hello/Application.java | 2 + .../main/java/hello/GreetingController.java | 2 +- 5 files changed, 97 insertions(+), 20 deletions(-) diff --git a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java index 4adb55985..2b5761742 100644 --- a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java +++ b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/HtmlJavadocProvider.java @@ -22,7 +22,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { public IJavadoc getJavadoc(IType type) { try { JavadocContents javadocContents = findHtml(type); - return new HtmlJavadoc(javadocContents.getTypeDoc(type)); + String html = javadocContents == null ? null : javadocContents.getTypeDoc(type); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; @@ -34,7 +35,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { try { IType declaringType = field.getDeclaringType(); JavadocContents javadocContents = findHtml(declaringType); - return new HtmlJavadoc(javadocContents.getFieldDoc(field)); + String html = javadocContents == null ? null : javadocContents.getFieldDoc(field); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; @@ -46,7 +48,8 @@ public class HtmlJavadocProvider implements IJavadocProvider { try { IType declaringType = method.getDeclaringType(); JavadocContents javadocContents = findHtml(declaringType); - return new HtmlJavadoc(javadocContents.getMethodDoc(method)); + String html = javadocContents == null ? null : javadocContents.getMethodDoc(method); + return html == null ? null : new HtmlJavadoc(html); } catch (Exception e) { Log.log(e); return null; diff --git a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java index 8d9dcd589..80296589e 100644 --- a/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java +++ b/vscode-extensions/commons/commons-java/src/main/java/org/springframework/ide/vscode/commons/javadoc/internal/JavadocContents.java @@ -207,7 +207,7 @@ public class JavadocContents { int javadocStart = indexOfEndLink + JavadocConstants.ANCHOR_SUFFIX_LENGTH; int javadocEnd = indexOfNextElement == -1 ? indexOfBottom : Math.min(indexOfNextElement, indexOfBottom); - range = sanitizeRange(new int[]{javadocStart, javadocEnd}); + range = sanitizeRange(new int[]{javadocStart, javadocEnd}, "ul", "li"); } else { // the anchor has no suffix range = UNKNOWN_FORMAT; @@ -240,7 +240,7 @@ public class JavadocContents { // we take the end of class data final int indexOfStartOfClassData = CharOperation.indexOf(JavadocConstants.START_OF_CLASS_DATA, this.content, false); this.indexOfEndOfClassData = CharOperation.indexOf(JavadocConstants.END_OF_CLASS_DATA, this.content, false, lastIndex); - int[] classDataRange = sanitizeRange(new int[] { indexOfStartOfClassData + JavadocConstants.START_OF_CLASS_DATA.length, indexOfEndOfClassData}); + int[] classDataRange = sanitizeRange(new int[] { indexOfStartOfClassData + JavadocConstants.START_OF_CLASS_DATA.length, indexOfEndOfClassData}, "ul", "li", "div"); this.indexOfEndOfClassData = classDataRange[1]; // try to find the field detail end @@ -257,14 +257,14 @@ public class JavadocContents { this.indexOfAllMethodsBottom = this.indexOfEndOfClassData; // Get rid of possible