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]