You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/09/16 07:55:46 UTC
[camel] 02/02: CAMEL-15478: Cleanup
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch api
in repository https://gitbox.apache.org/repos/asf/camel.git
commit e81d5b57cdde7d1b65943a4099b647ff9ae29227
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Sep 16 09:55:08 2020 +0200
CAMEL-15478: Cleanup
---
.../maven/AbstractApiMethodGeneratorMojo.java | 4 +-
.../maven/JavaSourceApiMethodGeneratorMojo.java | 14 ++--
.../org/apache/camel/maven/JavaSourceParser.java | 92 +++++++++++++---------
.../org/apache/camel/maven/SignatureModel.java | 20 ++---
.../apache/camel/maven/JavaSourceParserTest.java | 47 +++++------
5 files changed, 98 insertions(+), 79 deletions(-)
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
index 704994f..72a7e46 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java
@@ -100,10 +100,10 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa
method = StringHelper.after(method, " ");
}
if (method != null) {
- parameters.put(method, model.getParameters());
+ parameters.put(method, model.getParameterDescriptions());
}
parser.getDescriptions().put(method, model.getMethodDescription());
- parser.addSignatureArguments(model.getSignature(), model.getArguments());
+ parser.addSignatureArguments(model.getSignature(), model.getParameterTypes());
}
parser.setSignatures(signatures);
parser.setParameters(parameters);
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceApiMethodGeneratorMojo.java
index 3e3628a..06b877b 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceApiMethodGeneratorMojo.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceApiMethodGeneratorMojo.java
@@ -102,7 +102,7 @@ public class JavaSourceApiMethodGeneratorMojo extends AbstractApiMethodGenerator
}
// get public method signature
- for (String method : parser.getMethods()) {
+ for (String method : parser.getMethodSignatures()) {
if (!result.containsKey(method)
&& (includeMethodPatterns == null || includeMethodPatterns.matcher(method).find())
&& (excludeMethodPatterns == null || !excludeMethodPatterns.matcher(method).find())) {
@@ -112,14 +112,14 @@ public class JavaSourceApiMethodGeneratorMojo extends AbstractApiMethodGenerator
int whitespace = method.indexOf(' ');
int leftBracket = method.indexOf('(');
String name = method.substring(whitespace + 1, leftBracket);
+
SignatureModel model = new SignatureModel();
- model.setApiDescription(parser.getApiDescription());
model.setSignature(method);
- model.setMethodDescription(parser.getMethodDescriptions().get(name));
- Map<String, String> params = parser.getParameters().get(name);
- model.setParameters(params);
- Map<String, String> args = parser.getSignaturesArguments().get(signature);
- model.setArguments(args);
+ model.setApiDescription(parser.getClassDoc());
+ model.setMethodDescription(parser.getMethodDocs().get(name));
+ model.setParameterDescriptions(parser.getParameterDocs().get(name));
+ model.setParameterTypes(parser.getParameterTypes().get(signature));
+
result.put(method, model);
}
}
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
index dbc3fa0..b351636 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/JavaSourceParser.java
@@ -49,13 +49,13 @@ public class JavaSourceParser {
private static final Logger LOG = LoggerFactory.getLogger(JavaSourceParser.class);
- private List<String> methods = new ArrayList<>();
- private Map<String, String> methodText = new HashMap<>();
- private Map<String, Map<String, String>> parameters = new LinkedHashMap<>();
- private Map<String, Map<String, String>> signaturesArguments = new LinkedHashMap<>();
private String errorMessage;
- private String apiDescription;
- private final Map<String, String> methodDescriptions = new HashMap<>();
+
+ private String classDoc;
+ private List<String> methodSignatures = new ArrayList<>();
+ private final Map<String, String> methodDocs = new HashMap<>();
+ private Map<String, Map<String, String>> parameterTypes = new LinkedHashMap<>();
+ private Map<String, Map<String, String>> parameterDocs = new LinkedHashMap<>();
@SuppressWarnings("unchecked")
public synchronized void parse(InputStream in, String innerClass) throws Exception {
@@ -75,14 +75,14 @@ public class JavaSourceParser {
String rawClass = clazz.toUnformattedString();
String doc = getClassJavadocRaw(clazz, rawClass);
- apiDescription = sanitizeJavaDocValue(doc, true);
- if (apiDescription == null || apiDescription.isEmpty()) {
+ classDoc = sanitizeJavaDocValue(doc, true);
+ if (classDoc == null || classDoc.isEmpty()) {
rawClass = rootClazz.toUnformattedString();
doc = getClassJavadocRaw(rootClazz, rawClass);
- apiDescription = sanitizeJavaDocValue(doc, true);
+ classDoc = sanitizeJavaDocValue(doc, true);
}
- if (apiDescription != null && apiDescription.indexOf('.') > 0) {
- apiDescription = StringHelper.before(apiDescription, ".");
+ if (classDoc != null && classDoc.indexOf('.') > 0) {
+ classDoc = StringHelper.before(classDoc, ".");
}
List<MethodSource> ml = ((MethodHolderSource) clazz).getMethods();
@@ -103,7 +103,7 @@ public class JavaSourceParser {
doc = StringHelper.before(doc, ".");
}
if (doc != null && !doc.isEmpty()) {
- methodDescriptions.put(ms.getName(), doc);
+ methodDocs.put(ms.getName(), doc);
}
String result = resolveParameterizedType(rootClazz, clazz, ms, null, ms.getReturnType());
@@ -137,17 +137,16 @@ public class JavaSourceParser {
}
sb.append(")");
- Map<String, String> existing = parameters.get(ms.getName());
+ Map<String, String> existing = parameterDocs.get(ms.getName());
if (existing != null) {
existing.putAll(docs);
} else {
- parameters.put(ms.getName(), docs);
+ parameterDocs.put(ms.getName(), docs);
}
String signature = sb.toString();
- methods.add(signature);
- signaturesArguments.put(signature, args);
- methodText.put(ms.getName(), signature);
+ methodSignatures.add(signature);
+ parameterTypes.put(signature, args);
}
}
@@ -431,40 +430,59 @@ public class JavaSourceParser {
}
public void reset() {
- methods.clear();
- methodText.clear();
- parameters.clear();
- signaturesArguments.clear();
- methodDescriptions.clear();
+ methodSignatures.clear();
+ parameterDocs.clear();
+ parameterTypes.clear();
+ methodDocs.clear();
errorMessage = null;
- apiDescription = null;
+ classDoc = null;
}
+ /**
+ * Contains the error message if parsing failed
+ */
public String getErrorMessage() {
return errorMessage;
}
- public List<String> getMethods() {
- return methods;
- }
-
- public Map<String, Map<String, String>> getSignaturesArguments() {
- return signaturesArguments;
+ /**
+ * Contains all the method signatures, such as: public String addUser(int userId, String name)
+ */
+ public List<String> getMethodSignatures() {
+ return methodSignatures;
}
- public Map<String, String> getMethodText() {
- return methodText;
+ /**
+ * Parameter types for every method
+ *
+ * The key is the method signature, the inner map has key = parameter name, value = parameter type
+ */
+ public Map<String, Map<String, String>> getParameterTypes() {
+ return parameterTypes;
}
- public Map<String, Map<String, String>> getParameters() {
- return parameters;
+ /**
+ * Documentation for every method and their arguments (parameters).
+ *
+ * The key is the method name, the inner map has key = parameter name, value = documentation
+ */
+ public Map<String, Map<String, String>> getParameterDocs() {
+ return parameterDocs;
}
- public String getApiDescription() {
- return apiDescription;
+ /**
+ * Documentation for the class (api description)
+ */
+ public String getClassDoc() {
+ return classDoc;
}
- public Map<String, String> getMethodDescriptions() {
- return methodDescriptions;
+ /**
+ * Documentation for every method
+ *
+ * The key is the method name, the value is the documentation
+ */
+ public Map<String, String> getMethodDocs() {
+ return methodDocs;
}
}
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/SignatureModel.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/SignatureModel.java
index cdc2c87..c623884 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/SignatureModel.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/SignatureModel.java
@@ -27,8 +27,8 @@ public class SignatureModel {
private String apiDescription;
private String methodDescription;
private String signature;
- private Map<String, String> parameters;
- private Map<String, String> arguments;
+ private Map<String, String> parameterDescriptions;
+ private Map<String, String> parameterTypes;
public String getApiName() {
return apiName;
@@ -62,19 +62,19 @@ public class SignatureModel {
this.signature = signature;
}
- public Map<String, String> getParameters() {
- return parameters;
+ public Map<String, String> getParameterDescriptions() {
+ return parameterDescriptions;
}
- public void setParameters(Map<String, String> parameters) {
- this.parameters = parameters;
+ public void setParameterDescriptions(Map<String, String> parameterDescriptions) {
+ this.parameterDescriptions = parameterDescriptions;
}
- public Map<String, String> getArguments() {
- return arguments;
+ public Map<String, String> getParameterTypes() {
+ return parameterTypes;
}
- public void setArguments(Map<String, String> arguments) {
- this.arguments = arguments;
+ public void setParameterTypes(Map<String, String> parameterTypes) {
+ this.parameterTypes = parameterTypes;
}
}
diff --git a/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/JavaSourceParserTest.java b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/JavaSourceParserTest.java
index 0f5a111..f8bda82 100644
--- a/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/JavaSourceParserTest.java
+++ b/tooling/maven/camel-api-component-maven-plugin/src/test/java/org/apache/camel/maven/JavaSourceParserTest.java
@@ -32,14 +32,14 @@ public class JavaSourceParserTest {
final JavaSourceParser parser = new JavaSourceParser();
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/AddressGateway.java"), null);
- assertEquals(4, parser.getMethods().size());
+ assertEquals(4, parser.getMethodSignatures().size());
assertEquals(
"public com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)",
- parser.getMethods().get(0));
- assertEquals(2, parser.getParameters().get("create").size());
- assertEquals("The id of the Customer", parser.getParameters().get("create").get("customerId"));
- assertEquals("The request object", parser.getParameters().get("create").get("request"));
+ parser.getMethodSignatures().get(0));
+ assertEquals(2, parser.getParameterDocs().get("create").size());
+ assertEquals("The id of the Customer", parser.getParameterDocs().get("create").get("customerId"));
+ assertEquals("The request object", parser.getParameterDocs().get("create").get("request"));
}
@Test
@@ -47,13 +47,13 @@ public class JavaSourceParserTest {
final JavaSourceParser parser = new JavaSourceParser();
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/CustomerGateway.java"), null);
- assertEquals(7, parser.getMethods().size());
+ assertEquals(7, parser.getMethodSignatures().size());
assertEquals(
"public com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)",
- parser.getMethods().get(1));
- assertEquals(1, parser.getParameters().get("create").size());
- assertEquals("The request", parser.getParameters().get("create").get("request"));
+ parser.getMethodSignatures().get(1));
+ assertEquals(1, parser.getParameterDocs().get("create").size());
+ assertEquals("The request", parser.getParameterDocs().get("create").get("request"));
}
@Test
@@ -61,15 +61,16 @@ public class JavaSourceParserTest {
final JavaSourceParser parser = new JavaSourceParser();
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/DisputeGateway.java"), null);
- assertEquals(9, parser.getMethods().size());
+ assertEquals(9, parser.getMethodSignatures().size());
assertEquals(
"public com.braintreegateway.Result<com.braintreegateway.DisputeEvidence> addFileEvidence(String disputeId, String documentId)",
- parser.getMethods().get(1));
- assertEquals(3, parser.getParameters().get("addFileEvidence").size());
- assertEquals("The dispute id to add text evidence to", parser.getParameters().get("addFileEvidence").get("disputeId"));
+ parser.getMethodSignatures().get(1));
+ assertEquals(3, parser.getParameterDocs().get("addFileEvidence").size());
+ assertEquals("The dispute id to add text evidence to",
+ parser.getParameterDocs().get("addFileEvidence").get("disputeId"));
assertEquals("The document id of a previously uploaded document",
- parser.getParameters().get("addFileEvidence").get("documentId"));
+ parser.getParameterDocs().get("addFileEvidence").get("documentId"));
}
@Test
@@ -77,12 +78,12 @@ public class JavaSourceParserTest {
final JavaSourceParser parser = new JavaSourceParser();
parser.parse(new FileInputStream("src/test/java/org/apache/camel/component/test/TestProxy.java"), null);
- assertEquals(11, parser.getMethods().size());
+ assertEquals(11, parser.getMethodSignatures().size());
// varargs is transformed to an array type as that is what works
assertEquals(
"public String greetWildcard(String[] wildcardNames)",
- parser.getMethods().get(6));
+ parser.getMethodSignatures().get(6));
}
@Test
@@ -90,13 +91,13 @@ public class JavaSourceParserTest {
final JavaSourceParser parser = new JavaSourceParser();
parser.parse(new FileInputStream("src/test/java/org/apache/camel/component/test/NestedProxy.java"), "Order");
- assertEquals(1, parser.getMethods().size());
+ assertEquals(1, parser.getMethodSignatures().size());
assertEquals(
"public String getOrderById(int id)",
- parser.getMethods().get(0));
- assertEquals(1, parser.getParameters().get("getOrderById").size());
- assertEquals("The order id", parser.getParameters().get("getOrderById").get("id"));
+ parser.getMethodSignatures().get(0));
+ assertEquals(1, parser.getParameterDocs().get("getOrderById").size());
+ assertEquals("The order id", parser.getParameterDocs().get("getOrderById").get("id"));
}
@Test
@@ -105,13 +106,13 @@ public class JavaSourceParserTest {
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/DisputeGateway.java"), null);
- String desc = parser.getApiDescription();
+ String desc = parser.getClassDoc();
assertEquals("Provides methods to interact with Dispute objects", desc);
parser.reset();
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/CustomGateway.java"), null);
- desc = parser.getApiDescription();
+ desc = parser.getClassDoc();
assertEquals("Provides methods to create, delete, find, and update Customer objects", desc);
}
@@ -121,7 +122,7 @@ public class JavaSourceParserTest {
parser.parse(JavaSourceParserTest.class.getResourceAsStream("/DisputeGateway.java"), null);
- String desc = parser.getMethodDescriptions().get("addFileEvidence");
+ String desc = parser.getMethodDocs().get("addFileEvidence");
assertEquals("Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", desc);
}