This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 1a2b544b2852 CAMEL-22745: Added docs
1a2b544b2852 is described below
commit 1a2b544b2852fa370c32eefedaa8c8f7e3383629
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Mar 6 21:34:50 2026 +0100
CAMEL-22745: Added docs
---
.../apache/camel/catalog/models/validators.json | 2 +-
.../apache/camel/model/validator/validators.json | 2 +-
.../model/validator/ValidatorsDefinition.java | 2 +-
.../modules/ROOT/pages/transformer.adoc | 161 +++++++++++++++++----
docs/user-manual/modules/ROOT/pages/validator.adoc | 108 ++++++++++----
5 files changed, 218 insertions(+), 57 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validators.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validators.json
index 00bad4fc91fd..1ff61144f4e3 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validators.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validators.json
@@ -12,6 +12,6 @@
"output": false
},
"properties": {
- "validators": { "index": 0, "kind": "element", "displayName":
"Validators", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.validator.ValidatorDefinition>",
"oneOf": [ "customValidator", "endpointValidator", "predicateValidator" ],
"deprecated": false, "autowired": false, "secret": false, "description": "The
configured transformers" }
+ "validators": { "index": 0, "kind": "element", "displayName":
"Validators", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.validator.ValidatorDefinition>",
"oneOf": [ "customValidator", "endpointValidator", "predicateValidator" ],
"deprecated": false, "autowired": false, "secret": false, "description": "The
configured validators" }
}
}
diff --git
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validator/validators.json
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validator/validators.json
index 00bad4fc91fd..1ff61144f4e3 100644
---
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validator/validators.json
+++
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validator/validators.json
@@ -12,6 +12,6 @@
"output": false
},
"properties": {
- "validators": { "index": 0, "kind": "element", "displayName":
"Validators", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.validator.ValidatorDefinition>",
"oneOf": [ "customValidator", "endpointValidator", "predicateValidator" ],
"deprecated": false, "autowired": false, "secret": false, "description": "The
configured transformers" }
+ "validators": { "index": 0, "kind": "element", "displayName":
"Validators", "group": "common", "required": true, "type": "array", "javaType":
"java.util.List<org.apache.camel.model.validator.ValidatorDefinition>",
"oneOf": [ "customValidator", "endpointValidator", "predicateValidator" ],
"deprecated": false, "autowired": false, "secret": false, "description": "The
configured validators" }
}
}
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/validator/ValidatorsDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/validator/ValidatorsDefinition.java
index 1831b119333e..0460afd7b694 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/validator/ValidatorsDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/validator/ValidatorsDefinition.java
@@ -49,7 +49,7 @@ public class ValidatorsDefinition {
}
/**
- * The configured transformers
+ * The configured validators
*/
public void setValidators(List<ValidatorDefinition> validators) {
this.validators = validators;
diff --git a/docs/user-manual/modules/ROOT/pages/transformer.adoc
b/docs/user-manual/modules/ROOT/pages/transformer.adoc
index 93866cf0359a..97eb74e42cc7 100644
--- a/docs/user-manual/modules/ROOT/pages/transformer.adoc
+++ b/docs/user-manual/modules/ROOT/pages/transformer.adoc
@@ -11,8 +11,6 @@ looks for a `Transformer` which transforms from the current
message type to the
type and apply. Once transform succeed or message is already in expected type,
then the message
data type is updated.
-NOTE: Currently, transformers is only supported in Java DSL and the classic
Spring XML.
-
== Data type format
[source,text]
@@ -63,7 +61,7 @@ Java::
----
from("direct:abc")
.inputType("myScheme:myTransformer")
- .to("...");
+ .to("log:abc");
----
XML::
@@ -73,9 +71,23 @@ XML::
<route>
<from uri="direct:abc"/>
<inputType urn="myScheme:myTransformer"/>
- <to uri="..."/>
+ <to uri="log:abc"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:abc
+ steps:
+ - inputType:
+ urn: myScheme:myTransformer
+ - to:
+ uri: "log:abc"
+----
====
As mentioned earlier the transformer may also skip the name and just use a
`scheme` (e.g. `xml`) in order to apply to
@@ -118,13 +130,28 @@ transformer()
.withDataFormat(bindy);
----
-Spring XML::
+XML::
+
[source,xml]
----
-<dataFormatTransformer fromType="java:com.example.Order" toType="csv:CSVOrder">
- <bindy id="csvdf" type="Csv" classType="com.example.Order"/>
-</dataFormatTransformer>
+<transformers>
+ <dataFormatTransformer fromType="java:com.example.Order"
toType="csv:CSVOrder">
+ <bindy id="csvdf" type="Csv" classType="com.example.Order"/>
+ </dataFormatTransformer>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ dataFormatTransformer:
+ fromType: java:com.example.Order
+ toType: "csv:CSVOrder"
+ bindy:
+ type: "Csv"
+ classType: "com.example.Order"
----
====
@@ -149,14 +176,27 @@ Java::
transformer()
.fromType("xml")
.toType("json")
- .withUri("component:componentPathOptions?mappingFile=myMapping.xml...");
+ .withUri("component:componentPathOptions?mappingFile=myMapping.xml");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<endpointTransformer ref="myEndpoint" fromType="xml" toType="json"/>
+<transformers>
+ <endpointTransformer
uri="component:componentPathOptions?mappingFile=myMapping.xml" fromType="xml"
toType="json"/>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ endpointTransformer:
+ uri: component:componentPathOptions?mappingFile=myMapping.xml
+ fromType: xml
+ toType: json
----
====
@@ -185,11 +225,24 @@ transformer()
.withJava(com.example.MyCustomTransformer.class);
----
-Spring XML::
+XML::
+
[source,xml]
----
-<customTransformer className="com.example.MyCustomTransformer" fromType="xml"
toType="json"/>
+<transformers>
+ <customTransformer className="com.example.MyCustomTransformer"
fromType="xml" toType="json"/>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ customTransformer:
+ className: com.example.MyCustomTransformer
+ fromType: xml
+ toType: json
----
====
@@ -204,7 +257,7 @@ Users are able to preload known default transformers. Also
users may load transf
| location | Classpath location to scan for transformer implementations.
Transformer implementations must use the
`org.apache.camel.spi.DataTypeTransformer` annotation to get recognized by the
scanner.
|===
-Here is an example to load default Transformer classes:
+Here is an example to load default `Transformer` classes:
[tabs]
====
@@ -216,11 +269,22 @@ transformer()
.withDefaults();
----
-Spring XML::
+XML::
+
[source,xml]
----
-<loadTransformer defaults="true"/>
+<transformers>
+ <loadTransformer defaults="true"/>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ loadTransformer:
+ defaults: true
----
====
@@ -236,11 +300,22 @@ transformer()
.scan("org.apache.camel.transformer.standard");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<loadTransformer packageScan="org.apache.camel.transformer.standard"/>
+<transformers>
+ <loadTransformer packageScan="org.apache.camel.transformer.standard"/>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ loadTransformer:
+ packageScan: "org.apache.camel.transformer.standard"
----
====
@@ -276,16 +351,24 @@ transformer()
.withUri("xslt:transform.xsl");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
- <transformers>
- <endpointTransformer uri="xslt:transform.xsl" fromType="xml:ABCOrder"
toType="xml:XYZOrder"/>
- </transformers>
- ....
-</camelContext>
+<transformers>
+ <endpointTransformer uri="xslt:transform.xsl" fromType="xml:ABCOrder"
toType="xml:XYZOrder"/>
+</transformers>
+----
+
+YAML::
++
+[source,yaml]
+----
+- transformers:
+ endpointTransformer:
+ uri: xslt:transform.xsl
+ fromType: xml:ABCOrder
+ toType: xml:XYZOrder
----
====
@@ -306,11 +389,11 @@ from("direct:xyz")
.to("somewhere:else");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+<routes>
<route>
<from uri="direct:abc"/>
<inputType urn="xml:ABCOrder"/>
@@ -321,7 +404,29 @@ Spring XML::
<inputType urn="xml:XYZOrder"/>
<to uri="somewhere:else"/>
</route>
-</camelContext>
+</routes>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:abc
+ steps:
+ - inputType:
+ urn: xml:ABCOrder
+ - to:
+ uri: direct:xyz
+- route:
+ from:
+ uri: direct:xyz
+ steps:
+ - inputType:
+ urn: xml:XYZOrder
+ - to:
+ uri: somewhere:else
----
====
diff --git a/docs/user-manual/modules/ROOT/pages/validator.adoc
b/docs/user-manual/modules/ROOT/pages/validator.adoc
index d9fe47eba8a6..ddacb23317d2 100644
--- a/docs/user-manual/modules/ROOT/pages/validator.adoc
+++ b/docs/user-manual/modules/ROOT/pages/validator.adoc
@@ -4,8 +4,6 @@ Validator performs declarative validation of the message
according to the declar
_Input Type_ and/or _Output Type_ on a route definition which declares the
expected
message type.
-NOTE: Currently, validators is only supported in Java DSL and the classic
Spring XML.
-
== Data type format
@@ -51,23 +49,35 @@ Here is an example to specify a validation predicate:
[tabs]
====
-
Java::
+
[source,java]
----
validator()
.type("csv:CSVOrder")
- .withExpression(bodyAs(String.class).contains("{name:XOrder}"));
+ .withExpression(simple("${body} contains '{name:XOrder}'"));
----
-Spring XML::
+XML::
+
[source,xml]
----
-<predicateValidator Type="csv:CSVOrder">
- <simple>${body} contains '{name:XOrder}'</simple>
-</predicateValidator>
+<validators>
+ <predicateValidator type="csv:CSVOrder">
+ <simple>${body} contains '{name:XOrder}'</simple>
+ </predicateValidator>
+</validators>
+----
+
+YAML::
++
+[source,yaml]
+----
+- validators:
+ predicateValidator:
+ type: csv:CSVOrder
+ expression:
+ simple: "${body} contains '{name:XOrder}'"
----
====
@@ -94,11 +104,23 @@ validator()
.withUri("validator:xsd/schema.xsd");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<endpointValidator uri="validator:xsd/schema.xsd" type="xml"/>
+<validators>
+ <endpointValidator uri="validator:xsd/schema.xsd" type="xml"/>
+</validators>
+----
+
+YAML::
++
+[source,yaml]
+----
+- validators:
+ endpointValidator:
+ type: xml
+ uri: validator:xsd/schema.xsd
----
====
@@ -132,11 +154,23 @@ validator()
.withJava(com.example.MyCustomValidator.class);
----
-Spring XML::
+XML::
+
[source,xml]
----
-<customTransformer className="com.example.MyCustomValidator" type="json"/>
+<validators>
+ <customValidator className="com.example.MyCustomValidator" type="json"/>
+</validators>
+----
+
+YAML::
++
+[source,yaml]
+----
+- validators:
+ customValidator:
+ type: json
+ className: com.example.MyCustomValidator
----
====
@@ -157,15 +191,23 @@ validator()
.withUri("validator:xsd/schema.xsd");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
- <validators>
- <endpointValidator uri="validator:xsd/schema.xsd" type="xml:ABCOrder"/>
- </validators>
-</camelContext>
+<validators>
+ <endpointValidator uri="validator:xsd/schema.xsd" type="xml:ABCOrder"/>
+</validators>
+----
+
+YAML::
++
+[source,yaml]
+----
+- validators:
+ endpointValidator:
+ type: xml:ABCOrder
+ uri: "validator:xsd/schema.xsd"
----
====
@@ -185,18 +227,32 @@ from("direct:abc")
.log("${body}");
----
-Spring XML::
+XML::
+
[source,xml]
----
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
- <route>
- <from uri="direct:abc"/>
- <inputType urn="xml:ABCOrder" validate="true"/>
- <log message="${body}"/>
- </route>
-</camelContext>
+<route>
+ <from uri="direct:abc"/>
+ <inputType urn="xml:ABCOrder" validate="true"/>
+ <log message="${body}"/>
+</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:abc
+ steps:
+ - inputType:
+ urn: xml:ABCOrder
+ validate: "true"
+ - log:
+ message: "${body}"
+----
+
====
== See Also