VYPR
Critical severity9.4NVD Advisory· Published Apr 27, 2026· Updated Apr 28, 2026

CVE-2026-33454

CVE-2026-33454

Description

The Camel-Mail component is vulnerable to Camel message header injection. The custom header filter strategy used by the component (MailHeaderFilterStrategy) only filters the 'out' direction via setOutFilterStartsWith, while it does not configure the 'in' direction via setInFilterStartsWith. As a result, when a Camel application consumes mail through camel-mail (for example via from(\"imap://...\") or from(\"pop3://...\")) the inbound filter check is skipped and Camel-prefixed MIME headers are mapped unfiltered into the Exchange. An attacker who can deliver an email to a mailbox monitored by such a consumer can inject Camel-specific headers that, for some Camel components downstream of the mail consumer (such as camel-bean, camel-exec, or camel-sql), can alter the behaviour of the route. This is the same pattern that was previously addressed in camel-undertow (CVE-2025-30177) and the broader incoming-header filter (CVE-2025-27636 and CVE-2025-29891).

This issue affects Apache Camel: from 3.0.0 before 4.14.6, from 4.15.0 before 4.18.1.

Users are recommended to upgrade to version 4.19.0, which fixes the issue. If users are on the 4.18.x LTS releases stream, then they are suggested to upgrade to 4.18.1. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.6.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
org.apache.camel:camel-mailMaven
>= 3.0.0, < 4.14.64.14.6
org.apache.camel:camel-mailMaven
>= 4.15.0, < 4.18.14.18.1

Affected products

1
  • cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:*
    Range: >=3.0.0,<4.14.6

Patches

6
5c20de8f047d

CAMEL-23222: Filter inbound Camel headers in MailHeaderFilterStrategy

https://github.com/apache/camelGuillaume NodetMar 20, 2026via ghsa
1 file changed · +1 0
  • components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java+1 0 modified
    @@ -28,6 +28,7 @@ protected void initialize() {
             setLowerCase(true);
             // filter headers begin with "Camel" or "org.apache.camel"
             setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
         }
     
     }
    
0307dd4709a8

CAMEL-23222: Filter inbound Camel headers in MailHeaderFilterStrategy

https://github.com/apache/camelGuillaume NodetMar 20, 2026via ghsa
1 file changed · +1 0
  • components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java+1 0 modified
    @@ -28,6 +28,7 @@ protected void initialize() {
             setLowerCase(true);
             // filter headers begin with "Camel" or "org.apache.camel"
             setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
         }
     
     }
    
05cffa5ec05f

CAMEL-23222: Add HeaderFilterStrategy to CoAP component

