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

egonzalez 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 3caf610bf2 [incubator-kie-issues-1508] GraphQL external reference id 
retrieve in data index and audit. (runtimes part) (#3703)
3caf610bf2 is described below

commit 3caf610bf210c57d4c793dde085eed3c9053f30b
Author: Enrique <[email protected]>
AuthorDate: Fri Oct 11 10:16:22 2024 +0200

    [incubator-kie-issues-1508] GraphQL external reference id retrieve in data 
index and audit. (runtimes part) (#3703)
---
 .../usertask/UserTaskInstanceStateEventBody.java   | 11 +++++++++
 .../impl/adapter/AbstractDataEventAdapter.java     | 14 +++++------
 .../ProcessNodeEnteredEventDataEventAdapter.java   | 27 +++-------------------
 .../ProcessNodeLeftEventDataEventAdapter.java      | 27 +++++++++++++++++++---
 .../UserTaskStateEventDataEventAdapter.java        |  1 +
 5 files changed, 46 insertions(+), 34 deletions(-)

diff --git 
a/api/kogito-events-api/src/main/java/org/kie/kogito/event/usertask/UserTaskInstanceStateEventBody.java
 
b/api/kogito-events-api/src/main/java/org/kie/kogito/event/usertask/UserTaskInstanceStateEventBody.java
index a8423c4535..ac4cfa7b9b 100644
--- 
a/api/kogito-events-api/src/main/java/org/kie/kogito/event/usertask/UserTaskInstanceStateEventBody.java
+++ 
b/api/kogito-events-api/src/main/java/org/kie/kogito/event/usertask/UserTaskInstanceStateEventBody.java
@@ -47,6 +47,8 @@ public class UserTaskInstanceStateEventBody {
 
     private String eventType;
 
+    private String externalReferenceId;
+
     public Date getEventDate() {
         return eventDate;
     }
@@ -95,6 +97,10 @@ public class UserTaskInstanceStateEventBody {
         return eventType;
     }
 
+    public String getExternalReferenceId() {
+        return externalReferenceId;
+    }
+
     public Map<String, Object> metaData() {
         Map<String, Object> metadata = new HashMap<>();
         
metadata.put(UserTaskInstanceEventMetadata.USER_TASK_INSTANCE_ID_META_DATA, 
userTaskInstanceId);
@@ -194,6 +200,11 @@ public class UserTaskInstanceStateEventBody {
             return this;
         }
 
+        public Builder externalReferenceId(String externalReferenceId) {
+            this.instance.externalReferenceId = externalReferenceId;
+            return this;
+        }
+
         public Builder eventType(String eventType) {
             this.instance.eventType = eventType;
             return this;
diff --git 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/AbstractDataEventAdapter.java
 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/AbstractDataEventAdapter.java
index 72f1bd1670..77f1c856ba 100644
--- 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/AbstractDataEventAdapter.java
+++ 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/AbstractDataEventAdapter.java
@@ -108,19 +108,19 @@ public abstract class AbstractDataEventAdapter implements 
DataEventAdapter {
                 
.nodeDefinitionId(event.getNodeInstance().getNode().getUniqueId())
                 .slaDueDate(nodeInstance.getSlaDueDate());
 
+        if (event.getNodeInstance() instanceof KogitoWorkItemNodeInstance 
workItemNodeInstance && workItemNodeInstance.getWorkItem() != null) {
+            KogitoWorkItem workItem = workItemNodeInstance.getWorkItem();
+            builder.workItemId(workItem.getStringId());
+            builder.data("WorkItemId", workItem.getStringId());
+            builder.data("WorkItemExternalReferenceId", 
workItem.getExternalReferenceId());
+        }
+
         if (eventType == ProcessInstanceNodeEventBody.EVENT_TYPE_ENTER) {
             builder.connectionNodeDefinitionId((String) 
nodeInstance.getMetaData().get("IncomingConnection"));
         } else {
             builder.connectionNodeDefinitionId((String) 
nodeInstance.getMetaData().get("OutgoingConnection"));
         }
 
-        if (nodeInstance instanceof KogitoWorkItemNodeInstance) {
-            KogitoWorkItem workItem = ((KogitoWorkItemNodeInstance) 
nodeInstance).getWorkItem();
-            if (workItem != null) {
-                builder.workItemId(workItem.getStringId());
-            }
-        }
-
         ProcessInstanceNodeEventBody body = builder.build();
         ProcessInstanceNodeDataEvent piEvent = new 
ProcessInstanceNodeDataEvent(AdapterHelper.buildSource(getConfig().service(), 
event.getProcessInstance().getProcessId()),
                 getConfig().addons().toString(), event.getEventIdentity(), 
metadata, body);
diff --git 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeEnteredEventDataEventAdapter.java
 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeEnteredEventDataEventAdapter.java
index f6a048e27c..44163f2d98 100644
--- 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeEnteredEventDataEventAdapter.java
+++ 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeEnteredEventDataEventAdapter.java
@@ -18,40 +18,19 @@
  */
 package org.kie.kogito.event.impl.adapter;
 
-import org.kie.api.event.process.ProcessNodeLeftEvent;
+import org.kie.api.event.process.ProcessNodeTriggeredEvent;
 import org.kie.kogito.event.DataEvent;
 import org.kie.kogito.event.process.ProcessInstanceNodeEventBody;
-import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
 
 public class ProcessNodeEnteredEventDataEventAdapter extends 
AbstractDataEventAdapter {
 
     public ProcessNodeEnteredEventDataEventAdapter() {
-        super(ProcessNodeLeftEvent.class);
+        super(ProcessNodeTriggeredEvent.class);
     }
 
     @Override
     public DataEvent<?> adapt(Object payload) {
-        ProcessNodeLeftEvent event = (ProcessNodeLeftEvent) payload;
-        KogitoNodeInstance nodeInstance = (KogitoNodeInstance) 
event.getNodeInstance();
-        int eventType = ProcessInstanceNodeEventBody.EVENT_TYPE_EXIT;
-
-        if (nodeInstance.getCancelType() != null) {
-            switch (nodeInstance.getCancelType()) {
-                case ABORTED:
-                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_ABORTED;
-                    break;
-                case SKIPPED:
-                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_SKIPPED;
-                    break;
-                case OBSOLETE:
-                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_OBSOLETE;
-                    break;
-                case ERROR:
-                    eventType = ProcessInstanceNodeEventBody.EVENT_TYPE_ERROR;
-            }
-        }
-
-        return toProcessInstanceNodeEvent((ProcessNodeLeftEvent) payload, 
eventType);
+        return toProcessInstanceNodeEvent((ProcessNodeTriggeredEvent) payload, 
ProcessInstanceNodeEventBody.EVENT_TYPE_ENTER);
     }
 
 }
diff --git 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeLeftEventDataEventAdapter.java
 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeLeftEventDataEventAdapter.java
index 5ae72fc5b3..ec5a3dff5e 100644
--- 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeLeftEventDataEventAdapter.java
+++ 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/ProcessNodeLeftEventDataEventAdapter.java
@@ -18,19 +18,40 @@
  */
 package org.kie.kogito.event.impl.adapter;
 
-import org.kie.api.event.process.ProcessNodeTriggeredEvent;
+import org.kie.api.event.process.ProcessNodeLeftEvent;
 import org.kie.kogito.event.DataEvent;
 import org.kie.kogito.event.process.ProcessInstanceNodeEventBody;
+import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
 
 public class ProcessNodeLeftEventDataEventAdapter extends 
AbstractDataEventAdapter {
 
     public ProcessNodeLeftEventDataEventAdapter() {
-        super(ProcessNodeTriggeredEvent.class);
+        super(ProcessNodeLeftEvent.class);
     }
 
     @Override
     public DataEvent<?> adapt(Object payload) {
-        return toProcessInstanceNodeEvent((ProcessNodeTriggeredEvent) payload, 
ProcessInstanceNodeEventBody.EVENT_TYPE_ENTER);
+        ProcessNodeLeftEvent event = (ProcessNodeLeftEvent) payload;
+        KogitoNodeInstance nodeInstance = (KogitoNodeInstance) 
event.getNodeInstance();
+        int eventType = ProcessInstanceNodeEventBody.EVENT_TYPE_EXIT;
+
+        if (nodeInstance.getCancelType() != null) {
+            switch (nodeInstance.getCancelType()) {
+                case ABORTED:
+                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_ABORTED;
+                    break;
+                case SKIPPED:
+                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_SKIPPED;
+                    break;
+                case OBSOLETE:
+                    eventType = 
ProcessInstanceNodeEventBody.EVENT_TYPE_OBSOLETE;
+                    break;
+                case ERROR:
+                    eventType = ProcessInstanceNodeEventBody.EVENT_TYPE_ERROR;
+            }
+        }
+
+        return toProcessInstanceNodeEvent((ProcessNodeLeftEvent) payload, 
eventType);
     }
 
 }
diff --git 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/UserTaskStateEventDataEventAdapter.java
 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/UserTaskStateEventDataEventAdapter.java
index af70b37ae3..0993a1b407 100644
--- 
a/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/UserTaskStateEventDataEventAdapter.java
+++ 
b/api/kogito-events-core/src/main/java/org/kie/kogito/event/impl/adapter/UserTaskStateEventDataEventAdapter.java
@@ -54,6 +54,7 @@ public class UserTaskStateEventDataEventAdapter extends 
AbstractDataEventAdapter
                 
.userTaskDescription(event.getUserTaskInstance().getTaskDescription())
                 .userTaskPriority(priorityStr)
                 .userTaskReferenceName(event.getUserTask().getReferenceName())
+                
.externalReferenceId(event.getUserTaskInstance().getExternalReferenceId())
                 .state(event.getNewStatus().getName())
                 .actualOwner(event.getUserTaskInstance().getActualOwner())
                 .eventType(isTransition(event) ? 
event.getNewStatus().getName() : "Modify")


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

Reply via email to