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/03/19 17:38:06 UTC

[camel] branch master updated: Use excludeProperties on @Metadata instead of @EndpointUri

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 23fe4d2  Use excludeProperties on @Metadata instead of @EndpointUri
23fe4d2 is described below

commit 23fe4d20099b5710ec40c409fd9fa0b74ba730d5
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Mar 19 18:36:56 2020 +0100

    Use excludeProperties on @Metadata instead of @EndpointUri
---
 .../atmosphere/websocket/atmosphere-websocket.json      |  1 +
 .../atmosphere/websocket/WebsocketEndpoint.java         |  4 ++--
 .../component/fhir/FhirJsonDataFormatConfigurer.java    |  2 ++
 .../component/fhir/FhirXmlDataFormatConfigurer.java     |  2 ++
 .../org/apache/camel/component/file/remote/ftp.json     |  1 +
 .../org/apache/camel/component/file/remote/ftps.json    |  1 +
 .../org/apache/camel/component/file/remote/sftp.json    |  1 +
 .../apache/camel/component/file/remote/FtpEndpoint.java |  6 ++++--
 .../camel/component/file/remote/FtpsEndpoint.java       |  6 ++++--
 .../camel/component/file/remote/SftpEndpoint.java       |  5 +++--
 .../jacksonxml/JacksonXMLDataFormatConfigurer.java      |  2 ++
 .../camel/converter/jaxb/JaxbDataFormatConfigurer.java  |  2 ++
 .../org/apache/camel/component/jetty9/jetty.json        |  1 +
 .../camel/component/jetty9/JettyHttpEndpoint9.java      |  7 ++++---
 .../resources/org/apache/camel/component/jms/jms.json   |  1 +
 .../org/apache/camel/component/jms/JmsEndpoint.java     |  4 ++--
 .../resources/org/apache/camel/component/scp/scp.json   |  1 +
 .../org/apache/camel/component/scp/ScpEndpoint.java     |  5 +++--
 .../apache/camel/component/netty/http/netty-http.json   |  1 +
 .../camel/component/netty/http/NettyHttpEndpoint.java   |  5 +++--
 .../protobuf/ProtobufDataFormatConfigurer.java          |  2 ++
 .../org/apache/camel/component/servlet/servlet.json     |  1 +
 .../apache/camel/component/servlet/ServletEndpoint.java |  3 ++-
 .../dataformat/thrift/ThriftDataFormatConfigurer.java   |  2 ++
 .../java/org/apache/camel/spi/UriEndpoint.java          | 11 -----------
 docs/components/modules/ROOT/pages/index.adoc           |  2 +-
 .../maven/packaging/EndpointSchemaGeneratorMojo.java    | 17 ++++++++++++++---
 .../src/main/java/org/apache/camel/spi/UriEndpoint.java | 11 -----------
 28 files changed, 63 insertions(+), 44 deletions(-)

diff --git a/components/camel-atmosphere-websocket/src/generated/resources/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json b/components/camel-atmosphere-websocket/src/generated/resources/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
index 9a60004..37a8c9f 100644
--- a/components/camel-atmosphere-websocket/src/generated/resources/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
+++ b/components/camel-atmosphere-websocket/src/generated/resources/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
@@ -8,6 +8,7 @@
     "description": "To exchange data with external Websocket clients using Atmosphere.",
     "label": "websocket",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": false,
     "producerOnly": false,
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 759572e..95e13eb 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
@@ -32,8 +32,8 @@ import org.apache.camel.spi.UriPath;
  * To exchange data with external Websocket clients using Atmosphere.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "atmosphere-websocket", extendsScheme = "servlet", title = "Atmosphere Websocket",
