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 2d2d8248550b548751f3a11fb586ca84a5880774
Author: Willian Antunes <willian.lima.antu...@gmail.com>
AuthorDate: Tue May 1 16:18:38 2018 -0700

    New/updated models to comply with JSON/API requirements
---
 .../telegram/model/InlineKeyboardButton.java       |  53 ++++++++
 .../component/telegram/model/OutgoingMessage.java  |   1 +
 .../telegram/model/OutgoingTextMessage.java        |  14 ++-
 .../telegram/model/ReplyKeyboardMarkup.java        | 133 +++++++++++++++++++++
 4 files changed, 200 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/InlineKeyboardButton.java
 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/InlineKeyboardButton.java
new file mode 100644
index 0000000..06fdaa0
--- /dev/null
+++ 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/InlineKeyboardButton.java
@@ -0,0 +1,53 @@
+package org.apache.camel.component.telegram.model;
+
+public class InlineKeyboardButton {
+
+    private String text;
+
+    public InlineKeyboardButton() {
+        
+    }
+    
+    public InlineKeyboardButton(String text) {
+
+        this.text = text;
+    }
+
+    public String getText() {
+        
+        return text;
+    }
+
+    public void setText(String text) {
+        
+        this.text = text;
+    }
+    
+    @Override
+    public String toString() {
+        final StringBuilder sb = new StringBuilder("InlineKeyboardButton{");
+        sb.append("text='").append(text);
+        sb.append('}');
+        return sb.toString();
+    }        
+
+    public static Builder builder() {
+
+        return new Builder();
+    }
+
+    public static class Builder {
+
+        private String text;
+
+        public Builder text(String text) {
+
+            this.text = text;
+            return this;
+        }
+
+        public InlineKeyboardButton build() {
+            return new InlineKeyboardButton(text);
+        }
+    }
+}
diff --git 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingMessage.java
 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingMessage.java
