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/26 15:50:11 UTC
[camel] branch master updated: CAMEL-15579: UriFactory to know more
about endpoints in the generated source code.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 1192e28 CAMEL-15579: UriFactory to know more about endpoints in the generated source code.
1192e28 is described below
commit 1192e281c6adf51243ee10e636f804a37c837fc0
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Sep 26 17:49:38 2020 +0200
CAMEL-15579: UriFactory to know more about endpoints in the generated source code.
---
.../camel/component/as2/AS2EndpointUriFactory.java | 20 +++++-
.../camel/component/box/BoxEndpointUriFactory.java | 72 +++++++++++++++++++++-
.../braintree/BraintreeEndpointUriFactory.java | 31 +++++++++-
.../catalog/CustomEndpointUriFactoryTest.java | 31 ++++++++++
.../packaging/EndpointUriFactoryGenerator.java | 12 ++++
5 files changed, 163 insertions(+), 3 deletions(-)
diff --git a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
index 8f06f48..db94742 100644
--- a/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
+++ b/components/camel-as2/camel-as2-component/src/generated/java/org/apache/camel/component/as2/AS2EndpointUriFactory.java
@@ -18,7 +18,7 @@ public class AS2EndpointUriFactory extends org.apache.camel.support.component.En
private static final Set<String> PROPERTY_NAMES;
static {
- Set<String> set = new HashSet<>(34);
+ Set<String> set = new HashSet<>(52);
set.add("apiName");
set.add("methodName");
set.add("as2From");
@@ -53,6 +53,24 @@ public class AS2EndpointUriFactory extends org.apache.camel.support.component.En
set.add("lazyStartProducer");
set.add("basicPropertyBinding");
set.add("synchronous");
+ set.add("as2From");
+ set.add("as2MessageStructure");
+ set.add("as2To");
+ set.add("compressionAlgorithm");
+ set.add("dispositionNotificationTo");
+ set.add("ediMessage");
+ set.add("ediMessageContentType");
+ set.add("ediMessageTransferEncoding");
+ set.add("encryptingAlgorithm");
+ set.add("encryptingCertificateChain");
+ set.add("from");
+ set.add("requestUri");
+ set.add("requestUriPattern");
+ set.add("signedReceiptMicAlgorithms");
+ set.add("signingAlgorithm");
+ set.add("signingCertificateChain");
+ set.add("signingPrivateKey");
+ set.add("subject");
PROPERTY_NAMES = set;
}
diff --git a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
index 650f8b1..f740f4b 100644
--- a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
+++ b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEndpointUriFactory.java
@@ -18,7 +18,7 @@ public class BoxEndpointUriFactory extends org.apache.camel.support.component.En
private static final Set<String> PROPERTY_NAMES;
static {
- Set<String> set = new HashSet<>(23);
+ Set<String> set = new HashSet<>(93);
set.add("apiName");
set.add("methodName");
set.add("clientId");
@@ -42,6 +42,76 @@ public class BoxEndpointUriFactory extends org.apache.camel.support.component.En
set.add("sslContextParameters");
set.add("userName");
set.add("userPassword");
+ set.add("access");
+ set.add("action");
+ set.add("after");
+ set.add("assignTo");
+ set.add("before");
+ set.add("check");
+ set.add("collaborationId");
+ set.add("collaborator");
+ set.add("commentId");
+ set.add("content");
+ set.add("created");
+ set.add("description");
+ set.add("destinationFolderId");
+ set.add("dueAt");
+ set.add("email");
+ set.add("emailAliasId");
+ set.add("externalSyncIdentifier");
+ set.add("fields");
+ set.add("fileContent");
+ set.add("fileId");
+ set.add("fileName");
+ set.add("fileSize");
+ set.add("fileType");
+ set.add("filterTerm");
+ set.add("folderId");
+ set.add("folderName");
+ set.add("force");
+ set.add("groupId");
+ set.add("groupInfo");
+ set.add("groupMembershipId");
+ set.add("info");
+ set.add("invitabilityLevel");
+ set.add("limit");
+ set.add("listener");
+ set.add("login");
+ set.add("maxHeight");
+ set.add("maxWidth");
+ set.add("memberViewabilityLevel");
+ set.add("message");
+ set.add("metadata");
+ set.add("minHeight");
+ set.add("minWidth");
+ set.add("modified");
+ set.add("name");
+ set.add("newFileName");
+ set.add("newFolderName");
+ set.add("newName");
+ set.add("notifyUser");
+ set.add("offset");
+ set.add("output");
+ set.add("params");
+ set.add("parentFolderId");
+ set.add("path");
+ set.add("permissions");
+ set.add("position");
+ set.add("provenance");
+ set.add("query");
+ set.add("rangeEnd");
+ set.add("rangeStart");
+ set.add("role");
+ set.add("size");
+ set.add("sourceUserId");
+ set.add("startingPosition");
+ set.add("taskAssignmentId");
+ set.add("taskId");
+ set.add("typeName");
+ set.add("types");
+ set.add("unshareDate");
+ set.add("userId");
+ set.add("version");
PROPERTY_NAMES = set;
}
diff --git a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/BraintreeEndpointUriFactory.java b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/BraintreeEndpointUriFactory.java
index d1b3810..ce0b57d 100644
--- a/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/BraintreeEndpointUriFactory.java
+++ b/components/camel-braintree/src/generated/java/org/apache/camel/component/braintree/BraintreeEndpointUriFactory.java
@@ -18,7 +18,7 @@ public class BraintreeEndpointUriFactory extends org.apache.camel.support.compon
private static final Set<String> PROPERTY_NAMES;
static {
- Set<String> set = new HashSet<>(17);
+ Set<String> set = new HashSet<>(46);
set.add("apiName");
set.add("methodName");
set.add("environment");
@@ -36,6 +36,35 @@ public class BraintreeEndpointUriFactory extends org.apache.camel.support.compon
set.add("accessToken");
set.add("privateKey");
set.add("publicKey");
+ set.add("amount");
+ set.add("associationFilterId");
+ set.add("challenge");
+ set.add("cloneRequest");
+ set.add("content");
+ set.add("currencyRequest");
+ set.add("customerId");
+ set.add("deleteRequest");
+ set.add("disputeId");
+ set.add("documentId");
+ set.add("evidenceId");
+ set.add("fileEvidenceRequest");
+ set.add("grantRequest");
+ set.add("groupByCustomField");
+ set.add("id");
+ set.add("page");
+ set.add("payload");
+ set.add("paymentMethodNonce");
+ set.add("paymentMethodToken");
+ set.add("query");
+ set.add("refundRequest");
+ set.add("request");
+ set.add("searchRequest");
+ set.add("settlementDate");
+ set.add("signature");
+ set.add("submitForSettlement");
+ set.add("subscriptionId");
+ set.add("textEvidenceRequest");
+ set.add("token");
PROPERTY_NAMES = set;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
index 68c0343..c9f37ee 100644
--- a/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
@@ -20,6 +20,7 @@ import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.Set;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
@@ -234,6 +235,16 @@ public class CustomEndpointUriFactoryTest extends ContextTestSupport {
return uri;
}
+ @Override
+ public Set<String> propertyNames() {
+ return null;
+ }
+
+ @Override
+ public boolean isLenientProperties() {
+ return false;
+ }
+
}
private class MySecondAssembler extends EndpointUriFactorySupport implements EndpointUriFactory {
@@ -261,6 +272,16 @@ public class CustomEndpointUriFactoryTest extends ContextTestSupport {
return uri;
}
+ @Override
+ public Set<String> propertyNames() {
+ return null;
+ }
+
+ @Override
+ public boolean isLenientProperties() {
+ return false;
+ }
+
}
private class MyJmsAssembler extends EndpointUriFactorySupport implements EndpointUriFactory {
@@ -284,6 +305,16 @@ public class CustomEndpointUriFactoryTest extends ContextTestSupport {
return uri;
}
+ @Override
+ public Set<String> propertyNames() {
+ return null;
+ }
+
+ @Override
+ public boolean isLenientProperties() {
+ return false;
+ }
+
}
}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriFactoryGenerator.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriFactoryGenerator.java
index e0c54d5..e35bfb7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriFactoryGenerator.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointUriFactoryGenerator.java
@@ -18,7 +18,9 @@ package org.apache.camel.maven.packaging;
import java.io.IOException;
import java.io.Writer;
+import java.util.Set;
import java.util.StringJoiner;
+import java.util.TreeSet;
import org.apache.camel.tooling.model.BaseOptionModel;
import org.apache.camel.tooling.model.ComponentModel;
@@ -104,12 +106,22 @@ public final class EndpointUriFactoryGenerator {
private static String generatePropertyNames(ComponentModel model) {
int size = model.getEndpointOptions().size();
+ // use sorted set so the code is always generated the same way
+ Set<String> apis = new TreeSet<>();
+ if (model.isApi()) {
+ // gather all the option names from the api (they can be duplicated as the same name can be used by multiple methods)
+ model.getApiOptions().forEach(a -> a.getMethods().forEach(m -> m.getOptions().forEach(o -> apis.add(o.getName()))));
+ size += apis.size();
+ }
StringBuilder sb = new StringBuilder();
sb.append(" static {\n");
sb.append(" Set<String> set = new HashSet<>(").append(size).append(");\n");
for (ComponentModel.EndpointOptionModel option : model.getEndpointOptions()) {
sb.append(" set.add(\"").append(option.getName()).append("\");\n");
}
+ for (String name : apis) {
+ sb.append(" set.add(\"").append(name).append("\");\n");
+ }
sb.append(" PROPERTY_NAMES = set;\n");
sb.append(" }\n");
return sb.toString();