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;
}