index 060e40c..8f525e3 100644
--- 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingMessage.java
+++ 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingMessage.java
@@ -27,6 +27,7 @@ public abstract class OutgoingMessage implements Serializable 
{
 
     private static final long serialVersionUID = -5958829164103569292L;
 
+    @JsonProperty("chat_id")
     protected String chatId;
 
     @JsonProperty("disable_notification")
diff --git 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingTextMessage.java
 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingTextMessage.java
index cbaf1ac..2040d91 100644
--- 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingTextMessage.java
+++ 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/OutgoingTextMessage.java
@@ -32,6 +32,9 @@ public class OutgoingTextMessage extends OutgoingMessage {
 
     @JsonProperty("disable_web_page_preview")
     private Boolean disableWebPagePreview;
+    
+    @JsonProperty("reply_markup")
+    private ReplyKeyboardMarkup replyKeyboardMarkup;
 
     public OutgoingTextMessage() {
     }
@@ -60,12 +63,21 @@ public class OutgoingTextMessage extends OutgoingMessage {
         this.disableWebPagePreview = disableWebPagePreview;
     }
 
+    public ReplyKeyboardMarkup getReplyKeyboardMarkup() {
+        return replyKeyboardMarkup;
+    }
+
+    public void setReplyKeyboardMarkup(ReplyKeyboardMarkup 
replyKeyboardMarkup) {
+        this.replyKeyboardMarkup = replyKeyboardMarkup;
+    }
+
     @Override
     public String toString() {
         final StringBuilder sb = new StringBuilder("OutgoingTextMessage{");
         sb.append("text='").append(text).append('\'');
         sb.append(", parseMode='").append(parseMode).append('\'');
-        sb.append(", disableWebPagePreview=").append(disableWebPagePreview);
+        sb.append(", 
disableWebPagePreview=").append(disableWebPagePreview).append('\'');
+        sb.append(", replyKeyboardMarkup=").append(replyKeyboardMarkup);
         sb.append('}');
         sb.append(' ');
         sb.append(super.toString());
diff --git 
a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/ReplyKeyboardMarkup.java
 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/ReplyKeyboardMarkup.java
new file mode 100644
index 0000000..d2894cc
--- /dev/null
+++ 
b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/model/ReplyKeyboardMarkup.java
@@ -0,0 +1,133 @@
+package org.apache.camel.component.telegram.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ReplyKeyboardMarkup implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @JsonProperty("one_time_keyboard")
+    private Boolean oneTimeKeyboard;
+    
+    @JsonProperty("remove_keyboard")
+    private Boolean removeKeyboard;
+    
+    private List<List<InlineKeyboardButton>> keyboard;
+    
+    public ReplyKeyboardMarkup() {
+        
+    }
+    
+    public ReplyKeyboardMarkup(Boolean oneTimeKeyboard, Boolean 
removeKeyboard, List<List<InlineKeyboardButton>> keyboard) {
+        this.oneTimeKeyboard = oneTimeKeyboard;
+        this.removeKeyboard = removeKeyboard;
+        this.keyboard = keyboard;
+    }
+    
+    public Boolean getOneTimeKeyboard() {
+        return oneTimeKeyboard;
+    }
+
+    public void setOneTimeKeyboard(Boolean oneTimeKeyboard) {
+        this.oneTimeKeyboard = oneTimeKeyboard;
+    }
+
+    public Boolean getRemoveKeyboard() {
+        return removeKeyboard;
+    }
+
+    public void setRemoveKeyboard(Boolean removeKeyboard) {
+        this.removeKeyboard = removeKeyboard;
+    }
+
+    public List<List<InlineKeyboardButton>> getKeyboard() {
+        return keyboard;
+    }
+
+    public void setKeyboard(List<List<InlineKeyboardButton>> keyboard) {
+        this.keyboard = keyboard;
+    }
+
+    @Override
+    public String toString() {
+        final StringBuilder sb = new StringBuilder("ReplyKeyboardMarkup{");
+        sb.append("oneTimeKeyboard='").append(oneTimeKeyboard).append('\'');
+        sb.append(", keyboard='").append(keyboard);
+        sb.append('}');
+        return sb.toString();
+    }    
+
+    public static Builder builder() {
+
+        return new Builder();
+    }
+
+    public static class Builder {
+
+        private Boolean oneTimeKeyboard;        
+        private Boolean removeKeyboard;
+        private List<List<InlineKeyboardButton>> keyboard;
+
+        public Builder oneTimeKeyboard(Boolean oneTimeKeyboard) {
+
+            this.oneTimeKeyboard = oneTimeKeyboard;
+            return this;
+        }
+        
+        public Builder removeKeyboard(Boolean removeKeyboard) {
+            
+            this.removeKeyboard = removeKeyboard;
+            return this;
+        }
+
+        public ReplyKeyboardMarkup build() {
+            
+            return new ReplyKeyboardMarkup(oneTimeKeyboard, removeKeyboard, 
keyboard);
+        }
+
+        public KeyboardBuilder keyboard() {
+            
+            return new KeyboardBuilder(this);
+        }
+        
+        public static class KeyboardBuilder {
+            
+            private Builder builder;
+            private List<List<InlineKeyboardButton>> keyboard;
+            
+            public KeyboardBuilder(Builder builder) {
+                
+                this.builder = builder;
+                this.keyboard = new ArrayList<>();
+            }
+
+            public KeyboardBuilder addRow(List<InlineKeyboardButton> 
InlineKeyboardButtons) {
+
+                keyboard.add(InlineKeyboardButtons);
+                return this;
+            }
+            
+            public KeyboardBuilder 
addOneRowByEachButton(List<InlineKeyboardButton> InlineKeyboardButtons) {
+                
+                for (Iterator<InlineKeyboardButton> iterator = 
InlineKeyboardButtons.iterator(); iterator.hasNext();) {
+                    
+                    keyboard.add(Arrays.asList(iterator.next()));
+                }
+
+                return this;
+            }
+
+            public Builder close() {
+
+                builder.keyboard = keyboard;
+                return builder;
+            }
+        }
+    }
+}
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
acosent...@apache.org.

Reply via email to