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 21ccd31  CAMEL-17701: camel-core-model - Add labels to EIP options
21ccd31 is described below

commit 21ccd3157a7c2777509d0db88bb7a9016983451f
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 28 21:26:12 2022 +0100

    CAMEL-17701: camel-core-model - Add labels to EIP options
---
 .../org/apache/camel/catalog/dataformats/csv.json  | 22 +++---
 .../org/apache/camel/catalog/models/csv.json       | 22 +++---
 .../apache/camel/catalog/schemas/camel-spring.xsd  | 10 ++-
 .../org/apache/camel/dataformat/csv/csv.json       | 22 +++---
 .../fhir/FhirDataFormatConfigSpringTest.xml        |  4 +-
 .../FhirJsonDataFormatErrorHandlerSpringTest.xml   |  7 +-
 .../FhirXmlDataFormatErrorHandlerSpringTest.xml    |  4 +-
 .../org/apache/camel/model/dataformat/csv.json     | 22 +++---
 .../camel/model/dataformat/CsvDataFormat.java      | 19 +++--
 .../camel/model/dataformat/CustomDataFormat.java   |  1 +
 .../model/dataformat/DataFormatsDefinition.java    | 80 +++++++++++-----------
 11 files changed, 116 insertions(+), 97 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/csv.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/csv.json
