This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-12644 in repository https://gitbox.apache.org/repos/asf/camel.git
commit b0fcbbd30ff5265a13d725689b4e5ae41046ad42 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Jul 16 22:05:10 2018 +0200 CAMEL-12644: Generate spring boot auto configuration in the docs. --- .../src/main/docs/as2-component.adoc | 87 ++++++++++++++++++-- .../src/main/docs/box-component.adoc | 94 ++++++++++++++++++++++ .../src/main/docs/cql-component.adoc | 16 ++++ .../src/main/docs/json-fastjson-dataformat.adoc | 73 +++++++++++++++++ .../src/main/docs/fhir-component.adoc | 63 ++++++++++++++- .../src/main/docs/fhirJson-dataformat.adoc | 63 ++++++++++++++- .../src/main/docs/fhirXml-dataformat.adoc | 62 +++++++++++++- .../src/main/docs/json-gson-dataformat.adoc | 74 +++++++++++++++++ .../camel-hystrix/src/main/docs/hystrix.adoc | 17 +++- .../src/main/docs/json-jackson-dataformat.adoc | 73 +++++++++++++++++ .../src/main/docs/jetty-component.adoc | 92 +++++++++++++++++++++ .../src/main/docs/json-johnzon-dataformat.adoc | 73 +++++++++++++++++ .../camel-josql/src/main/docs/sql-language.adoc | 17 +++- .../camel-jsch/src/main/docs/scp-component.adoc | 19 +++++ .../camel-juel/src/main/docs/el-language.adoc | 17 +++- platforms/spring-boot/components-starter/pom.xml | 2 +- ...pdateSpringBootAutoConfigurationReadmeMojo.java | 77 ++++++++++++++++-- 17 files changed, 898 insertions(+), 21 deletions(-) diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc index 8b89717..9019b26 100644 --- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc +++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc @@ -21,6 +21,19 @@ for this component: </dependency> ---- +=== URI format + +[source] +---- +as2://apiName/methodName +---- + +apiName can be one of: + +* client +* server + + === AS2 Options @@ -70,18 +83,76 @@ with the following path and query parameters: | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean |=== // endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration -=== URI format -[source] ----- -as2://apiName/methodName ----- +The component supports 24 options, which are listed below. -apiName can be one of: -* client -* server + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.as2.configuration.api-name* | What kind of operation to perform + + @param apiName + - the API Name to set | | AS2ApiName +| *camel.component.as2.configuration.as2-from* | | | String +| *camel.component.as2.configuration.as2-message-structure* | | | AS2MessageStructure +| *camel.component.as2.configuration.as2-to* | | | String +| *camel.component.as2.configuration.as2-version* | The version of the AS2 protocol. + + @param as2Version + - the version of the AS2 protocol. | | String +| *camel.component.as2.configuration.client-fqdn* | The Client Fully Qualified Domain Name (FQDN). + <p> + Used in message ids sent by endpoint. + + @param clientFqdn + - the FQDN of client. | | String +| *camel.component.as2.configuration.disposition-notification-to* | | | String +| *camel.component.as2.configuration.edi-message-transfer-encoding* | | | String +| *camel.component.as2.configuration.from* | | | String +| *camel.component.as2.configuration.method-name* | What sub operation to use for the selected operation + + @param methodName + - the methodName to set | | String +| *camel.component.as2.configuration.request-uri* | | | String +| *camel.component.as2.configuration.server* | The value included in the <code>Server</code> message header + identifying the AS2 Server. + + @param server + - AS2 server identification string. | | String +| *camel.component.as2.configuration.server-fqdn* | The Server Fully Qualified Domain Name (FQDN). + <p> + Used in message ids sent by endpoint. + + @param clientFqdn + - the FQDN of server. | | String +| *camel.component.as2.configuration.server-port-number* | | | Integer +| *camel.component.as2.configuration.signed-receipt-mic-algorithms* | | | String[] +| *camel.component.as2.configuration.signing-algorithm-name* | | | String +| *camel.component.as2.configuration.signing-certificate-chain* | | | Certificate[] +| *camel.component.as2.configuration.signing-private-key* | | | PrivateKey +| *camel.component.as2.configuration.subject* | | | String +| *camel.component.as2.configuration.target-hostname* | The host name (IP or DNS name) of target host. + + @param targetHostname + - the target host name (IP or DNS name). | | String +| *camel.component.as2.configuration.target-port-number* | | | Integer +| *camel.component.as2.configuration.user-agent* | The value included in the <code>User-Agent</code> message header + identifying the AS2 user agent. + + @param userAgent + - AS2 user agent identification string. | | String +| *camel.component.as2.enabled* | | | Boolean +| *camel.component.as2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +|=== +// spring-boot-auto-configure options: END + === Client Endpoints: diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc index 7f66211..34d8547 100644 --- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc +++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc @@ -108,6 +108,100 @@ with the following path and query parameters: | *userPassword* (security) | Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call | | String |=== // endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 30 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.box.configuration.access-token-cache* | Custom Access Token Cache for storing and retrieving access tokens. + + @param accessTokenCache + - the Custom Access Token Cache | | IAccessTokenCache +| *camel.component.box.configuration.api-name* | What kind of operation to perform + + @param apiNamethe + API Name to set | | BoxApiName +| *camel.component.box.configuration.authentication-type* | The type of authentication for connection. + <p> + Types of Authentication: + <ul> + <li>STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged)</li> + <li>SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens</li> + </ul> + + @param authenticationTypethe + authenticationType to set | APP_USER_AUTHENTICATION | String +| *camel.component.box.configuration.client-id* | Box application client ID + + @param clientIdthe + clientId to set | | String +| *camel.component.box.configuration.client-secret* | Box application client secret + + @param clientSecretthe + clientSecret to set | | String +| *camel.component.box.configuration.enterprise-id* | The enterprise ID to use for an App Enterprise. + + @param enterpriseIdthe + enterpriseId to set | | String +| *camel.component.box.configuration.http-params* | Custom HTTP params for settings like proxy host + + @param httpParamsthe + httpParams to set | | Map +| *camel.component.box.configuration.method-name* | What sub operation to use for the selected operation + + @param methodNamethe + methodName to set | | String +| *camel.component.box.configuration.private-key-file* | The private key for generating the JWT signature. + + @param privateKeythe + privateKey to set | | String +| *camel.component.box.configuration.private-key-password* | The password for the private key. + + @param privateKeyPasswordthe + privateKeyPassword to set | | String +| *camel.component.box.configuration.public-key-id* | The ID for public key for validating the JWT signature. + + @param publicKeyIdthe + publicKeyId to set | | String +| *camel.component.box.configuration.ssl-context-parameters.camel-context* | | | CamelContext +| *camel.component.box.configuration.ssl-context-parameters.cert-alias* | | | String +| *camel.component.box.configuration.ssl-context-parameters.cipher-suites* | | | CipherSuitesParameters +| *camel.component.box.configuration.ssl-context-parameters.cipher-suites-filter* | | | FilterParameters +| *camel.component.box.configuration.ssl-context-parameters.client-parameters* | | | SSLContextClient Parameters +| *camel.component.box.configuration.ssl-context-parameters.key-managers* | | | KeyManagersParameters +| *camel.component.box.configuration.ssl-context-parameters.provider* | | | String +| *camel.component.box.configuration.ssl-context-parameters.secure-random* | | | SecureRandomParameters +| *camel.component.box.configuration.ssl-context-parameters.secure-socket-protocol* | | | String +| *camel.component.box.configuration.ssl-context-parameters.secure-socket-protocols* | | | SecureSocketProtocols Parameters +| *camel.component.box.configuration.ssl-context-parameters.secure-socket-protocols-filter* | | | FilterParameters +| *camel.component.box.configuration.ssl-context-parameters.server-parameters* | | | SSLContextServer Parameters +| *camel.component.box.configuration.ssl-context-parameters.session-timeout* | | | String +| *camel.component.box.configuration.ssl-context-parameters.trust-managers* | | | TrustManagersParameters +| *camel.component.box.configuration.user-id* | The user ID to use for an App User. + + @param userIdthe + userId to set | | String +| *camel.component.box.configuration.user-name* | Box user name, MUST be provided + + @param userNamethe + userName to set | | String +| *camel.component.box.configuration.user-password* | Box user password, MUST be provided if authSecureStorage is not set, + or returns null on first call + + @param userPasswordthe + userPassword to set | | String +| *camel.component.box.enabled* | Enable box component | true | Boolean +| *camel.component.box.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +|=== +// spring-boot-auto-configure options: END === URI format diff --git a/components/camel-cassandraql/src/main/docs/cql-component.adoc b/components/camel-cassandraql/src/main/docs/cql-component.adoc index 687d9e4..4127fd9 100644 --- a/components/camel-cassandraql/src/main/docs/cql-component.adoc +++ b/components/camel-cassandraql/src/main/docs/cql-component.adoc @@ -119,8 +119,24 @@ with the following path and query parameters: | *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean |=== // endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 2 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.cql.enabled* | Enable cql component | true | Boolean +| *camel.component.cql.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +|=== +// spring-boot-auto-configure options: END + === Messages ==== Incoming Message diff --git a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc index 97ecafb..2d20083 100644 --- a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc +++ b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc @@ -45,8 +45,81 @@ The JSon Fastjson dataformat supports 19 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 20 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.dataformat.json-fastjson.allow-jms-type* | Used for JMS users to allow the JMSType header from the JMS spec to + specify a FQN classname to use to unmarshal to. | false | Boolean +| *camel.dataformat.json-fastjson.allow-unmarshall-type* | If enabled then Jackson is allowed to attempt to use the + CamelJacksonUnmarshalType header during the unmarshalling. This should + only be enabled when desired to be used. | false | Boolean +| *camel.dataformat.json-fastjson.collection-type-name* | Refers to a custom collection type to lookup in the registry to use. This + option should rarely be used, but allows to use different collection + types than java.util.Collection based as default. | | String +| *camel.dataformat.json-fastjson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.json-fastjson.disable-features* | Set of features to disable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-fastjson.enable-features* | Set of features to enable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-fastjson.enable-jaxb-annotation-module* | Whether to enable the JAXB annotations module when using jackson. When + enabled then JAXB annotations can be used by Jackson. | false | Boolean +| *camel.dataformat.json-fastjson.enabled* | | | Boolean +| *camel.dataformat.json-fastjson.include* | If you want to marshal a pojo to JSON, and the pojo has some fields with + null values. And you want to skip these null values, you can set this + option to NOT_NULL | | String +| *camel.dataformat.json-fastjson.json-view* | When marshalling a POJO to JSON you might want to exclude certain fields + from the JSON output. With Jackson you can use JSON views to accomplish + this. This option is to refer to the class which has JsonView annotations | | Class +| *camel.dataformat.json-fastjson.library* | Which json library to use. | | JsonLibrary +| *camel.dataformat.json-fastjson.module-class-names* | To use custom Jackson modules com.fasterxml.jackson.databind.Module + specified as a String with FQN class names. Multiple classes can be + separated by comma. | | String +| *camel.dataformat.json-fastjson.module-refs* | To use custom Jackson modules referred from the Camel registry. Multiple + modules can be separated by comma. | | String +| *camel.dataformat.json-fastjson.object-mapper* | Lookup and use the existing ObjectMapper with the given id when using + Jackson. | | String +| *camel.dataformat.json-fastjson.permissions* | Adds permissions that controls which Java packages and classes XStream is + allowed to use during unmarshal from xml/json to Java beans. A permission + must be configured either here or globally using a JVM system property. + The permission can be specified in a syntax where a plus sign is allow, + and minus sign is deny. Wildcards is supported by using . as prefix. For + example to allow com.foo and all subpackages then specfy com.foo.. + Multiple permissions can be configured separated by comma, such as + com.foo.,-com.foo.bar.MySecretBean. The following default permission is + always included: -,java.lang.,java.util. unless its overridden by + specifying a JVM system property with they key + org.apache.camel.xstream.permissions. | | String +| *camel.dataformat.json-fastjson.pretty-print* | To enable pretty printing output nicely formatted. Is by default false. | false | Boolean +| *camel.dataformat.json-fastjson.timezone* | If set then Jackson will use the Timezone when marshalling/unmarshalling. + This option will have no effect on the others Json DataFormat, like gson, + fastjson and xstream. | | String +| *camel.dataformat.json-fastjson.unmarshal-type-name* | Class name of the java type to use when unarmshalling | | String +| *camel.dataformat.json-fastjson.use-default-object-mapper* | Whether to lookup and use default Jackson ObjectMapper from the registry. | true | Boolean +| *camel.dataformat.json-fastjson.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean +|=== +// spring-boot-auto-configure options: END + ### Dependencies diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc index ea755c5..1c64a07 100644 --- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc +++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc @@ -118,4 +118,65 @@ with the following path and query parameters: | *password* (security) | Username to use for basic authentication | | String | *username* (security) | Username to use for basic authentication | | String |=== -// endpoint options: END \ No newline at end of file +// endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 38 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.fhir.configuration.access-token* | | | String +| *camel.component.fhir.configuration.api-name* | What kind of operation to perform | | FhirApiName +| *camel.component.fhir.configuration.client* | | | IGenericClient +| *camel.component.fhir.configuration.client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.compress* | | false | Boolean +| *camel.component.fhir.configuration.connection-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.defer-model-scanning* | | false | Boolean +| *camel.component.fhir.configuration.fhir-context.add-profile-tag-when-encoding* | | | AddProfileTagEnum +| *camel.component.fhir.configuration.fhir-context.element-definitions* | | | BaseRuntimeElementDefinition<?>> +| *camel.component.fhir.configuration.fhir-context.localizer* | | | HapiLocalizer +| *camel.component.fhir.configuration.fhir-context.narrative-generator* | | | INarrativeGenerator +| *camel.component.fhir.configuration.fhir-context.parser-options* | | | ParserOptions +| *camel.component.fhir.configuration.fhir-context.performance-options* | | | Set +| *camel.component.fhir.configuration.fhir-context.resource-definitions-with-explicit-id* | | | RuntimeResourceDefinition> +| *camel.component.fhir.configuration.fhir-context.resource-names* | | | Set +| *camel.component.fhir.configuration.fhir-context.restful-client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.fhir-context.validation-support* | | | IContextValidation Support<?,?,?,?,?,?> +| *camel.component.fhir.configuration.force-conformance-check* | | false | Boolean +| *camel.component.fhir.configuration.log* | | false | Boolean +| *camel.component.fhir.configuration.method-name* | What sub operation to use for the selected operation | | String +| *camel.component.fhir.configuration.password* | | | String +| *camel.component.fhir.configuration.pretty-print* | | false | Boolean +| *camel.component.fhir.configuration.proxy-host* | | | String +| *camel.component.fhir.configuration.proxy-password* | | | String +| *camel.component.fhir.configuration.proxy-port* | | | Integer +| *camel.component.fhir.configuration.proxy-user* | | | String +| *camel.component.fhir.configuration.server-url* | | | String +| *camel.component.fhir.configuration.session-cookie* | | | String +| *camel.component.fhir.configuration.socket-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.username* | | | String +| *camel.component.fhir.enabled* | | | Boolean +| *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.dataformat.fhirjson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirjson.enabled* | | | Boolean +| *camel.dataformat.fhirjson.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +| *camel.dataformat.fhirxml.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirxml.enabled* | | | Boolean +| *camel.dataformat.fhirxml.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +|=== +// spring-boot-auto-configure options: END diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc index 88b3e46..6472f1a 100644 --- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc +++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc @@ -1,8 +1,6 @@ [[fhirJson-dataformat]] == FHIR JSon DataFormat *Available as of Camel version 2.21* -*Available as of Camel version 2.21* -*Available as of Camel version 2.21* @@ -24,3 +22,64 @@ The FHIR JSon dataformat supports 2 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 38 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.fhir.configuration.access-token* | | | String +| *camel.component.fhir.configuration.api-name* | What kind of operation to perform | | FhirApiName +| *camel.component.fhir.configuration.client* | | | IGenericClient +| *camel.component.fhir.configuration.client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.compress* | | false | Boolean +| *camel.component.fhir.configuration.connection-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.defer-model-scanning* | | false | Boolean +| *camel.component.fhir.configuration.fhir-context.add-profile-tag-when-encoding* | | | AddProfileTagEnum +| *camel.component.fhir.configuration.fhir-context.element-definitions* | | | BaseRuntimeElementDefinition<?>> +| *camel.component.fhir.configuration.fhir-context.localizer* | | | HapiLocalizer +| *camel.component.fhir.configuration.fhir-context.narrative-generator* | | | INarrativeGenerator +| *camel.component.fhir.configuration.fhir-context.parser-options* | | | ParserOptions +| *camel.component.fhir.configuration.fhir-context.performance-options* | | | Set +| *camel.component.fhir.configuration.fhir-context.resource-definitions-with-explicit-id* | | | RuntimeResourceDefinition> +| *camel.component.fhir.configuration.fhir-context.resource-names* | | | Set +| *camel.component.fhir.configuration.fhir-context.restful-client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.fhir-context.validation-support* | | | IContextValidation Support<?,?,?,?,?,?> +| *camel.component.fhir.configuration.force-conformance-check* | | false | Boolean +| *camel.component.fhir.configuration.log* | | false | Boolean +| *camel.component.fhir.configuration.method-name* | What sub operation to use for the selected operation | | String +| *camel.component.fhir.configuration.password* | | | String +| *camel.component.fhir.configuration.pretty-print* | | false | Boolean +| *camel.component.fhir.configuration.proxy-host* | | | String +| *camel.component.fhir.configuration.proxy-password* | | | String +| *camel.component.fhir.configuration.proxy-port* | | | Integer +| *camel.component.fhir.configuration.proxy-user* | | | String +| *camel.component.fhir.configuration.server-url* | | | String +| *camel.component.fhir.configuration.session-cookie* | | | String +| *camel.component.fhir.configuration.socket-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.username* | | | String +| *camel.component.fhir.enabled* | | | Boolean +| *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.dataformat.fhirjson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirjson.enabled* | | | Boolean +| *camel.dataformat.fhirjson.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +| *camel.dataformat.fhirxml.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirxml.enabled* | | | Boolean +| *camel.dataformat.fhirxml.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +|=== +// spring-boot-auto-configure options: END diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc index 37b53ec..637ef5f 100644 --- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc +++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc @@ -1,7 +1,6 @@ [[fhirXml-dataformat]] == FHIR XML DataFormat *Available as of Camel version 2.21* -*Available as of Camel version 2.21* The FHIR-XML Data Format leverages @@ -22,3 +21,64 @@ The FHIR XML dataformat supports 2 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 38 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.fhir.configuration.access-token* | | | String +| *camel.component.fhir.configuration.api-name* | What kind of operation to perform | | FhirApiName +| *camel.component.fhir.configuration.client* | | | IGenericClient +| *camel.component.fhir.configuration.client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.compress* | | false | Boolean +| *camel.component.fhir.configuration.connection-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.defer-model-scanning* | | false | Boolean +| *camel.component.fhir.configuration.fhir-context.add-profile-tag-when-encoding* | | | AddProfileTagEnum +| *camel.component.fhir.configuration.fhir-context.element-definitions* | | | BaseRuntimeElementDefinition<?>> +| *camel.component.fhir.configuration.fhir-context.localizer* | | | HapiLocalizer +| *camel.component.fhir.configuration.fhir-context.narrative-generator* | | | INarrativeGenerator +| *camel.component.fhir.configuration.fhir-context.parser-options* | | | ParserOptions +| *camel.component.fhir.configuration.fhir-context.performance-options* | | | Set +| *camel.component.fhir.configuration.fhir-context.resource-definitions-with-explicit-id* | | | RuntimeResourceDefinition> +| *camel.component.fhir.configuration.fhir-context.resource-names* | | | Set +| *camel.component.fhir.configuration.fhir-context.restful-client-factory* | | | IRestfulClientFactory +| *camel.component.fhir.configuration.fhir-context.validation-support* | | | IContextValidation Support<?,?,?,?,?,?> +| *camel.component.fhir.configuration.force-conformance-check* | | false | Boolean +| *camel.component.fhir.configuration.log* | | false | Boolean +| *camel.component.fhir.configuration.method-name* | What sub operation to use for the selected operation | | String +| *camel.component.fhir.configuration.password* | | | String +| *camel.component.fhir.configuration.pretty-print* | | false | Boolean +| *camel.component.fhir.configuration.proxy-host* | | | String +| *camel.component.fhir.configuration.proxy-password* | | | String +| *camel.component.fhir.configuration.proxy-port* | | | Integer +| *camel.component.fhir.configuration.proxy-user* | | | String +| *camel.component.fhir.configuration.server-url* | | | String +| *camel.component.fhir.configuration.session-cookie* | | | String +| *camel.component.fhir.configuration.socket-timeout* | | 10000 | Integer +| *camel.component.fhir.configuration.username* | | | String +| *camel.component.fhir.enabled* | | | Boolean +| *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.dataformat.fhirjson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirjson.enabled* | | | Boolean +| *camel.dataformat.fhirjson.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +| *camel.dataformat.fhirxml.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.fhirxml.enabled* | | | Boolean +| *camel.dataformat.fhirxml.fhir-version* | The version of FHIR to use. Possible values are: + DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String +|=== +// spring-boot-auto-configure options: END diff --git a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc index 9d60b38..c3704f4 100644 --- a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc +++ b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc @@ -45,6 +45,80 @@ The JSon GSon dataformat supports 19 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 20 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.dataformat.json-gson.allow-jms-type* | Used for JMS users to allow the JMSType header from the JMS spec to + specify a FQN classname to use to unmarshal to. | false | Boolean +| *camel.dataformat.json-gson.allow-unmarshall-type* | If enabled then Jackson is allowed to attempt to use the + CamelJacksonUnmarshalType header during the unmarshalling. This should + only be enabled when desired to be used. | false | Boolean +| *camel.dataformat.json-gson.collection-type-name* | Refers to a custom collection type to lookup in the registry to use. This + option should rarely be used, but allows to use different collection + types than java.util.Collection based as default. | | String +| *camel.dataformat.json-gson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.json-gson.disable-features* | Set of features to disable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-gson.enable-features* | Set of features to enable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-gson.enable-jaxb-annotation-module* | Whether to enable the JAXB annotations module when using jackson. When + enabled then JAXB annotations can be used by Jackson. | false | Boolean +| *camel.dataformat.json-gson.enabled* | Enable json-gson dataformat | true | Boolean +| *camel.dataformat.json-gson.include* | If you want to marshal a pojo to JSON, and the pojo has some fields with + null values. And you want to skip these null values, you can set this + option to NOT_NULL | | String +| *camel.dataformat.json-gson.json-view* | When marshalling a POJO to JSON you might want to exclude certain fields + from the JSON output. With Jackson you can use JSON views to accomplish + this. This option is to refer to the class which has JsonView annotations | | Class +| *camel.dataformat.json-gson.library* | Which json library to use. | | JsonLibrary +| *camel.dataformat.json-gson.module-class-names* | To use custom Jackson modules com.fasterxml.jackson.databind.Module + specified as a String with FQN class names. Multiple classes can be + separated by comma. | | String +| *camel.dataformat.json-gson.module-refs* | To use custom Jackson modules referred from the Camel registry. Multiple + modules can be separated by comma. | | String +| *camel.dataformat.json-gson.object-mapper* | Lookup and use the existing ObjectMapper with the given id when using + Jackson. | | String +| *camel.dataformat.json-gson.permissions* | Adds permissions that controls which Java packages and classes XStream is + allowed to use during unmarshal from xml/json to Java beans. A permission + must be configured either here or globally using a JVM system property. + The permission can be specified in a syntax where a plus sign is allow, + and minus sign is deny. Wildcards is supported by using . as prefix. For + example to allow com.foo and all subpackages then specfy com.foo.. + Multiple permissions can be configured separated by comma, such as + com.foo.,-com.foo.bar.MySecretBean. The following default permission is + always included: -,java.lang.,java.util. unless its overridden by + specifying a JVM system property with they key + org.apache.camel.xstream.permissions. | | String +| *camel.dataformat.json-gson.pretty-print* | To enable pretty printing output nicely formatted. Is by default false. | false | Boolean +| *camel.dataformat.json-gson.timezone* | If set then Jackson will use the Timezone when marshalling/unmarshalling. + This option will have no effect on the others Json DataFormat, like gson, + fastjson and xstream. | | String +| *camel.dataformat.json-gson.unmarshal-type-name* | Class name of the java type to use when unarmshalling | | String +| *camel.dataformat.json-gson.use-default-object-mapper* | Whether to lookup and use default Jackson ObjectMapper from the registry. | true | Boolean +| *camel.dataformat.json-gson.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean +|=== +// spring-boot-auto-configure options: END diff --git a/components/camel-hystrix/src/main/docs/hystrix.adoc b/components/camel-hystrix/src/main/docs/hystrix.adoc index 40885f1..3b9a191 100644 --- a/components/camel-hystrix/src/main/docs/hystrix.adoc +++ b/components/camel-hystrix/src/main/docs/hystrix.adoc @@ -17,4 +17,19 @@ for this component: </dependency> ---- -For more information see the http://camel.apache.org/hystrix-eip.html[Hystrix EIP] +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration + + +The component supports 3 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.hystrix.mapping.enabled* | Enables the automatic mapping of the hystrics metric servlet into the Spring web context. | true | Boolean +| *camel.component.hystrix.mapping.path* | Endpoint for hystrix metrics servlet. | /hystrix.stream | String +| *camel.component.hystrix.mapping.servlet-name* | Name of the Hystrix metrics servlet. | HystrixEventStreamServlet | String +|=== +// spring-boot-auto-configure options: END diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc index 7aa707d..1bd5f7e 100644 --- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc +++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc @@ -46,8 +46,81 @@ The JSon Jackson dataformat supports 19 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 20 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.dataformat.json-jackson.allow-jms-type* | Used for JMS users to allow the JMSType header from the JMS spec to + specify a FQN classname to use to unmarshal to. | false | Boolean +| *camel.dataformat.json-jackson.allow-unmarshall-type* | If enabled then Jackson is allowed to attempt to use the + CamelJacksonUnmarshalType header during the unmarshalling. This should + only be enabled when desired to be used. | false | Boolean +| *camel.dataformat.json-jackson.collection-type-name* | Refers to a custom collection type to lookup in the registry to use. This + option should rarely be used, but allows to use different collection + types than java.util.Collection based as default. | | String +| *camel.dataformat.json-jackson.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.json-jackson.disable-features* | Set of features to disable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-jackson.enable-features* | Set of features to enable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-jackson.enable-jaxb-annotation-module* | Whether to enable the JAXB annotations module when using jackson. When + enabled then JAXB annotations can be used by Jackson. | false | Boolean +| *camel.dataformat.json-jackson.enabled* | Enable json-jackson dataformat | true | Boolean +| *camel.dataformat.json-jackson.include* | If you want to marshal a pojo to JSON, and the pojo has some fields with + null values. And you want to skip these null values, you can set this + option to NOT_NULL | | String +| *camel.dataformat.json-jackson.json-view* | When marshalling a POJO to JSON you might want to exclude certain fields + from the JSON output. With Jackson you can use JSON views to accomplish + this. This option is to refer to the class which has JsonView annotations | | Class +| *camel.dataformat.json-jackson.library* | Which json library to use. | | JsonLibrary +| *camel.dataformat.json-jackson.module-class-names* | To use custom Jackson modules com.fasterxml.jackson.databind.Module + specified as a String with FQN class names. Multiple classes can be + separated by comma. | | String +| *camel.dataformat.json-jackson.module-refs* | To use custom Jackson modules referred from the Camel registry. Multiple + modules can be separated by comma. | | String +| *camel.dataformat.json-jackson.object-mapper* | Lookup and use the existing ObjectMapper with the given id when using + Jackson. | | String +| *camel.dataformat.json-jackson.permissions* | Adds permissions that controls which Java packages and classes XStream is + allowed to use during unmarshal from xml/json to Java beans. A permission + must be configured either here or globally using a JVM system property. + The permission can be specified in a syntax where a plus sign is allow, + and minus sign is deny. Wildcards is supported by using . as prefix. For + example to allow com.foo and all subpackages then specfy com.foo.. + Multiple permissions can be configured separated by comma, such as + com.foo.,-com.foo.bar.MySecretBean. The following default permission is + always included: -,java.lang.,java.util. unless its overridden by + specifying a JVM system property with they key + org.apache.camel.xstream.permissions. | | String +| *camel.dataformat.json-jackson.pretty-print* | To enable pretty printing output nicely formatted. Is by default false. | false | Boolean +| *camel.dataformat.json-jackson.timezone* | If set then Jackson will use the Timezone when marshalling/unmarshalling. + This option will have no effect on the others Json DataFormat, like gson, + fastjson and xstream. | | String +| *camel.dataformat.json-jackson.unmarshal-type-name* | Class name of the java type to use when unarmshalling | | String +| *camel.dataformat.json-jackson.use-default-object-mapper* | Whether to lookup and use default Jackson ObjectMapper from the registry. | true | Boolean +| *camel.dataformat.json-jackson.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean +|=== +// spring-boot-auto-configure options: END + === Using custom ObjectMapper You can configure `JacksonDataFormat` to use a custom `ObjectMapper` in case you need more control of the mapping configuration. diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc index a106cdd..a999541 100644 --- a/components/camel-jetty9/src/main/docs/jetty-component.adoc +++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc @@ -185,8 +185,100 @@ with the following path and query parameters: | *sslContextParameters* (security) | To configure security using SSLContextParameters | | SSLContextParameters |=== // endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 34 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.jetty.allow-java-serialized-object* | Whether to allow java serialization when a request uses + context-type=application/x-java-serialized-object. This is by default + turned off. If you enable this then be aware that Java will deserialize + the incoming data from the request to Java and that can be a potential + security risk. | false | Boolean +| *camel.component.jetty.continuation-timeout* | Allows to set a timeout in millis when using Jetty as consumer (server). + By default Jetty uses 30000. You can use a value of = 0 to never expire. + If a timeout occurs then the request will be expired and Jetty will + return back a http error 503 to the client. This option is only in use + when using Jetty with the Asynchronous Routing Engine. | 30000 | Long +| *camel.component.jetty.enable-jmx* | If this option is true, Jetty JMX support will be enabled for this + endpoint. | false | Boolean +| *camel.component.jetty.enabled* | Enable jetty component | true | Boolean +| *camel.component.jetty.error-handler* | This option is used to set the ErrorHandler that Jetty server uses. The + option is a org.eclipse.jetty.server.handler.ErrorHandler type. | | String +| *camel.component.jetty.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter + header to and from Camel message. The option is a + org.apache.camel.spi.HeaderFilterStrategy type. | | String +| *camel.component.jetty.http-binding* | Not to be used - use JettyHttpBinding instead. The option is a + org.apache.camel.http.common.HttpBinding type. | | String +| *camel.component.jetty.http-client-max-threads* | To set a value for maximum number of threads in HttpClient thread pool. + Notice that both a min and max size must be configured. | | Integer +| *camel.component.jetty.http-client-min-threads* | To set a value for minimum number of threads in HttpClient thread pool. + Notice that both a min and max size must be configured. | | Integer +| *camel.component.jetty.http-configuration* | Jetty component does not use HttpConfiguration. The option is a + org.apache.camel.http.common.HttpConfiguration type. | | String +| *camel.component.jetty.jetty-http-binding* | To use a custom org.apache.camel.component.jetty.JettyHttpBinding, which + are used to customize how a response should be written for the producer. + The option is a org.apache.camel.component.jetty.JettyHttpBinding type. | | String +| *camel.component.jetty.keystore* | Specifies the location of the Java keystore file, which contains the + Jetty server's own X.509 certificate in a key entry. | | String +| *camel.component.jetty.max-threads* | To set a value for maximum number of threads in server thread pool. + Notice that both a min and max size must be configured. | | Integer +| *camel.component.jetty.mb-container* | To use a existing configured org.eclipse.jetty.jmx.MBeanContainer if JMX + is enabled that Jetty uses for registering mbeans. The option is a + org.eclipse.jetty.jmx.MBeanContainer type. | | String +| *camel.component.jetty.min-threads* | To set a value for minimum number of threads in server thread pool. + Notice that both a min and max size must be configured. | | Integer +| *camel.component.jetty.proxy-host* | To use a http proxy to configure the hostname. | | String +| *camel.component.jetty.proxy-port* | To use a http proxy to configure the port number. | | Integer +| *camel.component.jetty.request-buffer-size* | Allows to configure a custom value of the request buffer size on the + Jetty connectors. | | Integer +| *camel.component.jetty.request-header-size* | Allows to configure a custom value of the request header size on the + Jetty connectors. | | Integer +| *camel.component.jetty.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.component.jetty.response-buffer-size* | Allows to configure a custom value of the response buffer size on the + Jetty connectors. | | Integer +| *camel.component.jetty.response-header-size* | Allows to configure a custom value of the response header size on the + Jetty connectors. | | Integer +| *camel.component.jetty.send-server-version* | If the option is true, jetty server will send the date header to the + client which sends the request. NOTE please make sure there is no any + other camel-jetty endpoint is share the same port, otherwise this option + may not work as expected. | true | Boolean +| *camel.component.jetty.socket-connector-properties* | A map which contains general HTTP connector properties. Uses the same + principle as sslSocketConnectorProperties. The option is a + java.util.Map<java.lang.String,java.lang.Object> type. | | String +| *camel.component.jetty.socket-connectors* | A map which contains per port number specific HTTP connectors. Uses the + same principle as sslSocketConnectors. The option is a + java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> type. | | String +| *camel.component.jetty.ssl-context-parameters* | To configure security using SSLContextParameters. The option is a + org.apache.camel.util.jsse.SSLContextParameters type. | | String +| *camel.component.jetty.ssl-key-password* | The key password, which is used to access the certificate's key entry in + the keystore (this is the same password that is supplied to the keystore + command's -keypass option). | | String +| *camel.component.jetty.ssl-password* | The ssl password, which is required to access the keystore file (this is + the same password that is supplied to the keystore command's -storepass + option). | | String +| *camel.component.jetty.ssl-socket-connector-properties* | A map which contains general SSL connector properties. The option is a + java.util.Map<java.lang.String,java.lang.Object> type. | | String +| *camel.component.jetty.ssl-socket-connectors* | A map which contains per port number specific SSL connectors. The option + is a java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> + type. | | String +| *camel.component.jetty.thread-pool* | To use a custom thread pool for the server. This option should only be + used in special circumstances. The option is a + org.eclipse.jetty.util.thread.ThreadPool type. | | String +| *camel.component.jetty.use-continuation* | Whether or not to use Jetty continuations for the Jetty Server. | true | Boolean +| *camel.component.jetty.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters | false | Boolean +| *camel.component.jetty.use-x-forwarded-for-header* | To use the X-Forwarded-For header in HttpServletRequest.getRemoteAddr. | false | Boolean +|=== +// spring-boot-auto-configure options: END + diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc index 433bd59..9d005e4 100644 --- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc +++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc @@ -46,8 +46,81 @@ The JSon Johnzon dataformat supports 19 options, which are listed below. | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. |=== // dataformat options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 20 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.dataformat.json-johnzon.allow-jms-type* | Used for JMS users to allow the JMSType header from the JMS spec to + specify a FQN classname to use to unmarshal to. | false | Boolean +| *camel.dataformat.json-johnzon.allow-unmarshall-type* | If enabled then Jackson is allowed to attempt to use the + CamelJacksonUnmarshalType header during the unmarshalling. This should + only be enabled when desired to be used. | false | Boolean +| *camel.dataformat.json-johnzon.collection-type-name* | Refers to a custom collection type to lookup in the registry to use. This + option should rarely be used, but allows to use different collection + types than java.util.Collection based as default. | | String +| *camel.dataformat.json-johnzon.content-type-header* | Whether the data format should set the Content-Type header with the type + from the data format if the data format is capable of doing so. For + example application/xml for data formats marshalling to XML, or + application/json for data formats marshalling to JSon etc. | false | Boolean +| *camel.dataformat.json-johnzon.disable-features* | Set of features to disable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-johnzon.enable-features* | Set of features to enable on the Jackson + com.fasterxml.jackson.databind.ObjectMapper. The features should be a + name that matches a enum from + com.fasterxml.jackson.databind.SerializationFeature, + com.fasterxml.jackson.databind.DeserializationFeature, or + com.fasterxml.jackson.databind.MapperFeature Multiple features can be + separated by comma | | String +| *camel.dataformat.json-johnzon.enable-jaxb-annotation-module* | Whether to enable the JAXB annotations module when using jackson. When + enabled then JAXB annotations can be used by Jackson. | false | Boolean +| *camel.dataformat.json-johnzon.enabled* | Enable json-johnzon dataformat | true | Boolean +| *camel.dataformat.json-johnzon.include* | If you want to marshal a pojo to JSON, and the pojo has some fields with + null values. And you want to skip these null values, you can set this + option to NOT_NULL | | String +| *camel.dataformat.json-johnzon.json-view* | When marshalling a POJO to JSON you might want to exclude certain fields + from the JSON output. With Jackson you can use JSON views to accomplish + this. This option is to refer to the class which has JsonView annotations | | Class +| *camel.dataformat.json-johnzon.library* | Which json library to use. | | JsonLibrary +| *camel.dataformat.json-johnzon.module-class-names* | To use custom Jackson modules com.fasterxml.jackson.databind.Module + specified as a String with FQN class names. Multiple classes can be + separated by comma. | | String +| *camel.dataformat.json-johnzon.module-refs* | To use custom Jackson modules referred from the Camel registry. Multiple + modules can be separated by comma. | | String +| *camel.dataformat.json-johnzon.object-mapper* | Lookup and use the existing ObjectMapper with the given id when using + Jackson. | | String +| *camel.dataformat.json-johnzon.permissions* | Adds permissions that controls which Java packages and classes XStream is + allowed to use during unmarshal from xml/json to Java beans. A permission + must be configured either here or globally using a JVM system property. + The permission can be specified in a syntax where a plus sign is allow, + and minus sign is deny. Wildcards is supported by using . as prefix. For + example to allow com.foo and all subpackages then specfy com.foo.. + Multiple permissions can be configured separated by comma, such as + com.foo.,-com.foo.bar.MySecretBean. The following default permission is + always included: -,java.lang.,java.util. unless its overridden by + specifying a JVM system property with they key + org.apache.camel.xstream.permissions. | | String +| *camel.dataformat.json-johnzon.pretty-print* | To enable pretty printing output nicely formatted. Is by default false. | false | Boolean +| *camel.dataformat.json-johnzon.timezone* | If set then Jackson will use the Timezone when marshalling/unmarshalling. + This option will have no effect on the others Json DataFormat, like gson, + fastjson and xstream. | | String +| *camel.dataformat.json-johnzon.unmarshal-type-name* | Class name of the java type to use when unarmshalling | | String +| *camel.dataformat.json-johnzon.use-default-object-mapper* | Whether to lookup and use default Jackson ObjectMapper from the registry. | true | Boolean +| *camel.dataformat.json-johnzon.use-list* | To unarmshal to a List of Map or a List of Pojo. | false | Boolean +|=== +// spring-boot-auto-configure options: END + ### Dependencies diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc index 031f092..20f7fc1 100644 --- a/components/camel-josql/src/main/docs/sql-language.adoc +++ b/components/camel-josql/src/main/docs/sql-language.adoc @@ -70,8 +70,23 @@ The SQL language supports 1 options, which are listed below. | trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks |=== // language options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 2 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.language.sql.enabled* | Enable sql language | true | Boolean +| *camel.language.sql.trim* | Whether to trim the value to remove leading and trailing whitespaces and + line breaks | true | Boolean +|=== +// spring-boot-auto-configure options: END + ### Loading script from external resource *Available as of Camel 2.11* @@ -84,4 +99,4 @@ eg to refer to a file on the classpath you can do: [source,java] ---------------------------------------------------------- .setHeader("myHeader").sql("resource:classpath:mysql.sql") ----------------------------------------------------------- \ No newline at end of file +---------------------------------------------------------- diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc index 06d43f9..e4a7a09 100644 --- a/components/camel-jsch/src/main/docs/scp-component.adoc +++ b/components/camel-jsch/src/main/docs/scp-component.adoc @@ -111,8 +111,27 @@ with the following path and query parameters: | *ciphers* (security) | Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used. | | String |=== // endpoint options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 3 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.component.scp.enabled* | Enable scp component | true | Boolean +| *camel.component.scp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when + starting. Only properties which are of String type can use property + placeholders. | true | Boolean +| *camel.component.scp.verbose-logging* | JSCH is verbose logging out of the box. Therefore we turn the logging + down to DEBUG logging by default. But setting this option to true turns + on the verbose logging again. | false | Boolean +|=== +// spring-boot-auto-configure options: END + diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc index b4e5e82..f1b2cfb 100644 --- a/components/camel-juel/src/main/docs/el-language.adoc +++ b/components/camel-juel/src/main/docs/el-language.adoc @@ -60,8 +60,23 @@ The EL language supports 1 options, which are listed below. | trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks |=== // language options: END +// spring-boot-auto-configure options: START +=== Spring Boot Auto-Configuration +The component supports 2 options, which are listed below. + + + +[width="100%",cols="2,5,^1,2",options="header"] +|=== +| Name | Description | Default | Type +| *camel.language.el.enabled* | Enable el language | true | Boolean +| *camel.language.el.trim* | Whether to trim the value to remove leading and trailing whitespaces and + line breaks | true | Boolean +|=== +// spring-boot-auto-configure options: END + ### Variables @@ -106,4 +121,4 @@ the download page for the latest versions). ------------------------------------- Otherwise you'll also need to include -http://repo2.maven.org/maven2/de/odysseus/juel/juel/2.1.3/juel-2.1.3.jar[JUEL]. \ No newline at end of file +http://repo2.maven.org/maven2/de/odysseus/juel/juel/2.1.3/juel-2.1.3.jar[JUEL]. diff --git a/platforms/spring-boot/components-starter/pom.xml b/platforms/spring-boot/components-starter/pom.xml index 0e65b06..fd00a6a 100644 --- a/platforms/spring-boot/components-starter/pom.xml +++ b/platforms/spring-boot/components-starter/pom.xml @@ -83,7 +83,7 @@ <version>${project.version}</version> <configuration> <!-- set to true to make build fail fast if missing documentation in docs files --> - <failFast>false</failFast> + <failFast>true</failFast> </configuration> <executions> <execution> diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java index d61eb23..8ddf207 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java @@ -17,6 +17,7 @@ package org.apache.camel.maven.packaging; import java.io.File; +import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; @@ -99,16 +100,29 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo { // only if there is components we should update the documentation files if (jsonFile.exists()) { - getLog().info("Processing file: " + jsonFile); + getLog().debug("Processing Spring Boot auto-configuration file: " + jsonFile); Object js = Jsoner.deserialize(new FileReader(jsonFile)); if (js != null) { String name = starter.getName(); + + if (!isValidStarter(name)) { + return; + } + // skip camel- and -starter in the end String componentName = name.substring(6, name.length() - 8); getLog().debug("Camel component: " + componentName); File docFolder = new File(componentsDir, "camel-" + componentName + "/src/main/docs/"); // update all adoc files (as it may be component, language, data-format or just other kind) - File[] docFiles = docFolder.listFiles((f) -> f.getName().startsWith(componentName) && f.getName().endsWith(".adoc")); + File[] docFiles = docFolder.listFiles(new ComponentDocFilter(componentName)); + + // maybe its one of those that has a sub-folder + if (docFiles == null || docFiles.length == 0) { + docFolder = new File(componentsDir, "camel-" + componentName + "/camel-" + componentName + "-component/src/main/docs/"); + // update all adoc files (as it may be component, language, data-format or just other kind) + docFiles = docFolder.listFiles(new ComponentDocFilter(componentName)); + } + if (docFiles != null && docFiles.length > 0) { boolean onlyOther = docFiles.length == 1 && docFiles[0].getName().equals(componentName + ".adoc"); List models = parseSpringBootAutoConfigreModels(jsonFile); @@ -124,17 +138,70 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo { } else { getLog().debug("No changes to doc file: " + docFile); } - if (isFailFast()) { - throw new MojoExecutionException("Failed build due failFast=true"); - } } } else { getLog().warn("No component docs found in folder: " + docFolder); + if (isFailFast()) { + throw new MojoExecutionException("Failed build due failFast=true"); + } } } } } + private static final class ComponentDocFilter implements FileFilter { + + private final String componentName; + + public ComponentDocFilter(String componentName) { + this.componentName = asComponentName(componentName); + } + + @Override + public boolean accept(File pathname) { + String name = pathname.getName(); + + // skip empty placeholder files + if ("aws.adoc".equals(name) || "azure.adoc".equals(name) || "hazelcast.adoc".equals(name) + || "ignite.adoc".equals(name) || "kubernetes.adoc".equals(name)) { + return false; + } + + return name.startsWith(componentName) && name.endsWith(".adoc"); + } + } + + private static String asComponentName(String componentName) { + if ("fastjson".equals(componentName)) { + return "json-fastjson"; + } else if ("gson".equals(componentName)) { + return "json-gson"; + } else if ("jackson".equals(componentName)) { + return "json-jackson"; + } else if ("johnzon".equals(componentName)) { + return "json-johnzon"; + } else if ("cassandraql".equals(componentName)) { + return "cql"; + } else if ("josql".equals(componentName)) { + return "sql"; + } else if ("jetty9".equals(componentName)) { + return "jetty"; + } else if ("juel".equals(componentName)) { + return "el"; + } else if ("jsch".equals(componentName)) { + return "scp"; + } + return componentName; + } + + private static boolean isValidStarter(String name) { + // skip these + if ("camel-core-starter".equals(name) || "camel-spring-boot-starter".equals(name)) { + return false; + } + return true; + } + private List parseSpringBootAutoConfigreModels(File file) throws IOException, DeserializationException { List<SpringBootAutoConfigureOptionModel> answer = new ArrayList<>();