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

pefernan 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 2e09b35a7d [incubator-kie-issues#2355] Workflow Engine: Data audit 
storing null work_item_id on enter node events (#4326)
2e09b35a7d is described below

commit 2e09b35a7dc5c843248934a14a2243b7bfaefd8b
Author: abhijithumbe <[email protected]>
AuthorDate: Fri Jul 17 14:22:58 2026 +0530

    [incubator-kie-issues#2355] Workflow Engine: Data audit storing null 
work_item_id on enter node events (#4326)
    
    Co-authored-by: abhijithumbe <[email protected]>
---
 .../uow/events/UnitOfWorkProcessEventListener.java |  4 +-
 .../kie/kogito/codegen/tests/PublishEventIT.java   | 50 ++++++++++++++++++++++
 2 files changed, 52 insertions(+), 2 deletions(-)

diff --git 
a/api/kogito-api/src/main/java/org/kie/kogito/uow/events/UnitOfWorkProcessEventListener.java
 
b/api/kogito-api/src/main/java/org/kie/kogito/uow/events/UnitOfWorkProcessEventListener.java
index 7d33accfe7..cee3039b41 100644
--- 
a/api/kogito-api/src/main/java/org/kie/kogito/uow/events/UnitOfWorkProcessEventListener.java
+++ 
b/api/kogito-api/src/main/java/org/kie/kogito/uow/events/UnitOfWorkProcessEventListener.java
@@ -68,12 +68,12 @@ public class UnitOfWorkProcessEventListener extends 
DefaultKogitoProcessEventLis
 
     @Override
     public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
-        intercept(event);
+
     }
 
     @Override
     public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
-
+        intercept(event);
     }
 
     @Override
diff --git 
a/kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/java/org/kie/kogito/codegen/tests/PublishEventIT.java
 
b/kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/java/org/kie/kogito/codegen/tests/PublishEventIT.java
index 6f75bfb638..414676ef7d 100644
--- 
a/kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/java/org/kie/kogito/codegen/tests/PublishEventIT.java
+++ 
b/kogito-codegen-modules/kogito-codegen-processes-integration-tests/src/test/java/org/kie/kogito/codegen/tests/PublishEventIT.java
@@ -529,6 +529,56 @@ public class PublishEventIT extends AbstractCodegenIT {
                 .isNotNull().containsEntry("s", "Goodbye Hello john!!");
     }
 
+    @Test
+    public void testUserTaskNodeEnterEventContainsWorkItemId() throws 
Exception {
+        Application app = 
generateCodeProcessesOnly("usertask/UserTasksProcess.bpmn2");
+        assertThat(app).isNotNull();
+
+        Process<? extends Model> p = 
app.get(Processes.class).processById("UserTasksProcess");
+
+        Model model = p.createModel();
+        model.fromMap(Collections.emptyMap());
+
+        TestEventPublisher publisher = new TestEventPublisher();
+        app.unitOfWorkManager().eventManager().setService("http://myhost";);
+        app.unitOfWorkManager().eventManager().addPublisher(publisher);
+
+        UnitOfWork uow = app.unitOfWorkManager().newUnitOfWork();
+        uow.start();
+
+        ProcessInstance<?> processInstance = p.createInstance(model);
+        processInstance.start();
+
+        uow.end();
+
+        assertThat(processInstance.status())
+                .isEqualTo(ProcessInstance.STATE_ACTIVE);
+
+        List<WorkItem> workItems = processInstance.workItems(securityPolicy);
+
+        assertThat(workItems).hasSize(1);
+        assertThat(workItems.get(0).getName()).isEqualTo("FirstTask");
+        assertThat(workItems.get(0).getId()).isNotNull();
+
+        List<DataEvent<?>> events = publisher.extract();
+
+        List<ProcessInstanceNodeEventBody> nodeEnterEvents = 
findNodeInstanceEvents(
+                events,
+                ProcessInstanceNodeEventBody.EVENT_TYPE_ENTER);
+
+        ProcessInstanceNodeEventBody humanTaskNodeEvent = 
nodeEnterEvents.stream()
+                .filter(event -> "HumanTaskNode".equals(event.getNodeType()))
+                .filter(event -> "First Task".equals(event.getNodeName()))
+                .findFirst()
+                .orElseThrow(() -> new AssertionError(
+                        "HumanTaskNode ENTER event was not published"));
+
+        assertThat(humanTaskNodeEvent.getWorkItemId())
+                .as("HumanTaskNode ENTER event must contain the created work 
item ID")
+                .isNotNull()
+                .isEqualTo(workItems.get(0).getId());
+    }
+
     /*
      * Helper methods
      */


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

Reply via email to