This is an automated email from the ASF dual-hosted git repository.
nfilotto 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 4f07964 CAMEL-17792: Add documentation about the message headers (G)
(#7248)
4f07964 is described below
commit 4f079648098488b87fef3c423ba91899e0803c11
Author: Nicolas Filotto <[email protected]>
AuthorDate: Tue Mar 22 18:55:40 2022 +0100
CAMEL-17792: Add documentation about the message headers (G) (#7248)
## Motivation
It is now possible to document a message header using annotations, let's
leverage it to document the headers of the components.
## Modifications
For all the components whose name starts with a G
* Document the messages headers using the annotations
* Migrate the existing documentation of message headers to use the
annotations instead
* Re-define shared constants like those in `Exchange` in the local
constants class to be able to document it within the context of current
component.
* camel-grpc: Force the version of `guava` to avoid conflict on build
* CAMEL-17792: Add doc about the message headers of camel-ganglia
* CAMEL-17792: Add doc about the message headers of camel-geocoder
* CAMEL-17792: Add doc about the message headers of camel-git
* CAMEL-17792: Add doc about the message headers of camel-github
* CAMEL-17792: Add doc about the message headers of camel-google-bigquery
* CAMEL-17792: Add doc about the message headers of camel-google-calendar
* CAMEL-17792: Add doc about the message headers of camel-google-functions
* CAMEL-17792: Add doc about the message headers of camel-google-mail
* CAMEL-17792: Add doc about the message headers of camel-google-pubsub
* CAMEL-17792: Add doc about the message headers of
camel-google-secret-manager
* CAMEL-17792: Add doc about the message headers of camel-google-sheets
* CAMEL-17792: Add doc about the message headers of camel-google-storage
* CAMEL-17792: Add doc about the message headers of camel-grape
* CAMEL-17792: Add doc about the message headers of camel-grpc
---
.../apache/camel/component/ganglia/ganglia.json | 9 +++
.../src/main/docs/ganglia-component.adoc | 3 +
.../camel/component/ganglia/GangliaConstants.java | 18 ++++++
.../camel/component/ganglia/GangliaEndpoint.java | 2 +-
.../apache/camel/component/geocoder/geocoder.json | 13 ++++
.../src/main/docs/geocoder-component.adoc | 32 +---------
.../component/geocoder/GeoCoderConstants.java | 15 +++++
.../camel/component/geocoder/GeoCoderEndpoint.java | 2 +-
.../org/apache/camel/component/git/git.json | 14 +++++
.../camel-git/src/main/docs/git-component.adoc | 25 +-------
.../apache/camel/component/git/GitConstants.java | 15 +++++
.../apache/camel/component/git/GitEndpoint.java | 3 +-
.../org/apache/camel/component/github/github.json | 11 ++++
.../src/main/docs/github-component.adoc | 4 ++
.../camel/component/github/GitHubConstants.java | 21 ++++---
.../camel/component/github/GitHubEndpoint.java | 2 +-
.../component/google/bigquery/google-bigquery.json | 6 ++
.../google/bigquery/sql/google-bigquery-sql.json | 4 ++
.../src/main/docs/google-bigquery-component.adoc | 15 +----
.../main/docs/google-bigquery-sql-component.adoc | 20 +------
.../google/bigquery/GoogleBigQueryConstants.java | 16 +++++
.../google/bigquery/GoogleBigQueryEndpoint.java | 6 +-
.../bigquery/sql/GoogleBigQuerySQLEndpoint.java | 8 ++-
.../calendar/stream/google-calendar-stream.json | 3 +
.../docs/google-calendar-stream-component.adoc | 4 +-
.../stream/GoogleCalendarStreamConstants.java | 3 +
.../stream/GoogleCalendarStreamEndpoint.java | 2 +-
.../google/functions/google-functions.json | 7 +++
.../src/main/docs/google-functions-component.adoc | 22 +------
.../functions/GoogleCloudFunctionsConstants.java | 15 +++++
.../functions/GoogleCloudFunctionsEndpoint.java | 2 +-
.../google/mail/stream/google-mail-stream.json | 8 +++
.../main/docs/google-mail-stream-component.adoc | 4 +-
.../mail/stream/GoogleMailStreamConstants.java | 8 +++
.../mail/stream/GoogleMailStreamEndpoint.java | 2 +-
.../component/google/pubsub/google-pubsub.json | 7 +++
.../src/main/docs/google-pubsub-component.adoc | 11 +---
.../google/pubsub/GooglePubsubConstants.java | 11 ++++
.../google/pubsub/GooglePubsubEndpoint.java | 3 +-
.../secret/manager/google-secret-manager.json | 5 ++
.../main/docs/google-secret-manager-component.adoc | 3 +
.../manager/GoogleSecretManagerConstants.java | 6 ++
.../manager/GoogleSecretManagerEndpoint.java | 2 +-
.../google/sheets/stream/google-sheets-stream.json | 8 +++
.../main/docs/google-sheets-stream-component.adoc | 3 +
.../sheets/stream/GoogleSheetsStreamConstants.java | 9 +++
.../sheets/stream/GoogleSheetsStreamEndpoint.java | 2 +-
.../component/google/storage/google-storage.json | 28 +++++++++
.../src/main/docs/google-storage-component.adoc | 70 +---------------------
.../storage/GoogleCloudStorageConstants.java | 49 +++++++++++++++
.../google/storage/GoogleCloudStorageConsumer.java | 2 +-
.../google/storage/GoogleCloudStorageEndpoint.java | 2 +-
.../org/apache/camel/component/grape/grape.json | 3 +
.../camel-grape/src/main/docs/grape-component.adoc | 15 +----
.../camel/component/grape/GrapeConstants.java | 4 ++
.../camel/component/grape/GrapeEndpoint.java | 2 +-
components/camel-grpc/pom.xml | 13 ++++
.../org/apache/camel/component/grpc/grpc.json | 5 ++
.../camel-grpc/src/main/docs/grpc-component.adoc | 16 +----
.../apache/camel/component/grpc/GrpcConstants.java | 11 ++++
.../apache/camel/component/grpc/GrpcEndpoint.java | 2 +-
61 files changed, 408 insertions(+), 228 deletions(-)
diff --git
a/components/camel-ganglia/src/generated/resources/org/apache/camel/component/ganglia/ganglia.json
b/components/camel-ganglia/src/generated/resources/org/apache/camel/component/ganglia/ganglia.json
index 3d0fe6f..0a913d0 100644
---
a/components/camel-ganglia/src/generated/resources/org/apache/camel/component/ganglia/ganglia.json
+++
b/components/camel-ganglia/src/generated/resources/org/apache/camel/component/ganglia/ganglia.json
@@ -38,6 +38,15 @@
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
"configuration": { "kind": "property", "displayName": "Configuration",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.apache.camel.component.ganglia.GangliaConfiguration",
"deprecated": false, "autowired": false, "secret": false, "description": "To
use the shared configuration" }
},
+ "headers": {
+ "CamelGangliaGroupName": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The group that the metric belongs to." },
+ "CamelGangliaMetricName": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The name to use for the metric." },
+ "CamelGangliaMetricType": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType":
"info.ganglia.gmetric4j.gmetric.GMetricType", "enum": [ "STRING", "INT8",
"UINT8", "INT16", "UINT16", "INT32", "UINT32", "FLOAT", "DOUBLE" ],
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The type of value" },
+ "CamelGangliaMetricSlope": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType":
"info.ganglia.gmetric4j.gmetric.GMetricSlope", "enum": [ "ZERO", "POSITIVE",
"NEGATIVE", "BOTH" ], "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The slope" },
+ "CamelGangliaMetricUnits": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "Any unit of measurement that qualifies the metric, e.g.
widgets, litres, bytes. Do not include a prefix such as k\n (kilo) or m
(milli), other tools may scale the units later. The value should be unscaled."
},
+ "CamelGangliaMetricTmax": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "Integer",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Maximum time in seconds that the value can be considered
current. After this, Ganglia considers the value to have\n expired." },
+ "CamelGangliaMetricDmax": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "Integer",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Minumum time in seconds before Ganglia will purge the
metric value if it expires. Set to 0 and the value will\n remain in Ganglia
indefinitely until a gmond agent restart." }
+ },
"properties": {
"host": { "kind": "path", "displayName": "Host", "group": "producer",
"label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "239.2.11.71", "configurationClass":
"org.apache.camel.component.ganglia.GangliaConfiguration",
"configurationField": "configuration", "description": "Host name for Ganglia
server" },
"port": { "kind": "path", "displayName": "Port", "group": "producer",
"label": "", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 8649,
"configurationClass":
"org.apache.camel.component.ganglia.GangliaConfiguration",
"configurationField": "configuration", "description": "Port for Ganglia server"
},
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index ab03d0f..79aec4b 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -49,6 +49,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Message body
diff --git
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConstants.java
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConstants.java
index f7a2e0f..e12599a 100644
---
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConstants.java
+++
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConstants.java
@@ -16,14 +16,32 @@
*/
package org.apache.camel.component.ganglia;
+import org.apache.camel.spi.Metadata;
+
public final class GangliaConstants {
+ @Metadata(description = "The group that the metric belongs to.", javaType
= "String")
public static final String GROUP_NAME = "CamelGangliaGroupName";
+ @Metadata(description = "The name to use for the metric.", javaType =
"String")
public static final String METRIC_NAME = "CamelGangliaMetricName";
+ @Metadata(description = "The type of value", javaType =
"info.ganglia.gmetric4j.gmetric.GMetricType")
public static final String METRIC_TYPE = "CamelGangliaMetricType";
+ @Metadata(description = "The slope", javaType =
"info.ganglia.gmetric4j.gmetric.GMetricSlope")
public static final String METRIC_SLOPE = "CamelGangliaMetricSlope";
+ @Metadata(description = "Any unit of measurement that qualifies the
metric, e.g. widgets, litres, bytes. Do not include a prefix such as k\n"
+ +
+ " (kilo) or m (milli), other tools may scale the
units later. The value should be unscaled.",
+ javaType = "String")
public static final String METRIC_UNITS = "CamelGangliaMetricUnits";
+ @Metadata(description = "Maximum time in seconds that the value can be
considered current. After this, Ganglia considers the value to have\n"
+ +
+ " expired.",
+ javaType = "Integer")
public static final String METRIC_TMAX = "CamelGangliaMetricTmax";
+ @Metadata(description = "Minumum time in seconds before Ganglia will purge
the metric value if it expires. Set to 0 and the value will\n"
+ +
+ " remain in Ganglia indefinitely until a gmond
agent restart.",
+ javaType = "Integer")
public static final String METRIC_DMAX = "CamelGangliaMetricDmax";
private GangliaConstants() {
diff --git
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
index 0aa9e6a..353ad8d 100644
---
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
+++
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.ObjectHelper;
* Send metrics to Ganglia monitoring system.
*/
@UriEndpoint(firstVersion = "2.15.0", scheme = "ganglia", title = "Ganglia",
syntax = "ganglia:host:port", producerOnly = true,
- category = { Category.MONITORING })
+ category = { Category.MONITORING }, headersClass =
GangliaConstants.class)
public class GangliaEndpoint extends DefaultEndpoint {
private Publisher publisher;
diff --git
a/components/camel-geocoder/src/generated/resources/org/apache/camel/component/geocoder/geocoder.json
b/components/camel-geocoder/src/generated/resources/org/apache/camel/component/geocoder/geocoder.json
index e434c7e..8df7d78 100644
---
a/components/camel-geocoder/src/generated/resources/org/apache/camel/component/geocoder/geocoder.json
+++
b/components/camel-geocoder/src/generated/resources/org/apache/camel/component/geocoder/geocoder.json
@@ -26,6 +26,19 @@
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
"geoApiContext": { "kind": "property", "displayName": "Geo Api Context",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "com.google.maps.GeoApiContext", "deprecated": false, "autowired":
false, "secret": false, "description": "Configuration for Google maps API" }
},
+ "headers": {
+ "CamelGeoCoderAddress": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The formatted address" },
+ "CamelGeoCoderLatlng": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The latitude and longitude of the location. Separated by
comma." },
+ "CamelGeoCoderLat": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The latitude of the location." },
+ "CamelGeoCoderLng": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The longitude of the location." },
+ "CamelGeoCoderStatus": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": true, "javaType":
"org.apache.camel.component.geocoder.GeocoderStatus", "enum": [ "ERROR",
"INVALID_REQUEST", "ACCESS_NOT_CONFIGURED", "OK", "OVER_QUERY_LIMIT",
"OVER_DAILY_LIMIT", "REQUEST_DENIED", "UNKNOWN_ERROR", "ZERO_RESULTS" ],
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Status code from the geocoder library. If status [...]
+ "CamelGeoCoderRegionCode": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The region code." },
+ "CamelGeoCoderRegionName": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The region name." },
+ "CamelGeoCoderCity": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The city long name." },
+ "CamelGeoCoderCountryLong": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The country long name." },
+ "CamelGeoCoderCountryShort": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The country short name." },
+ "CamelGeoCoderPostalCode": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The postal code." }
+ },
"properties": {
"address": { "kind": "path", "displayName": "Address", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "The geo address which should be prefixed with address:" },
"latlng": { "kind": "path", "displayName": "Latlng", "group": "producer",
"label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "The geo latitude and longitude which should be prefixed with
latlng:" },
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index 6b315d9..a8c9924 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -55,35 +55,9 @@ include::partial$component-endpoint-options.adoc[]
== Exchange data format
-== Message Headers
-
-[width="100%",cols="50%,50%",options="header",]
-|=======================================================================
-|Header |Description
-
-|`CamelGeoCoderStatus` |Mandatory. Status code from the geocoder library. If
status is
-`GeocoderStatus.OK` then additional headers is enriched
-
-|`CamelGeoCoderAddress` |The formatted address
-
-|`CamelGeoCoderLat` |The latitude of the location.
-
-|`CamelGeoCoderLng` |The longitude of the location.
-
-|`CamelGeoCoderLatlng` |The latitude and longitude of the location. Separated
by comma.
-
-|`CamelGeoCoderCity` |The city long name.
-
-|`CamelGeoCoderRegionCode` |The region code.
-
-|`CamelGeoCoderRegionName` |The region name.
-
-|`CamelGeoCoderCountryLong` |The country long name.
-
-|`CamelGeoCoderCountryShort` |The country short name.
-
-|`CamelGeoCoderPostalCode` |The postal code.
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
Notice not all headers may be provided depending on available data and
mode in use (address vs latlng).
diff --git
a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderConstants.java
b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderConstants.java
index 21fb4cb..24c93fb 100644
---
a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderConstants.java
+++
b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderConstants.java
@@ -16,18 +16,33 @@
*/
package org.apache.camel.component.geocoder;
+import org.apache.camel.spi.Metadata;
+
public final class GeoCoderConstants {
+ @Metadata(description = "The formatted address", javaType = "String")
public static final String ADDRESS = "CamelGeoCoderAddress";
+ @Metadata(description = "The latitude and longitude of the location.
Separated by comma.", javaType = "String")
public static final String LATLNG = "CamelGeoCoderLatlng";
+ @Metadata(description = "The latitude of the location.", javaType =
"String")
public static final String LAT = "CamelGeoCoderLat";
+ @Metadata(description = "The longitude of the location.", javaType =
"String")
public static final String LNG = "CamelGeoCoderLng";
+ @Metadata(description = "Status code from the geocoder library. If status
is\n" +
+ "`GeocoderStatus.OK` then additional headers is
enriched",
+ javaType = "org.apache.camel.component.geocoder.GeocoderStatus",
required = true)
public static final String STATUS = "CamelGeoCoderStatus";
+ @Metadata(description = "The region code.", javaType = "String")
public static final String REGION_CODE = "CamelGeoCoderRegionCode";
+ @Metadata(description = "The region name.", javaType = "String")
public static final String REGION_NAME = "CamelGeoCoderRegionName";
+ @Metadata(description = "The city long name.", javaType = "String")
public static final String CITY = "CamelGeoCoderCity";
+ @Metadata(description = "The country long name.", javaType = "String")
public static final String COUNTRY_LONG = "CamelGeoCoderCountryLong";
+ @Metadata(description = "The country short name.", javaType = "String")
public static final String COUNTRY_SHORT = "CamelGeoCoderCountryShort";
+ @Metadata(description = "The postal code.", javaType = "String")
public static final String POSTAL_CODE = "CamelGeoCoderPostalCode";
private GeoCoderConstants() {
diff --git
a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
index 97c7f8a..f4b07a8 100644
---
a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
+++
b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.support.DefaultEndpoint;
* Find geocodes (latitude and longitude) for a given address or the other way
round.
*/
@UriEndpoint(firstVersion = "2.12.0", scheme = "geocoder", title = "Geocoder",
syntax = "geocoder:address:latlng",
- producerOnly = true, category = { Category.API, Category.LOCATION
})
+ producerOnly = true, category = { Category.API, Category.LOCATION
}, headersClass = GeoCoderConstants.class)
public class GeoCoderEndpoint extends DefaultEndpoint {
@UriPath
diff --git
a/components/camel-git/src/generated/resources/org/apache/camel/component/git/git.json
b/components/camel-git/src/generated/resources/org/apache/camel/component/git/git.json
index a1c4ad9..db79f1a 100644
---
a/components/camel-git/src/generated/resources/org/apache/camel/component/git/git.json
+++
b/components/camel-git/src/generated/resources/org/apache/camel/component/git/git.json
@@ -26,6 +26,20 @@
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start
Producer", "group": "producer", "label": "producer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during star [...]
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "CamelGitOperation": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The operation to do on a repository, if not specified as
endpoint option" },
+ "CamelGitFilename": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The file name in an add operation" },
+ "CamelGitCommitMessage": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit message related in a commit operation" },
+ "CamelGitCommitUsername": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit username in a commit operation" },
+ "CamelGitCommitEmail": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit email in a commit operation" },
+ "CamelGitCommitId": { "kind": "header", "displayName": "", "group":
"common", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The commit id" },
+ "CamelGitAllowEmpty": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "Boolean",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The flag to manage empty git commits" },
+ "CamelGitAuthorName": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The author name" },
+ "CamelGitCommiterName": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The committer name" },
+ "CamelGitCommitTime": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "int",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit time" },
+ "CamelGitBranchLeaf": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The leaf" },
+ "CamelGitBranchObjectId": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The object id" }
+ },
"properties": {
"localPath": { "kind": "path", "displayName": "Local Path", "group":
"common", "label": "", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Local repository path" },
"branchName": { "kind": "parameter", "displayName": "Branch Name",
"group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "The branch name to work on" },
diff --git a/components/camel-git/src/main/docs/git-component.adoc
b/components/camel-git/src/main/docs/git-component.adoc
index 51a377f..0080cad 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -51,28 +51,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
-
-== Message Headers
-
-[width="100%",cols="10%,10%,10%,20%,50%",options="header",]
-|=======================================================================
-|Name |Default Value |Type |Context |Description
-
-|CamelGitOperation |`null` |String |Producer |The operation to do on a
repository, if not specified as endpoint option
-
-|CamelGitFilename |`null` |String |Producer |The file name in an add operation
-
-|CamelGitCommitMessage |`null` |String |Producer |The commit message related
in a commit operation
-
-|CamelGitCommitUsername |`null` |String |Producer |The commit username in a
commit operation
-
-|CamelGitCommitEmail |`null` |String |Producer |The commit email in a commit
operation
-
-|CamelGitCommitId |`null` |String |Producer |The commit id
-
-|CamelGitAllowEmpty |`null` |Boolean |Producer |The flag to manage empty git
commits
-
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Producer Example
diff --git
a/components/camel-git/src/main/java/org/apache/camel/component/git/GitConstants.java
b/components/camel-git/src/main/java/org/apache/camel/component/git/GitConstants.java
index 7894c9c..4905bd0 100644
---
a/components/camel-git/src/main/java/org/apache/camel/component/git/GitConstants.java
+++
b/components/camel-git/src/main/java/org/apache/camel/component/git/GitConstants.java
@@ -16,18 +16,33 @@
*/
package org.apache.camel.component.git;
+import org.apache.camel.spi.Metadata;
+
public interface GitConstants {
+ @Metadata(label = "producer", description = "The operation to do on a
repository, if not specified as endpoint option",
+ javaType = "String")
String GIT_OPERATION = "CamelGitOperation";
+ @Metadata(label = "producer", description = "The file name in an add
operation", javaType = "String")
String GIT_FILE_NAME = "CamelGitFilename";
+ @Metadata(label = "producer", description = "The commit message related in
a commit operation", javaType = "String")
String GIT_COMMIT_MESSAGE = "CamelGitCommitMessage";
+ @Metadata(label = "producer", description = "The commit username in a
commit operation", javaType = "String")
String GIT_COMMIT_USERNAME = "CamelGitCommitUsername";
+ @Metadata(label = "producer", description = "The commit email in a commit
operation", javaType = "String")
String GIT_COMMIT_EMAIL = "CamelGitCommitEmail";
+ @Metadata(description = "The commit id", javaType = "String")
String GIT_COMMIT_ID = "CamelGitCommitId";
+ @Metadata(label = "producer", description = "The flag to manage empty git
commits", javaType = "Boolean")
String GIT_ALLOW_EMPTY = "CamelGitAllowEmpty";
+ @Metadata(label = "consumer", description = "The author name", javaType =
"String")
String GIT_COMMIT_AUTHOR_NAME = "CamelGitAuthorName";
+ @Metadata(label = "consumer", description = "The committer name", javaType
= "String")
String GIT_COMMIT_COMMITTER_NAME = "CamelGitCommiterName";
+ @Metadata(label = "consumer", description = "The commit time", javaType =
"int")
String GIT_COMMIT_TIME = "CamelGitCommitTime";
+ @Metadata(label = "consumer", description = "The leaf", javaType =
"String")
String GIT_BRANCH_LEAF = "CamelGitBranchLeaf";
+ @Metadata(label = "consumer", description = "The object id", javaType =
"String")
String GIT_BRANCH_OBJECT_ID = "CamelGitBranchObjectId";
String GIT_TAG_LEAF = "CamelGitTagLeaf";
String GIT_TAG_OBJECT_ID = "CamelGitTagObjectId";
diff --git
a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
index 6fc0643..bccd4ce 100644
---
a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
+++
b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
@@ -34,7 +34,8 @@ import org.apache.camel.support.DefaultEndpoint;
/**
* Perform operations on git repositories.
*/
-@UriEndpoint(firstVersion = "2.16.0", scheme = "git", title = "Git", syntax =
"git:localPath", category = { Category.FILE })
+@UriEndpoint(firstVersion = "2.16.0", scheme = "git", title = "Git", syntax =
"git:localPath", category = { Category.FILE },
+ headersClass = GitConstants.class)
public class GitEndpoint extends DefaultEndpoint {
@UriPath
diff --git
a/components/camel-github/src/generated/resources/org/apache/camel/component/github/github.json
b/components/camel-github/src/generated/resources/org/apache/camel/component/github/github.json
index 813114a..84737ae 100644
---
a/components/camel-github/src/generated/resources/org/apache/camel/component/github/github.json
+++
b/components/camel-github/src/generated/resources/org/apache/camel/component/github/github.json
@@ -27,6 +27,17 @@
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
"oauthToken": { "kind": "property", "displayName": "Oauth Token", "group":
"security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "description": "GitHub OAuth token. Must be configured on
either component or endpoint." }
},
+ "headers": {
+ "GitHubPullRequest": { "kind": "header", "displayName": "", "group":
"common", "label": "", "required": false, "javaType": "PullRequest or Integer",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The pull request" },
+ "GitHubInResponseTo": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "Integer",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The id of the comment to reply to" },
+ "GitHubPullRequestHeadCommitSHA": { "kind": "header", "displayName": "",
"group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The sha of the head of the pull request" },
+ "GitHubIssueTitle": { "kind": "header", "displayName": "", "group":
"producer", "label": "producer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The title of the issue" },
+ "CamelGitHubCommitAuthor": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit author" },
+ "CamelGitHubCommitCommitter": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The committer name" },
+ "CamelGitHubCommitSha": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit sha" },
+ "CamelGitHubCommitUrl": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The commit URL" },
+ "CamelGitHubEventPayload": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType":
"org.eclipse.egit.github.core.event.EventPayload", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "description": "The
event payload" }
+ },
"properties": {
"type": { "kind": "path", "displayName": "Type", "group": "common",
"label": "", "required": true, "type": "object", "javaType":
"org.apache.camel.component.github.GitHubType", "enum": [ "CLOSEPULLREQUEST",
"PULLREQUESTCOMMENT", "COMMIT", "PULLREQUEST", "TAG", "PULLREQUESTSTATE",
"PULLREQUESTFILES", "GETCOMMITFILE", "CREATEISSUE", "EVENT" ], "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "What git operation to execute" },
"branchName": { "kind": "path", "displayName": "Branch Name", "group":
"consumer", "label": "consumer", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "description": "Name of branch" },
diff --git a/components/camel-github/src/main/docs/github-component.adoc
b/components/camel-github/src/main/docs/github-component.adoc
index 71d0eb3..6782cf9 100644
--- a/components/camel-github/src/main/docs/github-component.adoc
+++ b/components/camel-github/src/main/docs/github-component.adoc
@@ -63,6 +63,10 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
+
== Configuring authentication
The github component requires to be configured with an authentication token on
either the component or endpoint level.
diff --git
a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubConstants.java
b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubConstants.java
index 3b01c29..42a90b4 100644
---
a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubConstants.java
+++
b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubConstants.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.github;
+import org.apache.camel.spi.Metadata;
+
public interface GitHubConstants {
String GITHUB_REPOSITORY_SERVICE = "githubRepositoryService";
@@ -27,24 +29,25 @@ public interface GitHubConstants {
String GITHUB_PULL_REQUEST_SERVICE = "githubPullRequestService";
String GITHUB_ISSUE_SERVICE = "githbIssueService";
-
+ @Metadata(description = "The pull request", javaType = "PullRequest or
Integer")
String GITHUB_PULLREQUEST = "GitHubPullRequest";
-
+ @Metadata(label = "producer", description = "The id of the comment to
reply to", javaType = "Integer")
String GITHUB_INRESPONSETO = "GitHubInResponseTo";
-
+ @Metadata(description = "The sha of the head of the pull request",
javaType = "String")
String GITHUB_PULLREQUEST_HEAD_COMMIT_SHA =
"GitHubPullRequestHeadCommitSHA";
-
+ @Metadata(label = "producer", description = "The title of the issue",
javaType = "String")
String GITHUB_ISSUE_TITLE = "GitHubIssueTitle";
String GITHUB_EVENT_SERVICE = "GitHubEventService";
-
+ @Metadata(label = "consumer", description = "The commit author", javaType
= "String")
String GITHUB_COMMIT_AUTHOR = "CamelGitHubCommitAuthor";
-
+ @Metadata(label = "consumer", description = "The committer name", javaType
= "String")
String GITHUB_COMMIT_COMMITTER = "CamelGitHubCommitCommitter";
-
+ @Metadata(label = "consumer", description = "The commit sha", javaType =
"String")
String GITHUB_COMMIT_SHA = "CamelGitHubCommitSha";
-
+ @Metadata(label = "consumer", description = "The commit URL", javaType =
"String")
String GITHUB_COMMIT_URL = "CamelGitHubCommitUrl";
-
+ @Metadata(label = "consumer", description = "The event payload",
+ javaType = "org.eclipse.egit.github.core.event.EventPayload")
String GITHUB_EVENT_PAYLOAD = "CamelGitHubEventPayload";
}
diff --git
a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
index ad2465a..25434b4 100644
---
a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
+++
b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
@@ -61,7 +61,7 @@ import org.apache.camel.util.StringHelper;
* publicly accessible where a webhook would fail
*/
@UriEndpoint(firstVersion = "2.15.0", scheme = "github", title = "GitHub",
syntax = "github:type/branchName",
- category = { Category.FILE, Category.CLOUD, Category.API })
+ category = { Category.FILE, Category.CLOUD, Category.API },
headersClass = GitHubConstants.class)
public class GitHubEndpoint extends ScheduledPollEndpoint {
@UriPath
diff --git
a/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/google-bigquery.json
b/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/google-bigquery.json
index 7330c02..d0871ea 100644
---
a/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/google-bigquery.json
+++
b/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/google-bigquery.json
@@ -28,6 +28,12 @@
"projectId": { "kind": "property", "displayName": "Project Id", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Google Cloud Project Id" },
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "CamelGoogleBigQueryTableSuffix": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Table suffix to use when inserting data" },
+ "CamelGoogleBigQueryTableId": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Table id where data will be submitted. If specified will
override endpoint configuration" },
+ "CamelGoogleBigQueryInsertId": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "InsertId to use when inserting data" },
+ "CamelGoogleBigQueryPartitionDecorator": { "kind": "header",
"displayName": "", "group": "producer", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Partition decorator to indicate
partition to use when inserting data" }
+ },
"properties": {
"projectId": { "kind": "path", "displayName": "Project Id", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.bigquery.GoogleBigQueryConfiguration",
"configurationField": "configuration", "description": "Google Cloud Project Id"
},
"datasetId": { "kind": "path", "displayName": "Dataset Id", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.bigquery.GoogleBigQueryConfiguration",
"configurationField": "configuration", "description": "BigQuery Dataset Id" },
diff --git
a/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/sql/google-bigquery-sql.json
b/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/sql/google-bigquery-sql.json
index 8080d33..add1666 100644
---
a/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/sql/google-bigquery-sql.json
+++
b/components/camel-google/camel-google-bigquery/src/generated/resources/org/apache/camel/component/google/bigquery/sql/google-bigquery-sql.json
@@ -27,6 +27,10 @@
"projectId": { "kind": "property", "displayName": "Project Id", "group":
"producer", "label": "", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"description": "Google Cloud Project Id" },
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "CamelGoogleBigQueryTranslatedQuery": { "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Preprocessed query text" },
+ "CamelGoogleBigQueryJobId": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType":
"com.google.cloud.bigquery.JobId", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "A custom `JobId` to use" }
+ },
"properties": {
"projectId": { "kind": "path", "displayName": "Project Id", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLConfiguration",
"configurationField": "configuration", "description": "Google Cloud Project
Id" },
"queryString": { "kind": "path", "displayName": "Query String", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLConfiguration",
"configurationField": "configuration", "description": "BigQuery standard SQL
query" },
diff --git
a/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
b/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
index e4e2fb4..edb5100 100644
---
a/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
+++
b/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
@@ -69,18 +69,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
-
-== Message Headers
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-|`CamelGoogleBigQueryTableSuffix` |`String` |Table suffix to use when
inserting data
-|`CamelGoogleBigQueryInsertId` |`String` |InsertId to use when inserting data
-|`CamelGoogleBigQueryPartitionDecorator` |`String` |Partition decorator to
indicate partition to use when inserting data
-|`CamelGoogleBigQueryTableId` |`String` |Table id where data will be
submitted. If specified will override endpoint configuration
-|=======================================================================
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Producer Endpoints
diff --git
a/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
b/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index 861bc10..9ddd143 100644
---
a/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++
b/components/camel-google/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -86,23 +86,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
-
-== Message Headers
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-|`CamelGoogleBigQueryJobId` |`JobId` |A custom `JobId` to use
-|=======================================================================
-
-== Output Message Headers
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-|`CamelGoogleBigQueryTranslatedQuery` |`String` | Preprocessed query text
-|=======================================================================
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Producer Endpoints
diff --git
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java
index dc33212..6acba6b 100644
---
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java
+++
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConstants.java
@@ -16,12 +16,28 @@
*/
package org.apache.camel.component.google.bigquery;
+import org.apache.camel.spi.Metadata;
+
public final class GoogleBigQueryConstants {
+
+ // All the schemes
+ public static final String SCHEME_BIGQUERY_SQL = "google-bigquery-sql";
+ public static final String SCHEME_BIGQUERY = "google-bigquery";
+
+ @Metadata(description = "Table suffix to use when inserting data",
javaType = "String", applicableFor = SCHEME_BIGQUERY)
public static final String TABLE_SUFFIX = "CamelGoogleBigQueryTableSuffix";
+ @Metadata(description = "Table id where data will be submitted. If
specified will override endpoint configuration",
+ javaType = "String", applicableFor = SCHEME_BIGQUERY)
public static final String TABLE_ID = "CamelGoogleBigQueryTableId";
+ @Metadata(description = "InsertId to use when inserting data", javaType =
"String", applicableFor = SCHEME_BIGQUERY)
public static final String INSERT_ID = "CamelGoogleBigQueryInsertId";
+ @Metadata(description = "Partition decorator to indicate partition to use
when inserting data", javaType = "String",
+ applicableFor = SCHEME_BIGQUERY)
public static final String PARTITION_DECORATOR =
"CamelGoogleBigQueryPartitionDecorator";
+ @Metadata(description = "Preprocessed query text", javaType = "String",
applicableFor = SCHEME_BIGQUERY_SQL)
public static final String TRANSLATED_QUERY =
"CamelGoogleBigQueryTranslatedQuery";
+ @Metadata(description = "A custom `JobId` to use", javaType =
"com.google.cloud.bigquery.JobId",
+ applicableFor = SCHEME_BIGQUERY_SQL)
public static final String JOB_ID = "CamelGoogleBigQueryJobId";
/**
diff --git
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java
index 6f527d9..e7033b3 100644
---
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java
+++
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryEndpoint.java
@@ -25,6 +25,8 @@ import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.support.DefaultEndpoint;
+import static
org.apache.camel.component.google.bigquery.GoogleBigQueryConstants.SCHEME_BIGQUERY;
+
/**
* Google BigQuery data warehouse for analytics.
*
@@ -37,9 +39,9 @@ import org.apache.camel.support.DefaultEndpoint;
* Another consideration is that exceptions are not handled within the class.
They are expected to bubble up and be
* handled by Camel.
*/
-@UriEndpoint(firstVersion = "2.20.0", scheme = "google-bigquery", title =
"Google BigQuery",
+@UriEndpoint(firstVersion = "2.20.0", scheme = SCHEME_BIGQUERY, title =
"Google BigQuery",
syntax = "google-bigquery:projectId:datasetId:tableId",
- category = { Category.CLOUD, Category.BIGDATA }, producerOnly =
true)
+ category = { Category.CLOUD, Category.BIGDATA }, producerOnly =
true, headersClass = GoogleBigQueryConstants.class)
public class GoogleBigQueryEndpoint extends DefaultEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLEndpoint.java
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLEndpoint.java
index 5549a3c..35da8fc 100644
---
a/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLEndpoint.java
+++
b/components/camel-google/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLEndpoint.java
@@ -20,10 +20,13 @@ import com.google.cloud.bigquery.BigQuery;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.component.google.bigquery.GoogleBigQueryConstants;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.support.DefaultEndpoint;
+import static
org.apache.camel.component.google.bigquery.GoogleBigQueryConstants.SCHEME_BIGQUERY_SQL;
+
/**
* Access Google Cloud BigQuery service using SQL queries.
*
@@ -36,8 +39,9 @@ import org.apache.camel.support.DefaultEndpoint;
* Another consideration is that exceptions are not handled within the class.
They are expected to bubble up and be
* handled by Camel.
*/
-@UriEndpoint(firstVersion = "2.23.0", scheme = "google-bigquery-sql", title =
"Google BigQuery Standard SQL",
- syntax = "google-bigquery-sql:projectId:queryString", label =
"cloud,messaging", producerOnly = true)
+@UriEndpoint(firstVersion = "2.23.0", scheme = SCHEME_BIGQUERY_SQL, title =
"Google BigQuery Standard SQL",
+ syntax = "google-bigquery-sql:projectId:queryString", label =
"cloud,messaging", producerOnly = true,
+ headersClass = GoogleBigQueryConstants.class)
public class GoogleBigQuerySQLEndpoint extends DefaultEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
b/components/camel-google/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
index 75a6684..1923176 100644
---
a/components/camel-google/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
+++
b/components/camel-google/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
@@ -44,6 +44,9 @@
"refreshToken": { "kind": "property", "displayName": "Refresh Token",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConfiguration",
"configurationField": "configuration", "description": "OAuth 2 refresh token.
Using this, the Google Calendar component can obtain a new acce [...]
"user": { "kind": "property", "displayName": "User", "group": "security",
"label": "security", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": true,
"configurationClass":
"org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConfiguration",
"configurationField": "configuration", "description": "The email address of
the user the application is trying to impersonate in the service account flow."
}
},
+ "headers": {
+ "CamelGoogleCalendarEventId": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The calendar event id" }
+ },
"properties": {
"index": { "kind": "path", "displayName": "Index", "group": "consumer",
"label": "", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConfiguration",
"configurationField": "configuration", "description": "Specifies an index for
the endpoint" },
"applicationName": { "kind": "parameter", "displayName": "Application
Name", "group": "consumer", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamConfiguration",
"configurationField": "configuration", "description": "Google Calendar
application name. Example would be camel-google-calendar\/1.0" },
diff --git
a/components/camel-google/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
b/components/camel-google/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index 1cfa550..ca267e8 100644
---
a/components/camel-google/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++
b/components/camel-google/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -69,7 +69,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
include::spring-boot:partial$starter.adoc[]
diff --git
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConstants.java
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConstants.java
index 4d2a279..cb5e5c7 100644
---
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConstants.java
+++
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConstants.java
@@ -16,11 +16,14 @@
*/
package org.apache.camel.component.google.calendar.stream;
+import org.apache.camel.spi.Metadata;
+
/**
* Constants used in Camel Google Calendar Stream
*/
public final class GoogleCalendarStreamConstants {
+ @Metadata(description = "The calendar event id", javaType = "String")
public static final String EVENT_ID = "CamelGoogleCalendarEventId";
/**
diff --git
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
index 69c3179..87d23f0 100644
---
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
+++
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.util.ObjectHelper;
title = "Google Calendar Stream",
syntax = "google-calendar-stream:index",
consumerOnly = true,
- category = { Category.CLOUD })
+ category = { Category.CLOUD }, headersClass =
GoogleCalendarStreamConstants.class)
public class GoogleCalendarStreamEndpoint extends ScheduledPollEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-functions/src/generated/resources/org/apache/camel/component/google/functions/google-functions.json
b/components/camel-google/camel-google-functions/src/generated/resources/org/apache/camel/component/google/functions/google-functions.json
index 9e81621..f38dc9a 100644
---
a/components/camel-google/camel-google-functions/src/generated/resources/org/apache/camel/component/google/functions/google-functions.json
+++
b/components/camel-google/camel-google-functions/src/generated/resources/org/apache/camel/component/google/functions/google-functions.json
@@ -25,6 +25,13 @@
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start
Producer", "group": "producer", "label": "producer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during star [...]
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "GoogleCloudFunctionsOperation": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType":
"org.apache.camel.component.google.functions.GoogleCloudFunctionsOperations",
"enum": [ "listFunctions", "getFunction", "callFunction",
"generateDownloadUrl", "generateUploadUrl", "createFunction", "updateFunction",
"deleteFunction" ], "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The operation to p [...]
+ "GoogleCloudFunctionsEntryPoint": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The name of the function (as defined in source code)
that will be executed. Used for createFunction operation" },
+ "GoogleCloudFunctionsRuntime": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The runtime in which to run the function.\n\nPossible
values are:\n\n* `nodejs10`\n* `nodejs12`\n* `nodejs14`\n* `python37`\n*
`python38`\n* `python39`\n* `go111`\n* `go113`\n* `java11`\n* `dotnet3`\n*
`ruby26`\n* `nodejs6`\n* `nodejs8`\n\nUsed f [...]
+ "GoogleCloudFunctionsSourceArchiveUrl": { "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The Google Cloud Storage URL, starting with `gs:\/\/`,
pointing to the zip archive which contains the function. Used for
createFunction operation." },
+ "GoogleCloudFunctionsResponseObject": { "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "Object",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The response object resulting from the Google Functions
Client invocation" }
+ },
"properties": {
"functionName": { "kind": "path", "displayName": "Function Name", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.functions.GoogleCloudFunctionsConfiguration",
"configurationField": "configuration", "description": "The user-defined name
of the function" },
"serviceAccountKey": { "kind": "parameter", "displayName": "Service
Account Key", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.functions.GoogleCloudFunctionsConfiguration",
"configurationField": "configuration", "description": "Service account key to
authenticate an application as a service account" },
diff --git
a/components/camel-google/camel-google-functions/src/main/docs/google-functions-component.adoc
b/components/camel-google/camel-google-functions/src/main/docs/google-functions-component.adoc
index 3e9cc9e..b1743b3 100644
---
a/components/camel-google/camel-google-functions/src/main/docs/google-functions-component.adoc
+++
b/components/camel-google/camel-google-functions/src/main/docs/google-functions-component.adoc
@@ -88,25 +88,9 @@ include::partial$component-endpoint-options.adoc[]
== Usage
-=== Message headers evaluated by the Google Functions Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-|`GoogleCloudFunctionsOperation` |`String` |The operation to perform.
Permitted values are listFunctions, getFunction, callFunction,
generateDownloadUrl, generateUploadUrl, createFunction, updateFunction,
deleteFunction
-|`GoogleCloudFunctionsEntryPoint` |`String` |The name of the function (as
defined in source code) that will be executed. Used for createFunction
operation.
-|`GoogleCloudFunctionsRuntime` |`String` |The runtime in which to run the
function. Possible values are `nodejs10`, `nodejs12`, `nodejs14`, `python37`,
`python38`, `python39`, `go111`, `go113`, `java11`, `dotnet3`, `ruby26`,
`nodejs6`, `nodejs8`. Used for createFunction operation.
-|`GoogleCloudFunctionsSourceArchiveUrl` |`String` |The Google Cloud Storage
URL, starting with `gs://`, pointing to the zip archive which contains the
function. Used for createFunction operation.
-
-|=======================================================================
-
-=== Message headers set by the Google Functions Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-|`GoogleCloudFunctionsResponseObject` |`Object` |The response object resulting
from the Google Functions Client invocation
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
=== Google Functions Producer operations
diff --git
a/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsConstants.java
b/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsConstants.java
index b56df85..d900d37 100644
---
a/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsConstants.java
+++
b/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsConstants.java
@@ -16,10 +16,25 @@
*/
package org.apache.camel.component.google.functions;
+import org.apache.camel.spi.Metadata;
+
public interface GoogleCloudFunctionsConstants {
+ @Metadata(description = "The operation to perform",
+ javaType =
"org.apache.camel.component.google.functions.GoogleCloudFunctionsOperations")
String OPERATION = "GoogleCloudFunctionsOperation";
+ @Metadata(description = "The name of the function (as defined in source
code) that will be executed. Used for createFunction operation",
+ javaType = "String")
String ENTRY_POINT = "GoogleCloudFunctionsEntryPoint";
+ @Metadata(description = "The runtime in which to run the
function.\n\nPossible values are:\n\n" +
+ "* `nodejs10`\n* `nodejs12`\n* `nodejs14`\n*
`python37`\n* `python38`\n* `python39`\n* `go111`\n* `go113`\n"
+ +
+ "* `java11`\n* `dotnet3`\n* `ruby26`\n*
`nodejs6`\n* `nodejs8`\n" +
+ "\nUsed for createFunction operation.",
+ javaType = "String")
String RUNTIME = "GoogleCloudFunctionsRuntime";
+ @Metadata(description = "The Google Cloud Storage URL, starting with
`gs://`, pointing to the zip archive which contains the function. Used for
createFunction operation.",
+ javaType = "String")
String SOURCE_ARCHIVE_URL = "GoogleCloudFunctionsSourceArchiveUrl";
+ @Metadata(description = "The response object resulting from the Google
Functions Client invocation", javaType = "Object")
String RESPONSE_OBJECT = "GoogleCloudFunctionsResponseObject";
}
diff --git
a/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsEndpoint.java
b/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsEndpoint.java
index bc4cc4e..28b705b 100644
---
a/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsEndpoint.java
+++
b/components/camel-google/camel-google-functions/src/main/java/org/apache/camel/component/google/functions/GoogleCloudFunctionsEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.support.DefaultEndpoint;
@UriEndpoint(firstVersion = "3.9.0", scheme = "google-functions", title =
"Google Cloud Functions",
syntax = "google-functions:functionName", category = {
Category.CLOUD },
- producerOnly = true)
+ producerOnly = true, headersClass =
GoogleCloudFunctionsConstants.class)
public class GoogleCloudFunctionsEndpoint extends DefaultEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
b/components/camel-google/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
index 80aaa24..06fe45f 100644
---
a/components/camel-google/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
+++
b/components/camel-google/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
@@ -39,6 +39,14 @@
"keyResource": { "kind": "property", "displayName": "Key Resource",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.google.mail.stream.GoogleMailStreamConfiguration",
"configurationField": "configuration", "description": "Sets .json file with
credentials for Service account" },
"refreshToken": { "kind": "property", "displayName": "Refresh Token",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.google.mail.stream.GoogleMailStreamConfiguration",
"configurationField": "configuration", "description": "OAuth 2 refresh token.
Using this, the Google Calendar component can obtain a new accessToken [...]
},
+ "headers": {
+ "CamelGoogleMailStreamTo": { "kind": "header", "displayName": "", "group":
"consumer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The recipient of the message" },
+ "CamelGoogleMailStreamFrom": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The emitter of the message" },
+ "CamelGoogleMailStreamCc": { "kind": "header", "displayName": "", "group":
"consumer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The carbon copy of the message" },
+ "CamelGoogleMailStreamBcc": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The blind carbon cpoy of the message" },
+ "CamelGoogleMailStreamSubject": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The subject of the message" },
+ "CamelGoogleMailId": { "kind": "header", "displayName": "", "group":
"consumer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The ID of the message" }
+ },
"properties": {
"index": { "kind": "path", "displayName": "Index", "group": "consumer",
"label": "", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.mail.stream.GoogleMailStreamConfiguration",
"configurationField": "configuration", "description": "Currently not in use" },
"applicationName": { "kind": "parameter", "displayName": "Application
Name", "group": "consumer", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.google.mail.stream.GoogleMailStreamConfiguration",
"configurationField": "configuration", "description": "Google mail application
name. Example would be camel-google-mail\/1.0" },
diff --git
a/components/camel-google/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
b/components/camel-google/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index fd0217a..0f6896f 100644
---
a/components/camel-google/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++
b/components/camel-google/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -69,7 +69,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
include::spring-boot:partial$starter.adoc[]
diff --git
a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConstants.java
b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConstants.java
index ea8fdf1..7d4bafe 100644
---
a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConstants.java
+++
b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConstants.java
@@ -16,16 +16,24 @@
*/
package org.apache.camel.component.google.mail.stream;
+import org.apache.camel.spi.Metadata;
+
/**
* Constants used in Camel Google Mail Stream
*/
public final class GoogleMailStreamConstants {
+ @Metadata(description = "The recipient of the message", javaType =
"String")
public static final String MAIL_TO = "CamelGoogleMailStreamTo";
+ @Metadata(description = "The emitter of the message", javaType = "String")
public static final String MAIL_FROM = "CamelGoogleMailStreamFrom";
+ @Metadata(description = "The carbon copy of the message", javaType =
"String")
public static final String MAIL_CC = "CamelGoogleMailStreamCc";
+ @Metadata(description = "The blind carbon cpoy of the message", javaType =
"String")
public static final String MAIL_BCC = "CamelGoogleMailStreamBcc";
+ @Metadata(description = "The subject of the message", javaType = "String")
public static final String MAIL_SUBJECT = "CamelGoogleMailStreamSubject";
+ @Metadata(description = "The ID of the message", javaType = "String")
public static final String MAIL_ID = "CamelGoogleMailId";
/**
diff --git
a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
index 0f60175..0e8c198 100644
---
a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
+++
b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.camel.util.ObjectHelper;
title = "Google Mail Stream",
syntax = "google-mail-stream:index",
consumerOnly = true,
- category = { Category.CLOUD, Category.MAIL })
+ category = { Category.CLOUD, Category.MAIL }, headersClass =
GoogleMailStreamConstants.class)
public class GoogleMailStreamEndpoint extends ScheduledPollEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-pubsub/src/generated/resources/org/apache/camel/component/google/pubsub/google-pubsub.json
b/components/camel-google/camel-google-pubsub/src/generated/resources/org/apache/camel/component/google/pubsub/google-pubsub.json
index 3762173..4854318 100644
---
a/components/camel-google/camel-google-pubsub/src/generated/resources/org/apache/camel/component/google/pubsub/google-pubsub.json
+++
b/components/camel-google/camel-google-pubsub/src/generated/resources/org/apache/camel/component/google/pubsub/google-pubsub.json
@@ -33,6 +33,13 @@
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
"publisherTerminationTimeout": { "kind": "property", "displayName":
"Publisher Termination Timeout", "group": "advanced", "label": "advanced",
"required": false, "type": "integer", "javaType": "int", "deprecated": false,
"autowired": false, "secret": false, "description": "How many milliseconds
should a producer be allowed to terminate." }
},
+ "headers": {
+ "CamelGooglePubsub.MessageId": { "kind": "header", "displayName": "",
"group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The ID of the message, assigned by the server when the
message is published." },
+ "CamelGooglePubsub.MsgAckId": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The ID used to acknowledge the received
message." },
+ "CamelGooglePubsub.PublishTime": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"com.google.protobuf.Timestamp", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The time at which the
message was published" },
+ "CamelGooglePubsub.Attributes": { "kind": "header", "displayName": "",
"group": "common", "label": "", "required": false, "javaType": "Map<String,
String>", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The attributes of the message." },
+ "CamelGooglePubsub.OrderingKey": { "kind": "header", "displayName": "",
"group": "producer", "label": "producer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "If non-empty, identifies related messages for
which publish order should be\n respected." }
+ },
"properties": {
"projectId": { "kind": "path", "displayName": "Project Id", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The Google Cloud PubSub Project Id" },
"destinationName": { "kind": "path", "displayName": "Destination Name",
"group": "common", "label": "common", "required": true, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The Destination Name. For
the consumer this will be the subscription name, while for the producer this
will be the topic name." },
diff --git
a/components/camel-google/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
b/components/camel-google/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
index 82e06c7..98c993b 100644
---
a/components/camel-google/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
+++
b/components/camel-google/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
@@ -55,6 +55,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Producer Endpoints
@@ -93,14 +96,6 @@ To ack/nack the message the component uses Acknowledgement
ID stored as header `
If the header is removed or tampered with, the ack will fail and the message
will be redelivered
again after the ack deadline.
-== Message Headers
-
-Headers set by the consumer endpoints:
-
-* GooglePubsubConstants.MESSAGE_ID
-* GooglePubsubConstants.ATTRIBUTES
-* GooglePubsubConstants.PUBLISH_TIME
-
== Message Body
The consumer endpoint returns the content of the message as byte[] - exactly
as the underlying system sends it.
diff --git
a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConstants.java
b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConstants.java
index e44a417..1650293 100644
---
a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConstants.java
+++
b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConstants.java
@@ -16,12 +16,23 @@
*/
package org.apache.camel.component.google.pubsub;
+import org.apache.camel.spi.Metadata;
+
public final class GooglePubsubConstants {
+ @Metadata(description = "The ID of the message, assigned by the server
when the message is published.", javaType = "String")
public static final String MESSAGE_ID = "CamelGooglePubsub.MessageId";
+ @Metadata(label = "consumer", description = "The ID used to acknowledge
the received message.", javaType = "String")
public static final String ACK_ID = "CamelGooglePubsub.MsgAckId";
+ @Metadata(label = "consumer", description = "The time at which the message
was published",
+ javaType = "com.google.protobuf.Timestamp")
public static final String PUBLISH_TIME = "CamelGooglePubsub.PublishTime";
+ @Metadata(description = "The attributes of the message.", javaType =
"Map<String, String>")
public static final String ATTRIBUTES = "CamelGooglePubsub.Attributes";
+ @Metadata(label = "producer",
+ description = "If non-empty, identifies related messages for
which publish order should be\n" +
+ " respected.",
+ javaType = "String")
public static final String ORDERING_KEY = "CamelGooglePubsub.OrderingKey";
public static final String RESERVED_GOOGLE_CLIENT_ATTRIBUTE_PREFIX =
"goog";
diff --git
a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
index ade9329..ac8154c 100644
---
a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
+++
b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
@@ -41,7 +41,8 @@ import org.slf4j.LoggerFactory;
* Built on top of the Google Cloud Pub/Sub libraries.
*/
@UriEndpoint(firstVersion = "2.19.0", scheme = "google-pubsub", title =
"Google Pubsub",
- syntax = "google-pubsub:projectId:destinationName", category = {
Category.CLOUD, Category.MESSAGING })
+ syntax = "google-pubsub:projectId:destinationName", category = {
Category.CLOUD, Category.MESSAGING },
+ headersClass = GooglePubsubConstants.class)
public class GooglePubsubEndpoint extends DefaultEndpoint {
private Logger log;
diff --git
a/components/camel-google/camel-google-secret-manager/src/generated/resources/org/apache/camel/component/google/secret/manager/google-secret-manager.json
b/components/camel-google/camel-google-secret-manager/src/generated/resources/org/apache/camel/component/google/secret/manager/google-secret-manager.json
index f6fa45e..1be9b4a14 100644
---
a/components/camel-google/camel-google-secret-manager/src/generated/resources/org/apache/camel/component/google/secret/manager/google-secret-manager.json
+++
b/components/camel-google/camel-google-secret-manager/src/generated/resources/org/apache/camel/component/google/secret/manager/google-secret-manager.json
@@ -25,6 +25,11 @@
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start
Producer", "group": "producer", "label": "producer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during star [...]
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "GoogleSecretManagerOperation": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType":
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations",
"enum": [ "createSecret", "getSecretVersion", "deleteSecret", "listSecrets" ],
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The operation to perform" },
+ "CamelGoogleSecretManagerSecretId": { "kind": "header", "displayName": "",
"group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The id of the secret" },
+ "CamelGoogleSecretManagerVersionId": { "kind": "header", "displayName":
"", "group": "producer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "defaultValue": "latest", "description": "The version of the secret" }
+ },
"properties": {
"project": { "kind": "path", "displayName": "Project", "group": "common",
"label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
"configurationField": "configuration", "description": "The Google Cloud
Project Id name related to the Secret Manager" },
"serviceAccountKey": { "kind": "parameter", "displayName": "Service
Account Key", "group": "common", "label": "common", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false, "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerConfiguration",
"configurationField": "configuration", "description": "Service account key to
authenticate an application as a service account" },
diff --git
a/components/camel-google/camel-google-secret-manager/src/main/docs/google-secret-manager-component.adoc
b/components/camel-google/camel-google-secret-manager/src/main/docs/google-secret-manager-component.adoc
index abd0646..f8b10a3 100644
---
a/components/camel-google/camel-google-secret-manager/src/main/docs/google-secret-manager-component.adoc
+++
b/components/camel-google/camel-google-secret-manager/src/main/docs/google-secret-manager-component.adoc
@@ -83,6 +83,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
=== Using GCP Secret Manager Properties Source
diff --git
a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerConstants.java
b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerConstants.java
index ec02f51..d0311a1 100644
---
a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerConstants.java
+++
b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerConstants.java
@@ -16,9 +16,15 @@
*/
package org.apache.camel.component.google.secret.manager;
+import org.apache.camel.spi.Metadata;
+
public interface GoogleSecretManagerConstants {
+ @Metadata(description = "The operation to perform",
+ javaType =
"org.apache.camel.component.google.secret.manager.GoogleSecretManagerOperations")
String OPERATION = "GoogleSecretManagerOperation";
+ @Metadata(description = "The id of the secret", javaType = "String")
String SECRET_ID = "CamelGoogleSecretManagerSecretId";
+ @Metadata(description = "The version of the secret", javaType = "String",
defaultValue = "latest")
String VERSION_ID = "CamelGoogleSecretManagerVersionId";
String REPLICATION = "CamelGoogleSecretManagerReplication";
}
diff --git
a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerEndpoint.java
b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerEndpoint.java
index b2be2a2..00896f0 100644
---
a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerEndpoint.java
+++
b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.support.DefaultEndpoint;
@UriEndpoint(firstVersion = "3.16.0", scheme = "google-secret-manager", title
= "Google Secret Manager",
syntax = "google-secret-manager:project", category = {
Category.CLOUD },
- producerOnly = true)
+ producerOnly = true, headersClass =
GoogleSecretManagerConstants.class)
public class GoogleSecretManagerEndpoint extends DefaultEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
b/components/camel-google/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
index f05c99b..4380e7d 100644
---
a/components/camel-google/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
+++
b/components/camel-google/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
@@ -42,6 +42,14 @@
"keyResource": { "kind": "property", "displayName": "Key Resource",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConfiguration",
"configurationField": "configuration", "description": "Sets .json file with
credentials for Service account" },
"refreshToken": { "kind": "property", "displayName": "Refresh Token",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": true, "configurationClass":
"org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConfiguration",
"configurationField": "configuration", "description": "OAuth 2 refresh token.
Using this, the Google Calendar component can obtain a new accessTo [...]
},
+ "headers": {
+ "CamelGoogleSheetsSpreadsheetId": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Specifies the spreadsheet identifier that is used to
identify the target to obtain." },
+ "CamelGoogleSheetsSpreadsheetUrl": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The URL of the spreadsheet." },
+ "CamelGoogleSheetsMajorDimension": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The major dimension of the values" },
+ "CamelGoogleSheetsRange": { "kind": "header", "displayName": "", "group":
"consumer", "label": "", "required": false, "javaType": "String", "deprecated":
false, "deprecationNote": "", "autowired": false, "secret": false,
"description": "The range the values cover, in A1 notation." },
+ "CamelGoogleSheetsRangeIndex": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "int",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The index of the range" },
+ "CamelGoogleSheetsValueIndex": { "kind": "header", "displayName": "",
"group": "consumer", "label": "", "required": false, "javaType": "int",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The index of the value" }
+ },
"properties": {
"spreadsheetId": { "kind": "path", "displayName": "Spreadsheet Id",
"group": "consumer", "label": "", "required": true, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConfiguration",
"configurationField": "configuration", "description": "Specifies the
spreadsheet identifier that is used to identify the target to o [...]
"applicationName": { "kind": "parameter", "displayName": "Application
Name", "group": "consumer", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamConfiguration",
"configurationField": "configuration", "description": "Google sheets
application name. Example would be camel-google-sheets\/1.0" },
diff --git
a/components/camel-google/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
b/components/camel-google/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index e281149..cf969cb 100644
---
a/components/camel-google/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++
b/components/camel-google/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -69,6 +69,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== More information
diff --git
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.java
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.java
index a2f69c7..d57deb1 100644
---
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.java
+++
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConstants.java
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.google.sheets.stream;
+import org.apache.camel.spi.Metadata;
+
/**
* Constants used in Camel Google Sheets Stream
*/
@@ -23,11 +25,18 @@ public final class GoogleSheetsStreamConstants {
private static final String PROPERTY_PREFIX = "CamelGoogleSheets";
+ @Metadata(description = "Specifies the spreadsheet identifier that is used
to identify the target to obtain.",
+ javaType = "String")
public static final String SPREADSHEET_ID = PROPERTY_PREFIX +
"SpreadsheetId";
+ @Metadata(description = "The URL of the spreadsheet.", javaType = "String")
public static final String SPREADSHEET_URL = PROPERTY_PREFIX +
"SpreadsheetUrl";
+ @Metadata(description = "The major dimension of the values", javaType =
"String")
public static final String MAJOR_DIMENSION = PROPERTY_PREFIX +
"MajorDimension";
+ @Metadata(description = "The range the values cover, in A1 notation.",
javaType = "String")
public static final String RANGE = PROPERTY_PREFIX + "Range";
+ @Metadata(description = "The index of the range", javaType = "int")
public static final String RANGE_INDEX = PROPERTY_PREFIX + "RangeIndex";
+ @Metadata(description = "The index of the value", javaType = "int")
public static final String VALUE_INDEX = PROPERTY_PREFIX + "ValueIndex";
/**
diff --git
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
index 6fa2507..517a60d 100644
---
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
+++
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
title = "Google Sheets Stream",
syntax = "google-sheets-stream:spreadsheetId",
consumerOnly = true,
- category = { Category.CLOUD, Category.SHEETS })
+ category = { Category.CLOUD, Category.SHEETS }, headersClass =
GoogleSheetsStreamConstants.class)
public class GoogleSheetsStreamEndpoint extends ScheduledPollEndpoint {
@UriParam
diff --git
a/components/camel-google/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json
b/components/camel-google/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json
index 576b619..86a7dfb 100644
---
a/components/camel-google/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json
+++
b/components/camel-google/camel-google-storage/src/generated/resources/org/apache/camel/component/google/storage/google-storage.json
@@ -41,6 +41,34 @@
"operation": { "kind": "property", "displayName": "Operation", "group":
"producer", "label": "producer", "required": false, "type": "object",
"javaType":
"org.apache.camel.component.google.storage.GoogleCloudStorageOperations",
"enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket",
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.google.storage.GoogleCloudSto [...]
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "CamelGoogleCloudStorageOperation": { "kind": "header", "displayName": "",
"group": "producer", "label": "producer", "required": false, "javaType":
"org.apache.camel.component.google.storage.GoogleCloudStorageOperations",
"enum": [ "copyObject", "listObjects", "deleteObject", "deleteBucket",
"listBuckets", "getObject", "createDownloadLink" ], "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "description": "The
operation to perform." },
+ "CamelGoogleCloudStorageBucketName": { "kind": "header", "displayName":
"", "group": "producer", "label": "producer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The bucket Name which this object will be
stored or which will be used for the current operation" },
+ "CamelGoogleCloudStorageObjectName": { "kind": "header", "displayName":
"", "group": "producer", "label": "producer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The object Name which will be used for the
current operation" },
+ "CamelGoogleCloudStorageDestinationObjectName": { "kind": "header",
"displayName": "", "group": "producer", "label": "producer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The object Destination Name which will
be used for the current operation" },
+ "CamelGoogleCloudStorageDestinationBucketName": { "kind": "header",
"displayName": "", "group": "producer", "label": "producer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The bucket Destination Name which will
be used for the current operation" },
+ "CamelGoogleCloudStorageDownloadLinkExpirationTime": { "kind": "header",
"displayName": "", "group": "producer", "label": "producer", "required": false,
"javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "defaultValue": "300000", "description": "The time in
millisecond the download link will be valid." },
+ "CamelGoogleCloudStorageContentLength": { "kind": "header", "displayName":
"", "group": "common", "label": "", "required": false, "javaType": "Long",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The content length of this object." },
+ "CamelGoogleCloudStorageContentType": { "kind": "header", "displayName":
"", "group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The content type of this object." },
+ "CamelGoogleCloudStorageCacheControl": { "kind": "header", "displayName":
"", "group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The Cache-Control metadata can specify two different
aspects of how data is served from Cloud Storage: whether the data can be
cached and whether the data can be transformed" },
+ "CamelGoogleCloudStorageContentDisposition": { "kind": "header",
"displayName": "", "group": "common", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The content disposition of this
object." },
+ "CamelGoogleCloudStorageContentEncoding": { "kind": "header",
"displayName": "", "group": "common", "label": "", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The content encoding of this object." },
+ "CamelGoogleCloudStorageContentMd5": { "kind": "header", "displayName":
"", "group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The md5 checksum of this object." },
+ "CamelFileName": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The name of the blob" },
+ "CamelGoogleCloudStorageComponentCount": { "kind": "header",
"displayName": "", "group": "consumer", "label": "consumer", "required": false,
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The component count of this object" },
+ "CamelGoogleCloudStorageContentLanguage": { "kind": "header",
"displayName": "", "group": "consumer", "label": "consumer", "required": false,
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The Content-Language metadata indicates
the language(s) that the object is intended for." },
+ "CamelGoogleCloudStorageCustomTime": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"Long", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The Custom-Time metadata is a user-specified
date and time represented in the RFC 3339 format YYYY-MM-DD'T'HH:MM:SS.SS'Z' or
YYYY-MM-DD'T'HH:MM:SS'Z' when milliseconds are zero. This metadata is typically
set in order to use the DaysS [...]
+ "CamelGoogleCloudStorageCrc32cHex": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The CRC32c of the object" },
+ "CamelGoogleCloudStorageETag": { "kind": "header", "displayName": "",
"group": "common", "label": "", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "The ETag for the Object." },
+ "CamelGoogleCloudStorageGeneration": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"Long", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "Is the generation number of the object for
which you are retrieving information." },
+ "CamelGoogleCloudStorageBlobId": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"com.google.cloud.storage.BlobId", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "description": "The blob id of the object"
},
+ "CamelGoogleCloudStorageKmsKeyName": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The KMS key name" },
+ "CamelGoogleCloudStorageMediaLink": { "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The media link" },
+ "CamelGoogleCloudStorageMetageneration": { "kind": "header",
"displayName": "", "group": "consumer", "label": "consumer", "required": false,
"javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "The metageneration of the object" },
+ "CamelGoogleCloudStorageStorageClass": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"com.google.cloud.storage.StorageClass", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "description": "The
storage class of the object" },
+ "CamelGoogleCloudStorageCreateTime": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"Long", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The creation time of the object" },
+ "CamelGoogleCloudStorageLastUpdate": { "kind": "header", "displayName":
"", "group": "consumer", "label": "consumer", "required": false, "javaType":
"Date", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The last update of the object" }
+ },
"properties": {
"bucketName": { "kind": "path", "displayName": "Bucket Name", "group":
"common", "label": "common", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.google.storage.GoogleCloudStorageConfiguration",
"configurationField": "configuration", "description": "Bucket name or ARN" },
"autoCreateBucket": { "kind": "parameter", "displayName": "Auto Create
Bucket", "group": "common", "label": "common", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.google.storage.GoogleCloudStorageConfiguration",
"configurationField": "configuration", "description": "Setting the autocreation
of the bucket bucketName." },
diff --git
a/components/camel-google/camel-google-storage/src/main/docs/google-storage-component.adoc
b/components/camel-google/camel-google-storage/src/main/docs/google-storage-component.adoc
index b010d5f..ea4afa5 100644
---
a/components/camel-google/camel-google-storage/src/main/docs/google-storage-component.adoc
+++
b/components/camel-google/camel-google-storage/src/main/docs/google-storage-component.adoc
@@ -89,73 +89,9 @@ include::partial$component-endpoint-options.adoc[]
== Usage
-=== Message headers evaluated by the Google Storage Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelGoogleCloudStorageBucketName` |`String` |The bucket Name which this
object will be stored or which will be used for the current operation
-
-|`CamelGoogleCloudStorageObjectName` |`String` |The object Name which will be
used for the current operation
-
-|`CamelGoogleCloudStorageDestinationBucketName` |`String` |The bucket
Destination Name which will be used for the current operation
-
-|`CamelGoogleCloudStorageDestinationObjectName` |`String` |The object
Destination Name which will be used for the current operation
-
-|`CamelGoogleCloudStorageContentLength` |`Long` |The content length of this
object.
-
-|`CamelGoogleCloudStorageContentType` |`String` |The content type of this
object.
-
-|`CamelGoogleCloudStorageContentDisposition` |`String` |The content
disposition of this object.
-
-|`CamelGoogleCloudStorageContentEncoding` |`String` |The content encoding of
this object.
-
-|`CamelGoogleCloudStorageContentMd5` |`String` |The md5 checksum of this
object.
-
-|`CamelGoogleCloudStorageOperation` |`String` |The operation to perform.
Permitted values are copyObject, listObjects, deleteObject, deleteBucket,
listBuckets, getObject, createDownloadLink
-
-|`CamelGoogleCloudStorageDownloadLinkExpirationTime` |`Long` |The time in
millisecond the download link will be valid.
-
-|=======================================================================
-
-=== Message headers set by the Google Storage Producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelGoogleCloudStorageETag` |`String` |The ETag value for the newly
uploaded object.
-
-|=======================================================================
-
-=== Message headers set by the Google Storage Consumer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-|`CamelGoogleCloudStorageBucketName` |`String` |The bucket Name which this
object will be stored or which will be used for the current operation
-|`CamelGoogleCloudStorageObjectName` |`String` |The object Name which will be
used for the current operation
-| `CamelGoogleCloudStorageCacheControl` |`String` | The Cache-Control metadata
can specify two different aspects of how data is served from Cloud Storage:
whether the data can be cached and whether the data can be transformed
-| `CamelGoogleCloudStorageComponentCount` |`String` | The component count of
this object
-| `CamelGoogleCloudStorageContentDisposition` |`String` |The content
disposition of this object.
-| `CamelGoogleCloudStorageContentEncoding` |`String` |The content encoding of
this object.
-| `CamelGoogleCloudStorageContentLanguage` |`String` | The Content-Language
metadata indicates the language(s) that the object is intended for.
-| `CamelGoogleCloudStorageContentType` |`String` |The content type of this
object.
-| `CamelGoogleCloudStorageCustomTime` |`String` | The Custom-Time metadata is
a user-specified date and time represented in the RFC 3339 format
YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z' when milliseconds are
zero. This metadata is typically set in order to use the DaysSinceCustomTime
condition in Object Lifecycle Management.
-| `CamelGoogleCloudStorageCrc32cHex` |`String` | The CRC32c of the object
-| `CamelGoogleCloudStorageETag` |`String` | The ETag for the Object.
-| `CamelGoogleCloudStorageGeneration` |`String` | Is the generation number of
the object for which you are retrieving information.
-| `CamelGoogleCloudStorageBlobId` |`String` | The blob id of the object
-| `CamelGoogleCloudStorageKmsKeyName` |`String` | The KMS key name
-| `CamelGoogleCloudStorageContentMd5` |`String` |The md5 checksum of this
object.
-| `CamelGoogleCloudStorageMediaLink` |`String` | The media link
-| `CamelGoogleCloudStorageMetageneration` | `String` | The metageneration of
the object
-| `CamelGoogleCloudStorageContentLength` |`Long` |The content length of this
object.
-| `CamelGoogleCloudStorageStorageClass` | `String` | The storage class of the
object
-| `CamelGoogleCloudStorageCreateTime` |`String` | The creation time of the
object
-| `CamelGoogleCloudStorageLastUpdate` |`String` | The last update of the object
-|=======================================================================
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
=== Google Storage Producer operations
diff --git
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConstants.java
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConstants.java
index 5967ecb..1187073 100644
---
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConstants.java
+++
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConstants.java
@@ -16,32 +16,81 @@
*/
package org.apache.camel.component.google.storage;
+import org.apache.camel.Exchange;
+import org.apache.camel.spi.Metadata;
+
public final class GoogleCloudStorageConstants {
+ @Metadata(label = "producer", description = "The operation to perform.",
+ javaType =
"org.apache.camel.component.google.storage.GoogleCloudStorageOperations")
public static final String OPERATION = "CamelGoogleCloudStorageOperation";
+ @Metadata(label = "producer",
+ description = "The bucket Name which this object will be stored
or which will be used for the current operation",
+ javaType = "String")
public static final String BUCKET_NAME =
"CamelGoogleCloudStorageBucketName";
+ @Metadata(label = "producer", description = "The object Name which will be
used for the current operation",
+ javaType = "String")
public static final String OBJECT_NAME =
"CamelGoogleCloudStorageObjectName";
+ @Metadata(label = "producer", description = "The object Destination Name
which will be used for the current operation",
+ javaType = "String")
public static final String DESTINATION_OBJECT_NAME =
"CamelGoogleCloudStorageDestinationObjectName";
+ @Metadata(label = "producer", description = "The bucket Destination Name
which will be used for the current operation",
+ javaType = "String")
public static final String DESTINATION_BUCKET_NAME =
"CamelGoogleCloudStorageDestinationBucketName";
+ @Metadata(label = "producer", description = "The time in millisecond the
download link will be valid.", javaType = "Long",
+ defaultValue = "300000")
public static final String DOWNLOAD_LINK_EXPIRATION_TIME =
"CamelGoogleCloudStorageDownloadLinkExpirationTime";
+ @Metadata(description = "The content length of this object.", javaType =
"Long")
public static final String CONTENT_LENGTH =
"CamelGoogleCloudStorageContentLength";
+ @Metadata(description = "The content type of this object.", javaType =
"String")
public static final String CONTENT_TYPE =
"CamelGoogleCloudStorageContentType";
+ @Metadata(description = "The Cache-Control metadata can specify two
different aspects of how data is served from Cloud Storage: "
+ +
+ "whether the data can be cached and whether the
data can be transformed",
+ javaType = "String")
public static final String CACHE_CONTROL =
"CamelGoogleCloudStorageCacheControl";
+ @Metadata(description = "The content disposition of this object.",
javaType = "String")
public static final String CONTENT_DISPOSITION =
"CamelGoogleCloudStorageContentDisposition";
+ @Metadata(description = "The content encoding of this object.", javaType =
"String")
public static final String CONTENT_ENCODING =
"CamelGoogleCloudStorageContentEncoding";
+ @Metadata(description = "The md5 checksum of this object.", javaType =
"String")
public static final String CONTENT_MD5 =
"CamelGoogleCloudStorageContentMd5";
+ @Metadata(label = "consumer", description = "The name of the blob",
javaType = "String")
+ public static final String FILE_NAME = Exchange.FILE_NAME;
+ @Metadata(label = "consumer", description = "The component count of this
object", javaType = "Integer")
public static final String METADATA_COMPONENT_COUNT =
"CamelGoogleCloudStorageComponentCount";
+ @Metadata(label = "consumer",
+ description = "The Content-Language metadata indicates the
language(s) that the object is intended for.",
+ javaType = "String")
public static final String METADATA_CONTENT_LANGUAGE =
"CamelGoogleCloudStorageContentLanguage";
+ @Metadata(label = "consumer", description = "The Custom-Time metadata is a
user-specified date and time represented " +
+ "in the RFC 3339 format
YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z' when milliseconds are
zero. "
+ +
+ "This metadata is typically
set in order to use the DaysSinceCustomTime condition in Object Lifecycle
Management.",
+ javaType = "Long")
public static final String METADATA_CUSTOM_TIME =
"CamelGoogleCloudStorageCustomTime";
+ @Metadata(label = "consumer", description = "The CRC32c of the object",
javaType = "String")
public static final String METADATA_CRC32C_HEX =
"CamelGoogleCloudStorageCrc32cHex";
+ @Metadata(description = "The ETag for the Object.", javaType = "String")
public static final String METADATA_ETAG = "CamelGoogleCloudStorageETag";
+ @Metadata(label = "consumer",
+ description = "Is the generation number of the object for which
you are retrieving information.",
+ javaType = "Long")
public static final String METADATA_GENERATION =
"CamelGoogleCloudStorageGeneration";
+ @Metadata(label = "consumer", description = "The blob id of the object",
javaType = "com.google.cloud.storage.BlobId")
public static final String METADATA_BLOB_ID =
"CamelGoogleCloudStorageBlobId";
+ @Metadata(label = "consumer", description = "The KMS key name", javaType =
"String")
public static final String METADATA_KMS_KEY_NAME =
"CamelGoogleCloudStorageKmsKeyName";
+ @Metadata(label = "consumer", description = "The media link", javaType =
"String")
public static final String METADATA_MEDIA_LINK =
"CamelGoogleCloudStorageMediaLink";
+ @Metadata(label = "consumer", description = "The metageneration of the
object", javaType = "Long")
public static final String METADATA_METAGENERATION =
"CamelGoogleCloudStorageMetageneration";
+ @Metadata(label = "consumer", description = "The storage class of the
object",
+ javaType = "com.google.cloud.storage.StorageClass")
public static final String METADATA_STORAGE_CLASS =
"CamelGoogleCloudStorageStorageClass";
+ @Metadata(label = "consumer", description = "The creation time of the
object", javaType = "Long")
public static final String METADATA_CREATE_TIME =
"CamelGoogleCloudStorageCreateTime";
+ @Metadata(label = "consumer", description = "The last update of the
object", javaType = "Date")
public static final String METADATA_LAST_UPDATE =
"CamelGoogleCloudStorageLastUpdate";
/**
diff --git
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
index 5f37612..b2a754d 100644
---
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
+++
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
@@ -341,7 +341,7 @@ public class GoogleCloudStorageConsumer extends
ScheduledBatchPollingConsumer {
protected String evaluateFileExpression(Exchange exchange, String
downloadFileName, String blogName) {
CamelContext camelContext = exchange.getContext();
// use blob as file name
- exchange.getMessage().setHeader(Exchange.FILE_NAME, blogName);
+ exchange.getMessage().setHeader(GoogleCloudStorageConstants.FILE_NAME,
blogName);
String eval = downloadFileName;
if (!downloadFileName.contains("$")) {
diff --git
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
index 38d7cfe..53a6b22 100644
---
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
+++
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageEndpoint.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
* behavior of Consumer and Producer.
*/
@UriEndpoint(firstVersion = "3.9.0", scheme = "google-storage", title =
"Google Storage", syntax = "google-storage:bucketName",
- category = { Category.CLOUD })
+ category = { Category.CLOUD }, headersClass =
GoogleCloudStorageConstants.class)
public class GoogleCloudStorageEndpoint extends ScheduledPollEndpoint {
private static final Logger LOG =
LoggerFactory.getLogger(GoogleCloudStorageEndpoint.class);
diff --git
a/components/camel-grape/src/generated/resources/org/apache/camel/component/grape/grape.json
b/components/camel-grape/src/generated/resources/org/apache/camel/component/grape/grape.json
index bace9f7..d98b751 100644
---
a/components/camel-grape/src/generated/resources/org/apache/camel/component/grape/grape.json
+++
b/components/camel-grape/src/generated/resources/org/apache/camel/component/grape/grape.json
@@ -26,6 +26,9 @@
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
"patchesRepository": { "kind": "property", "displayName": "Patches
Repository", "group": "advanced", "label": "advanced", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.grape.PatchesRepository", "deprecated": false,
"autowired": false, "secret": false, "description": "Implementation of
org.apache.camel.component.grape.PatchesRepository, by default:
FilePatchesRepository" }
},
+ "headers": {
+ "CamelGrapeCommand": { "kind": "header", "displayName": "", "group":
"producer", "label": "", "required": false, "javaType":
"org.apache.camel.component.grape.GrapeCommand", "enum": [ "grab",
"listPatches", "clearPatches" ], "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": false, "defaultValue": "grab", "description":
"The command to be performed by the Grape endpoint." }
+ },
"properties": {
"defaultCoordinates": { "kind": "path", "displayName": "Default
Coordinates", "group": "producer", "label": "", "required": true, "type":
"string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": false, "description":
"Maven coordinates to use as default to grab if the message body is empty." },
"lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start
Producer", "group": "producer", "label": "producer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during sta [...]
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc
b/components/camel-grape/src/main/docs/grape-component.adoc
index 33c2213..9c9557f 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -34,7 +34,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Setting up class loader
@@ -109,17 +111,6 @@ String:
producerTemplate.sendBody("grape:defaultMavenCoordinates",
"org.apache.camel/camel-ftp/2.15.2".getBytes());
-----------------------------------------------------------------------------------------------------------
-== Headers
-
-The following headers are recognized by the Grape component:
-
-[width="100%",cols="10%,10%,10%,10%,60%",options="header",]
-|=======================================================================
-|Header |Java constant |Endpoint type |Value type |Description
-
-|`CamelGrapeCommand` |`GrapeConstants.GRAPE_COMMAND` |Producer
|`org.apache.camel.component.grape.GrapeCommand` |The command to be performed
by the Grape endpoint. Default to `grab`.
-|=======================================================================
-
== Loading components at runtime
In order to load the new component at the router runtime, just grab the
diff --git
a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
index e885752..0c2d014 100644
---
a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
+++
b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
@@ -16,8 +16,12 @@
*/
package org.apache.camel.component.grape;
+import org.apache.camel.spi.Metadata;
+
public final class GrapeConstants {
+ @Metadata(description = "The command to be performed by the Grape
endpoint.",
+ javaType = "org.apache.camel.component.grape.GrapeCommand",
defaultValue = "grab")
public static final String GRAPE_COMMAND = "CamelGrapeCommand";
private GrapeConstants() {
diff --git
a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
index e020009..3a44962 100644
---
a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
+++
b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
@@ -36,7 +36,7 @@ import org.codehaus.groovy.runtime.DefaultGroovyMethods;
* Fetch, load and manage additional jars dynamically after Camel Context was
started.
*/
@UriEndpoint(firstVersion = "2.16.0", scheme = "grape", syntax =
"grape:defaultCoordinates", title = "Grape",
- producerOnly = true, category = { Category.MANAGEMENT,
Category.DEPLOYMENT })
+ producerOnly = true, category = { Category.MANAGEMENT,
Category.DEPLOYMENT }, headersClass = GrapeConstants.class)
public class GrapeEndpoint extends DefaultEndpoint {
@UriPath(description = "Maven coordinates to use as default to grab if the
message body is empty.")
diff --git a/components/camel-grpc/pom.xml b/components/camel-grpc/pom.xml
index 802a1574..0d1c040 100644
--- a/components/camel-grpc/pom.xml
+++ b/components/camel-grpc/pom.xml
@@ -265,6 +265,19 @@
<skipTests>${skipTests}</skipTests>
</configuration>
</plugin>
+ <!-- Force the version of guava to camel-package-maven-plugin to
prevent build failure due to the
+ usage of an old/incompatible version of guava -->
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${google-guava-version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
</plugins>
</build>
</project>
diff --git
a/components/camel-grpc/src/generated/resources/org/apache/camel/component/grpc/grpc.json
b/components/camel-grpc/src/generated/resources/org/apache/camel/component/grpc/grpc.json
index 0093a0b..03d0334 100644
---
a/components/camel-grpc/src/generated/resources/org/apache/camel/component/grpc/grpc.json
+++
b/components/camel-grpc/src/generated/resources/org/apache/camel/component/grpc/grpc.json
@@ -26,6 +26,11 @@
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start
Producer", "group": "producer", "label": "producer", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "description": "Whether the producer
should be started lazy (on the first message). By starting lazy you can use
this to allow CamelContext and routes to startup in situations where a producer
may otherwise fail during star [...]
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
},
+ "headers": {
+ "CamelGrpcMethodName": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Method name handled by the consumer service" },
+ "CamelGrpcUserAgent": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "If provided, the given agent will prepend the gRPC
library's user agent information" },
+ "CamelGrpcEventType": { "kind": "header", "displayName": "", "group":
"consumer", "label": "consumer", "required": false, "javaType": "String",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "description": "Received event type from the sent request.\n\nPossible
values:\n\n* onNext\n* onCompleted\n* onError" }
+ },
"properties": {
"host": { "kind": "path", "displayName": "Host", "group": "common",
"label": "", "required": true, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "configurationClass":
"org.apache.camel.component.grpc.GrpcConfiguration", "configurationField":
"configuration", "description": "The gRPC server host name. This is localhost
or 0.0.0.0 when being a consumer or remote server host name when using
producer." },
"port": { "kind": "path", "displayName": "Port", "group": "common",
"label": "", "required": true, "type": "integer", "javaType": "int",
"deprecated": false, "deprecationNote": "", "autowired": false, "secret":
false, "configurationClass":
"org.apache.camel.component.grpc.GrpcConfiguration", "configurationField":
"configuration", "description": "The gRPC local or remote server port" },
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc
b/components/camel-grpc/src/main/docs/grpc-component.adoc
index b0b1ab5..ad0177b 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -59,7 +59,9 @@ include::partial$component-endpoint-options.adoc[]
// endpoint options: START
// endpoint options: END
-
+// component headers: START
+include::partial$component-endpoint-headers.adoc[]
+// component headers: END
== Transport security and authentication support
@@ -114,18 +116,6 @@ The table below shows the types of objects in the message
body, depending on the
|=======================================================================
-== gRPC consumer headers (will be installed after the consumer invocation)
-
-[width="100%",cols="25%,50,25%",options="header",]
-|=======================================================================
-|Header name |Description|Possible values
-
-|*CamelGrpcMethodName*|Method name handled by the consumer service|
-|*CamelGrpcEventType*|Received event type from the sent request|onNext,
onCompleted or onError
-|*CamelGrpcUserAgent*|If provided, the given agent will prepend the gRPC
library's user agent information|
-
-|=======================================================================
-
== Examples
Below is a simple synchronous method invoke with host and port parameters
diff --git
a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConstants.java
b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConstants.java
index 106813b..8aae089 100644
---
a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConstants.java
+++
b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConstants.java
@@ -43,8 +43,19 @@ public interface GrpcConstants {
/*
* This headers will be set after gRPC consumer method is invoked
*/
+ @org.apache.camel.spi.Metadata(label = "consumer", description = "Method
name handled by the consumer service",
+ javaType = "String")
String GRPC_METHOD_NAME_HEADER = "CamelGrpcMethodName";
+ @org.apache.camel.spi.Metadata(label = "consumer",
+ description = "If provided, the given agent
will prepend the gRPC library's user agent information",
+ javaType = "String")
String GRPC_USER_AGENT_HEADER = "CamelGrpcUserAgent";
+ @org.apache.camel.spi.Metadata(label = "consumer", description = "Received
event type from the sent request.\n\n" +
+ "Possible
values:\n\n" +
+ "*
onNext\n" +
+ "*
onCompleted\n" +
+ "*
onError",
+ javaType = "String")
String GRPC_EVENT_TYPE_HEADER = "CamelGrpcEventType";
String GRPC_EVENT_TYPE_ON_NEXT = "onNext";
diff --git
a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java
b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java
index c3dd36e..e293f0b 100644
---
a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java
+++
b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcEndpoint.java
@@ -30,7 +30,7 @@ import org.apache.camel.util.ObjectHelper;
* Expose gRPC endpoints and access external gRPC endpoints.
*/
@UriEndpoint(firstVersion = "2.19.0", scheme = "grpc", title = "gRPC", syntax
= "grpc:host:port/service",
- category = { Category.RPC })
+ category = { Category.RPC }, headersClass = GrpcConstants.class)
public class GrpcEndpoint extends DefaultEndpoint {
@UriParam
protected final GrpcConfiguration configuration;