You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/10/13 16:59:58 UTC

[camel] branch master updated (9ec80f9 -> e73abd9)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 9ec80f9  Regen
     new b39cd6b  CAMEL-15677 - Camel-Slack: deprecate username, iconUrl and iconEmoji
     new 172c1af  CAMEL-15677 - Regen docs and catalog
     new 5475aef  CAMEL-15677 - Regen catalog
     new e73abd9  CAMEL-15677 - Added deprecation notes in the migration guide from 3.5 to 3.6

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../resources/org/apache/camel/catalog/components/slack.json        | 6 +++---
 .../resources/org/apache/camel/catalog/docs/slack-component.adoc    | 6 +++---
 .../generated/resources/org/apache/camel/component/slack/slack.json | 6 +++---
 components/camel-slack/src/main/docs/slack-component.adoc           | 6 +++---
 .../main/java/org/apache/camel/component/slack/SlackEndpoint.java   | 3 +++
 .../camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java     | 3 +++
 docs/components/modules/ROOT/pages/slack-component.adoc             | 6 +++---
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc | 4 ++++
 8 files changed, 25 insertions(+), 15 deletions(-)


[camel] 04/04: CAMEL-15677 - Added deprecation notes in the migration guide from 3.5 to 3.6

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e73abd9e4b2c4e05d4f16ce7ed753191552f880d
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Oct 13 18:59:08 2020 +0200

    CAMEL-15677 - Added deprecation notes in the migration guide from 3.5 to 3.6
---
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc
index 893bd66..9f9d0d5 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_6.adoc
@@ -228,3 +228,7 @@ Set to -1 to disable setting a maximum decompressed size.
 === Camel RabbitMQ
 
 The `camel-rabbitmq` server component properties have been changed. Properties prefix `rabbitmq.` are replaced by `CamelRabbitmq`.
+
+=== Camel-Slack
+
+The options username, iconUrl and iconEmoji have been deprecated and they will be removed in 3.7.0


[camel] 02/04: CAMEL-15677 - Regen docs and catalog

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 172c1af741b8ede3c71ea0472c88aa51ae60657d
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Oct 13 18:56:28 2020 +0200

    CAMEL-15677 - Regen docs and catalog
---
 .../resources/org/apache/camel/catalog/docs/slack-component.adoc    | 6 +++---
 .../generated/resources/org/apache/camel/component/slack/slack.json | 6 +++---
 components/camel-slack/src/main/docs/slack-component.adoc           | 6 +++---
 .../camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java     | 3 +++
 docs/components/modules/ROOT/pages/slack-component.adoc             | 6 +++---
 5 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/slack-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/slack-component.adoc
index fb617b3..abf4ba6 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/slack-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/slack-component.adoc
@@ -102,10 +102,10 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
-| *iconEmoji* (producer) | Use a Slack emoji as an avatar |  | String
-| *iconUrl* (producer) | The avatar that the component will use when sending message to a channel or user. |  | String
+| *iconEmoji* (producer) | *Deprecated* Use a Slack emoji as an avatar |  | String
+| *iconUrl* (producer) | *Deprecated* The avatar that the component will use when sending message to a channel or user. |  | String
 | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *username* (producer) | This is the username that the bot will have when sending messages to a channel or user. |  | String
+| *username* (producer) | *Deprecated* This is the username that the bot will have when sending messages to a channel or user. |  | String
 | *webhookUrl* (producer) | The incoming webhook URL |  | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