https://github.com/apache/camelAndrea CosentinoMar 20, 2026via ghsa
21 files changed · +455 85
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java+6 0 modified
    @@ -30,6 +30,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "client": target.setClient(property(camelContext, org.eclipse.californium.core.CoapClient.class, value)); return true;
             case "configurationfile":
             case "configurationFile": target.setConfigurationFile(property(camelContext, java.lang.String.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             default: return false;
    @@ -46,6 +48,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "client": return org.eclipse.californium.core.CoapClient.class;
             case "configurationfile":
             case "configurationFile": return java.lang.String.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             default: return null;
    @@ -63,6 +67,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "client": return target.getClient();
             case "configurationfile":
             case "configurationFile": return target.getConfigurationFile();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             default: return null;
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java+6 0 modified
    @@ -41,6 +41,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
             case "exchangepattern":
             case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             case "notify": target.setNotify(property(camelContext, boolean.class, value)); return true;
    @@ -79,6 +81,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
             case "exchangepattern":
             case "exchangePattern": return org.apache.camel.ExchangePattern.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             case "notify": return boolean.class;
    @@ -118,6 +122,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "exceptionHandler": return target.getExceptionHandler();
             case "exchangepattern":
             case "exchangePattern": return target.getExchangePattern();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             case "notify": return target.isNotify();
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java+2 1 modified
    @@ -24,7 +24,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
         private static final Set<String> SECRET_PROPERTY_NAMES;
         private static final Map<String, String> MULTI_VALUE_PREFIXES;
         static {
    -        Set<String> props = new HashSet<>(19);
    +        Set<String> props = new HashSet<>(20);
             props.add("advancedCertificateVerifier");
             props.add("advancedPskStore");
             props.add("alias");
    @@ -35,6 +35,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
             props.add("coapMethodRestrict");
             props.add("exceptionHandler");
             props.add("exchangePattern");
    +        props.add("headerFilterStrategy");
             props.add("lazyStartProducer");
             props.add("notify");
             props.add("observable");
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java+12 2 modified
    @@ -22,6 +22,7 @@
     import java.util.concurrent.ConcurrentHashMap;
     
     import org.apache.camel.Message;
    +import org.apache.camel.spi.HeaderFilterStrategy;
     import org.eclipse.californium.core.CoapResource;
     import org.eclipse.californium.core.coap.CoAP.ResponseCode;
     import org.eclipse.californium.core.coap.MediaTypeRegistry;
    @@ -99,13 +100,22 @@ public void handleRequest(Exchange exchange) {
                 camelExchange = consumer.createExchange(false);
                 consumer.createUoW(camelExchange);
     
    +            HeaderFilterStrategy strategy = consumer.getCoapEndpoint().getHeaderFilterStrategy();
                 OptionSet options = exchange.getRequest().getOptions();
                 for (String s : options.getUriQuery()) {
                     int i = s.indexOf('=');
    +                String name;
    +                String value;
                     if (i == -1) {
    -                    camelExchange.getIn().setHeader(s, "");
    +                    name = s;
    +                    value = "";
                     } else {
    -                    camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    +                    name = s.substring(0, i);
    +                    value = s.substring(i + 1);
    +                }
    +                if (strategy == null
    +                        || !strategy.applyFilterToExternalHeaders(name, value, camelExchange)) {
    +                    camelExchange.getIn().setHeader(name, value);
                     }
                 }
     
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java+22 1 modified
    @@ -32,6 +32,8 @@
     import org.apache.camel.Consumer;
     import org.apache.camel.Endpoint;
     import org.apache.camel.Processor;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.Metadata;
     import org.apache.camel.spi.RestConfiguration;
     import org.apache.camel.spi.RestConsumerFactory;
    @@ -59,14 +61,17 @@
      * Represents the component that manages {@link CoAPEndpoint}.
      */
     @Component("coap,coaps,coap+tcp,coaps+tcp")
    -public class CoAPComponent extends DefaultComponent implements RestConsumerFactory {
    +public class CoAPComponent extends DefaultComponent implements RestConsumerFactory, HeaderFilterStrategyAware {
         static final int DEFAULT_PORT = 5684;
         private static final Logger LOG = LoggerFactory.getLogger(CoAPComponent.class);
     
         @Metadata
         private String configurationFile;
         @Metadata(label = "producer,advanced")
         private CoapClient client;
    +    @Metadata(label = "filter",
    +              description = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         final Map<Integer, CoapServer> servers = new ConcurrentHashMap<>();
     
    @@ -156,10 +161,26 @@ private static void doEnableDTLS(
             coapBuilder.setConnector(connector);
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         @Override
         protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
             CoAPEndpoint endpoint = new CoAPEndpoint(uri, this);
             endpoint.setClient(client);
    +        if (headerFilterStrategy != null) {
    +            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
    +        }
             setProperties(endpoint, parameters);
             return endpoint;
         }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java+22 1 modified
    @@ -38,6 +38,8 @@
     import org.apache.camel.Processor;
     import org.apache.camel.Producer;
     import org.apache.camel.spi.EndpointServiceLocation;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.UriEndpoint;
     import org.apache.camel.spi.UriParam;
     import org.apache.camel.spi.UriPath;
    @@ -76,7 +78,7 @@
      */
     @UriEndpoint(firstVersion = "2.16.0", scheme = "coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
                  category = { Category.IOT }, headersClass = CoAPConstants.class)
    -public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation {
    +public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation, HeaderFilterStrategyAware {
         final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
         @UriPath
         private URI uri;
    @@ -109,6 +111,9 @@ public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLoca
         private boolean notify;
         @UriParam(label = "producer,advanced")
         private CoapClient client;
    +    @UriParam(label = "advanced",
    +              description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         private CoAPComponent component;
     
    @@ -272,6 +277,22 @@ public void setClient(CoapClient client) {
             this.client = client;
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        if (headerFilterStrategy == null) {
    +            headerFilterStrategy = new CoAPHeaderFilterStrategy();
    +        }
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         /**
          * Get the SSLContextParameters object for setting up TLS. This is required for coaps+tcp, and for coaps when we are
          * using certificates for TLS (as opposed to RPK or PKS).
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java+33 0 added
    @@ -0,0 +1,33 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.camel.coap;
    +
    +import org.apache.camel.support.DefaultHeaderFilterStrategy;
    +
    +/**
    + * Default header filter strategy for CoAP endpoints.
    + * <p>
    + * Filters out Camel internal headers (starting with "Camel" or "camel") in both directions to prevent external CoAP
    + * clients from injecting internal Camel headers via query parameters.
    + */
    +public class CoAPHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
    +
    +    public CoAPHeaderFilterStrategy() {
    +        setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +    }
    +}
    
  • components/camel-coap/src/test/java/org/apache/camel/coap/CoAPHeaderFilterStrategyTest.java+84 0 added
    @@ -0,0 +1,84 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.camel.coap;
    +
    +import org.apache.camel.Exchange;
    +import org.apache.camel.RoutesBuilder;
    +import org.apache.camel.builder.RouteBuilder;
    +import org.apache.camel.component.mock.MockEndpoint;
    +import org.eclipse.californium.core.CoapClient;
    +import org.eclipse.californium.core.CoapResponse;
    +import org.eclipse.californium.core.coap.MediaTypeRegistry;
    +import org.junit.jupiter.api.Test;
    +
    +import static org.junit.jupiter.api.Assertions.assertEquals;
    +import static org.junit.jupiter.api.Assertions.assertNull;
    +
    +/**
    + * Test that the default {@link CoAPHeaderFilterStrategy} prevents external CoAP clients from injecting internal Camel
    + * headers via query parameters.
    + */
    +public class CoAPHeaderFilterStrategyTest extends CoAPTestSupport {
    +
    +    @Test
    +    void testCamelHeadersAreFilteredFromQueryParameters() throws Exception {
    +        MockEndpoint mock = getMockEndpoint("mock:result");
    +        mock.expectedMessageCount(1);
    +
    +        // Send a CoAP request with a Camel-prefixed query parameter that should be filtered
    +        CoapClient client = createClient("/test?CamelHttpMethod=DELETE&safeParam=hello");
    +        CoapResponse response = client.post("body", MediaTypeRegistry.TEXT_PLAIN);
    +
    +        mock.assertIsSatisfied();
    +
    +        Exchange exchange = mock.getReceivedExchanges().get(0);
    +        // CamelHttpMethod should be filtered out by the header filter strategy
    +        assertNull(exchange.getIn().getHeader("CamelHttpMethod"),
    +                "Camel-prefixed header should be filtered from external CoAP query parameters");
    +        // Non-Camel headers should pass through
    +        assertEquals("hello", exchange.getIn().getHeader("safeParam"),
    +                "Non-Camel headers should be allowed through");
    +    }
    +
    +    @Test
    +    void testCamelLowercaseHeadersAreFiltered() throws Exception {
    +        MockEndpoint mock = getMockEndpoint("mock:result");
    +        mock.expectedMessageCount(1);
    +
    +        CoapClient client = createClient("/test?camelInternal=secret&allowed=value");
    +        CoapResponse response = client.post("body", MediaTypeRegistry.TEXT_PLAIN);
    +
    +        mock.assertIsSatisfied();
    +
    +        Exchange exchange = mock.getReceivedExchanges().get(0);
    +        assertNull(exchange.getIn().getHeader("camelInternal"),
    +                "Lowercase camel-prefixed header should be filtered");
    +        assertEquals("value", exchange.getIn().getHeader("allowed"),
    +                "Non-Camel headers should be allowed through");
    +    }
    +
    +    @Override
    +    protected RoutesBuilder createRouteBuilder() {
    +        return new RouteBuilder() {
    +            @Override
    +            public void configure() {
    +                fromF("coap://localhost:%d/test", PORT.getPort())
    +                        .to("mock:result");
    +            }
    +        };
    +    }
    +}
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapsComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapsTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsTcpComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapTcpComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java+96 0 modified
    @@ -510,6 +510,38 @@ default AdvancedCoAPEndpointConsumerBuilder exchangePattern(String exchangePatte
                 doSetProperty("exchangePattern", exchangePattern);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -905,6 +937,38 @@ default AdvancedCoAPEndpointProducerBuilder lazyStartProducer(String lazyStartPr
                 doSetProperty("lazyStartProducer", lazyStartProducer);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -1194,6 +1258,38 @@ default CoAPEndpointBuilder basic() {
                 return (CoAPEndpointBuilder) this;
             }
     
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         public interface CoAPBuilders {
    
540d48e1cb5e

CAMEL-23222: Filter inbound Camel headers in MailHeaderFilterStrategy

https://github.com/apache/camelGuillaume NodetMar 20, 2026via ghsa
1 file changed · +1 0
  • components/camel-mail/src/main/java/org/apache/camel/component/mail/MailHeaderFilterStrategy.java+1 0 modified
    @@ -28,6 +28,7 @@ protected void initialize() {
             setLowerCase(true);
             // filter headers begin with "Camel" or "org.apache.camel"
             setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
         }
     
     }
    
3926ab2b7745

CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping (#22147)

https://github.com/apache/camelAndrea CosentinoMar 20, 2026via ghsa
20 files changed · +371 85
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java+6 0 modified
    @@ -30,6 +30,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "client": target.setClient(property(camelContext, org.eclipse.californium.core.CoapClient.class, value)); return true;
             case "configurationfile":
             case "configurationFile": target.setConfigurationFile(property(camelContext, java.lang.String.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             default: return false;
    @@ -46,6 +48,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "client": return org.eclipse.californium.core.CoapClient.class;
             case "configurationfile":
             case "configurationFile": return java.lang.String.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             default: return null;
    @@ -63,6 +67,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "client": return target.getClient();
             case "configurationfile":
             case "configurationFile": return target.getConfigurationFile();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             default: return null;
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java+6 0 modified
    @@ -41,6 +41,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
             case "exchangepattern":
             case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             case "notify": target.setNotify(property(camelContext, boolean.class, value)); return true;
    @@ -79,6 +81,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
             case "exchangepattern":
             case "exchangePattern": return org.apache.camel.ExchangePattern.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             case "notify": return boolean.class;
    @@ -118,6 +122,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "exceptionHandler": return target.getExceptionHandler();
             case "exchangepattern":
             case "exchangePattern": return target.getExchangePattern();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             case "notify": return target.isNotify();
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java+2 1 modified
    @@ -24,7 +24,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
         private static final Set<String> SECRET_PROPERTY_NAMES;
         private static final Map<String, String> MULTI_VALUE_PREFIXES;
         static {
    -        Set<String> props = new HashSet<>(19);
    +        Set<String> props = new HashSet<>(20);
             props.add("advancedCertificateVerifier");
             props.add("advancedPskStore");
             props.add("alias");
    @@ -35,6 +35,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
             props.add("coapMethodRestrict");
             props.add("exceptionHandler");
             props.add("exchangePattern");
    +        props.add("headerFilterStrategy");
             props.add("lazyStartProducer");
             props.add("notify");
             props.add("observable");
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json+12 10 modified
    @@ -29,7 +29,8 @@
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
         "client": { "index": 3, "kind": "property", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
    -    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 4, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 5, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -49,14 +50,15 @@
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "client": { "index": 8, "kind": "parameter", "displayName": "Client", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", "deprecated": false, "autowired": false, "secret": false, "description": "To use a shared client for the producers" },
         "lazyStartProducer": { "index": 9, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 10, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 11, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 12, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 13, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 14, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 15, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 16, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 17, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 18, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 19, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java+12 2 modified
    @@ -22,6 +22,7 @@
     import java.util.concurrent.ConcurrentHashMap;
     
     import org.apache.camel.Message;
    +import org.apache.camel.spi.HeaderFilterStrategy;
     import org.eclipse.californium.core.CoapResource;
     import org.eclipse.californium.core.coap.CoAP.ResponseCode;
     import org.eclipse.californium.core.coap.MediaTypeRegistry;
    @@ -99,13 +100,22 @@ public void handleRequest(Exchange exchange) {
                 camelExchange = consumer.createExchange(false);
                 consumer.createUoW(camelExchange);
     
    +            HeaderFilterStrategy strategy = consumer.getCoapEndpoint().getHeaderFilterStrategy();
                 OptionSet options = exchange.getRequest().getOptions();
                 for (String s : options.getUriQuery()) {
                     int i = s.indexOf('=');
    +                String name;
    +                String value;
                     if (i == -1) {
    -                    camelExchange.getIn().setHeader(s, "");
    +                    name = s;
    +                    value = "";
                     } else {
    -                    camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    +                    name = s.substring(0, i);
    +                    value = s.substring(i + 1);
    +                }
    +                if (strategy == null
    +                        || !strategy.applyFilterToExternalHeaders(name, value, camelExchange)) {
    +                    camelExchange.getIn().setHeader(name, value);
                     }
                 }
     
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java+22 1 modified
    @@ -32,6 +32,8 @@
     import org.apache.camel.Consumer;
     import org.apache.camel.Endpoint;
     import org.apache.camel.Processor;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.Metadata;
     import org.apache.camel.spi.RestConfiguration;
     import org.apache.camel.spi.RestConsumerFactory;
    @@ -59,14 +61,17 @@
      * Represents the component that manages {@link CoAPEndpoint}.
      */
     @Component("coap,coaps,coap+tcp,coaps+tcp")
    -public class CoAPComponent extends DefaultComponent implements RestConsumerFactory {
    +public class CoAPComponent extends DefaultComponent implements RestConsumerFactory, HeaderFilterStrategyAware {
         static final int DEFAULT_PORT = 5684;
         private static final Logger LOG = LoggerFactory.getLogger(CoAPComponent.class);
     
         @Metadata
         private String configurationFile;
         @Metadata(label = "producer,advanced")
         private CoapClient client;
    +    @Metadata(label = "filter",
    +              description = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         final Map<Integer, CoapServer> servers = new ConcurrentHashMap<>();
     
    @@ -156,10 +161,26 @@ private static void doEnableDTLS(
             coapBuilder.setConnector(connector);
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         @Override
         protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
             CoAPEndpoint endpoint = new CoAPEndpoint(uri, this);
             endpoint.setClient(client);
    +        if (headerFilterStrategy != null) {
    +            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
    +        }
             setProperties(endpoint, parameters);
             return endpoint;
         }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java+22 1 modified
    @@ -38,6 +38,8 @@
     import org.apache.camel.Processor;
     import org.apache.camel.Producer;
     import org.apache.camel.spi.EndpointServiceLocation;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.UriEndpoint;
     import org.apache.camel.spi.UriParam;
     import org.apache.camel.spi.UriPath;
    @@ -76,7 +78,7 @@
      */
     @UriEndpoint(firstVersion = "2.16.0", scheme = "coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
                  category = { Category.IOT }, headersClass = CoAPConstants.class)
    -public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation {
    +public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation, HeaderFilterStrategyAware {
         final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
         @UriPath
         private URI uri;
    @@ -109,6 +111,9 @@ public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLoca
         private boolean notify;
         @UriParam(label = "producer,advanced")
         private CoapClient client;
    +    @UriParam(label = "advanced",
    +              description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         private CoAPComponent component;
     
    @@ -272,6 +277,22 @@ public void setClient(CoapClient client) {
             this.client = client;
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        if (headerFilterStrategy == null) {
    +            headerFilterStrategy = new CoAPHeaderFilterStrategy();
    +        }
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         /**
          * Get the SSLContextParameters object for setting up TLS. This is required for coaps+tcp, and for coaps when we are
          * using certificates for TLS (as opposed to RPK or PKS).
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java+33 0 added
    @@ -0,0 +1,33 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.camel.coap;
    +
    +import org.apache.camel.support.DefaultHeaderFilterStrategy;
    +
    +/**
    + * Default header filter strategy for CoAP endpoints.
    + * <p>
    + * Filters out Camel internal headers (starting with "Camel" or "camel") in both directions to prevent external CoAP
    + * clients from injecting internal Camel headers via query parameters.
    + */
    +public class CoAPHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
    +
    +    public CoAPHeaderFilterStrategy() {
    +        setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +    }
    +}
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapsComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapsTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsTcpComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java+19 0 modified
    @@ -159,6 +159,24 @@ default CoapTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapTcpComponentBuilderImpl
    @@ -179,6 +197,7 @@ protected boolean setPropertyOnComponent(
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "client": ((CoAPComponent) component).setClient((org.eclipse.californium.core.CoapClient) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java+96 0 modified
    @@ -510,6 +510,38 @@ default AdvancedCoAPEndpointConsumerBuilder exchangePattern(String exchangePatte
                 doSetProperty("exchangePattern", exchangePattern);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -905,6 +937,38 @@ default AdvancedCoAPEndpointProducerBuilder lazyStartProducer(String lazyStartPr
                 doSetProperty("lazyStartProducer", lazyStartProducer);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -1194,6 +1258,38 @@ default CoAPEndpointBuilder basic() {
                 return (CoAPEndpointBuilder) this;
             }
     
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         public interface CoAPBuilders {
    
e074c01a719c

CAMEL-23222 - camel-coap: Integrate HeaderFilterStrategy for CoAP query parameter to header mapping (#22146)

https://github.com/apache/camelAndrea CosentinoMar 20, 2026via ghsa
20 files changed · +372 86
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coaps+tcp.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/coap+tcp.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPComponentConfigurer.java+6 0 modified
    @@ -29,6 +29,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
             case "configurationfile":
             case "configurationFile": target.setConfigurationFile(property(camelContext, java.lang.String.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             default: return false;
    @@ -44,6 +46,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "bridgeErrorHandler": return boolean.class;
             case "configurationfile":
             case "configurationFile": return java.lang.String.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             default: return null;
    @@ -60,6 +64,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "bridgeErrorHandler": return target.isBridgeErrorHandler();
             case "configurationfile":
             case "configurationFile": return target.getConfigurationFile();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             default: return null;
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointConfigurer.java+6 0 modified
    @@ -40,6 +40,8 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
             case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
             case "exchangepattern":
             case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
             case "lazystartproducer":
             case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
             case "notify": target.setNotify(property(camelContext, boolean.class, value)); return true;
    @@ -77,6 +79,8 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
             case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
             case "exchangepattern":
             case "exchangePattern": return org.apache.camel.ExchangePattern.class;
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
             case "lazystartproducer":
             case "lazyStartProducer": return boolean.class;
             case "notify": return boolean.class;
    @@ -115,6 +119,8 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
             case "exceptionHandler": return target.getExceptionHandler();
             case "exchangepattern":
             case "exchangePattern": return target.getExchangePattern();
    +        case "headerfilterstrategy":
    +        case "headerFilterStrategy": return target.getHeaderFilterStrategy();
             case "lazystartproducer":
             case "lazyStartProducer": return target.isLazyStartProducer();
             case "notify": return target.isNotify();
    
  • components/camel-coap/src/generated/java/org/apache/camel/coap/CoAPEndpointUriFactory.java+2 1 modified
    @@ -24,7 +24,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
         private static final Set<String> SECRET_PROPERTY_NAMES;
         private static final Set<String> MULTI_VALUE_PREFIXES;
         static {
    -        Set<String> props = new HashSet<>(18);
    +        Set<String> props = new HashSet<>(19);
             props.add("advancedCertificateVerifier");
             props.add("advancedPskStore");
             props.add("alias");
    @@ -34,6 +34,7 @@ public class CoAPEndpointUriFactory extends org.apache.camel.support.component.E
             props.add("coapMethodRestrict");
             props.add("exceptionHandler");
             props.add("exchangePattern");
    +        props.add("headerFilterStrategy");
             props.add("lazyStartProducer");
             props.add("notify");
             props.add("observable");
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coaps+tcp.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/generated/resources/META-INF/org/apache/camel/coap/coap+tcp.json+12 10 modified
    @@ -28,7 +28,8 @@
         "configurationFile": { "index": 0, "kind": "property", "displayName": "Configuration File", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of COAP configuration file to load and use. Will by default load from classpath, so use file: as prefix to load from file system." },
         "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored." },
         "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }
    +    "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." },
    +    "headerFilterStrategy": { "index": 4, "kind": "property", "displayName": "Header Filter Strategy", "group": "filter", "label": "filter", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message." }
       },
       "headers": {
         "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "byte[]", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CoAP ETag for the response.", "constantName": "org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
    @@ -47,14 +48,15 @@
         "exchangePattern": { "index": 6, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
         "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI." },
         "lazyStartProducer": { "index": 8, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." },
    -    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    -    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    -    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    -    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    -    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    -    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    -    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    -    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    -    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
    +    "headerFilterStrategy": { "index": 9, "kind": "parameter", "displayName": "Header Filter Strategy", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message." },
    +    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", "displayName": "Advanced Certificate Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedCertificateVerifier to use to determine trust in raw public keys." },
    +    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": "Advanced Psk Store", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", "deprecated": false, "autowired": false, "secret": false, "description": "Set the AdvancedPskStore to use for pre-shared key." },
    +    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key." },
    +    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher Suites", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object." },
    +    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": "Client Authentication", "group": "security", "label": "security", "required": false, "type": "enum", "javaType": "org.eclipse.californium.elements.config.CertificateAuthenticationMode", "enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value." },
    +    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PrivateKey", "deprecated": false, "autowired": false, "secret": true, "description": "Set the configured private key for use with Raw Public Key." },
    +    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "java.security.PublicKey", "deprecated": false, "autowired": false, "secret": false, "description": "Set the configured public key for use with Raw Public Key." },
    +    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", "displayName": "Recommended Cipher Suites Only", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false." },
    +    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS)." }
       }
     }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CamelCoapResource.java+12 2 modified
    @@ -22,6 +22,7 @@
     import java.util.concurrent.ConcurrentHashMap;
     
     import org.apache.camel.Message;
    +import org.apache.camel.spi.HeaderFilterStrategy;
     import org.eclipse.californium.core.CoapResource;
     import org.eclipse.californium.core.coap.CoAP.ResponseCode;
     import org.eclipse.californium.core.coap.MediaTypeRegistry;
    @@ -99,13 +100,22 @@ public void handleRequest(Exchange exchange) {
                 camelExchange = consumer.createExchange(false);
                 consumer.createUoW(camelExchange);
     
    +            HeaderFilterStrategy strategy = consumer.getCoapEndpoint().getHeaderFilterStrategy();
                 OptionSet options = exchange.getRequest().getOptions();
                 for (String s : options.getUriQuery()) {
                     int i = s.indexOf('=');
    +                String name;
    +                String value;
                     if (i == -1) {
    -                    camelExchange.getIn().setHeader(s, "");
    +                    name = s;
    +                    value = "";
                     } else {
    -                    camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    +                    name = s.substring(0, i);
    +                    value = s.substring(i + 1);
    +                }
    +                if (strategy == null
    +                        || !strategy.applyFilterToExternalHeaders(name, value, camelExchange)) {
    +                    camelExchange.getIn().setHeader(name, value);
                     }
                 }
     
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java+23 2 modified
    @@ -32,6 +32,8 @@
     import org.apache.camel.Consumer;
     import org.apache.camel.Endpoint;
     import org.apache.camel.Processor;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.Metadata;
     import org.apache.camel.spi.RestConfiguration;
     import org.apache.camel.spi.RestConsumerFactory;
    @@ -58,12 +60,15 @@
      * Represents the component that manages {@link CoAPEndpoint}.
      */
     @Component("coap,coaps,coap+tcp,coaps+tcp")
    -public class CoAPComponent extends DefaultComponent implements RestConsumerFactory {
    +public class CoAPComponent extends DefaultComponent implements RestConsumerFactory, HeaderFilterStrategyAware {
         static final int DEFAULT_PORT = 5684;
         private static final Logger LOG = LoggerFactory.getLogger(CoAPComponent.class);
     
         @Metadata
         private String configurationFile;
    +    @Metadata(label = "filter",
    +              description = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         final Map<Integer, CoapServer> servers = new ConcurrentHashMap<>();
     
    @@ -153,9 +158,25 @@ private static void doEnableDTLS(
             coapBuilder.setConnector(connector);
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         @Override
         protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
    -        Endpoint endpoint = new CoAPEndpoint(uri, this);
    +        CoAPEndpoint endpoint = new CoAPEndpoint(uri, this);
    +        if (headerFilterStrategy != null) {
    +            endpoint.setHeaderFilterStrategy(headerFilterStrategy);
    +        }
             setProperties(endpoint, parameters);
             return endpoint;
         }
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java+22 1 modified
    @@ -38,6 +38,8 @@
     import org.apache.camel.Processor;
     import org.apache.camel.Producer;
     import org.apache.camel.spi.EndpointServiceLocation;
    +import org.apache.camel.spi.HeaderFilterStrategy;
    +import org.apache.camel.spi.HeaderFilterStrategyAware;
     import org.apache.camel.spi.UriEndpoint;
     import org.apache.camel.spi.UriParam;
     import org.apache.camel.spi.UriPath;
    @@ -76,7 +78,7 @@
      */
     @UriEndpoint(firstVersion = "2.16.0", scheme = "coap,coaps,coap+tcp,coaps+tcp", title = "CoAP", syntax = "coap:uri",
                  category = { Category.IOT }, headersClass = CoAPConstants.class)
    -public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation {
    +public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLocation, HeaderFilterStrategyAware {
         final static Logger LOGGER = LoggerFactory.getLogger(CoAPEndpoint.class);
         @UriPath
         private URI uri;
    @@ -107,6 +109,9 @@ public class CoAPEndpoint extends DefaultEndpoint implements EndpointServiceLoca
         private boolean observable;
         @UriParam(label = "producer", defaultValue = "false")
         private boolean notify;
    +    @UriParam(label = "advanced",
    +              description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
    +    private HeaderFilterStrategy headerFilterStrategy;
     
         private CoAPComponent component;
     
    @@ -257,6 +262,22 @@ public void setNotify(boolean notify) {
             this.notify = notify;
         }
     
    +    @Override
    +    public HeaderFilterStrategy getHeaderFilterStrategy() {
    +        if (headerFilterStrategy == null) {
    +            headerFilterStrategy = new CoAPHeaderFilterStrategy();
    +        }
    +        return headerFilterStrategy;
    +    }
    +
    +    /**
    +     * To use a custom {@link org.apache.camel.spi.HeaderFilterStrategy} to filter header to and from Camel message.
    +     */
    +    @Override
    +    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
    +        this.headerFilterStrategy = headerFilterStrategy;
    +    }
    +
         /**
          * Get the SSLContextParameters object for setting up TLS. This is required for coaps+tcp, and for coaps when we are
          * using certificates for TLS (as opposed to RPK or PKS).
    
  • components/camel-coap/src/main/java/org/apache/camel/coap/CoAPHeaderFilterStrategy.java+33 0 added
    @@ -0,0 +1,33 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.camel.coap;
    +
    +import org.apache.camel.support.DefaultHeaderFilterStrategy;
    +
    +/**
    + * Default header filter strategy for CoAP endpoints.
    + * <p>
    + * Filters out Camel internal headers (starting with "Camel" or "camel") in both directions to prevent external CoAP
    + * clients from injecting internal Camel headers via query parameters.
    + */
    +public class CoAPHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
    +
    +    public CoAPHeaderFilterStrategy() {
    +        setOutFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +        setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH);
    +    }
    +}
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapComponentBuilderFactory.java+19 0 modified
    @@ -142,6 +142,24 @@ default CoapComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapComponentBuilderImpl
    @@ -161,6 +179,7 @@ protected boolean setPropertyOnComponent(
                 case "bridgeErrorHandler": ((CoAPComponent) component).setBridgeErrorHandler((boolean) value); return true;
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsComponentBuilderFactory.java+19 0 modified
    @@ -142,6 +142,24 @@ default CoapsComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsComponentBuilderImpl
    @@ -161,6 +179,7 @@ protected boolean setPropertyOnComponent(
                 case "bridgeErrorHandler": ((CoAPComponent) component).setBridgeErrorHandler((boolean) value); return true;
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapsTcpComponentBuilderFactory.java+19 0 modified
    @@ -142,6 +142,24 @@ default CoapsTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapsTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapsTcpComponentBuilderImpl
    @@ -161,6 +179,7 @@ protected boolean setPropertyOnComponent(
                 case "bridgeErrorHandler": ((CoAPComponent) component).setBridgeErrorHandler((boolean) value); return true;
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/CoapTcpComponentBuilderFactory.java+19 0 modified
    @@ -142,6 +142,24 @@ default CoapTcpComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
                 doSetProperty("autowiredEnabled", autowiredEnabled);
                 return this;
             }
    +    
    +        /**
    +         * To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
    +         * header to and from Camel message.
    +         * 
    +         * The option is a:
    +         * &lt;code&gt;org.apache.camel.spi.HeaderFilterStrategy&lt;/code&gt;
    +         * type.
    +         * 
    +         * Group: filter
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default CoapTcpComponentBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         class CoapTcpComponentBuilderImpl
    @@ -161,6 +179,7 @@ protected boolean setPropertyOnComponent(
                 case "bridgeErrorHandler": ((CoAPComponent) component).setBridgeErrorHandler((boolean) value); return true;
                 case "lazyStartProducer": ((CoAPComponent) component).setLazyStartProducer((boolean) value); return true;
                 case "autowiredEnabled": ((CoAPComponent) component).setAutowiredEnabled((boolean) value); return true;
    +            case "headerFilterStrategy": ((CoAPComponent) component).setHeaderFilterStrategy((org.apache.camel.spi.HeaderFilterStrategy) value); return true;
                 default: return false;
                 }
             }
    
  • dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java+96 0 modified
    @@ -510,6 +510,38 @@ default AdvancedCoAPEndpointConsumerBuilder exchangePattern(String exchangePatte
                 doSetProperty("exchangePattern", exchangePattern);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointConsumerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -875,6 +907,38 @@ default AdvancedCoAPEndpointProducerBuilder lazyStartProducer(String lazyStartPr
                 doSetProperty("lazyStartProducer", lazyStartProducer);
                 return this;
             }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointProducerBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         /**
    @@ -1164,6 +1228,38 @@ default CoAPEndpointBuilder basic() {
                 return (CoAPEndpointBuilder) this;
             }
     
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option is a:
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(org.apache.camel.spi.HeaderFilterStrategy headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
    +        /**
    +         * To use a custom HeaderFilterStrategy to filter header to and from
    +         * Camel message.
    +         * 
    +         * The option will be converted to a
    +         * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
    +         * 
    +         * Group: advanced
    +         * 
    +         * @param headerFilterStrategy the value to set
    +         * @return the dsl builder
    +         */
    +        default AdvancedCoAPEndpointBuilder headerFilterStrategy(String headerFilterStrategy) {
    +            doSetProperty("headerFilterStrategy", headerFilterStrategy);
    +            return this;
    +        }
         }
     
         public interface CoAPBuilders {
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

17

News mentions

0

No linked articles in our index yet.