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

davsclaus pushed a commit to branch camel-4.8.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.8.x by this push:
     new 21df1453ca0 CAMEL-21363: Adding @JsonIgnoreProperties(ignoreUnknown = 
true) to prevent the component from crashing if WhatsApp introduces a new field 
in the message. Adding the "message_status" field to Message. (#16009)
21df1453ca0 is described below

commit 21df1453ca045069162763b81ac1b203b6a21a95
Author: Roberto <[email protected]>
AuthorDate: Sat Oct 19 02:39:32 2024 -0400

    CAMEL-21363: Adding @JsonIgnoreProperties(ignoreUnknown = true) to prevent 
the component from crashing if WhatsApp introduces a new field in the message. 
Adding the "message_status" field to Message. (#16009)
    
    Co-authored-by: Claus Ibsen <[email protected]>
---
 .../apache/camel/component/whatsapp/model/Contact.java    |  2 ++
 .../apache/camel/component/whatsapp/model/Message.java    | 15 +++++++++++++++
 .../camel/component/whatsapp/model/MessageResponse.java   |  2 ++
 .../component/whatsapp/integration/WhatsAppServiceIT.java |  9 ++++++++-
 4 files changed, 27 insertions(+), 1 deletion(-)

diff --git 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Contact.java
 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Contact.java
index b8b11ac1d50..a735fba114d 100644
--- 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Contact.java
+++ 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Contact.java
@@ -16,8 +16,10 @@
  */
 package org.apache.camel.component.whatsapp.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class Contact {
 
     private String input;
diff --git 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Message.java
 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Message.java
index 395e13ef9bd..91d2bb000be 100644
--- 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Message.java
+++ 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/Message.java
@@ -16,10 +16,17 @@
  */
 package org.apache.camel.component.whatsapp.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class Message {
 
     private String id;
 
+    @JsonProperty("message_status")
+    private String messageStatus;
+
     public Message() {
     }
 
@@ -30,4 +37,12 @@ public class Message {
     public void setId(String id) {
         this.id = id;
     }
+
+    public String getMessageStatus() {
+        return messageStatus;
+    }
+
+    public void setMessageStatus(String messageStatus) {
+        this.messageStatus = messageStatus;
+    }
 }
diff --git 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/MessageResponse.java
 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/MessageResponse.java
index 74309a737c6..30fa956e6fc 100644
--- 
a/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/MessageResponse.java
+++ 
b/components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/model/MessageResponse.java
@@ -18,8 +18,10 @@ package org.apache.camel.component.whatsapp.model;
 
 import java.util.List;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class MessageResponse {
 
     @JsonProperty("messaging_product")
diff --git 
a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/integration/WhatsAppServiceIT.java
 
b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/integration/WhatsAppServiceIT.java
index 714b9a71336..2cc7c4683b2 100644
--- 
a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/integration/WhatsAppServiceIT.java
+++ 
b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/integration/WhatsAppServiceIT.java
@@ -142,6 +142,13 @@ public class WhatsAppServiceIT extends WhatsAppTestSupport 
{
         
Assertions.assertThat(response.getMessages().get(0).getId()).isNotNull();
     }
 
+    private void assertTemplateResponse(MessageResponse response) {
+        Assertions.assertThat(response).isNotNull();
+        Assertions.assertThat(response.getMessages()).isNotNull();
+        
Assertions.assertThat(response.getMessages().get(0).getId()).isNotNull();
+        
Assertions.assertThat(response.getMessages().get(0).getMessageStatus()).isNotNull();
+    }
+
     @Test
     public void testMediaStickerMessage() {
         MediaMessage mediaMessage = new MediaMessage();
@@ -216,7 +223,7 @@ public class WhatsAppServiceIT extends WhatsAppTestSupport {
 
         MessageResponse response = (MessageResponse) 
template.requestBody("whatsapp://" + phoneNumberId, request);
 
-        assertResponse(response);
+        assertTemplateResponse(response);
     }
 
     @Test

Reply via email to