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

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


The following commit(s) were added to refs/heads/main by this push:
     new a5e0a91  Attempt to use JSONNode as base building block in data 
manipulation
a5e0a91 is described below

commit a5e0a917ef0ae725287e3ef3df37b2345fe4ce38
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu May 6 13:05:00 2021 +0200

    Attempt to use JSONNode as base building block in data manipulation
---
 .../apache/camel/kamelets/utils/transform/InsertField.java | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git 
a/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java
 
b/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java
index 4da992f..5403a7a 100644
--- 
a/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java
+++ 
b/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java
@@ -19,21 +19,17 @@ package org.apache.camel.kamelets.utils.transform;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeProperty;
 import org.apache.camel.InvalidPayloadException;
 
 public class InsertField {
 
-    public Map<?, ?> process(@ExchangeProperty("field") String field, 
@ExchangeProperty("value") String value, Exchange ex) throws 
InvalidPayloadException {
-        Map<Object, Object> body = ex.getMessage().getBody(Map.class);
-        if (body == null) {
-            String val = ex.getMessage().getMandatoryBody(String.class);
-            body = new HashMap<>();
-            // TODO: make this configurable
-            body.put("content", val);
-        }
-        body.put(field, value);
+    public JsonNode process(@ExchangeProperty("field") String field, 
@ExchangeProperty("value") String value, Exchange ex) throws 
InvalidPayloadException {
+        JsonNode body = ex.getMessage().getBody(JsonNode.class);
+        ((ObjectNode) body).put(field, value);
         return body;
     }
 

Reply via email to