This is an automated email from the ASF dual-hosted git repository.
porcelli pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git
The following commit(s) were added to refs/heads/main by this push:
new a2c63e978 [incubator-kie-issues#1858] Fixed missing data in jobs
associated with User Tasks - Part 2 (#2203)
a2c63e978 is described below
commit a2c63e978cd4fb87c54e27336cbe9b5a92fa0910
Author: Deepak Joseph <[email protected]>
AuthorDate: Thu Mar 13 19:57:41 2025 +0530
[incubator-kie-issues#1858] Fixed missing data in jobs associated with User
Tasks - Part 2 (#2203)
* Fixed missing data in jobs associated with User Tasks
* Added root fields
* Fix
* Fixed rootProcessInstanceId and rootProcessId
---
.../kie/kogito/jobs/service/json/JobDescriptionDeserializer.java | 8 ++++++++
.../kie/kogito/jobs/service/json/JobDescriptionSerializer.java | 7 ++++++-
.../java/org/kie/kogito/jobs/embedded/EmbeddedJobExecutor.java | 2 +-
.../java/org/kie/kogito/jobs/embedded/JobInVMEventPublisher.java | 7 +++++++
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git
a/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionDeserializer.java
b/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionDeserializer.java
index f0a72db2b..e7becd90e 100644
---
a/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionDeserializer.java
+++
b/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionDeserializer.java
@@ -19,6 +19,7 @@
package org.kie.kogito.jobs.service.json;
import java.io.IOException;
+import java.util.HashMap;
import org.kie.kogito.jobs.ExpirationTime;
import org.kie.kogito.jobs.JobDescription;
@@ -73,6 +74,13 @@ public class JobDescriptionDeserializer extends
StdDeserializer<JobDescription>
builder.expirationTime((ExpirationTime)
ctxt.readTreeAsValue(node.get("expirationTime"),
Class.forName(expirationTimeType)));
ofNullable(node.get("userTaskInstanceId")).ifPresent(e ->
builder.userTaskInstanceId(e.textValue()));
+ var metadata = new HashMap<String, Object>();
+ ofNullable(node.get("processId")).ifPresent(e ->
metadata.put("ProcessId", e.textValue()));
+ ofNullable(node.get("processInstanceId")).ifPresent(e ->
metadata.put("ProcessInstanceId", e.textValue()));
+ ofNullable(node.get("nodeInstanceId")).ifPresent(e ->
metadata.put("NodeInstanceId", e.textValue()));
+ ofNullable(node.get("rootProcessInstanceId")).ifPresent(e
-> metadata.put("RootProcessInstanceId", e.textValue()));
+ ofNullable(node.get("rootProcessId")).ifPresent(e ->
metadata.put("RootProcessId", e.textValue()));
+ builder.metadata(metadata);
return builder.build();
}
}
diff --git
a/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionSerializer.java
b/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionSerializer.java
index 22935e0e3..37544d67b 100644
---
a/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionSerializer.java
+++
b/jobs-service/jobs-service-common/src/main/java/org/kie/kogito/jobs/service/json/JobDescriptionSerializer.java
@@ -52,7 +52,12 @@ public class JobDescriptionSerializer extends
StdSerializer<JobDescription> {
jgen.writeStringField("nodeInstanceId",
jobDescription.nodeInstanceId());
jgen.writeEndObject();
} else if (value instanceof UserTaskInstanceJobDescription
userTaskInstanceJobDescription) {
- jgen.writeStringField("userTaskInstanceId",
userTaskInstanceJobDescription.getUserTaskInstanceId());
+ jgen.writeStringField("userTaskInstanceId",
userTaskInstanceJobDescription.userTaskInstanceId());
+ jgen.writeStringField("processId",
userTaskInstanceJobDescription.processId());
+ jgen.writeStringField("processInstanceId",
userTaskInstanceJobDescription.processInstanceId());
+ jgen.writeStringField("nodeInstanceId",
userTaskInstanceJobDescription.nodeInstanceId());
+ jgen.writeStringField("rootProcessInstanceId",
userTaskInstanceJobDescription.rootProcessInstanceId());
+ jgen.writeStringField("rootProcessId",
userTaskInstanceJobDescription.rootProcessId());
}
jgen.writeEndObject();
}
diff --git
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/EmbeddedJobExecutor.java
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/EmbeddedJobExecutor.java
index 961e0485a..481547131 100644
---
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/EmbeddedJobExecutor.java
+++
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/EmbeddedJobExecutor.java
@@ -82,7 +82,7 @@ public class EmbeddedJobExecutor implements JobExecutor {
private Uni<JobExecutionResponse> processJobDescription(JobDetails
jobDetails, UserTaskInstanceJobDescription userTaskInstanceJobDescription) {
Supplier<Void> execute = () ->
executeInUnitOfWork(application.unitOfWorkManager(), () -> {
- Optional<UserTaskInstance> userTaskInstance =
userTasks.get().instances().findById(userTaskInstanceJobDescription.getUserTaskInstanceId());
+ Optional<UserTaskInstance> userTaskInstance =
userTasks.get().instances().findById(userTaskInstanceJobDescription.userTaskInstanceId());
if (userTaskInstance.isEmpty()) {
return null;
}
diff --git
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/JobInVMEventPublisher.java
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/JobInVMEventPublisher.java
index 78434dc84..b45f8a131 100644
---
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/JobInVMEventPublisher.java
+++
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs/src/main/java/org/kie/kogito/jobs/embedded/JobInVMEventPublisher.java
@@ -27,6 +27,7 @@ import org.kie.kogito.event.EventPublisher;
import org.kie.kogito.event.job.JobInstanceDataEvent;
import org.kie.kogito.jobs.JobDescription;
import org.kie.kogito.jobs.descriptors.ProcessInstanceJobDescription;
+import org.kie.kogito.jobs.descriptors.UserTaskInstanceJobDescription;
import org.kie.kogito.jobs.service.adapter.ScheduledJobAdapter;
import org.kie.kogito.jobs.service.api.Recipient;
import org.kie.kogito.jobs.service.model.JobDetails;
@@ -102,6 +103,12 @@ public class JobInVMEventPublisher implements
JobEventPublisher {
scheduledJob.setRootProcessInstanceId(processInstanceJobDescription.rootProcessInstanceId());
scheduledJob.setRootProcessId(processInstanceJobDescription.rootProcessId());
scheduledJob.setNodeInstanceId(processInstanceJobDescription.nodeInstanceId());
+ } else if (jobDescription instanceof
UserTaskInstanceJobDescription userTaskInstanceJobDescription) {
+
scheduledJob.setProcessInstanceId(userTaskInstanceJobDescription.processInstanceId());
+
scheduledJob.setProcessId(userTaskInstanceJobDescription.processId());
+
scheduledJob.setNodeInstanceId(userTaskInstanceJobDescription.nodeInstanceId());
+
scheduledJob.setRootProcessInstanceId(userTaskInstanceJobDescription.rootProcessInstanceId());
+
scheduledJob.setRootProcessId(userTaskInstanceJobDescription.rootProcessId());
}
byte[] jsonContent = objectMapper.writeValueAsBytes(scheduledJob);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]