-        syntax = "atmosphere-websocket:servicePath", label = "websocket",
-        excludeProperties = "httpUri,contextPath,authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
+        syntax = "atmosphere-websocket:servicePath", label = "websocket")
+@Metadata(excludeProperties = "httpUri,contextPath,authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
                 + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain")
 public class WebsocketEndpoint extends ServletEndpoint {
 
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirJsonDataFormatConfigurer.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirJsonDataFormatConfigurer.java
index a3e8b95..53ef4c1 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirJsonDataFormatConfigurer.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirJsonDataFormatConfigurer.java
@@ -20,6 +20,8 @@ public class FhirJsonDataFormatConfigurer extends PropertyConfigurerSupport impl
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "fhirversion":
         case "fhirVersion": dataformat.setFhirVersion(property(camelContext, java.lang.String.class, value)); return true;
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         case "serverbaseurl":
         case "serverBaseUrl": dataformat.setServerBaseUrl(property(camelContext, java.lang.String.class, value)); return true;
         case "prettyprint":
diff --git a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirXmlDataFormatConfigurer.java b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirXmlDataFormatConfigurer.java
index 345c3d6..3f4d4cf 100644
--- a/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirXmlDataFormatConfigurer.java
+++ b/components/camel-fhir/camel-fhir-component/src/generated/java/org/apache/camel/component/fhir/FhirXmlDataFormatConfigurer.java
@@ -20,6 +20,8 @@ public class FhirXmlDataFormatConfigurer extends PropertyConfigurerSupport imple
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "fhirversion":
         case "fhirVersion": dataformat.setFhirVersion(property(camelContext, java.lang.String.class, value)); return true;
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         case "serverbaseurl":
         case "serverBaseUrl": dataformat.setServerBaseUrl(property(camelContext, java.lang.String.class, value)); return true;
         case "prettyprint":
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
index 54a5761..652ce89 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftp.json
@@ -9,6 +9,7 @@
     "description": "The ftp component is used for uploading or downloading files from FTP servers.",
     "label": "file",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": false,
     "producerOnly": false,
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
index 25e22fd..991b277 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/ftps.json
@@ -9,6 +9,7 @@
     "description": "The ftps (FTP secure SSL\/TLS) component is used for uploading or downloading files from FTP servers.",
     "label": "file",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": false,
     "producerOnly": false,
diff --git a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
index 4c0e5d8..62d4f66 100644
--- a/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
+++ b/components/camel-ftp/src/generated/resources/org/apache/camel/component/file/remote/sftp.json
@@ -8,6 +8,7 @@
     "description": "The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.",
     "label": "file",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": false,
     "producerOnly": false,
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
index 6cd5ef7..0e762b4 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
@@ -30,6 +30,7 @@ import org.apache.camel.component.file.GenericFileProducer;
 import org.apache.camel.component.file.remote.RemoteFileConfiguration.PathSeparator;
 import org.apache.camel.component.file.strategy.FileMoveExistingStrategy;
 import org.apache.camel.spi.ClassResolver;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.PlatformHelper;
@@ -44,8 +45,9 @@ import org.slf4j.LoggerFactory;
  * The ftp component is used for uploading or downloading files from FTP
  * servers.
  */
-@UriEndpoint(firstVersion = "1.1.0", scheme = "ftp", extendsScheme = "file", title = "FTP", syntax = "ftp:host:port/directoryName", alternativeSyntax = "ftp:username:password@host:port/directoryName", label = "file",
-        excludeProperties = "appendChars,readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize,"
+@UriEndpoint(firstVersion = "1.1.0", scheme = "ftp", extendsScheme = "file", title = "FTP",
+        syntax = "ftp:host:port/directoryName", alternativeSyntax = "ftp:username:password@host:port/directoryName", label = "file")
+@Metadata(excludeProperties = "appendChars,readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize,"
                 + "readLockIdempotentReleaseDelay,readLockIdempotentReleaseExecutorService,"
                 + "directoryMustExist,extendedAttributes,probeContentType,startingDirectoryMustExist,"
                 + "startingDirectoryMustHaveAccess,chmodDirectory,forceWrites,copyAndDeleteOnRenameFail,"
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
index cf4b8f9..679e182 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
@@ -28,6 +28,7 @@ import javax.net.ssl.SSLSocket;
 import javax.net.ssl.TrustManagerFactory;
 
 import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.jsse.SSLContextParameters;
@@ -43,8 +44,9 @@ import org.slf4j.LoggerFactory;
  * The ftps (FTP secure SSL/TLS) component is used for uploading or downloading
  * files from FTP servers.
  */
-@UriEndpoint(firstVersion = "2.2.0", scheme = "ftps", extendsScheme = "file", title = "FTPS", syntax = "ftps:host:port/directoryName", alternativeSyntax = "ftps:username:password@host:port/directoryName", label = "file", 
-                   excludeProperties = "appendChars,readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize," 
+@UriEndpoint(firstVersion = "2.2.0", scheme = "ftps", extendsScheme = "file", title = "FTPS",
+        syntax = "ftps:host:port/directoryName", alternativeSyntax = "ftps:username:password@host:port/directoryName", label = "file")
+@Metadata(excludeProperties = "appendChars,readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize,"
                    + "readLockIdempotentReleaseDelay,readLockIdempotentReleaseExecutorService,"   
                    + "directoryMustExist,extendedAttributes,probeContentType,startingDirectoryMustExist,"
                    + "startingDirectoryMustHaveAccess,chmodDirectory,forceWrites,copyAndDeleteOnRenameFail,"  
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
index 85a29a1..c27b990 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
@@ -21,6 +21,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.component.file.GenericFileConfiguration;
 import org.apache.camel.component.file.GenericFileProducer;
 import org.apache.camel.component.file.strategy.FileMoveExistingStrategy;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
@@ -28,8 +29,8 @@ import org.apache.camel.spi.UriParam;
  * The sftp (FTP over SSH) component is used for uploading or downloading files
  * from SFTP servers.
  */
-@UriEndpoint(firstVersion = "1.1.0", scheme = "sftp", extendsScheme = "file", title = "SFTP", syntax = "sftp:host:port/directoryName", label = "file", 
-             excludeProperties = "appendChars,bufferSize,siteCommand,"
+@UriEndpoint(firstVersion = "1.1.0", scheme = "sftp", extendsScheme = "file", title = "SFTP", syntax = "sftp:host:port/directoryName", label = "file")
+@Metadata(excludeProperties = "appendChars,bufferSize,siteCommand,"
                                  + "directoryMustExist,extendedAttributes,probeContentType,startingDirectoryMustExist,"
                                  + "startingDirectoryMustHaveAccess,chmodDirectory,forceWrites,copyAndDeleteOnRenameFail,"
                                  + "renameUsingCopy")
diff --git a/components/camel-jacksonxml/src/generated/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormatConfigurer.java b/components/camel-jacksonxml/src/generated/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormatConfigurer.java
index d3285a4..7c4faa9 100644
--- a/components/camel-jacksonxml/src/generated/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormatConfigurer.java
+++ b/components/camel-jacksonxml/src/generated/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormatConfigurer.java
@@ -41,6 +41,8 @@ public class JacksonXMLDataFormatConfigurer extends PropertyConfigurerSupport im
         case "disableFeatures": dataformat.setDisableFeatures(property(camelContext, java.lang.String.class, value)); return true;
         case "allowunmarshalltype":
         case "allowUnmarshallType": dataformat.setAllowUnmarshallType(property(camelContext, boolean.class, value)); return true;
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
diff --git a/components/camel-jaxb/src/generated/java/org/apache/camel/converter/jaxb/JaxbDataFormatConfigurer.java b/components/camel-jaxb/src/generated/java/org/apache/camel/converter/jaxb/JaxbDataFormatConfigurer.java
index 95a33eb..e33f75c 100644
--- a/components/camel-jaxb/src/generated/java/org/apache/camel/converter/jaxb/JaxbDataFormatConfigurer.java
+++ b/components/camel-jaxb/src/generated/java/org/apache/camel/converter/jaxb/JaxbDataFormatConfigurer.java
@@ -47,6 +47,8 @@ public class JaxbDataFormatConfigurer extends PropertyConfigurerSupport implemen
         case "xmlStreamWriterWrapper": dataformat.setXmlStreamWriterWrapper(property(camelContext, org.apache.camel.converter.jaxb.JaxbXmlStreamWriterWrapper.class, value)); return true;
         case "jaxbproviderproperties":
         case "jaxbProviderProperties": dataformat.setJaxbProviderProperties(property(camelContext, java.util.Map.class, value)); return true;
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         default: return false;
         }
     }
diff --git a/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty9/jetty.json b/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty9/jetty.json
index 779a3ec..0fc4d4b 100644
--- a/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty9/jetty.json
+++ b/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty9/jetty.json
@@ -8,6 +8,7 @@
     "description": "To use Jetty as a HTTP server as consumer for Camel routes.",
     "label": "http",
     "deprecated": false,
+    "deprecationNote": "",
     "async": true,
     "consumerOnly": true,
     "producerOnly": false,
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
index 27e8873..beaac56 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
@@ -24,14 +24,15 @@ import org.apache.camel.component.jetty.JettyContentExchange;
 import org.apache.camel.component.jetty.JettyHttpComponent;
 import org.apache.camel.component.jetty.JettyHttpEndpoint;
 import org.apache.camel.http.common.HttpBinding;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 
 /**
  * To use Jetty as a HTTP server as consumer for Camel routes.
  */
-@UriEndpoint(firstVersion = "1.2.0", scheme = "jetty", extendsScheme = "http", title = "Jetty", syntax = "jetty:httpUri", label = "http", consumerOnly = true, lenientProperties = true, 
-excludeProperties = "authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
-+ "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain")
+@UriEndpoint(firstVersion = "1.2.0", scheme = "jetty", extendsScheme = "http", title = "Jetty", syntax = "jetty:httpUri", label = "http", consumerOnly = true, lenientProperties = true)
+@Metadata(excludeProperties = "authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost"
+        + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain")
 public class JettyHttpEndpoint9 extends JettyHttpEndpoint implements AsyncEndpoint {
 
     private HttpBinding binding;
diff --git a/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json b/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
index 04ffe16..49cec70 100644
--- a/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
+++ b/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
@@ -8,6 +8,7 @@
     "description": "The jms component allows messages to be sent to (or consumed from) a JMS Queue or Topic.",
     "label": "messaging",
     "deprecated": false,
+    "deprecationNote": "",
     "async": true,
     "consumerOnly": false,
     "producerOnly": false,
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
index 7713e94..b1f07a7 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
@@ -70,8 +70,8 @@ import org.springframework.util.ErrorHandler;
  * This component uses Spring JMS and supports JMS 1.1 and 2.0 API.
  */
 @ManagedResource(description = "Managed JMS Endpoint")
-@UriEndpoint(firstVersion = "1.0.0", scheme = "jms", title = "JMS", syntax = "jms:destinationType:destinationName", label = "messaging",
-        excludeProperties = "bridgeErrorHandler")
+@UriEndpoint(firstVersion = "1.0.0", scheme = "jms", title = "JMS", syntax = "jms:destinationType:destinationName", label = "messaging")
+@Metadata(excludeProperties = "bridgeErrorHandler")
 public class JmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware, MultipleConsumersSupport, Service {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsEndpoint.class);
diff --git a/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json b/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
index a99187a..d088890 100644
--- a/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
+++ b/components/camel-jsch/src/generated/resources/org/apache/camel/component/scp/scp.json
@@ -8,6 +8,7 @@
     "description": "To copy files using the secure copy protocol (SCP).",
     "label": "file",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": false,
     "producerOnly": true,
diff --git a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpEndpoint.java b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpEndpoint.java
index 92049f5..9a71b0c 100644
--- a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpEndpoint.java
+++ b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpEndpoint.java
@@ -22,6 +22,7 @@ import org.apache.camel.component.file.GenericFileProducer;
 import org.apache.camel.component.file.remote.RemoteFileConsumer;
 import org.apache.camel.component.file.remote.RemoteFileEndpoint;
 import org.apache.camel.component.file.remote.RemoteFileOperations;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
@@ -29,8 +30,8 @@ import org.apache.camel.spi.UriParam;
  * To copy files using the secure copy protocol (SCP).
  */
 @UriEndpoint(firstVersion = "2.10.0", scheme = "scp", extendsScheme = "ftp", title = "SCP",
-        syntax = "scp:host:port/directoryName", producerOnly = true, label = "file",
-        excludeProperties = "appendChars,binary,charset,doneFileName,download,fastExistsCheck,fileExist,moveExisting,passiveMode"
+        syntax = "scp:host:port/directoryName", producerOnly = true, label = "file")
+@Metadata(excludeProperties = "appendChars,binary,charset,doneFileName,download,fastExistsCheck,fileExist,moveExisting,passiveMode"
                 + ",separator,tempFileName,tempPrefix,eagerDeleteTargetFile,keepLastModified,sendNoop"
                 + ",maximumReconnectAttempts,reconnectDelay,autoCreate,bufferSize,siteCommand,stepwise,throwExceptionOnConnectFailed"
                 + ",transferLoggingIntervalSeconds,transferLoggingLevel,transferLoggingVerbose,resumeDownload"
diff --git a/components/camel-netty-http/src/generated/resources/org/apache/camel/component/netty/http/netty-http.json b/components/camel-netty-http/src/generated/resources/org/apache/camel/component/netty/http/netty-http.json
index 02c4ed8d..391bb6d 100644
--- a/components/camel-netty-http/src/generated/resources/org/apache/camel/component/netty/http/netty-http.json
+++ b/components/camel-netty-http/src/generated/resources/org/apache/camel/component/netty/http/netty-http.json
@@ -8,6 +8,7 @@
     "description": "Netty HTTP server and client using the Netty 4.x library.",
     "label": "http",
     "deprecated": false,
+    "deprecationNote": "",
     "async": true,
     "consumerOnly": false,
     "producerOnly": false,
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 2b9d550..b3f3492 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
@@ -32,6 +32,7 @@ import org.apache.camel.component.netty.NettyEndpoint;
 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.support.SynchronousDelegateProducer;
@@ -44,8 +45,8 @@ import org.slf4j.LoggerFactory;
  * Netty HTTP server and client using the Netty 4.x library.
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "netty-http", extendsScheme = "netty", title = "Netty HTTP",
-        syntax = "netty-http:protocol:host:port/path",  label = "http", lenientProperties = true,
-        excludeProperties = "textline,delimiter,autoAppendDelimiter,decoderMaxLineLength,encoding,allowDefaultCodec,udpConnectionlessSending,networkInterface"
+        syntax = "netty-http:protocol:host:port/path",  label = "http", lenientProperties = true)
+@Metadata(excludeProperties = "textline,delimiter,autoAppendDelimiter,decoderMaxLineLength,encoding,allowDefaultCodec,udpConnectionlessSending,networkInterface"
                 + ",clientMode,reconnect,reconnectInterval,useByteBuf,udpByteArrayCodec,broadcast,correlationManager")
 public class NettyHttpEndpoint extends NettyEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
 
diff --git a/components/camel-protobuf/src/generated/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormatConfigurer.java b/components/camel-protobuf/src/generated/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormatConfigurer.java
index df429a9..0e2b329 100644
--- a/components/camel-protobuf/src/generated/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormatConfigurer.java
+++ b/components/camel-protobuf/src/generated/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormatConfigurer.java
@@ -18,6 +18,8 @@ public class ProtobufDataFormatConfigurer extends PropertyConfigurerSupport impl
     public boolean configure(CamelContext camelContext, Object target, String name, Object value, boolean ignoreCase) {
         ProtobufDataFormat dataformat = (ProtobufDataFormat) target;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         case "contenttypeformat":
         case "contentTypeFormat": dataformat.setContentTypeFormat(property(camelContext, java.lang.String.class, value)); return true;
         default: return false;
diff --git a/components/camel-servlet/src/generated/resources/org/apache/camel/component/servlet/servlet.json b/components/camel-servlet/src/generated/resources/org/apache/camel/component/servlet/servlet.json
index 97d6154..c2c7279 100644
--- a/components/camel-servlet/src/generated/resources/org/apache/camel/component/servlet/servlet.json
+++ b/components/camel-servlet/src/generated/resources/org/apache/camel/component/servlet/servlet.json
@@ -8,6 +8,7 @@
     "description": "To use a HTTP Servlet as entry for Camel routes when running in a servlet container.",
     "label": "http",
     "deprecated": false,
+    "deprecationNote": "",
     "async": false,
     "consumerOnly": true,
     "producerOnly": false,
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 a0596df..5a740f4 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
@@ -35,7 +35,8 @@ import org.apache.camel.spi.UriPath;
  * To use a HTTP Servlet as entry for Camel routes when running in a servlet container.
  */
 @UriEndpoint(firstVersion = "2.0.0", scheme = "servlet", extendsScheme = "http", title = "Servlet",
-        syntax = "servlet:contextPath", excludeProperties = "httpUri", consumerOnly = true, label = "http")
+        syntax = "servlet:contextPath", consumerOnly = true, label = "http")
+@Metadata(excludeProperties = "httpUri")
 public class ServletEndpoint extends HttpCommonEndpoint {
 
     private HttpBinding binding;
diff --git a/components/camel-thrift/src/generated/java/org/apache/camel/dataformat/thrift/ThriftDataFormatConfigurer.java b/components/camel-thrift/src/generated/java/org/apache/camel/dataformat/thrift/ThriftDataFormatConfigurer.java
index c141deb..4770b00 100644
--- a/components/camel-thrift/src/generated/java/org/apache/camel/dataformat/thrift/ThriftDataFormatConfigurer.java
+++ b/components/camel-thrift/src/generated/java/org/apache/camel/dataformat/thrift/ThriftDataFormatConfigurer.java
@@ -18,6 +18,8 @@ public class ThriftDataFormatConfigurer extends PropertyConfigurerSupport implem
     public boolean configure(CamelContext camelContext, Object target, String name, Object value, boolean ignoreCase) {
         ThriftDataFormat dataformat = (ThriftDataFormat) target;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "contenttypeheader":
+        case "contentTypeHeader": dataformat.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
         case "contenttypeformat":
         case "contentTypeFormat": dataformat.setContentTypeFormat(property(camelContext, java.lang.String.class, value)); return true;
         default: return false;
diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java
index 97adf37..ea2bc60 100644
--- a/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java
+++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriEndpoint.java
@@ -149,17 +149,6 @@ public @interface UriEndpoint {
     boolean lenientProperties() default false;
 
     /**
-     * To exclude one or more properties in this endpoint.
-     * <p/>
-     * This is used when a Camel component extend another component, and then may need to not use some of the properties from
-     * the parent component. Multiple properties can be separated by comma.
-     *
-     * @deprecated use {@link Metadata#excludeProperties()}
-     */
-    @Deprecated
-    String excludeProperties() default "";
-
-    /**
      * Generates source code for fast configuring of the endpoint properties which
      * uses direct method invocation of getter/setters.
      * Setting this to false will fallback to use reflection based introspection as Camel does in Camel 2.x.
diff --git a/docs/components/modules/ROOT/pages/index.adoc b/docs/components/modules/ROOT/pages/index.adoc
index 5ccc9ba..f38c5c1 100644
--- a/docs/components/modules/ROOT/pages/index.adoc
+++ b/docs/components/modules/ROOT/pages/index.adoc
@@ -832,7 +832,7 @@ Number of Languages: 17 in 11 JAR artifacts (0 deprecated)
 == Miscellaneous Components
 
 // others: START
-Number of Miscellaneous Components: 37 in 37 JAR artifacts (0 deprecated)
+Number of Miscellaneous Components: 36 in 36 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
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 ce024dc..314d2ba 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
@@ -220,8 +220,13 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
         // endpoint options
         findClassProperties(componentModel, classElement, new HashSet<>(), "", null, null, false);
 
+        String excludedProperties = "";
+        Metadata metadata = classElement.getAnnotation(Metadata.class);
+        if (metadata != null) {
+            excludedProperties = metadata.excludeProperties();
+        }
         // enhance and generate
-        enhanceComponentModel(componentModel, parentData, uriEndpoint.excludeProperties());
+        enhanceComponentModel(componentModel, parentData, excludedProperties);
 
         // if the component has known class name
         if (!"@@@JAVATYPE@@@".equals(componentModel.getJavaType())) {
@@ -723,13 +728,19 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
         final Class<?> orgClassElement = classElement;
         excludes = new HashSet<>(excludes);
         while (true) {
+            String excludedProperties = "";
+            Metadata metadata = classElement.getAnnotation(Metadata.class);
+            if (metadata != null) {
+                excludedProperties = metadata.excludeProperties();
+            }
+
             final UriEndpoint uriEndpoint = classElement.getAnnotation(UriEndpoint.class);
             if (uriEndpoint != null) {
-                Collections.addAll(excludes, uriEndpoint.excludeProperties().split(","));
+                Collections.addAll(excludes, excludedProperties.split(","));
             }
             for (Field fieldElement : classElement.getDeclaredFields()) {
 
-                Metadata metadata = fieldElement.getAnnotation(Metadata.class);
+                metadata = fieldElement.getAnnotation(Metadata.class);
                 if (metadata != null && metadata.skip()) {
                     continue;
                 }
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java
index 97adf37..ea2bc60 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java
@@ -149,17 +149,6 @@ public @interface UriEndpoint {
     boolean lenientProperties() default false;
 
     /**
-     * To exclude one or more properties in this endpoint.
-     * <p/>
-     * This is used when a Camel component extend another component, and then may need to not use some of the properties from
-     * the parent component. Multiple properties can be separated by comma.
-     *
-     * @deprecated use {@link Metadata#excludeProperties()}
-     */
-    @Deprecated
-    String excludeProperties() default "";
-
-    /**
      * Generates source code for fast configuring of the endpoint properties which
      * uses direct method invocation of getter/setters.
      * Setting this to false will fallback to use reflection based introspection as Camel does in Camel 2.x.