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]

Reply via email to