From db84692cd7d8e44678fb8a588b6992b6e1847d34 Mon Sep 17 00:00:00 2001 From: jm041977 Date: Mon, 4 Apr 2022 14:47:13 -0700 Subject: [PATCH 1/4] added docletenvironment as a parameter to DocProcessor functions --- .../jersey/wadl/doclet/DocProcessor.java | 10 +++++++--- .../jersey/wadl/doclet/DocProcessorWrapper.java | 15 +++++++++------ .../jersey/wadl/doclet/ResourceDoclet.java | 6 +++--- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java index 3f10dc8cb1..f68e581bfa 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java @@ -16,6 +16,7 @@ package org.glassfish.jersey.wadl.doclet; +import jdk.javadoc.doclet.DocletEnvironment; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.ClassDocType; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.MethodDocType; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.ParamDocType; @@ -59,8 +60,9 @@ public interface DocProcessor { * @param classDoc the class javadoc * @param classDocType the {@link ClassDocType} to extend. This will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the doclet environment used to process the classDoc */ - void processClassDoc(TypeElement classDoc, ClassDocType classDocType); + void processClassDoc(TypeElement classDoc, ClassDocType classDocType, DocletEnvironment docEnv); /** * Process the provided methodDoc and add your custom information to the methodDocType.
@@ -68,8 +70,9 @@ public interface DocProcessor { * @param methodDoc the {@link ExecutableElement} representing the docs of your method. * @param methodDocType the related {@link MethodDocType} that will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the doclet environment used to process the classDoc */ - void processMethodDoc(ExecutableElement methodDoc, MethodDocType methodDocType); + void processMethodDoc(ExecutableElement methodDoc, MethodDocType methodDocType, DocletEnvironment docEnv); /** * Use this method to extend the provided {@link ParamDocType} with the information from the @@ -78,7 +81,8 @@ public interface DocProcessor { * @param parameter the parameter (that is documented or not) * @param paramDocType the {@link ParamDocType} to extend. This will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the doclet environment used to process the classDoc */ - void processParamTag(VariableElement parameter, ParamDocType paramDocType); + void processParamTag(VariableElement parameter, ParamDocType paramDocType, DocletEnvironment docEnv); } diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java index aa3e28dfdb..bfa3ee7064 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.util.List; +import jdk.javadoc.doclet.DocletEnvironment; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.ClassDocType; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.MethodDocType; import org.glassfish.jersey.server.wadl.internal.generators.resourcedoc.model.ParamDocType; @@ -74,25 +75,27 @@ public String[] getCDataElements() { } @Override - public void processClassDoc(TypeElement classDoc, ClassDocType classDocType) { + public void processClassDoc(TypeElement classDoc, ClassDocType classDocType, DocletEnvironment docEnv) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processClassDoc(classDoc, classDocType); + docProcessor.processClassDoc(classDoc, classDocType, docEnv); } } @Override public void processMethodDoc(ExecutableElement methodDoc, - MethodDocType methodDocType) { + MethodDocType methodDocType, + DocletEnvironment docEnv) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processMethodDoc(methodDoc, methodDocType); + docProcessor.processMethodDoc(methodDoc, methodDocType, docEnv); } } @Override public void processParamTag(VariableElement parameter, - ParamDocType paramDocType) { + ParamDocType paramDocType, + DocletEnvironment docEnv) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processParamTag(parameter, paramDocType); + docProcessor.processParamTag(parameter, paramDocType, docEnv); } } diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java index 944413f53b..bb3c082c42 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java @@ -157,7 +157,7 @@ public boolean run(DocletEnvironment docEnv) { ClassDocType classDocType = new ClassDocType(); classDocType.setClassName(element.getQualifiedName().toString()); classDocType.setCommentText(getComments(docCommentTree)); - docProcessor.processClassDoc(element, classDocType); + docProcessor.processClassDoc(element, classDocType, docEnv); for (ExecutableElement method : ElementFilter.methodsIn(element.getEnclosedElements())) { Map> tags = getTags(docTrees.getDocCommentTree(method)); MethodTree methodTree = docTrees.getTree(method); @@ -172,7 +172,7 @@ public boolean run(DocletEnvironment docEnv) { arguments.append(parameter.asType()).append(COMA); if (paramDocType != null) { methodDocType.getParamDocs().add(paramDocType); - docProcessor.processParamTag(parameter, paramDocType); + docProcessor.processParamTag(parameter, paramDocType, docEnv); } } // Remove last comma if there are parameters @@ -181,7 +181,7 @@ public boolean run(DocletEnvironment docEnv) { } arguments.append(")"); methodDocType.setMethodSignature(arguments.toString()); - docProcessor.processMethodDoc(method, methodDocType); + docProcessor.processMethodDoc(method, methodDocType, docEnv); methodDocType.setRequestDoc(buildRequestDocType(tags)); methodDocType.setResponseDoc(buildResponseDocType(tags)); classDocType.getMethodDocs().add(methodDocType); From 6ede63ba338cb913f0f96cdc8b6fa5e599c09b52 Mon Sep 17 00:00:00 2001 From: jm041977 Date: Mon, 4 Apr 2022 14:48:32 -0700 Subject: [PATCH 2/4] updated copyright --- .../java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java | 2 +- .../org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java | 2 +- .../java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java index f68e581bfa..dbc0402edf 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java index bfa3ee7064..af3d7f1b33 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java index bb3c082c42..a6ec4a55eb 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at From 35760e0e88caa69677fd7b4fc052b2f7e48a108e Mon Sep 17 00:00:00 2001 From: jm041977 Date: Mon, 11 Apr 2022 09:49:49 -0700 Subject: [PATCH 3/4] deprecated old process methods, added new process methods with doclet environment --- .../jersey/wadl/doclet/DocProcessor.java | 50 ++++++++++++++++--- .../wadl/doclet/DocProcessorWrapper.java | 41 +++++++++++---- .../jersey/wadl/doclet/ResourceDoclet.java | 6 +-- 3 files changed, 79 insertions(+), 18 deletions(-) diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java index dbc0402edf..36f620cce2 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java @@ -60,9 +60,9 @@ public interface DocProcessor { * @param classDoc the class javadoc * @param classDocType the {@link ClassDocType} to extend. This will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. - * @param docEnv the doclet environment used to process the classDoc */ - void processClassDoc(TypeElement classDoc, ClassDocType classDocType, DocletEnvironment docEnv); + @Deprecated + void processClassDoc(TypeElement classDoc, ClassDocType classDocType); /** * Process the provided methodDoc and add your custom information to the methodDocType.
@@ -70,9 +70,9 @@ public interface DocProcessor { * @param methodDoc the {@link ExecutableElement} representing the docs of your method. * @param methodDocType the related {@link MethodDocType} that will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. - * @param docEnv the doclet environment used to process the classDoc */ - void processMethodDoc(ExecutableElement methodDoc, MethodDocType methodDocType, DocletEnvironment docEnv); + @Deprecated + void processMethodDoc(ExecutableElement methodDoc, MethodDocType methodDocType); /** * Use this method to extend the provided {@link ParamDocType} with the information from the @@ -81,8 +81,46 @@ public interface DocProcessor { * @param parameter the parameter (that is documented or not) * @param paramDocType the {@link ParamDocType} to extend. This will later be processed by the * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. - * @param docEnv the doclet environment used to process the classDoc */ - void processParamTag(VariableElement parameter, ParamDocType paramDocType, DocletEnvironment docEnv); + @Deprecated + void processParamTag(VariableElement parameter, ParamDocType paramDocType); + + /** + * Use this method to extend the provided {@link ClassDocType} with the information from + * the given {@link TypeElement}. + * + * @param classDoc the class javadoc + * @param classDocType the {@link ClassDocType} to extend. This will later be processed by the + * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the doclet environment used to extract info from classDoc + */ + default void processClassDocWithDocEnv(TypeElement classDoc, ClassDocType classDocType, DocletEnvironment docEnv) { + processClassDoc(classDoc, classDocType); + } + + /** + * Process the provided methodDoc and add your custom information to the methodDocType.
+ * + * @param methodDoc the {@link ExecutableElement} representing the docs of your method. + * @param methodDocType the related {@link MethodDocType} that will later be processed by the + * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the doclet environment used to extract info from methodDoc + */ + default void processMethodDocWithDocEnv(ExecutableElement methodDoc, MethodDocType methodDocType, DocletEnvironment docEnv) { + processMethodDoc(methodDoc, methodDocType); + } + + /** + * Use this method to extend the provided {@link ParamDocType} with the information from the + * given {@link ParamTag} and {@link Parameter}. + * + * @param parameter the parameter (that is documented or not) + * @param paramDocType the {@link ParamDocType} to extend. This will later be processed by the + * {@link org.glassfish.jersey.server.wadl.WadlGenerator}s. + * @param docEnv the Doclet Environment used to extract info from parameter + */ + default void processParamTagWithDocEnv(VariableElement parameter, ParamDocType paramDocType, DocletEnvironment docEnv) { + processParamTag(parameter, paramDocType); + } } diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java index af3d7f1b33..03407dba02 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessorWrapper.java @@ -27,7 +27,6 @@ import javax.lang.model.element.TypeElement; import javax.lang.model.element.ExecutableElement; -import com.sun.source.doctree.ParamTree; import javax.lang.model.element.VariableElement; public class DocProcessorWrapper implements DocProcessor { @@ -75,28 +74,52 @@ public String[] getCDataElements() { } @Override - public void processClassDoc(TypeElement classDoc, ClassDocType classDocType, DocletEnvironment docEnv) { + public void processClassDoc(TypeElement classDoc, ClassDocType classDocType) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processClassDoc(classDoc, classDocType, docEnv); + docProcessor.processClassDoc(classDoc, classDocType); } } @Override public void processMethodDoc(ExecutableElement methodDoc, - MethodDocType methodDocType, - DocletEnvironment docEnv) { + MethodDocType methodDocType) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processMethodDoc(methodDoc, methodDocType, docEnv); + docProcessor.processMethodDoc(methodDoc, methodDocType); } } @Override public void processParamTag(VariableElement parameter, - ParamDocType paramDocType, - DocletEnvironment docEnv) { + ParamDocType paramDocType) { for (DocProcessor docProcessor : _docProcessors) { - docProcessor.processParamTag(parameter, paramDocType, docEnv); + docProcessor.processParamTag(parameter, paramDocType); } } + @Override + public void processClassDocWithDocEnv(TypeElement classDoc, + ClassDocType classDocType, + DocletEnvironment docEnv) { + for (DocProcessor docProcessor : _docProcessors) { + docProcessor.processClassDocWithDocEnv(classDoc, classDocType, docEnv); + } + } + + @Override + public void processMethodDocWithDocEnv(ExecutableElement methodDoc, + MethodDocType methodDocType, + DocletEnvironment docEnv) { + for (DocProcessor docProcessor : _docProcessors) { + docProcessor.processMethodDocWithDocEnv(methodDoc, methodDocType, docEnv); + } + } + + @Override + public void processParamTagWithDocEnv(VariableElement parameter, + ParamDocType paramDocType, + DocletEnvironment docEnv) { + for (DocProcessor docProcessor : _docProcessors) { + docProcessor.processParamTagWithDocEnv(parameter, paramDocType, docEnv); + } + } } diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java index a6ec4a55eb..64e24f42c9 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/ResourceDoclet.java @@ -157,7 +157,7 @@ public boolean run(DocletEnvironment docEnv) { ClassDocType classDocType = new ClassDocType(); classDocType.setClassName(element.getQualifiedName().toString()); classDocType.setCommentText(getComments(docCommentTree)); - docProcessor.processClassDoc(element, classDocType, docEnv); + docProcessor.processClassDocWithDocEnv(element, classDocType, docEnv); for (ExecutableElement method : ElementFilter.methodsIn(element.getEnclosedElements())) { Map> tags = getTags(docTrees.getDocCommentTree(method)); MethodTree methodTree = docTrees.getTree(method); @@ -172,7 +172,7 @@ public boolean run(DocletEnvironment docEnv) { arguments.append(parameter.asType()).append(COMA); if (paramDocType != null) { methodDocType.getParamDocs().add(paramDocType); - docProcessor.processParamTag(parameter, paramDocType, docEnv); + docProcessor.processParamTagWithDocEnv(parameter, paramDocType, docEnv); } } // Remove last comma if there are parameters @@ -181,7 +181,7 @@ public boolean run(DocletEnvironment docEnv) { } arguments.append(")"); methodDocType.setMethodSignature(arguments.toString()); - docProcessor.processMethodDoc(method, methodDocType, docEnv); + docProcessor.processMethodDocWithDocEnv(method, methodDocType, docEnv); methodDocType.setRequestDoc(buildRequestDocType(tags)); methodDocType.setResponseDoc(buildResponseDocType(tags)); classDocType.getMethodDocs().add(methodDocType); From 71872babcbb724e147c723944f33870865f8895b Mon Sep 17 00:00:00 2001 From: jm041977 Date: Mon, 11 Apr 2022 09:52:53 -0700 Subject: [PATCH 4/4] updated javadoc --- .../java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java index 36f620cce2..feb1f4331f 100644 --- a/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java +++ b/ext/wadl-doclet/src/main/java12/org/glassfish/jersey/wadl/doclet/DocProcessor.java @@ -112,7 +112,7 @@ default void processMethodDocWithDocEnv(ExecutableElement methodDoc, MethodDocTy /** * Use this method to extend the provided {@link ParamDocType} with the information from the - * given {@link ParamTag} and {@link Parameter}. + * given {@link VariableElement}. * * @param parameter the parameter (that is documented or not) * @param paramDocType the {@link ParamDocType} to extend. This will later be processed by the