Skip to content

Commit 40133b7

Browse files
committed
open-api: checkstyle upgrade
1 parent 19e0a64 commit 40133b7

File tree

4 files changed

+47
-33
lines changed

4 files changed

+47
-33
lines changed

modules/jooby-openapi/src/main/java/io/jooby/internal/openapi/javadoc/ClassDoc.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.puppycrawl.tools.checkstyle.DetailAstImpl;
1616
import com.puppycrawl.tools.checkstyle.api.DetailAST;
1717
import com.puppycrawl.tools.checkstyle.api.DetailNode;
18-
import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes;
18+
import com.puppycrawl.tools.checkstyle.api.JavadocCommentsTokenTypes;
1919
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
2020
import com.puppycrawl.tools.checkstyle.utils.TokenUtil;
2121
import io.swagger.v3.oas.models.info.Contact;
@@ -63,15 +63,18 @@ public List<License> getLicense() {
6363

6464
public String getVersion() {
6565
return tree(javadoc)
66-
.filter(javadocToken(JavadocTokenTypes.VERSION_LITERAL))
66+
.filter(javadocToken(JavadocCommentsTokenTypes.VERSION_BLOCK_TAG))
6767
.findFirst()
6868
.flatMap(
6969
version ->
7070
tree(version.getParent())
71-
.filter(javadocToken(JavadocTokenTypes.DESCRIPTION))
71+
.filter(javadocToken(JavadocCommentsTokenTypes.DESCRIPTION))
7272
.findFirst()
7373
.flatMap(
74-
it -> tree(it).filter(javadocToken(JavadocTokenTypes.TEXT)).findFirst())
74+
it ->
75+
tree(it)
76+
.filter(javadocToken(JavadocCommentsTokenTypes.TEXT))
77+
.findFirst())
7578
.map(DetailNode::getText))
7679
.orElse(null);
7780
}
@@ -95,26 +98,26 @@ private void defaultRecordMembers() {
9598
JavaDocTag.javaDocTag(
9699
javadoc,
97100
tag -> {
98-
var isParam = tree(tag).anyMatch(javadocToken(JavadocTokenTypes.PARAM_LITERAL));
101+
var isParam = tree(tag).anyMatch(javadocToken(JavadocCommentsTokenTypes.PARAM_BLOCK_TAG));
99102
var name =
100103
tree(tag)
101-
.filter(javadocToken(JavadocTokenTypes.PARAMETER_NAME))
104+
.filter(javadocToken(JavadocCommentsTokenTypes.PARAMETER_NAME))
102105
.findFirst()
103106
.orElse(null);
104107
return isParam && name != null;
105108
},
106109
(tag, value) -> {
107110
var name =
108111
tree(tag)
109-
.filter(javadocToken(JavadocTokenTypes.PARAMETER_NAME))
112+
.filter(javadocToken(JavadocCommentsTokenTypes.PARAMETER_NAME))
110113
.findFirst()
111114
.orElse(null);
112115
// name is never null bc previous filter
113116
Objects.requireNonNull(name, "name is null");
114117
/* Virtual Field */
115118
var memberDoc =
116119
tree(tag)
117-
.filter(javadocToken(JavadocTokenTypes.DESCRIPTION))
120+
.filter(javadocToken(JavadocCommentsTokenTypes.DESCRIPTION))
118121
.findFirst()
119122
.orElse(EMPTY_NODE);
120123
var field =

modules/jooby-openapi/src/main/java/io/jooby/internal/openapi/javadoc/JavaDocNode.java

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
import com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser;
1616
import com.puppycrawl.tools.checkstyle.api.DetailAST;
1717
import com.puppycrawl.tools.checkstyle.api.DetailNode;
18-
import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes;
18+
import com.puppycrawl.tools.checkstyle.api.JavadocCommentsTokenTypes;
1919
import com.puppycrawl.tools.checkstyle.utils.JavadocUtil;
2020
import io.swagger.v3.oas.models.tags.Tag;
2121

2222
public class JavaDocNode {
2323
private static final Predicate<DetailNode> JAVADOC_TAG =
24-
javadocToken(JavadocTokenTypes.JAVADOC_TAG);
24+
javadocToken(JavadocCommentsTokenTypes.JAVADOC_BLOCK_TAG);
2525

2626
protected final JavaDocParser context;
2727
protected final DetailAST node;
@@ -44,7 +44,7 @@ protected JavaDocNode(JavaDocParser ctx, DetailAST node, DetailNode javadoc) {
4444
static DetailNode toJavaDocNode(DetailAST node) {
4545
return node == EMPTY_AST
4646
? EMPTY_NODE
47-
: new JavadocDetailNodeParser().parseJavadocAsDetailNode(node).getTree();
47+
: new JavadocDetailNodeParser().parseJavadocComment(node).getTree();
4848
}
4949

5050
public DetailAST getNode() {
@@ -58,7 +58,7 @@ public Map<String, Object> getExtensions() {
5858
public String getSummary() {
5959
var builder = new StringBuilder();
6060
for (var node : forward(javadoc, JAVADOC_TAG).toList()) {
61-
if (node.getType() == JavadocTokenTypes.TEXT) {
61+
if (node.getType() == JavadocCommentsTokenTypes.TEXT) {
6262
var text = node.getText();
6363
var trimmed = text.trim();
6464
if (trimmed.isEmpty()) {
@@ -68,7 +68,7 @@ public String getSummary() {
6868
} else {
6969
builder.append(text);
7070
}
71-
} else if (node.getType() == JavadocTokenTypes.NEWLINE && !builder.isEmpty()) {
71+
} else if (node.getType() == JavadocCommentsTokenTypes.NEWLINE && !builder.isEmpty()) {
7272
break;
7373
}
7474
var index = builder.indexOf(".");
@@ -132,16 +132,16 @@ protected static String getText(List<DetailNode> nodes, boolean stripLeading) {
132132
var visited = new HashSet<DetailNode>();
133133
for (var node : nodes) {
134134
if (visited.add(node)) {
135-
if (node.getType() == JavadocTokenTypes.TEXT) {
135+
if (node.getType() == JavadocCommentsTokenTypes.TEXT) {
136136
var text = node.getText();
137137
if (stripLeading && Character.isWhitespace(text.charAt(0))) {
138138
builder.append(' ').append(text.stripLeading());
139139
} else {
140140
builder.append(text);
141141
}
142-
} else if (node.getType() == JavadocTokenTypes.NEWLINE) {
143-
var next = JavadocUtil.getNextSibling(node);
144-
if (next != null && next.getType() != JavadocTokenTypes.LEADING_ASTERISK) {
142+
} else if (node.getType() == JavadocCommentsTokenTypes.NEWLINE) {
143+
var next = JavadocUtil.getNextSibling(node, JavadocCommentsTokenTypes.LEADING_ASTERISK);
144+
if (next != null) { // && next.getType() != JavadocCommentsTokenTypes.LEADING_ASTERISK) {
145145
builder.append(next.getText());
146146
visited.add(next);
147147
}
@@ -159,7 +159,7 @@ protected static String toString(DetailNode node) {
159159
new DetailNode() {
160160
@Override
161161
public int getType() {
162-
return 0;
162+
return JavadocCommentsTokenTypes.JAVADOC_CONTENT;
163163
}
164164

165165
@Override
@@ -177,19 +177,29 @@ public int getColumnNumber() {
177177
return 0;
178178
}
179179

180+
// @Override
181+
// public DetailNode[] getChildren() {
182+
// return new DetailNode[0];
183+
// }
184+
180185
@Override
181-
public DetailNode[] getChildren() {
182-
return new DetailNode[0];
186+
public DetailNode getParent() {
187+
return null;
183188
}
184189

185190
@Override
186-
public DetailNode getParent() {
191+
public DetailNode getNextSibling() {
187192
return null;
188193
}
189194

190195
@Override
191-
public int getIndex() {
192-
return JavadocTokenTypes.TEXT;
196+
public DetailNode getFirstChild() {
197+
return null;
198+
}
199+
200+
@Override
201+
public DetailNode getPreviousSibling() {
202+
return null;
193203
}
194204
};
195205

modules/jooby-openapi/src/main/java/io/jooby/internal/openapi/javadoc/JavaDocStream.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
import com.puppycrawl.tools.checkstyle.api.DetailAST;
1515
import com.puppycrawl.tools.checkstyle.api.DetailNode;
16-
import com.puppycrawl.tools.checkstyle.utils.JavadocUtil;
1716

1817
public final class JavaDocStream {
1918

@@ -205,7 +204,7 @@ static ASTNode<DetailAST> ast(DetailAST node) {
205204

206205
static ASTNode<DetailNode> javadoc(DetailNode node) {
207206
return ast(
208-
node, DetailNode::getParent, JavadocUtil::getFirstChild, JavadocUtil::getNextSibling);
207+
node, DetailNode::getParent, DetailNode::getFirstChild, DetailNode::getNextSibling);
209208
}
210209

211210
static <N> ASTNode<N> ast(

modules/jooby-openapi/src/main/java/io/jooby/internal/openapi/javadoc/JavaDocTag.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.stream.Stream;
1818

1919
import com.puppycrawl.tools.checkstyle.api.DetailNode;
20+
import com.puppycrawl.tools.checkstyle.api.JavadocCommentsTokenTypes;
2021
import com.puppycrawl.tools.checkstyle.api.JavadocTokenTypes;
2122
import io.jooby.SneakyThrows.Consumer2;
2223
import io.jooby.SneakyThrows.Consumer3;
@@ -30,7 +31,7 @@
3031

3132
public class JavaDocTag {
3233
private static final Predicate<DetailNode> CUSTOM_TAG =
33-
javadocToken(JavadocTokenTypes.CUSTOM_NAME);
34+
javadocToken(JavadocCommentsTokenTypes.CUSTOM_BLOCK_TAG);
3435
private static final Predicate<DetailNode> TAG_SHORT =
3536
CUSTOM_TAG.and(it -> it.getText().equals("@tag"));
3637
private static final Predicate<DetailNode> TAG =
@@ -261,23 +262,23 @@ public static Map<StatusCode, ResponseExt> throwList(DetailNode node) {
261262
(tag, text) -> {
262263
var statusCode =
263264
tree(tag)
264-
.filter(javadocToken(JavadocTokenTypes.DESCRIPTION))
265+
.filter(javadocToken(JavadocCommentsTokenTypes.DESCRIPTION))
265266
.findFirst()
266267
.flatMap(
267268
it ->
268269
tree(it)
269-
.filter(javadocToken(JavadocTokenTypes.HTML_TAG_NAME))
270+
.filter(javadocToken(JavadocCommentsTokenTypes.HTML_TAG_START))
270271
.filter(tagName -> tagName.getText().equals("code"))
271272
.flatMap(
272273
tagName ->
273274
backward(tagName)
274-
.filter(javadocToken(JavadocTokenTypes.HTML_TAG))
275+
.filter(javadocToken(JavadocCommentsTokenTypes.TAG_NAME))
275276
.findFirst()
276277
.stream())
277278
.flatMap(
278279
htmlTag ->
279280
children(htmlTag)
280-
.filter(javadocToken(JavadocTokenTypes.TEXT))
281+
.filter(javadocToken(JavadocCommentsTokenTypes.TEXT))
281282
.findFirst()
282283
.stream())
283284
.map(DetailNode::getText)
@@ -355,15 +356,16 @@ public static void javaDocTag(
355356
Predicate<DetailNode> filter,
356357
Consumer3<DetailNode, DetailNode, String> consumer) {
357358
if (tree != JavaDocNode.EMPTY_NODE) {
358-
for (var tag : tree(tree).filter(javadocToken(JavadocTokenTypes.JAVADOC_TAG)).toList()) {
359+
for (var tag :
360+
tree(tree).filter(javadocToken(JavadocCommentsTokenTypes.JAVADOC_BLOCK_TAG)).toList()) {
359361
var tagName = tree(tag).filter(filter).findFirst().orElse(null);
360362
if (tagName != null) {
361363
var tagValue =
362364
tree(tag)
363-
.filter(javadocToken(JavadocTokenTypes.DESCRIPTION))
365+
.filter(javadocToken(JavadocCommentsTokenTypes.DESCRIPTION))
364366
.findFirst()
365367
.orElse(null);
366-
var tagText = tagValue == null ? null : getText(List.of(tagValue.getChildren()), true);
368+
var tagText = tagValue == null ? null : getText(List.of(), true);
367369
consumer.accept(tagName, tagValue, tagText);
368370
}
369371
}

0 commit comments

Comments
 (0)