This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new db232c5af0e CAMEL-16557: add a free form key value map on components, dataformats, languages, etc db232c5af0e is described below commit db232c5af0e48b876c92caa1f7ad720daf1ec62d Author: Luca Burgazzoli <lburgazz...@gmail.com> AuthorDate: Fri Mar 8 18:08:27 2024 +0100 CAMEL-16557: add a free form key value map on components, dataformats, languages, etc --- .../catalog/components/atmosphere-websocket.json | 1 + .../org/apache/camel/catalog/components/cxf.json | 1 + .../org/apache/camel/catalog/components/cxfrs.json | 1 + .../org/apache/camel/catalog/components/grpc.json | 1 + .../org/apache/camel/catalog/components/http.json | 1 + .../org/apache/camel/catalog/components/https.json | 1 + .../org/apache/camel/catalog/components/jetty.json | 1 + .../apache/camel/catalog/components/knative.json | 1 + .../camel/catalog/components/netty-http.json | 1 + .../camel/catalog/components/platform-http.json | 1 + .../org/apache/camel/catalog/components/rest.json | 1 + .../apache/camel/catalog/components/servlet.json | 1 + .../apache/camel/catalog/components/spring-ws.json | 1 + .../apache/camel/catalog/components/webhook.json | 1 + .../apache/camel/catalog/others/groovy-dsl.json | 1 + .../apache/camel/catalog/others/java-joor-dsl.json | 1 + .../org/apache/camel/catalog/others/js-dsl.json | 1 + .../org/apache/camel/catalog/others/jsh-dsl.json | 1 + .../apache/camel/catalog/others/kotlin-dsl.json | 1 + .../apache/camel/catalog/others/xml-io-dsl.json | 1 + .../org/apache/camel/catalog/others/yaml-dsl.json | 1 + .../atmosphere/websocket/atmosphere-websocket.json | 1 + .../atmosphere/websocket/WebsocketEndpoint.java | 5 +- .../apache/camel/component/cxf/jaxrs/cxfrs.json | 1 + .../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 4 ++ .../org/apache/camel/component/cxf/jaxws/cxf.json | 1 + .../camel/component/cxf/jaxws/CxfEndpoint.java | 4 ++ .../org/apache/camel/component/grpc/grpc.json | 1 + .../apache/camel/component/grpc/GrpcEndpoint.java | 4 ++ .../org/apache/camel/component/http/http.json | 1 + .../org/apache/camel/component/http/https.json | 1 + .../apache/camel/component/http/HttpEndpoint.java | 4 +- .../org/apache/camel/component/jetty12/jetty.json | 1 + .../component/jetty12/JettyHttpEndpoint12.java | 5 +- .../jsonvalidator/JsonValidatorEndpoint.java | 7 ++- .../apache/camel/component/knative/knative.json | 1 + .../camel/component/knative/KnativeEndpoint.java | 4 ++ .../camel/component/netty/http/netty-http.json | 1 + .../component/netty/http/NettyHttpEndpoint.java | 5 +- .../component/platform/http/platform-http.json | 1 + .../platform/http/PlatformHttpEndpoint.java | 3 ++ .../org/apache/camel/component/rest/rest.json | 1 + .../apache/camel/component/rest/RestEndpoint.java | 3 ++ .../apache/camel/component/servlet/servlet.json | 1 + .../camel/component/servlet/ServletEndpoint.java | 4 +- .../camel/component/spring/ws/spring-ws.json | 1 + .../spring/ws/SpringWebserviceEndpoint.java | 4 ++ .../apache/camel/component/webhook/webhook.json | 1 + .../camel/component/webhook/WebhookEndpoint.java | 4 ++ .../java/org/apache/camel/spi/Metadata.java | 5 ++ .../src/generated/resources/metadata.json | 14 +++++ dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/groovy-dsl.json | 1 + dsl/camel-java-joor-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/java-joor-dsl.json | 1 + dsl/camel-js-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/js-dsl.json | 1 + dsl/camel-jsh-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/jsh-dsl.json | 1 + dsl/camel-kotlin-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/kotlin-dsl.json | 1 + dsl/camel-xml-io-dsl/pom.xml | 3 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/xml-io-dsl.json | 1 + dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml | 4 ++ .../services/org/apache/camel/other.properties | 1 + .../src/generated/resources/yaml-dsl.json | 1 + .../maven/packaging/AbstractGeneratorMojo.java | 7 +++ .../packaging/EndpointSchemaGeneratorMojo.java | 4 ++ .../maven/packaging/PackageDataFormatMojo.java | 4 ++ .../camel/maven/packaging/PackageLanguageMojo.java | 4 ++ .../camel/maven/packaging/PackageOtherMojo.java | 2 + .../apache/camel/maven/packaging/SchemaHelper.java | 61 ++++++++++++++++++++++ .../main/java/org/apache/camel/spi/Metadata.java | 5 ++ 79 files changed, 231 insertions(+), 6 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json index 2cc8380708c..5a21a3f103b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json @@ -9,6 +9,7 @@ "label": "http,networking", "javaType": "org.apache.camel.component.atmosphere.websocket.WebsocketComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-atmosphere-websocket", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json index 59203ece792..a60b24bf305 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxf.json @@ -9,6 +9,7 @@ "label": "http,webservice", "javaType": "org.apache.camel.component.cxf.jaxws.CxfComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-soap", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json index 40f5724a6c2..001a0c42719 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cxfrs.json @@ -9,6 +9,7 @@ "label": "rest", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-rest", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json index 131184fc9d4..8b3d769d401 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/grpc.json @@ -9,6 +9,7 @@ "label": "rpc", "javaType": "org.apache.camel.component.grpc.GrpcComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-grpc", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json index 847bb8627e4..98c37c4c07b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json index 940b64c1ecb..8a232a8d844 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json index 41399f87c64..6bc6e2080a3 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.jetty12.JettyHttpComponent12", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-jetty", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/knative.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/knative.json index 2f6c7f376b2..e88ad18071f 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/knative.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/knative.json @@ -9,6 +9,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.knative.KnativeComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-knative", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/netty-http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/netty-http.json index 995ea0a170e..cf7155e007c 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/netty-http.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/netty-http.json @@ -9,6 +9,7 @@ "label": "networking,http", "javaType": "org.apache.camel.component.netty.http.NettyHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-netty-http", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/platform-http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/platform-http.json index 0a784762006..9f2fb17af36 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/platform-http.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/platform-http.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.platform.http.PlatformHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-platform-http", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest.json index 51eb7a89e97..bf08cba22d2 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/rest.json @@ -9,6 +9,7 @@ "label": "core,rest", "javaType": "org.apache.camel.component.rest.RestComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-rest", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/servlet.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/servlet.json index 9e656e5d69c..77e8da1a9af 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/servlet.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/servlet.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.servlet.ServletComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-servlet", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json index 39cedd3eb49..9ee11657618 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/spring-ws.json @@ -9,6 +9,7 @@ "label": "webservice", "javaType": "org.apache.camel.component.spring.ws.SpringWebserviceComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-spring-ws", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/webhook.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/webhook.json index d49bd3cd87e..544fc7cef9f 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/webhook.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/webhook.json @@ -9,6 +9,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.webhook.WebhookComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-webhook", "version": "4.5.0-SNAPSHOT", diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/groovy-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/groovy-dsl.json index c9fba197e76..976e7333079 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/groovy-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/groovy-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "groovy" }, "groupId": "org.apache.camel", "artifactId": "camel-groovy-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/java-joor-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/java-joor-dsl.json index ab5b3355ab3..2ad51bef97b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/java-joor-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/java-joor-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "java" }, "groupId": "org.apache.camel", "artifactId": "camel-java-joor-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/js-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/js-dsl.json index 16fcfd57408..7b0e58ca926 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/js-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/js-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "js" }, "groupId": "org.apache.camel", "artifactId": "camel-js-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/jsh-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/jsh-dsl.json index b94a28b4018..e9764a538d6 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/jsh-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/jsh-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.15.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "jsh" }, "groupId": "org.apache.camel", "artifactId": "camel-jsh-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/kotlin-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/kotlin-dsl.json index d4153fafbd6..f34d2e2ba87 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/kotlin-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/kotlin-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "kotlin" }, "groupId": "org.apache.camel", "artifactId": "camel-kotlin-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/xml-io-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/xml-io-dsl.json index 4ca383b8b3b..1044f05035b 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/xml-io-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/xml-io-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "xml" }, "groupId": "org.apache.camel", "artifactId": "camel-xml-io-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/yaml-dsl.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/yaml-dsl.json index c5f47b8328b..cc9c8a7dcde 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/yaml-dsl.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/yaml-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "yaml" }, "groupId": "org.apache.camel", "artifactId": "camel-yaml-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json b/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json index 2cc8380708c..5a21a3f103b 100644 --- a/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json +++ b/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json @@ -9,6 +9,7 @@ "label": "http,networking", "javaType": "org.apache.camel.component.atmosphere.websocket.WebsocketComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-atmosphere-websocket", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java index b8e89f424e1..5b155b456da 100644 --- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java +++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java @@ -40,7 +40,10 @@ import org.apache.camel.util.StringHelper; @Metadata(excludeProperties = "httpUri,contextPath,cookieHandler,connectionClose,authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost," + "copyHeaders,httpMethod,ignoreResponseBody,preserveHostHeader,throwExceptionOnFailure,okStatusCodeRange," + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain," - + "proxyAuthNtHost,proxyAuthScheme,proxyHost,proxyPort") + + "proxyAuthNtHost,proxyAuthScheme,proxyHost,proxyPort", + annotations = { + "protocol=http", + }) public class WebsocketEndpoint extends ServletEndpoint { private WebSocketStore store; diff --git a/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json b/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json index 40f5724a6c2..001a0c42719 100644 --- a/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json +++ b/components/camel-cxf/camel-cxf-rest/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxrs/cxfrs.json @@ -9,6 +9,7 @@ "label": "rest", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-rest", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java index 1abd447319d..8c118e5f39a 100644 --- a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java +++ b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java @@ -38,6 +38,7 @@ import org.apache.camel.component.cxf.common.message.CxfConstants; import org.apache.camel.http.base.cookie.CookieHandler; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategyAware; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; @@ -71,6 +72,9 @@ import static org.apache.camel.component.cxf.common.message.CxfConstants.SCHEME_ */ @UriEndpoint(firstVersion = "2.0.0", scheme = SCHEME_CXF_RS, title = "CXF-RS", syntax = "cxfrs:beanId:address", category = { Category.REST }, lenientProperties = true, headersClass = CxfConstants.class) +@Metadata(annotations = { + "protocol=http", +}) public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service { private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class); diff --git a/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json b/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json index 59203ece792..a60b24bf305 100644 --- a/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json +++ b/components/camel-cxf/camel-cxf-soap/src/generated/resources/META-INF/org/apache/camel/component/cxf/jaxws/cxf.json @@ -9,6 +9,7 @@ "label": "http,webservice", "javaType": "org.apache.camel.component.cxf.jaxws.CxfComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-soap", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java index 36630dc8144..4cb5b08db2d 100644 --- a/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java +++ b/components/camel-cxf/camel-cxf-soap/src/main/java/org/apache/camel/component/cxf/jaxws/CxfEndpoint.java @@ -69,6 +69,7 @@ import org.apache.camel.component.cxf.transport.header.CxfHeaderFilterStrategy; import org.apache.camel.http.base.cookie.CookieHandler; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategyAware; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; @@ -128,6 +129,9 @@ import static org.apache.camel.component.cxf.common.message.CxfConstants.SCHEME_ */ @UriEndpoint(firstVersion = "1.0.0", scheme = SCHEME_CXF, title = "CXF", syntax = "cxf:beanId:address", category = { Category.HTTP, Category.WEBSERVICE }, headersClass = CxfConstants.class) +@Metadata(annotations = { + "protocol=http", +}) public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, Service, Cloneable { private static final Logger LOG = LoggerFactory.getLogger(CxfEndpoint.class); diff --git a/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json b/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json index 131184fc9d4..8b3d769d401 100644 --- a/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json +++ b/components/camel-grpc/src/generated/resources/META-INF/org/apache/camel/component/grpc/grpc.json @@ -9,6 +9,7 @@ "label": "rpc", "javaType": "org.apache.camel.component.grpc.GrpcComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-grpc", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java index aa0fd8d0ad1..cc262e82893 100644 --- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java +++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java @@ -20,6 +20,7 @@ import org.apache.camel.Category; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.DefaultEndpoint; @@ -31,6 +32,9 @@ import org.apache.camel.util.ObjectHelper; */ @UriEndpoint(firstVersion = "2.19.0", scheme = "grpc", title = "gRPC", syntax = "grpc:host:port/service", category = { Category.RPC }, headersClass = GrpcConstants.class) +@Metadata(annotations = { + "protocol=http", +}) public class GrpcEndpoint extends DefaultEndpoint { @UriParam protected final GrpcConfiguration configuration; diff --git a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json index 847bb8627e4..98c37c4c07b 100644 --- a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json +++ b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json index 940b64c1ecb..8a232a8d844 100644 --- a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json +++ b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java index 746a83f623d..7385704681b 100644 --- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java +++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java @@ -58,7 +58,9 @@ import org.slf4j.LoggerFactory; */ @UriEndpoint(firstVersion = "2.3.0", scheme = "http,https", title = "HTTP,HTTPS", syntax = "http://httpUri", producerOnly = true, category = { Category.HTTP }, lenientProperties = true, headersClass = HttpConstants.class) -@Metadata(excludeProperties = "httpBinding,matchOnUriPrefix,chunked,transferException") +@Metadata(excludeProperties = "httpBinding,matchOnUriPrefix,chunked,transferException", annotations = { + "protocol=http" +}) @ManagedResource(description = "Managed HttpEndpoint") public class HttpEndpoint extends HttpCommonEndpoint { diff --git a/components/camel-jetty/src/generated/resources/META-INF/org/apache/camel/component/jetty12/jetty.json b/components/camel-jetty/src/generated/resources/META-INF/org/apache/camel/component/jetty12/jetty.json index 41399f87c64..6bc6e2080a3 100644 --- a/components/camel-jetty/src/generated/resources/META-INF/org/apache/camel/component/jetty12/jetty.json +++ b/components/camel-jetty/src/generated/resources/META-INF/org/apache/camel/component/jetty12/jetty.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.jetty12.JettyHttpComponent12", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-jetty", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java index e8e1bb66ed5..f5c546f0062 100644 --- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java +++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/JettyHttpEndpoint12.java @@ -35,7 +35,10 @@ import org.apache.camel.spi.UriEndpoint; category = { Category.HTTP }, consumerOnly = true, lenientProperties = true, headersClass = JettyHttpConstants.class) @Metadata(excludeProperties = "authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost" - + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain") + + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain", + annotations = { + "protocol=http" + }) public class JettyHttpEndpoint12 extends JettyHttpEndpoint implements AsyncEndpoint { private HttpBinding binding; diff --git a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java index 5b2264656b0..d6c035f6744 100644 --- a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java +++ b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorEndpoint.java @@ -24,7 +24,12 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.networknt.schema.JsonSchema; import com.networknt.schema.ValidationMessage; -import org.apache.camel.*; +import org.apache.camel.Category; +import org.apache.camel.Component; +import org.apache.camel.Exchange; +import org.apache.camel.ExchangePattern; +import org.apache.camel.StreamCache; +import org.apache.camel.ValidationException; import org.apache.camel.api.management.ManagedResource; import org.apache.camel.component.ResourceEndpoint; import org.apache.camel.spi.UriEndpoint; diff --git a/components/camel-knative/camel-knative-component/src/generated/resources/META-INF/org/apache/camel/component/knative/knative.json b/components/camel-knative/camel-knative-component/src/generated/resources/META-INF/org/apache/camel/component/knative/knative.json index 2f6c7f376b2..e88ad18071f 100644 --- a/components/camel-knative/camel-knative-component/src/generated/resources/META-INF/org/apache/camel/component/knative/knative.json +++ b/components/camel-knative/camel-knative-component/src/generated/resources/META-INF/org/apache/camel/component/knative/knative.json @@ -9,6 +9,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.knative.KnativeComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-knative", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java index afa99dbb03d..cf845f09cfe 100644 --- a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java +++ b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/KnativeEndpoint.java @@ -36,6 +36,7 @@ import org.apache.camel.component.knative.ce.CloudEventProcessors; import org.apache.camel.component.knative.spi.Knative; import org.apache.camel.component.knative.spi.KnativeResource; import org.apache.camel.component.knative.spi.KnativeTransportConfiguration; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; @@ -54,6 +55,9 @@ import org.slf4j.LoggerFactory; syntax = "knative:type/typeId", title = "Knative", category = Category.CLOUD) +@Metadata(annotations = { + "protocol=http", +}) public class KnativeEndpoint extends DefaultEndpoint { private static final Logger LOG = LoggerFactory.getLogger(KnativeEndpoint.class); diff --git a/components/camel-netty-http/src/generated/resources/META-INF/org/apache/camel/component/netty/http/netty-http.json b/components/camel-netty-http/src/generated/resources/META-INF/org/apache/camel/component/netty/http/netty-http.json index 995ea0a170e..cf7155e007c 100644 --- a/components/camel-netty-http/src/generated/resources/META-INF/org/apache/camel/component/netty/http/netty-http.json +++ b/components/camel-netty-http/src/generated/resources/META-INF/org/apache/camel/component/netty/http/netty-http.json @@ -9,6 +9,7 @@ "label": "networking,http", "javaType": "org.apache.camel.component.netty.http.NettyHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-netty-http", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java index 172143816c4..d462014f315 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java @@ -46,7 +46,10 @@ import org.slf4j.LoggerFactory; syntax = "netty-http:protocol://host:port/path", category = { Category.NETWORKING, Category.HTTP }, lenientProperties = true, headersClass = NettyHttpConstants.class) @Metadata(excludeProperties = "textline,delimiter,autoAppendDelimiter,decoderMaxLineLength,encoding,allowDefaultCodec,udpConnectionlessSending,networkInterface" - + ",clientMode,reconnect,reconnectInterval,useByteBuf,udpByteArrayCodec,broadcast,correlationManager") + + ",clientMode,reconnect,reconnectInterval,useByteBuf,udpByteArrayCodec,broadcast,correlationManager", + annotations = { + "protocol=http", + }) public class NettyHttpEndpoint extends NettyEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(NettyHttpEndpoint.class); diff --git a/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/component/platform/http/platform-http.json b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/component/platform/http/platform-http.json index 0a784762006..9f2fb17af36 100644 --- a/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/component/platform/http/platform-http.json +++ b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/component/platform/http/platform-http.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.platform.http.PlatformHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-platform-http", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java index 94360f23ffb..22597ccf8ca 100644 --- a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java +++ b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java @@ -37,6 +37,9 @@ import org.apache.camel.support.DefaultEndpoint; */ @UriEndpoint(firstVersion = "3.0.0", scheme = "platform-http", title = "Platform HTTP", syntax = "platform-http:path", category = { Category.HTTP }, consumerOnly = true) +@Metadata(annotations = { + "protocol=http", +}) public class PlatformHttpEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware { private static final String PROXY_PATH = "proxy"; diff --git a/components/camel-rest/src/generated/resources/META-INF/org/apache/camel/component/rest/rest.json b/components/camel-rest/src/generated/resources/META-INF/org/apache/camel/component/rest/rest.json index 51eb7a89e97..bf08cba22d2 100644 --- a/components/camel-rest/src/generated/resources/META-INF/org/apache/camel/component/rest/rest.json +++ b/components/camel-rest/src/generated/resources/META-INF/org/apache/camel/component/rest/rest.json @@ -9,6 +9,7 @@ "label": "core,rest", "javaType": "org.apache.camel.component.rest.RestComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-rest", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java index b2aa8f87b79..0ebc90bb388 100644 --- a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java +++ b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java @@ -50,6 +50,9 @@ import static org.apache.camel.support.RestProducerFactoryHelper.setupComponent; */ @UriEndpoint(firstVersion = "2.14.0", scheme = "rest", title = "REST", syntax = "rest:method:path:uriTemplate", category = { Category.CORE, Category.REST }, lenientProperties = true, headersClass = RestConstants.class) +@Metadata(annotations = { + "protocol=http", +}) public class RestEndpoint extends DefaultEndpoint { public static final String[] DEFAULT_REST_CONSUMER_COMPONENTS diff --git a/components/camel-servlet/src/generated/resources/META-INF/org/apache/camel/component/servlet/servlet.json b/components/camel-servlet/src/generated/resources/META-INF/org/apache/camel/component/servlet/servlet.json index 9e656e5d69c..77e8da1a9af 100644 --- a/components/camel-servlet/src/generated/resources/META-INF/org/apache/camel/component/servlet/servlet.json +++ b/components/camel-servlet/src/generated/resources/META-INF/org/apache/camel/component/servlet/servlet.json @@ -9,6 +9,7 @@ "label": "http", "javaType": "org.apache.camel.component.servlet.ServletComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-servlet", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java index 6f33f0f8af0..0cf5b0535c1 100644 --- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java +++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java @@ -37,7 +37,9 @@ import org.apache.camel.spi.UriPath; */ @UriEndpoint(firstVersion = "2.0.0", scheme = "servlet", extendsScheme = "http", title = "Servlet", syntax = "servlet:contextPath", consumerOnly = true, category = { Category.HTTP }) -@Metadata(excludeProperties = "httpUri") +@Metadata(excludeProperties = "httpUri", annotations = { + "protocol=http", +}) public class ServletEndpoint extends HttpCommonEndpoint { private HttpBinding binding; diff --git a/components/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json b/components/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json index 39cedd3eb49..9ee11657618 100644 --- a/components/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json +++ b/components/camel-spring-ws/src/generated/resources/META-INF/org/apache/camel/component/spring/ws/spring-ws.json @@ -9,6 +9,7 @@ "label": "webservice", "javaType": "org.apache.camel.component.spring.ws.SpringWebserviceComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-spring-ws", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java index d947d9407f0..1e07fc8ec36 100644 --- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java +++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceEndpoint.java @@ -22,6 +22,7 @@ import org.apache.camel.Consumer; import org.apache.camel.ExchangePattern; import org.apache.camel.Processor; import org.apache.camel.Producer; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.DefaultEndpoint; @@ -32,6 +33,9 @@ import org.apache.camel.support.DefaultEndpoint; @UriEndpoint(firstVersion = "2.6.0", scheme = "spring-ws", title = "Spring WebService", syntax = "spring-ws:type:lookupKey:webServiceEndpointUri", category = { Category.WEBSERVICE }, headersClass = SpringWebserviceConstants.class) +@Metadata(annotations = { + "protocol=http", +}) public class SpringWebserviceEndpoint extends DefaultEndpoint { @UriParam diff --git a/components/camel-webhook/src/generated/resources/META-INF/org/apache/camel/component/webhook/webhook.json b/components/camel-webhook/src/generated/resources/META-INF/org/apache/camel/component/webhook/webhook.json index d49bd3cd87e..544fc7cef9f 100644 --- a/components/camel-webhook/src/generated/resources/META-INF/org/apache/camel/component/webhook/webhook.json +++ b/components/camel-webhook/src/generated/resources/META-INF/org/apache/camel/component/webhook/webhook.json @@ -9,6 +9,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.webhook.WebhookComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-webhook", "version": "4.5.0-SNAPSHOT", diff --git a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/WebhookEndpoint.java b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/WebhookEndpoint.java index 5a85b21a8be..912f91f9076 100644 --- a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/WebhookEndpoint.java +++ b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/WebhookEndpoint.java @@ -24,6 +24,7 @@ import org.apache.camel.DelegateEndpoint; import org.apache.camel.Endpoint; import org.apache.camel.Processor; import org.apache.camel.Producer; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.RestConsumerFactory; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; @@ -37,6 +38,9 @@ import org.slf4j.LoggerFactory; */ @UriEndpoint(firstVersion = "3.0.0", scheme = "webhook", title = "Webhook", syntax = "webhook:endpointUri", consumerOnly = true, category = { Category.CLOUD }, lenientProperties = true) +@Metadata(annotations = { + "protocol=http", +}) public class WebhookEndpoint extends DefaultEndpoint implements DelegateEndpoint, AfterPropertiesConfigured { private static final Logger LOG = LoggerFactory.getLogger(WebhookEndpoint.class); diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java index a8ae70fcded..b4ec1585025 100644 --- a/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java @@ -170,4 +170,9 @@ public @interface Metadata { * This can be used to help tooling to provide a better user experience. */ String inputLanguage() default ""; + + /** + * Annotations data for Camel concepts such as components, EIP, etc. + */ + String[] annotations() default {}; } diff --git a/dsl/camel-componentdsl/src/generated/resources/metadata.json b/dsl/camel-componentdsl/src/generated/resources/metadata.json index 5e74ff55b92..ef8dc9b2e52 100644 --- a/dsl/camel-componentdsl/src/generated/resources/metadata.json +++ b/dsl/camel-componentdsl/src/generated/resources/metadata.json @@ -125,6 +125,7 @@ "label": "http,networking", "javaType": "org.apache.camel.component.atmosphere.websocket.WebsocketComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-atmosphere-websocket", "version": "4.5.0-SNAPSHOT", @@ -1651,6 +1652,7 @@ "label": "http,webservice", "javaType": "org.apache.camel.component.cxf.jaxws.CxfComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-soap", "version": "4.5.0-SNAPSHOT", @@ -1674,6 +1676,7 @@ "label": "rest", "javaType": "org.apache.camel.component.cxf.jaxrs.CxfRsComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-cxf-rest", "version": "4.5.0-SNAPSHOT", @@ -2926,6 +2929,7 @@ "label": "rpc", "javaType": "org.apache.camel.component.grpc.GrpcComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-grpc", "version": "4.5.0-SNAPSHOT", @@ -3248,6 +3252,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", @@ -3272,6 +3277,7 @@ "label": "http", "javaType": "org.apache.camel.component.http.HttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-http", "version": "4.5.0-SNAPSHOT", @@ -3923,6 +3929,7 @@ "label": "http", "javaType": "org.apache.camel.component.jetty12.JettyHttpComponent12", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-jetty", "version": "4.5.0-SNAPSHOT", @@ -4314,6 +4321,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.knative.KnativeComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-knative", "version": "4.5.0-SNAPSHOT", @@ -5280,6 +5288,7 @@ "label": "networking,http", "javaType": "org.apache.camel.component.netty.http.NettyHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-netty-http", "version": "4.5.0-SNAPSHOT", @@ -5765,6 +5774,7 @@ "label": "http", "javaType": "org.apache.camel.component.platform.http.PlatformHttpComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-platform-http", "version": "4.5.0-SNAPSHOT", @@ -6045,6 +6055,7 @@ "label": "core,rest", "javaType": "org.apache.camel.component.rest.RestComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-rest", "version": "4.5.0-SNAPSHOT", @@ -6367,6 +6378,7 @@ "label": "http", "javaType": "org.apache.camel.component.servlet.ServletComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-servlet", "version": "4.5.0-SNAPSHOT", @@ -6810,6 +6822,7 @@ "label": "webservice", "javaType": "org.apache.camel.component.spring.ws.SpringWebserviceComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-spring-ws", "version": "4.5.0-SNAPSHOT", @@ -7456,6 +7469,7 @@ "label": "cloud", "javaType": "org.apache.camel.component.webhook.WebhookComponent", "supportLevel": "Stable", + "metadata": { "protocol": "http" }, "groupId": "org.apache.camel", "artifactId": "camel-webhook", "version": "4.5.0-SNAPSHOT", diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml index c33a2bfba99..f1c2f651695 100644 --- a/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml +++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml @@ -43,6 +43,9 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=groovy + </annotations> </properties> <dependencies> diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 8d97d71f0c2..1cfc96d44ef 100644 --- a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-groovy-dsl version=4.5.0-SNAPSHOT projectName=Camel :: Groovy DSL projectDescription=Camel DSL with Groovy +annotations=routes.language=groovy diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/groovy-dsl.json b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/groovy-dsl.json index c9fba197e76..976e7333079 100644 --- a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/groovy-dsl.json +++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/groovy-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "groovy" }, "groupId": "org.apache.camel", "artifactId": "camel-groovy-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-java-joor-dsl/pom.xml b/dsl/camel-java-joor-dsl/pom.xml index 7b8d73e703a..b24543f940a 100644 --- a/dsl/camel-java-joor-dsl/pom.xml +++ b/dsl/camel-java-joor-dsl/pom.xml @@ -42,6 +42,9 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=java + </annotations> </properties> <dependencies> diff --git a/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 9800338b3fa..e4e21ffd323 100644 --- a/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-java-joor-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-java-joor-dsl version=4.5.0-SNAPSHOT projectName=Camel :: Java DSL with jOOR projectDescription=Camel Java DSL with jOOR +annotations=routes.language=java diff --git a/dsl/camel-java-joor-dsl/src/generated/resources/java-joor-dsl.json b/dsl/camel-java-joor-dsl/src/generated/resources/java-joor-dsl.json index ab5b3355ab3..2ad51bef97b 100644 --- a/dsl/camel-java-joor-dsl/src/generated/resources/java-joor-dsl.json +++ b/dsl/camel-java-joor-dsl/src/generated/resources/java-joor-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "java" }, "groupId": "org.apache.camel", "artifactId": "camel-java-joor-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-js-dsl/pom.xml b/dsl/camel-js-dsl/pom.xml index d1113aa107d..ea771ad1fe0 100644 --- a/dsl/camel-js-dsl/pom.xml +++ b/dsl/camel-js-dsl/pom.xml @@ -43,6 +43,9 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=js + </annotations> </properties> <dependencies> diff --git a/dsl/camel-js-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-js-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index aea35b51c64..86b25d2be4e 100644 --- a/dsl/camel-js-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-js-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-js-dsl version=4.5.0-SNAPSHOT projectName=Camel :: JavaScript DSL projectDescription=Camel DSL with JavaScript +annotations=routes.language=js diff --git a/dsl/camel-js-dsl/src/generated/resources/js-dsl.json b/dsl/camel-js-dsl/src/generated/resources/js-dsl.json index 16fcfd57408..7b0e58ca926 100644 --- a/dsl/camel-js-dsl/src/generated/resources/js-dsl.json +++ b/dsl/camel-js-dsl/src/generated/resources/js-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "js" }, "groupId": "org.apache.camel", "artifactId": "camel-js-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-jsh-dsl/pom.xml b/dsl/camel-jsh-dsl/pom.xml index 20de6a4a191..0c618610255 100644 --- a/dsl/camel-jsh-dsl/pom.xml +++ b/dsl/camel-jsh-dsl/pom.xml @@ -43,6 +43,9 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=jsh + </annotations> </properties> <dependencies> diff --git a/dsl/camel-jsh-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-jsh-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index ef9bd417060..ec144f03eec 100644 --- a/dsl/camel-jsh-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-jsh-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-jsh-dsl version=4.5.0-SNAPSHOT projectName=Camel :: JavaShell DSL projectDescription=Camel DSL with JavaShell +annotations=routes.language=jsh diff --git a/dsl/camel-jsh-dsl/src/generated/resources/jsh-dsl.json b/dsl/camel-jsh-dsl/src/generated/resources/jsh-dsl.json index b94a28b4018..e9764a538d6 100644 --- a/dsl/camel-jsh-dsl/src/generated/resources/jsh-dsl.json +++ b/dsl/camel-jsh-dsl/src/generated/resources/jsh-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.15.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "jsh" }, "groupId": "org.apache.camel", "artifactId": "camel-jsh-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-kotlin-dsl/pom.xml b/dsl/camel-kotlin-dsl/pom.xml index 47f9175e33e..180509b15c6 100644 --- a/dsl/camel-kotlin-dsl/pom.xml +++ b/dsl/camel-kotlin-dsl/pom.xml @@ -43,6 +43,9 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=kotlin + </annotations> <camel.surefire.reuseForks>false</camel.surefire.reuseForks> </properties> diff --git a/dsl/camel-kotlin-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-kotlin-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 6361cc82220..513315b801d 100644 --- a/dsl/camel-kotlin-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-kotlin-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-kotlin-dsl version=4.5.0-SNAPSHOT projectName=Camel :: Kotlin DSL projectDescription=Camel DSL with Kotlin +annotations=routes.language=kotlin diff --git a/dsl/camel-kotlin-dsl/src/generated/resources/kotlin-dsl.json b/dsl/camel-kotlin-dsl/src/generated/resources/kotlin-dsl.json index d4153fafbd6..f34d2e2ba87 100644 --- a/dsl/camel-kotlin-dsl/src/generated/resources/kotlin-dsl.json +++ b/dsl/camel-kotlin-dsl/src/generated/resources/kotlin-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Experimental", + "metadata": { "routes.language": "kotlin" }, "groupId": "org.apache.camel", "artifactId": "camel-kotlin-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-xml-io-dsl/pom.xml b/dsl/camel-xml-io-dsl/pom.xml index ce4a963cbf9..a4e7af1b69d 100644 --- a/dsl/camel-xml-io-dsl/pom.xml +++ b/dsl/camel-xml-io-dsl/pom.xml @@ -36,6 +36,9 @@ <firstVersion>3.9.0</firstVersion> <title>XML DSL</title> <label>dsl</label> + <annotations> + routes.language=xml + </annotations> <camel.surefire.parallel>false</camel.surefire.parallel> </properties> diff --git a/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 4058e5e9584..6ea89e85dde 100644 --- a/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-xml-io-dsl version=4.5.0-SNAPSHOT projectName=Camel :: XML DSL with camel-xml-io projectDescription=Camel XML DSL with camel-xml-io +annotations=routes.language=xml diff --git a/dsl/camel-xml-io-dsl/src/generated/resources/xml-io-dsl.json b/dsl/camel-xml-io-dsl/src/generated/resources/xml-io-dsl.json index 4ca383b8b3b..1044f05035b 100644 --- a/dsl/camel-xml-io-dsl/src/generated/resources/xml-io-dsl.json +++ b/dsl/camel-xml-io-dsl/src/generated/resources/xml-io-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "xml" }, "groupId": "org.apache.camel", "artifactId": "camel-xml-io-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml index 32feaf3bc91..044395844fd 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml @@ -42,6 +42,10 @@ <sourcecheckExcludesComma> ${sourcecheckExcludes}, </sourcecheckExcludesComma> + <annotations> + routes.language=yaml + </annotations> + <camel-generate-yaml-writer>true</camel-generate-yaml-writer> </properties> diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 76328de1211..8c32c9c5db8 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -5,3 +5,4 @@ artifactId=camel-yaml-dsl version=4.5.0-SNAPSHOT projectName=Camel :: YAML DSL projectDescription=Camel DSL with YAML +annotations=routes.language=yaml diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json index c5f47b8328b..cc9c8a7dcde 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/yaml-dsl.json @@ -8,6 +8,7 @@ "firstVersion": "3.9.0", "label": "dsl", "supportLevel": "Stable", + "metadata": { "routes.language": "yaml" }, "groupId": "org.apache.camel", "artifactId": "camel-yaml-dsl", "version": "4.5.0-SNAPSHOT" diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java index ce2a5bff7a2..15b7a646229 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java @@ -31,6 +31,7 @@ import java.util.function.Supplier; import org.apache.camel.tooling.util.FileUtil; import org.apache.camel.tooling.util.PackageHelper; +import org.apache.camel.tooling.util.Strings; import org.apache.maven.artifact.DependencyResolutionRequiredException; import org.apache.maven.model.Resource; import org.apache.maven.plugin.AbstractMojo; @@ -132,6 +133,12 @@ public abstract class AbstractGeneratorMojo extends AbstractMojo { if (project.getDescription() != null) { properties.append("projectDescription=").append(project.getDescription()).append(NL); } + + String annotations = project.getProperties().getProperty("annotations"); + if (!Strings.isNullOrEmpty(annotations)) { + properties.append("annotations=").append(annotations).append(NL); + } + data = properties.toString(); return data; } diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java index d77349d49f8..6f5328c0929 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java @@ -202,6 +202,7 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo { ComponentModel model = writeJSonSchemeAndPropertyConfigurer(classElement, uriEndpoint, aliasTitle, alias, extendsAlias, label, schemes, parentData); + models.put(classElement, model); } } @@ -291,6 +292,9 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo { enhanceComponentModelWithApiModel(componentModel); } + SchemaHelper.addModelMetadata(componentModel, project); + SchemaHelper.addModelMetadata(componentModel, classElement.getAnnotation(Metadata.class)); + String json = JsonMapper.createParameterJsonSchema(componentModel); // write json schema diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java index 4808f5378cc..5744398f58b 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java @@ -193,6 +193,10 @@ public class PackageDataFormatMojo extends AbstractGeneratorMojo { final DataFormatModel dataFormatModel = extractDataFormatModel(project, json, name, clazz, included, excluded); + + SchemaHelper.addModelMetadata(dataFormatModel, project); + SchemaHelper.addModelMetadata(dataFormatModel, metadata); + if (!modelName.equals(name)) { /* Prefer description from the clazz */ setDescriptionFromClass(clazz, dataFormatModel); diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java index f0b1052e7e7..c097ab7d7fb 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java @@ -26,6 +26,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.camel.maven.packaging.generics.ClassUtil; +import org.apache.camel.spi.Metadata; import org.apache.camel.tooling.model.EipModel; import org.apache.camel.tooling.model.EipModel.EipOptionModel; import org.apache.camel.tooling.model.JsonMapper; @@ -158,6 +159,9 @@ public class PackageLanguageMojo extends AbstractGeneratorMojo { log.debug("Model: " + languageModel); } + SchemaHelper.addModelMetadata(languageModel, project); + SchemaHelper.addModelMetadata(languageModel, javaType.getAnnotation(Metadata.class)); + // build json schema for the data format String schema = JsonMapper.createParameterJsonSchema(languageModel); if (log.isDebugEnabled()) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java index 97df496857f..5e2c36c9317 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java @@ -124,6 +124,8 @@ public class PackageOtherMojo extends AbstractGeneratorMojo { } model.setTitle(title); + SchemaHelper.addModelMetadata(model, project); + // grab level from pom.xml or default to stable String level = project.getProperties().getProperty("supportLevel"); if (level != null) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaHelper.java index a076cc70d23..73964caedf6 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaHelper.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaHelper.java @@ -17,6 +17,13 @@ package org.apache.camel.maven.packaging; import java.util.Locale; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.camel.spi.Metadata; +import org.apache.camel.tooling.model.BaseModel; +import org.apache.camel.tooling.util.Strings; +import org.apache.maven.project.MavenProject; public final class SchemaHelper { @@ -99,4 +106,58 @@ public final class SchemaHelper { return answer.toString().toLowerCase(Locale.ENGLISH); } + public static void addModelMetadata(BaseModel<?> model, Metadata metadata) { + if (metadata == null) { + return; + } + + addModelMetadata(model, metadata.annotations()); + } + + public static void addModelMetadata(BaseModel<?> model, String key, String value) { + Map<String, Object> modelMetadata = getModelMetadata(model); + + if (!Strings.isNullOrEmpty(key) && !Strings.isNullOrEmpty(value)) { + modelMetadata.put(key, value); + } + } + + public static void addModelMetadata(BaseModel<?> model, MavenProject project) { + if (project == null) { + return; + } + + String annotations = project.getProperties().getProperty("annotations"); + + if (!Strings.isNullOrEmpty(annotations)) { + addModelMetadata(model, annotations.split(",")); + } + } + + public static void addModelMetadata(BaseModel<?> model, String[] annotations) { + if (annotations == null) { + return; + } + + Map<String, Object> modelMetadata = getModelMetadata(model); + + for (String annotation : annotations) { + String key = Strings.before(annotation, "="); + String val = Strings.after(annotation, "="); + + if (!Strings.isNullOrEmpty(key) && !Strings.isNullOrEmpty(val)) { + modelMetadata.put(key, val); + } + } + } + + public static Map<String, Object> getModelMetadata(BaseModel<?> model) { + Map<String, Object> meta = model.getMetadata(); + if (meta == null) { + meta = new TreeMap<>(); + model.setMetadata(meta); + } + + return meta; + } } diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java index a8ae70fcded..b4ec1585025 100644 --- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java +++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java @@ -170,4 +170,9 @@ public @interface Metadata { * This can be used to help tooling to provide a better user experience. */ String inputLanguage() default ""; + + /** + * Annotations data for Camel concepts such as components, EIP, etc. + */ + String[] annotations() default {}; }