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 2019/11/12 11:34:29 UTC

[camel] branch master updated: CAMEL-14147 - Slack Component: Define the Json fields returned by slack in a specific class

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


The following commit(s) were added to refs/heads/master by this push:
     new e200b5c  CAMEL-14147 - Slack Component: Define the Json fields returned by slack in a specific class
e200b5c is described below

commit e200b5ccf17fca70b9891473d8edb012e1df05f5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 12 12:33:30 2019 +0100

    CAMEL-14147 - Slack Component: Define the Json fields returned by slack in a specific class
---
 .../slack/SlackComponentVerifierExtension.java     |  2 +-
 .../camel/component/slack/SlackConstants.java      | 44 ++++++++++++++++++++++
 .../camel/component/slack/SlackConsumer.java       |  2 +-
 .../camel/component/slack/SlackEndpoint.java       |  2 +-
 .../camel/component/slack/SlackProducer.java       | 38 +++++++++----------
 5 files changed, 66 insertions(+), 22 deletions(-)

diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
index 869f7ae..0e394c6 100644
--- a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackComponentVerifierExtension.java
@@ -139,7 +139,7 @@ public class SlackComponentVerifierExtension extends DefaultComponentVerifierExt
         Map<String, Object> jsonMap = new HashMap<>();
 
         // Put the values in a map
-        jsonMap.put("text", message.getText());
+        jsonMap.put(SlackConstants.SLACK_TEXT_FIELD, message.getText());
 
         // Generate a JSONObject
         return new JsonObject(jsonMap).toJson();
diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConstants.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConstants.java
new file mode 100644
index 0000000..e3b61de
--- /dev/null
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConstants.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.slack;
+
+public final class SlackConstants {
+    
+    public static final String SLACK_USERNAME_FIELD = "username";
+    public static final String SLACK_TEXT_FIELD = "text";
+    public static final String SLACK_CHANNEL_FIELD = "channel";
+    public static final String SLACK_ICON_URL_FIELD = "icon_url";
+    public static final String SLACK_ICON_EMOJI_FIELD = "icon_emoji";
+    public static final String SLACK_ATTACHMENTS_FIELD = "attachments";
+    
+    public static final String SLACK_ATTACHMENT_FALLBACK_FIELD = "fallback";
+    public static final String SLACK_ATTACHMENT_COLOR_FIELD = "color";
+    public static final String SLACK_ATTACHMENT_TEXT_FIELD = "text";
+    public static final String SLACK_ATTACHMENT_PRETEXT_FIELD = "pretext";
+    public static final String SLACK_ATTACHMENT_AUTHOR_NAME_FIELD = "author_name";
+    public static final String SLACK_ATTACHMENT_AUTHOR_LINK_FIELD = "author_link";
+    public static final String SLACK_ATTACHMENT_AUTHOR_ICON_FIELD = "author_icon";
+    public static final String SLACK_ATTACHMENT_TITLE_FIELD = "title";
+    public static final String SLACK_ATTACHMENT_TITLE_LINK_FIELD = "title_link";
+    public static final String SLACK_ATTACHMENT_IMAGE_URL_FIELD = "image_url";
+    public static final String SLACK_ATTACHMENT_FOOTER_FIELD = "footer";
+    public static final String SLACK_ATTACHMENT_FOOTER_ICON_FIELD = "footer_icon";
+    public static final String SLACK_ATTACHMENT_TS_FIELD = "ts";
+
+    private SlackConstants() {
+    }
+}
diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
index 54725e9..f04994e 100644
--- a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackConsumer.java
@@ -61,7 +61,7 @@ public class SlackConsumer extends ScheduledBatchPollingConsumer {
         HttpClient client = HttpClientBuilder.create().useSystemProperties().build();
         HttpPost httpPost = new HttpPost(slackEndpoint.getServerUrl() + "/api/channels.history");
         List<BasicNameValuePair> params = new ArrayList<>();
-        params.add(new BasicNameValuePair("channel", channelId));
+        params.add(new BasicNameValuePair(SlackConstants.SLACK_CHANNEL_FIELD, channelId));
         if (ObjectHelper.isNotEmpty(timestamp)) {
             params.add(new BasicNameValuePair("oldest", timestamp));
         }
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 6c4e268..77922f0 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
@@ -183,7 +183,7 @@ public class SlackEndpoint extends ScheduledPollEndpoint {
     public Exchange createExchange(ExchangePattern pattern, JsonObject object) {
         Exchange exchange = super.createExchange(pattern);
         SlackMessage slackMessage = new SlackMessage();
-        String text = object.getString("text");
+        String text = object.getString(SlackConstants.SLACK_TEXT_FIELD);
         String user = object.getString("user");
         slackMessage.setText(text);
         slackMessage.setUser(user);
diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackProducer.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackProducer.java
index 38ec109..3cf1ecb 100644
--- a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackProducer.java
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackProducer.java
@@ -90,11 +90,11 @@ public class SlackProducer extends DefaultProducer {
         Map<String, Object> jsonMap = new HashMap<>();
 
         // Put the values in a map
-        jsonMap.put("text", message.getText());
-        jsonMap.put("channel", message.getChannel());
-        jsonMap.put("username", message.getUsername());
-        jsonMap.put("icon_url", message.getIconUrl());
-        jsonMap.put("icon_emoji", message.getIconEmoji());
+        jsonMap.put(SlackConstants.SLACK_TEXT_FIELD, message.getText());
+        jsonMap.put(SlackConstants.SLACK_CHANNEL_FIELD, message.getChannel());
+        jsonMap.put(SlackConstants.SLACK_USERNAME_FIELD, message.getUsername());
+        jsonMap.put(SlackConstants.SLACK_ICON_URL_FIELD, message.getIconUrl());
+        jsonMap.put(SlackConstants.SLACK_ICON_EMOJI_FIELD, message.getIconEmoji());
 
         List<SlackMessage.Attachment> attachments = message.getAttachments();
         if (attachments != null && !attachments.isEmpty()) {
@@ -109,19 +109,19 @@ public class SlackProducer extends DefaultProducer {
         List<Map<String, Object>> attachmentsJson = new ArrayList<>(attachments.size());
         attachments.forEach(attachment -> {
             Map<String, Object> attachmentJson = new HashMap<>();
-            attachmentJson.put("fallback", attachment.getFallback());
-            attachmentJson.put("color", attachment.getColor());
-            attachmentJson.put("pretext", attachment.getPretext());
-            attachmentJson.put("author_name", attachment.getAuthorName());
-            attachmentJson.put("author_link", attachment.getAuthorLink());
-            attachmentJson.put("author_icon", attachment.getAuthorIcon());
-            attachmentJson.put("title", attachment.getTitle());
-            attachmentJson.put("title_link", attachment.getTitleLink());
-            attachmentJson.put("text", attachment.getText());
-            attachmentJson.put("image_url", attachment.getImageUrl());
-            attachmentJson.put("footer", attachment.getFooter());
-            attachmentJson.put("footer_icon", attachment.getFooterIcon());
-            attachmentJson.put("ts", attachment.getTs());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_FALLBACK_FIELD, attachment.getFallback());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_COLOR_FIELD, attachment.getColor());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_PRETEXT_FIELD, attachment.getPretext());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_AUTHOR_NAME_FIELD, attachment.getAuthorName());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_AUTHOR_LINK_FIELD, attachment.getAuthorLink());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_AUTHOR_ICON_FIELD, attachment.getAuthorIcon());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_TITLE_FIELD, attachment.getTitle());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_TITLE_LINK_FIELD, attachment.getTitleLink());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_TEXT_FIELD, attachment.getText());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_IMAGE_URL_FIELD, attachment.getImageUrl());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_FOOTER_FIELD, attachment.getFooter());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_FOOTER_ICON_FIELD, attachment.getFooterIcon());
+            attachmentJson.put(SlackConstants.SLACK_ATTACHMENT_TS_FIELD, attachment.getTs());
 
             List<SlackMessage.Attachment.Field> fields = attachment.getFields();
             if (fields != null && !fields.isEmpty()) {
@@ -129,7 +129,7 @@ public class SlackProducer extends DefaultProducer {
             }
             attachmentsJson.add(attachmentJson);
         });
-        jsonMap.put("attachments", attachmentsJson);
+        jsonMap.put(SlackConstants.SLACK_ATTACHMENTS_FIELD, attachmentsJson);
     }
 
     private void buildAttachmentFieldJson(Map<String, Object> attachmentJson, List<SlackMessage.Attachment.Field> fields) {