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]