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

fjtiradosarti pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new 0359cebfff [Fix #3513] Different jsonnode instance for parent and 
children process (#3514)
0359cebfff is described below

commit 0359cebfff03a8ed9f8b186a578ab0bd72c08ba2
Author: Francisco Javier Tirado Sarti 
<[email protected]>
AuthorDate: Tue May 14 17:37:05 2024 +0200

    [Fix #3513] Different jsonnode instance for parent and children process 
(#3514)
---
 .../kie/kogito/serverless/workflow/models/JsonNodeModel.java   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/kogito-serverless-workflow/kogito-serverless-workflow-runtime/src/main/java/org/kie/kogito/serverless/workflow/models/JsonNodeModel.java
 
b/kogito-serverless-workflow/kogito-serverless-workflow-runtime/src/main/java/org/kie/kogito/serverless/workflow/models/JsonNodeModel.java
index 72b8c8145f..fd7596ec6e 100644
--- 
a/kogito-serverless-workflow/kogito-serverless-workflow-runtime/src/main/java/org/kie/kogito/serverless/workflow/models/JsonNodeModel.java
+++ 
b/kogito-serverless-workflow/kogito-serverless-workflow-runtime/src/main/java/org/kie/kogito/serverless/workflow/models/JsonNodeModel.java
@@ -82,22 +82,22 @@ public class JsonNodeModel implements Model, MapInput, 
MapInputId, MapOutput, Ma
 
     @Override
     public void update(Map<String, Object> params) {
-        update(params, w -> w);
+        update(params, w -> w instanceof JsonNode ? ((JsonNode) w).deepCopy() 
: JsonObjectUtils.fromValue(w));
     }
 
     @Override
     public Map<String, Object> updatePartially(Map<String, Object> params) {
-        update(params, w -> MergeUtils.merge(w, this.workflowdata));
+        update(params, w -> MergeUtils.merge(JsonObjectUtils.fromValue(w), 
this.workflowdata));
         return toMap();
     }
 
-    private void update(Map<String, Object> params, Function<JsonNode, 
JsonNode> merger) {
+    private void update(Map<String, Object> params, Function<Object, JsonNode> 
merger) {
         if (params.containsKey(SWFConstants.DEFAULT_WORKFLOW_VAR)) {
             params = mutableMap(params);
-            this.workflowdata = 
merger.apply(JsonObjectUtils.fromValue(params.remove(SWFConstants.DEFAULT_WORKFLOW_VAR)));
+            this.workflowdata = 
merger.apply(params.remove(SWFConstants.DEFAULT_WORKFLOW_VAR));
             this.additionalProperties = params;
         } else {
-            this.workflowdata = 
merger.apply(JsonObjectUtils.fromValue(params));
+            this.workflowdata = merger.apply(params);
             this.additionalProperties = Collections.emptyMap();
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to