diff --git a/components/camel-slack/src/generated/resources/org/apache/camel/component/slack/slack.json b/components/camel-slack/src/generated/resources/org/apache/camel/component/slack/slack.json
index 1e2bd2d..f77bca5 100644
--- a/components/camel-slack/src/generated/resources/org/apache/camel/component/slack/slack.json
+++ b/components/camel-slack/src/generated/resources/org/apache/camel/component/slack/slack.json
@@ -37,10 +37,10 @@
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange h [...]
-    "iconEmoji": { "kind": "parameter", "displayName": "Icon Emoji", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Use a Slack emoji as an avatar" },
-    "iconUrl": { "kind": "parameter", "displayName": "Icon Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The avatar that the component will use when sending message to a channel or user." },
+    "iconEmoji": { "kind": "parameter", "displayName": "Icon Emoji", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": false, "description": "Use a Slack emoji as an avatar" },
+    "iconUrl": { "kind": "parameter", "displayName": "Icon Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": false, "description": "The avatar that the component will use when sending message to a channel or user." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "username": { "kind": "parameter", "displayName": "Username", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "This is the username that the bot will have when sending messages to a channel or user." },
+    "username": { "kind": "parameter", "displayName": "Username", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": true, "description": "This is the username that the bot will have when sending messages to a channel or user." },
     "webhookUrl": { "kind": "parameter", "displayName": "Webhook Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The incoming webhook URL" },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },
diff --git a/components/camel-slack/src/main/docs/slack-component.adoc b/components/camel-slack/src/main/docs/slack-component.adoc
index fb617b3..abf4ba6 100644
--- a/components/camel-slack/src/main/docs/slack-component.adoc
+++ b/components/camel-slack/src/main/docs/slack-component.adoc
@@ -102,10 +102,10 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
-| *iconEmoji* (producer) | Use a Slack emoji as an avatar |  | String
-| *iconUrl* (producer) | The avatar that the component will use when sending message to a channel or user. |  | String
+| *iconEmoji* (producer) | *Deprecated* Use a Slack emoji as an avatar |  | String
+| *iconUrl* (producer) | *Deprecated* The avatar that the component will use when sending message to a channel or user. |  | String
 | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *username* (producer) | This is the username that the bot will have when sending messages to a channel or user. |  | String
+| *username* (producer) | *Deprecated* This is the username that the bot will have when sending messages to a channel or user. |  | String
 | *webhookUrl* (producer) | The incoming webhook URL |  | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java
index be90854..e89115c 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SlackEndpointBuilderFactory.java
@@ -705,6 +705,7 @@ public interface SlackEndpointBuilderFactory {
          * 
          * Group: producer
          */
+        @Deprecated
         default SlackEndpointProducerBuilder iconEmoji(String iconEmoji) {
             doSetProperty("iconEmoji", iconEmoji);
             return this;
@@ -717,6 +718,7 @@ public interface SlackEndpointBuilderFactory {
          * 
          * Group: producer
          */
+        @Deprecated
         default SlackEndpointProducerBuilder iconUrl(String iconUrl) {
             doSetProperty("iconUrl", iconUrl);
             return this;
@@ -771,6 +773,7 @@ public interface SlackEndpointBuilderFactory {
          * 
          * Group: producer
          */
+        @Deprecated
         default SlackEndpointProducerBuilder username(String username) {
             doSetProperty("username", username);
             return this;
diff --git a/docs/components/modules/ROOT/pages/slack-component.adoc b/docs/components/modules/ROOT/pages/slack-component.adoc
index 6b1a617..f6b1fd8 100644
--- a/docs/components/modules/ROOT/pages/slack-component.adoc
+++ b/docs/components/modules/ROOT/pages/slack-component.adoc
@@ -104,10 +104,10 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
-| *iconEmoji* (producer) | Use a Slack emoji as an avatar |  | String
-| *iconUrl* (producer) | The avatar that the component will use when sending message to a channel or user. |  | String
+| *iconEmoji* (producer) | *Deprecated* Use a Slack emoji as an avatar |  | String
+| *iconUrl* (producer) | *Deprecated* The avatar that the component will use when sending message to a channel or user. |  | String
 | *lazyStartProducer* (producer) | 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 starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *username* (producer) | This is the username that the bot will have when sending messages to a channel or user. |  | String
+| *username* (producer) | *Deprecated* This is the username that the bot will have when sending messages to a channel or user. |  | String
 | *webhookUrl* (producer) | The incoming webhook URL |  | String
 | *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean


[camel] 03/04: CAMEL-15677 - Regen catalog

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5475aefe4bdf82b7b11ec20f7603d9bf8dd2feed
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Oct 13 18:57:36 2020 +0200

    CAMEL-15677 - Regen catalog
---
 .../resources/org/apache/camel/catalog/components/slack.json        | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/slack.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/slack.json
index 1e2bd2d..f77bca5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/slack.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/slack.json
@@ -37,10 +37,10 @@
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange h [...]
-    "iconEmoji": { "kind": "parameter", "displayName": "Icon Emoji", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Use a Slack emoji as an avatar" },
-    "iconUrl": { "kind": "parameter", "displayName": "Icon Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The avatar that the component will use when sending message to a channel or user." },
+    "iconEmoji": { "kind": "parameter", "displayName": "Icon Emoji", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": false, "description": "Use a Slack emoji as an avatar" },
+    "iconUrl": { "kind": "parameter", "displayName": "Icon Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": false, "description": "The avatar that the component will use when sending message to a channel or user." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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 starting and cause the  [...]
-    "username": { "kind": "parameter", "displayName": "Username", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "description": "This is the username that the bot will have when sending messages to a channel or user." },
+    "username": { "kind": "parameter", "displayName": "Username", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": true, "secret": true, "description": "This is the username that the bot will have when sending messages to a channel or user." },
     "webhookUrl": { "kind": "parameter", "displayName": "Webhook Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The incoming webhook URL" },
     "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
     "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported)." },


[camel] 01/04: CAMEL-15677 - Camel-Slack: deprecate username, iconUrl and iconEmoji

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b39cd6ba98c4ccb63fd2327e9ad68745e73ddb64
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Oct 13 18:56:00 2020 +0200

    CAMEL-15677 - Camel-Slack: deprecate username, iconUrl and iconEmoji
---
 .../src/main/java/org/apache/camel/component/slack/SlackEndpoint.java  | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
index 7864515..325649c 100644
--- a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
@@ -46,10 +46,13 @@ public class SlackEndpoint extends ScheduledPollEndpoint {
     @UriParam(label = "producer")
     private String webhookUrl;
     @UriParam(label = "producer", secret = true)
+    @Deprecated
     private String username;
     @UriParam(label = "producer")
+    @Deprecated
     private String iconUrl;
     @UriParam(label = "producer")
+    @Deprecated
     private String iconEmoji;
     @UriParam(label = "consumer", secret = true)
     private String token;