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 5728052e8a [Fix #3390] Do not create container instance, search it 
(#3432)
5728052e8a is described below

commit 5728052e8ae353d89ecbfcbf3c773a4f3c387779
Author: Francisco Javier Tirado Sarti 
<[email protected]>
AuthorDate: Mon Mar 11 14:20:56 2024 +0100

    [Fix #3390] Do not create container instance, search it (#3432)
---
 .../java/org/jbpm/workflow/instance/NodeInstanceContainer.java    | 8 +++++++-
 .../test/java/org/kie/kogito/quarkus/workflows/RetriggerIT.java   | 6 ++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/NodeInstanceContainer.java
 
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/NodeInstanceContainer.java
index ac57332270..471b6a6ff7 100755
--- 
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/NodeInstanceContainer.java
+++ 
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/NodeInstanceContainer.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import org.jbpm.workflow.core.node.AsyncEventNode;
 import org.kie.api.definition.process.Node;
 import org.kie.api.definition.process.NodeContainer;
+import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
 import org.kie.kogito.internal.process.runtime.KogitoNodeInstanceContainer;
 
 import static org.jbpm.ruleflow.core.Metadata.CUSTOM_ASYNC;
@@ -64,7 +65,12 @@ public interface NodeInstanceContainer extends 
KogitoNodeInstanceContainer {
 
             if (nodeDefinitionId.equals(node.getMetaData().get(UNIQUE_ID))) {
                 if (nodeContainer instanceof Node) {
-                    return ((NodeInstanceContainer) getNodeInstance((Node) 
nodeContainer)).getNodeInstance(node);
+                    Collection<KogitoNodeInstance> nodeInstances = 
getKogitoNodeInstances(ni -> ni.getNode().getId() == (((Node) 
nodeContainer).getId()), true);
+                    if (nodeInstances.isEmpty()) {
+                        return ((NodeInstanceContainer) getNodeInstance((Node) 
nodeContainer)).getNodeInstance(node);
+                    } else {
+                        return ((NodeInstanceContainer) 
nodeInstances.iterator().next()).getNodeInstance(node);
+                    }
                 } else {
                     return getNodeInstance(node);
                 }
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/test/java/org/kie/kogito/quarkus/workflows/RetriggerIT.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/test/java/org/kie/kogito/quarkus/workflows/RetriggerIT.java
index db4fad71f2..749c40c49d 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/test/java/org/kie/kogito/quarkus/workflows/RetriggerIT.java
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-integration-test/src/test/java/org/kie/kogito/quarkus/workflows/RetriggerIT.java
@@ -53,6 +53,12 @@ class RetriggerIT {
                 .accept(ContentType.JSON).when()
                 
.post("/management/processes/division/instances/{id}/retrigger", id)
                 .then().statusCode(200).body("workflowdata.response", is(2));
+
+        given()
+                .contentType(ContentType.JSON)
+                .accept(ContentType.JSON).when()
+                .get("/division/{id}", id)
+                .then().statusCode(404);
     }
 
 }


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

Reply via email to