index 285a46e..45c6e86 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/csv.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dataformats/csv.json
@@ -17,34 +17,34 @@
   },
   "properties": {
     "formatRef": { "kind": "attribute", "displayName": "Format Ref", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The reference format to use, it will be updated with the other 
format options, the default value is CSVFormat.DEFAULT" },
-    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"DEFAULT", "EXCEL", "INFORMIX_UNLOAD", "INFORMIX_UNLOAD_CSV", "MYSQL", 
"RFC4180" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "The name of the format to use, the default value is 
CSVFormat.DEFAULT" },
-    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Disables the comment marker of the 
reference format." },
-    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the comment marker of the reference format." },
+    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"label": "advanced", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "DEFAULT", "EXCEL", "INFORMIX_UNLOAD", 
"INFORMIX_UNLOAD_CSV", "MYSQL", "RFC4180" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "DEFAULT", "description": "The name of 
the format to use, the default value is CSVFormat.DEFAULT" },
+    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Disables the comment 
marker of the reference format." },
+    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the comment marker of the reference format." },
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the delimiter to use. The default value is , (comma)" },
-    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling using escape character" },
-    "escape": { "kind": "attribute", "displayName": "Escape", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the escape character 
to use" },
+    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"label": "advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Use for disabling using escape 
character" },
+    "escape": { "kind": "attribute", "displayName": "Escape", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the escape character to use" },
     "headerDisabled": { "kind": "attribute", "displayName": "Header Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling headers" },
     "header": { "kind": "element", "displayName": "Header", "required": false, 
"type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": 
false, "autowired": false, "secret": false, "description": "To configure the 
CSV headers" },
     "allowMissingColumnNames": { "kind": "attribute", "displayName": "Allow 
Missing Column Names", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to allow missing column names." 
},
     "ignoreEmptyLines": { "kind": "attribute", "displayName": "Ignore Empty 
Lines", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to ignore empty lines." },
     "ignoreSurroundingSpaces": { "kind": "attribute", "displayName": "Ignore 
Surrounding Spaces", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore surrounding spaces" },
-    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Used to disable null strings" },
-    "nullString": { "kind": "attribute", "displayName": "Null String", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the null string" },
+    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Used to disable null 
strings" },
+    "nullString": { "kind": "attribute", "displayName": "Null String", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the null string" },
     "quoteDisabled": { "kind": "attribute", "displayName": "Quote Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Used to disable quotes" },
     "quote": { "kind": "attribute", "displayName": "Quote", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote which by 
default is" },
     "recordSeparatorDisabled": { "kind": "attribute", "displayName": "Record 
Separator Disabled", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Used for disabling record separator" },
     "recordSeparator": { "kind": "attribute", "displayName": "Record 
Separator", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the record separator (aka new line) which by default is 
new line characters (CRLF)" },
     "skipHeaderRecord": { "kind": "attribute", "displayName": "Skip Header 
Record", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to skip the header record in the output" },
-    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the quote mode" },
+    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"ALL", "ALL_NON_NULL", "MINIMAL", "NON_NUMERIC", "NONE" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote mode" },
     "ignoreHeaderCase": { "kind": "attribute", "displayName": "Ignore Header 
Case", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Sets whether or not to ignore case when accessing header 
names." },
     "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Sets whether or not to trim leading and trailing blanks." },
     "trailingDelimiter": { "kind": "attribute", "displayName": "Trailing 
Delimiter", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Sets whether or not to add a trailing 
delimiter." },
     "marshallerFactoryRef": { "kind": "attribute", "displayName": "Marshaller 
Factory Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the implementation of the 
CsvMarshallerFactory interface which is able to customize 
marshalling\/unmarshalling behavior by extending CsvMarshaller or creating it 
from scratch." },
-    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce an iterator that reads the lines on 
the fly or if all the lines must be read at one." },
+    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should produce 
an iterator that reads the lines on the fly or if all the lines must be read at 
one." },
     "useMaps": { "kind": "attribute", "displayName": "Use Maps", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce maps (HashMap)for the lines values 
instead of lists. It requires to have header (either defined or collected)." },
     "useOrderedMaps": { "kind": "attribute", "displayName": "Use Ordered 
Maps", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether the unmarshalling should produce ordered maps 
(LinkedHashMap) for the lines values instead of lists. It requires to have 
header (either defined or collected)." },
-    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to a custom CsvRecordConverter to lookup from the 
registry to use." },
-    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should capture 
the header record and store it in the message header" },
+    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Refers to a custom CsvRecordConverter to 
lookup from the registry to use." },
+    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the 
unmarshalling should capture the header record and store it in the message 
header" },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The id of this node" }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/csv.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/csv.json
index 09ab9c1..b583333 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/csv.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/csv.json
@@ -14,34 +14,34 @@
   },
   "properties": {
     "formatRef": { "kind": "attribute", "displayName": "Format Ref", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The reference format to use, it will be updated with the other 
format options, the default value is CSVFormat.DEFAULT" },
-    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"DEFAULT", "EXCEL", "INFORMIX_UNLOAD", "INFORMIX_UNLOAD_CSV", "MYSQL", 
"RFC4180" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "The name of the format to use, the default value is 
CSVFormat.DEFAULT" },
-    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Disables the comment marker of the 
reference format." },
-    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the comment marker of the reference format." },
+    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"label": "advanced", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "DEFAULT", "EXCEL", "INFORMIX_UNLOAD", 
"INFORMIX_UNLOAD_CSV", "MYSQL", "RFC4180" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "DEFAULT", "description": "The name of 
the format to use, the default value is CSVFormat.DEFAULT" },
+    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Disables the comment 
marker of the reference format." },
+    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the comment marker of the reference format." },
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the delimiter to use. The default value is , (comma)" },
-    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling using escape character" },
-    "escape": { "kind": "attribute", "displayName": "Escape", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the escape character 
to use" },
+    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"label": "advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Use for disabling using escape 
character" },
+    "escape": { "kind": "attribute", "displayName": "Escape", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the escape character to use" },
     "headerDisabled": { "kind": "attribute", "displayName": "Header Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling headers" },
     "header": { "kind": "element", "displayName": "Header", "required": false, 
"type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": 
false, "autowired": false, "secret": false, "description": "To configure the 
CSV headers" },
     "allowMissingColumnNames": { "kind": "attribute", "displayName": "Allow 
Missing Column Names", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to allow missing column names." 
},
     "ignoreEmptyLines": { "kind": "attribute", "displayName": "Ignore Empty 
Lines", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to ignore empty lines." },
     "ignoreSurroundingSpaces": { "kind": "attribute", "displayName": "Ignore 
Surrounding Spaces", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore surrounding spaces" },
-    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Used to disable null strings" },
-    "nullString": { "kind": "attribute", "displayName": "Null String", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the null string" },
+    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Used to disable null 
strings" },
+    "nullString": { "kind": "attribute", "displayName": "Null String", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the null string" },
     "quoteDisabled": { "kind": "attribute", "displayName": "Quote Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Used to disable quotes" },
     "quote": { "kind": "attribute", "displayName": "Quote", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote which by 
default is" },
     "recordSeparatorDisabled": { "kind": "attribute", "displayName": "Record 
Separator Disabled", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Used for disabling record separator" },
     "recordSeparator": { "kind": "attribute", "displayName": "Record 
Separator", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the record separator (aka new line) which by default is 
new line characters (CRLF)" },
     "skipHeaderRecord": { "kind": "attribute", "displayName": "Skip Header 
Record", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to skip the header record in the output" },
-    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the quote mode" },
+    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"ALL", "ALL_NON_NULL", "MINIMAL", "NON_NUMERIC", "NONE" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote mode" },
     "ignoreHeaderCase": { "kind": "attribute", "displayName": "Ignore Header 
Case", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Sets whether or not to ignore case when accessing header 
names." },
     "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Sets whether or not to trim leading and trailing blanks." },
     "trailingDelimiter": { "kind": "attribute", "displayName": "Trailing 
Delimiter", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Sets whether or not to add a trailing 
delimiter." },
     "marshallerFactoryRef": { "kind": "attribute", "displayName": "Marshaller 
Factory Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the implementation of the 
CsvMarshallerFactory interface which is able to customize 
marshalling\/unmarshalling behavior by extending CsvMarshaller or creating it 
from scratch." },
-    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce an iterator that reads the lines on 
the fly or if all the lines must be read at one." },
+    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should produce 
an iterator that reads the lines on the fly or if all the lines must be read at 
one." },
     "useMaps": { "kind": "attribute", "displayName": "Use Maps", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce maps (HashMap)for the lines values 
instead of lists. It requires to have header (either defined or collected)." },
     "useOrderedMaps": { "kind": "attribute", "displayName": "Use Ordered 
Maps", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether the unmarshalling should produce ordered maps 
(LinkedHashMap) for the lines values instead of lists. It requires to have 
header (either defined or collected)." },
-    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to a custom CsvRecordConverter to lookup from the 
registry to use." },
-    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should capture 
the header record and store it in the message header" },
+    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Refers to a custom CsvRecordConverter to 
lookup from the registry to use." },
+    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the 
unmarshalling should capture the header record and store it in the message 
header" },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The id of this node" }
   }
 }
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 b1fa18a..b5b661c 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
@@ -6573,7 +6573,8 @@ the default value is CSVFormat.DEFAULT.
         <xs:attribute name="formatName" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-The name of the format to use, the default value is CSVFormat.DEFAULT.
+The name of the format to use, the default value is CSVFormat.DEFAULT. Default
+value: DEFAULT
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -6809,6 +6810,13 @@ DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4. Default value: DSTU3
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="fhirContext" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+To use a specific FhirContext instead of the specified fhir version.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="prettyPrint" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
diff --git 
a/components/camel-csv/src/generated/resources/org/apache/camel/dataformat/csv/csv.json
 
b/components/camel-csv/src/generated/resources/org/apache/camel/dataformat/csv/csv.json
index 285a46e..45c6e86 100644
--- 
a/components/camel-csv/src/generated/resources/org/apache/camel/dataformat/csv/csv.json
+++ 
b/components/camel-csv/src/generated/resources/org/apache/camel/dataformat/csv/csv.json
@@ -17,34 +17,34 @@
   },
   "properties": {
     "formatRef": { "kind": "attribute", "displayName": "Format Ref", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The reference format to use, it will be updated with the other 
format options, the default value is CSVFormat.DEFAULT" },
-    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"DEFAULT", "EXCEL", "INFORMIX_UNLOAD", "INFORMIX_UNLOAD_CSV", "MYSQL", 
"RFC4180" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "The name of the format to use, the default value is 
CSVFormat.DEFAULT" },
-    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Disables the comment marker of the 
reference format." },
-    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the comment marker of the reference format." },
+    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"label": "advanced", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "DEFAULT", "EXCEL", "INFORMIX_UNLOAD", 
"INFORMIX_UNLOAD_CSV", "MYSQL", "RFC4180" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "DEFAULT", "description": "The name of 
the format to use, the default value is CSVFormat.DEFAULT" },
+    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Disables the comment 
marker of the reference format." },
+    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the comment marker of the reference format." },
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the delimiter to use. The default value is , (comma)" },
-    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling using escape character" },
-    "escape": { "kind": "attribute", "displayName": "Escape", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the escape character 
to use" },
+    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"label": "advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Use for disabling using escape 
character" },
+    "escape": { "kind": "attribute", "displayName": "Escape", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the escape character to use" },
     "headerDisabled": { "kind": "attribute", "displayName": "Header Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling headers" },
     "header": { "kind": "element", "displayName": "Header", "required": false, 
"type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": 
false, "autowired": false, "secret": false, "description": "To configure the 
CSV headers" },
     "allowMissingColumnNames": { "kind": "attribute", "displayName": "Allow 
Missing Column Names", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to allow missing column names." 
},
     "ignoreEmptyLines": { "kind": "attribute", "displayName": "Ignore Empty 
Lines", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to ignore empty lines." },
     "ignoreSurroundingSpaces": { "kind": "attribute", "displayName": "Ignore 
Surrounding Spaces", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore surrounding spaces" },
-    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Used to disable null strings" },
-    "nullString": { "kind": "attribute", "displayName": "Null String", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the null string" },
+    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Used to disable null 
strings" },
+    "nullString": { "kind": "attribute", "displayName": "Null String", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the null string" },
     "quoteDisabled": { "kind": "attribute", "displayName": "Quote Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Used to disable quotes" },
     "quote": { "kind": "attribute", "displayName": "Quote", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote which by 
default is" },
     "recordSeparatorDisabled": { "kind": "attribute", "displayName": "Record 
Separator Disabled", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Used for disabling record separator" },
     "recordSeparator": { "kind": "attribute", "displayName": "Record 
Separator", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the record separator (aka new line) which by default is 
new line characters (CRLF)" },
     "skipHeaderRecord": { "kind": "attribute", "displayName": "Skip Header 
Record", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to skip the header record in the output" },
-    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the quote mode" },
+    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"ALL", "ALL_NON_NULL", "MINIMAL", "NON_NUMERIC", "NONE" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote mode" },
     "ignoreHeaderCase": { "kind": "attribute", "displayName": "Ignore Header 
Case", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Sets whether or not to ignore case when accessing header 
names." },
     "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Sets whether or not to trim leading and trailing blanks." },
     "trailingDelimiter": { "kind": "attribute", "displayName": "Trailing 
Delimiter", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Sets whether or not to add a trailing 
delimiter." },
     "marshallerFactoryRef": { "kind": "attribute", "displayName": "Marshaller 
Factory Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the implementation of the 
CsvMarshallerFactory interface which is able to customize 
marshalling\/unmarshalling behavior by extending CsvMarshaller or creating it 
from scratch." },
-    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce an iterator that reads the lines on 
the fly or if all the lines must be read at one." },
+    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should produce 
an iterator that reads the lines on the fly or if all the lines must be read at 
one." },
     "useMaps": { "kind": "attribute", "displayName": "Use Maps", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce maps (HashMap)for the lines values 
instead of lists. It requires to have header (either defined or collected)." },
     "useOrderedMaps": { "kind": "attribute", "displayName": "Use Ordered 
Maps", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether the unmarshalling should produce ordered maps 
(LinkedHashMap) for the lines values instead of lists. It requires to have 
header (either defined or collected)." },
-    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to a custom CsvRecordConverter to lookup from the 
registry to use." },
-    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should capture 
the header record and store it in the message header" },
+    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Refers to a custom CsvRecordConverter to 
lookup from the registry to use." },
+    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the 
unmarshalling should capture the header record and store it in the message 
header" },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The id of this node" }
   }
 }
diff --git 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
index 0863bbe..bf9dfbf 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
+++ 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/FhirDataFormatConfigSpringTest.xml
@@ -40,7 +40,7 @@
     <property name="parserErrorHandler" ref="errorHandler" />
     <property name="parserOptions" ref="parserOptions" />
     <property name="forceResourceId" ref="forceResourceId" />
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
     <property name="serverBaseUrl" value="serverBaseUrl"/>
     <property name="prettyPrint" value="TRUE" />
     <property name="omitResourceId" value="TRUE" />
@@ -77,7 +77,7 @@
     <property name="parserErrorHandler" ref="errorHandler" />
     <property name="parserOptions" ref="parserOptions" />
     <property name="forceResourceId" ref="forceResourceId" />
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
     <property name="serverBaseUrl" value="serverBaseUrl"/>
     <property name="prettyPrint" value="TRUE" />
     <property name="omitResourceId" value="TRUE" />
diff --git 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
index 10d8bd0..1098743 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
+++ 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/json/FhirJsonDataFormatErrorHandlerSpringTest.xml
@@ -24,6 +24,9 @@
        http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd
     ">
   <camelContext xmlns="http://camel.apache.org/schema/spring";>
+    <dataFormats>
+      <fhirJson id="strict" fhirContext="#bean:fhirContext"
+    </dataFormats>
     <route>
       <from uri="direct:unmarshalErrorHandlerStrict"/>
       <unmarshal><custom ref="strict"/></unmarshal>
@@ -40,13 +43,13 @@
     <property name="parserErrorHandler">
       <bean class="ca.uhn.fhir.parser.StrictErrorHandler"/>
     </property>
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
   </bean>
   <bean id="lenient" 
class="org.apache.camel.model.dataformat.FhirJsonDataFormat">
     <property name="parserErrorHandler">
       <bean class="ca.uhn.fhir.parser.LenientErrorHandler"/>
     </property>
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
   </bean>
   <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" 
factory-method="forDstu3"/>
 </beans>
diff --git 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
index 095ace9..9388045 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
+++ 
b/components/camel-fhir/camel-fhir-component/src/test/resources/org/apache/camel/dataformat/fhir/xml/FhirXmlDataFormatErrorHandlerSpringTest.xml
@@ -40,13 +40,13 @@
     <property name="parserErrorHandler">
       <bean class="ca.uhn.fhir.parser.StrictErrorHandler"/>
     </property>
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
   </bean>
   <bean id="lenient" 
class="org.apache.camel.model.dataformat.FhirXmlDataFormat">
     <property name="parserErrorHandler">
       <bean class="ca.uhn.fhir.parser.LenientErrorHandler"/>
     </property>
-    <property name="fhirContext" ref="fhirContext"/>
+    <property name="fhirContext" value="#bean:fhirContext"/>
   </bean>
   <bean id="fhirContext" class="ca.uhn.fhir.context.FhirContext" 
factory-method="forDstu3"/>
 </beans>
diff --git 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/dataformat/csv.json
 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/dataformat/csv.json
index 09ab9c1..b583333 100644
--- 
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/dataformat/csv.json
+++ 
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/dataformat/csv.json
@@ -14,34 +14,34 @@
   },
   "properties": {
     "formatRef": { "kind": "attribute", "displayName": "Format Ref", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The reference format to use, it will be updated with the other 
format options, the default value is CSVFormat.DEFAULT" },
-    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"DEFAULT", "EXCEL", "INFORMIX_UNLOAD", "INFORMIX_UNLOAD_CSV", "MYSQL", 
"RFC4180" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "The name of the format to use, the default value is 
CSVFormat.DEFAULT" },
-    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Disables the comment marker of the 
reference format." },
-    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the comment marker of the reference format." },
+    "formatName": { "kind": "attribute", "displayName": "Format Name", 
"label": "advanced", "required": false, "type": "enum", "javaType": 
"java.lang.String", "enum": [ "DEFAULT", "EXCEL", "INFORMIX_UNLOAD", 
"INFORMIX_UNLOAD_CSV", "MYSQL", "RFC4180" ], "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "DEFAULT", "description": "The name of 
the format to use, the default value is CSVFormat.DEFAULT" },
+    "commentMarkerDisabled": { "kind": "attribute", "displayName": "Comment 
Marker Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Disables the comment 
marker of the reference format." },
+    "commentMarker": { "kind": "attribute", "displayName": "Comment Marker", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the comment marker of the reference format." },
     "delimiter": { "kind": "attribute", "displayName": "Delimiter", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the delimiter to use. The default value is , (comma)" },
-    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling using escape character" },
-    "escape": { "kind": "attribute", "displayName": "Escape", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the escape character 
to use" },
+    "escapeDisabled": { "kind": "attribute", "displayName": "Escape Disabled", 
"label": "advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Use for disabling using escape 
character" },
+    "escape": { "kind": "attribute", "displayName": "Escape", "label": 
"advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the escape character to use" },
     "headerDisabled": { "kind": "attribute", "displayName": "Header Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Use for disabling headers" },
     "header": { "kind": "element", "displayName": "Header", "required": false, 
"type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": 
false, "autowired": false, "secret": false, "description": "To configure the 
CSV headers" },
     "allowMissingColumnNames": { "kind": "attribute", "displayName": "Allow 
Missing Column Names", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to allow missing column names." 
},
     "ignoreEmptyLines": { "kind": "attribute", "displayName": "Ignore Empty 
Lines", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to ignore empty lines." },
     "ignoreSurroundingSpaces": { "kind": "attribute", "displayName": "Ignore 
Surrounding Spaces", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether to ignore surrounding spaces" },
-    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Used to disable null strings" },
-    "nullString": { "kind": "attribute", "displayName": "Null String", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the null string" },
+    "nullStringDisabled": { "kind": "attribute", "displayName": "Null String 
Disabled", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Used to disable null 
strings" },
+    "nullString": { "kind": "attribute", "displayName": "Null String", 
"label": "advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the null string" },
     "quoteDisabled": { "kind": "attribute", "displayName": "Quote Disabled", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Used to disable quotes" },
     "quote": { "kind": "attribute", "displayName": "Quote", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote which by 
default is" },
     "recordSeparatorDisabled": { "kind": "attribute", "displayName": "Record 
Separator Disabled", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Used for disabling record separator" },
     "recordSeparator": { "kind": "attribute", "displayName": "Record 
Separator", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the record separator (aka new line) which by default is 
new line characters (CRLF)" },
     "skipHeaderRecord": { "kind": "attribute", "displayName": "Skip Header 
Record", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether to skip the header record in the output" },
-    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the quote mode" },
+    "quoteMode": { "kind": "attribute", "displayName": "Quote Mode", 
"required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ 
"ALL", "ALL_NON_NULL", "MINIMAL", "NON_NUMERIC", "NONE" ], "deprecated": false, 
"autowired": false, "secret": false, "description": "Sets the quote mode" },
     "ignoreHeaderCase": { "kind": "attribute", "displayName": "Ignore Header 
Case", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Sets whether or not to ignore case when accessing header 
names." },
     "trim": { "kind": "attribute", "displayName": "Trim", "required": false, 
"type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Sets whether or not to trim leading and trailing blanks." },
     "trailingDelimiter": { "kind": "attribute", "displayName": "Trailing 
Delimiter", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Sets whether or not to add a trailing 
delimiter." },
     "marshallerFactoryRef": { "kind": "attribute", "displayName": "Marshaller 
Factory Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the implementation of the 
CsvMarshallerFactory interface which is able to customize 
marshalling\/unmarshalling behavior by extending CsvMarshaller or creating it 
from scratch." },
-    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce an iterator that reads the lines on 
the fly or if all the lines must be read at one." },
+    "lazyLoad": { "kind": "attribute", "displayName": "Lazy Load", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should produce 
an iterator that reads the lines on the fly or if all the lines must be read at 
one." },
     "useMaps": { "kind": "attribute", "displayName": "Use Maps", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the unmarshalling should produce maps (HashMap)for the lines values 
instead of lists. It requires to have header (either defined or collected)." },
     "useOrderedMaps": { "kind": "attribute", "displayName": "Use Ordered 
Maps", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "Whether the unmarshalling should produce ordered maps 
(LinkedHashMap) for the lines values instead of lists. It requires to have 
header (either defined or collected)." },
-    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Refers to a custom CsvRecordConverter to lookup from the 
registry to use." },
-    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the unmarshalling should capture 
the header record and store it in the message header" },
+    "recordConverterRef": { "kind": "attribute", "displayName": "Record 
Converter Ref", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Refers to a custom CsvRecordConverter to 
lookup from the registry to use." },
+    "captureHeaderRecord": { "kind": "attribute", "displayName": "Capture 
Header Record", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the 
unmarshalling should capture the header record and store it in the message 
header" },
     "id": { "kind": "attribute", "displayName": "Id", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "The id of this node" }
   }
 }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
index aba46e6..a881a58 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CsvDataFormat.java
@@ -34,24 +34,28 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "csv")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class CsvDataFormat extends DataFormatDefinition {
+
     // Format options
     @XmlAttribute
     @Metadata(label = "advanced")
     private String formatRef;
     @XmlAttribute
-    @Metadata(enums = 
"DEFAULT,EXCEL,INFORMIX_UNLOAD,INFORMIX_UNLOAD_CSV,MYSQL,RFC4180")
+    @Metadata(label = "advanced", enums = 
"DEFAULT,EXCEL,INFORMIX_UNLOAD,INFORMIX_UNLOAD_CSV,MYSQL,RFC4180",
+              defaultValue = "DEFAULT")
     private String formatName;
     @XmlAttribute
-    @Metadata(javaType = "java.lang.Boolean")
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
     private String commentMarkerDisabled;
     @XmlAttribute
+    @Metadata(label = "advanced")
     private String commentMarker;
     @XmlAttribute
     private String delimiter;
     @XmlAttribute
-    @Metadata(javaType = "java.lang.Boolean")
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
     private String escapeDisabled;
     @XmlAttribute
+    @Metadata(label = "advanced")
     private String escape;
     @XmlAttribute
     @Metadata(javaType = "java.lang.Boolean")
@@ -68,9 +72,10 @@ public class CsvDataFormat extends DataFormatDefinition {
     @Metadata(javaType = "java.lang.Boolean")
     private String ignoreSurroundingSpaces;
     @XmlAttribute
-    @Metadata(javaType = "java.lang.Boolean")
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
     private String nullStringDisabled;
     @XmlAttribute
+    @Metadata(label = "advanced")
     private String nullString;
     @XmlAttribute
     @Metadata(javaType = "java.lang.Boolean")
@@ -85,6 +90,7 @@ public class CsvDataFormat extends DataFormatDefinition {
     @Metadata(javaType = "java.lang.Boolean")
     private String skipHeaderRecord;
     @XmlAttribute
+    @Metadata(enums = "ALL,ALL_NON_NULL,MINIMAL,NON_NUMERIC,NONE")
     private String quoteMode;
     @XmlAttribute
     @Metadata(javaType = "java.lang.Boolean")
@@ -101,7 +107,7 @@ public class CsvDataFormat extends DataFormatDefinition {
 
     // Unmarshall options
     @XmlAttribute
-    @Metadata(javaType = "java.lang.Boolean")
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
     private String lazyLoad;
     @XmlAttribute
     @Metadata(javaType = "java.lang.Boolean")
@@ -110,9 +116,10 @@ public class CsvDataFormat extends DataFormatDefinition {
     @Metadata(javaType = "java.lang.Boolean")
     private String useOrderedMaps;
     @XmlAttribute
+    @Metadata(label = "advanced")
     private String recordConverterRef;
     @XmlAttribute
-    @Metadata(javaType = "java.lang.Boolean")
+    @Metadata(label = "advanced", javaType = "java.lang.Boolean")
     private String captureHeaderRecord;
 
     public CsvDataFormat() {
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CustomDataFormat.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CustomDataFormat.java
index e23bbb5..6b0a4eb 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CustomDataFormat.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/dataformat/CustomDataFormat.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "custom")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class CustomDataFormat extends DataFormatDefinition {
+
     @XmlAttribute(required = true)
     private String ref;
 
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 69d15fe..702fa8b 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
@@ -39,46 +39,46 @@ public class DataFormatsDefinition {
 
     // cannot use @XmlElementRef as it doesn't allow optional properties
     @XmlElements({
-            @XmlElement(required = false, name = "any23", type = 
Any23DataFormat.class),
-            @XmlElement(required = false, name = "asn1", type = 
ASN1DataFormat.class),
-            @XmlElement(required = false, name = "avro", type = 
AvroDataFormat.class),
-            @XmlElement(required = false, name = "barcode", type = 
BarcodeDataFormat.class),
-            @XmlElement(required = false, name = "base64", type = 
Base64DataFormat.class),
-            @XmlElement(required = false, name = "beanio", type = 
BeanioDataFormat.class),
-            @XmlElement(required = false, name = "bindy", type = 
BindyDataFormat.class),
-            @XmlElement(required = false, name = "cbor", type = 
CBORDataFormat.class),
-            @XmlElement(required = false, name = "crypto", type = 
CryptoDataFormat.class),
-            @XmlElement(required = false, name = "csv", type = 
CsvDataFormat.class),
-            @XmlElement(required = false, name = "custom", type = 
CustomDataFormat.class),
-            @XmlElement(required = false, name = "fhirJson", type = 
FhirJsonDataFormat.class),
-            @XmlElement(required = false, name = "fhirXml", type = 
FhirXmlDataFormat.class),
-            @XmlElement(required = false, name = "flatpack", type = 
FlatpackDataFormat.class),
-            @XmlElement(required = false, name = "grok", type = 
GrokDataFormat.class),
-            @XmlElement(required = false, name = "gzipDeflater", type = 
GzipDeflaterDataFormat.class),
-            @XmlElement(required = false, name = "hl7", type = 
HL7DataFormat.class),
-            @XmlElement(required = false, name = "ical", type = 
IcalDataFormat.class),
-            @XmlElement(required = false, name = "jacksonXml", type = 
JacksonXMLDataFormat.class),
-            @XmlElement(required = false, name = "jaxb", type = 
JaxbDataFormat.class),
-            @XmlElement(required = false, name = "json", type = 
JsonDataFormat.class),
-            @XmlElement(required = false, name = "jsonApi", type = 
JsonApiDataFormat.class),
-            @XmlElement(required = false, name = "lzf", type = 
LZFDataFormat.class),
-            @XmlElement(required = false, name = "mimeMultipart", type = 
MimeMultipartDataFormat.class),
-            @XmlElement(required = false, name = "protobuf", type = 
ProtobufDataFormat.class),
-            @XmlElement(required = false, name = "rss", type = 
RssDataFormat.class),
-            @XmlElement(required = false, name = "soap", type = 
SoapDataFormat.class),
-            @XmlElement(required = false, name = "syslog", type = 
SyslogDataFormat.class),
-            @XmlElement(required = false, name = "tarFile", type = 
TarFileDataFormat.class),
-            @XmlElement(required = false, name = "thrift", type = 
ThriftDataFormat.class),
-            @XmlElement(required = false, name = "tidyMarkup", type = 
TidyMarkupDataFormat.class),
-            @XmlElement(required = false, name = "univocityCsv", type = 
UniVocityCsvDataFormat.class),
-            @XmlElement(required = false, name = "univocityFixed", type = 
UniVocityFixedDataFormat.class),
-            @XmlElement(required = false, name = "univocityTsv", type = 
UniVocityTsvDataFormat.class),
-            @XmlElement(required = false, name = "xmlSecurity", type = 
XMLSecurityDataFormat.class),
-            @XmlElement(required = false, name = "xstream", type = 
XStreamDataFormat.class),
-            @XmlElement(required = false, name = "pgp", type = 
PGPDataFormat.class),
-            @XmlElement(required = false, name = "yaml", type = 
YAMLDataFormat.class),
-            @XmlElement(required = false, name = "zipDeflater", type = 
ZipDeflaterDataFormat.class),
-            @XmlElement(required = false, name = "zipFile", type = 
ZipFileDataFormat.class) })
+            @XmlElement(name = "any23", type = Any23DataFormat.class),
+            @XmlElement(name = "asn1", type = ASN1DataFormat.class),
+            @XmlElement(name = "avro", type = AvroDataFormat.class),
+            @XmlElement(name = "barcode", type = BarcodeDataFormat.class),
+            @XmlElement(name = "base64", type = Base64DataFormat.class),
+            @XmlElement(name = "beanio", type = BeanioDataFormat.class),
+            @XmlElement(name = "bindy", type = BindyDataFormat.class),
+            @XmlElement(name = "cbor", type = CBORDataFormat.class),
+            @XmlElement(name = "crypto", type = CryptoDataFormat.class),
+            @XmlElement(name = "csv", type = CsvDataFormat.class),
+            @XmlElement(name = "custom", type = CustomDataFormat.class),
+            @XmlElement(name = "fhirJson", type = FhirJsonDataFormat.class),
+            @XmlElement(name = "fhirXml", type = FhirXmlDataFormat.class),
+            @XmlElement(name = "flatpack", type = FlatpackDataFormat.class),
+            @XmlElement(name = "grok", type = GrokDataFormat.class),
+            @XmlElement(name = "gzipDeflater", type = 
GzipDeflaterDataFormat.class),
+            @XmlElement(name = "hl7", type = HL7DataFormat.class),
+            @XmlElement(name = "ical", type = IcalDataFormat.class),
+            @XmlElement(name = "jacksonXml", type = 
JacksonXMLDataFormat.class),
+            @XmlElement(name = "jaxb", type = JaxbDataFormat.class),
+            @XmlElement(name = "json", type = JsonDataFormat.class),
+            @XmlElement(name = "jsonApi", type = JsonApiDataFormat.class),
+            @XmlElement(name = "lzf", type = LZFDataFormat.class),
+            @XmlElement(name = "mimeMultipart", type = 
MimeMultipartDataFormat.class),
+            @XmlElement(name = "protobuf", type = ProtobufDataFormat.class),
+            @XmlElement(name = "rss", type = RssDataFormat.class),
+            @XmlElement(name = "soap", type = SoapDataFormat.class),
+            @XmlElement(name = "syslog", type = SyslogDataFormat.class),
+            @XmlElement(name = "tarFile", type = TarFileDataFormat.class),
+            @XmlElement(name = "thrift", type = ThriftDataFormat.class),
+            @XmlElement(name = "tidyMarkup", type = 
TidyMarkupDataFormat.class),
+            @XmlElement(name = "univocityCsv", type = 
UniVocityCsvDataFormat.class),
+            @XmlElement(name = "univocityFixed", type = 
UniVocityFixedDataFormat.class),
+            @XmlElement(name = "univocityTsv", type = 
UniVocityTsvDataFormat.class),
+            @XmlElement(name = "xmlSecurity", type = 
XMLSecurityDataFormat.class),
+            @XmlElement(name = "xstream", type = XStreamDataFormat.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) })
     private List<DataFormatDefinition> dataFormats;
 
     /**

Reply via email to