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