Skip to content

Commit d041817

Browse files
authored
Merge pull request #99 from saumya1singh/sync_main
Sync main branch with Apache main branch
2 parents 1458b65 + bc79b54 commit d041817

File tree

6 files changed

+64
-26
lines changed

6 files changed

+64
-26
lines changed

api/kogito-api/src/main/java/org/kie/kogito/jobs/descriptors/UserTaskInstanceJobDescription.java

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,35 @@ public class UserTaskInstanceJobDescription implements JobDescription {
2727
private ExpirationTime expirationTime;
2828
private Integer priority = ProcessInstanceJobDescription.DEFAULT_PRIORITY;
2929
private String userTaskInstanceId;
30+
private String processId;
31+
private String processInstanceId;
32+
private String nodeInstanceId;
33+
private String rootProcessInstanceId;
34+
private String rootProcessId;
3035

3136
public UserTaskInstanceJobDescription() {
3237
// do nothing
3338
}
3439

35-
public UserTaskInstanceJobDescription(String id, ExpirationTime expirationTime, Integer priority, String userTaskInstanceId) {
40+
public UserTaskInstanceJobDescription(
41+
String id,
42+
ExpirationTime expirationTime,
43+
Integer priority,
44+
String userTaskInstanceId,
45+
String processId,
46+
String processInstanceId,
47+
String nodeInstanceId,
48+
String rootProcessInstanceId,
49+
String rootProcessId) {
3650
this.id = id;
3751
this.expirationTime = expirationTime;
3852
this.priority = priority;
3953
this.userTaskInstanceId = userTaskInstanceId;
54+
this.processId = processId;
55+
this.processInstanceId = processInstanceId;
56+
this.nodeInstanceId = nodeInstanceId;
57+
this.rootProcessInstanceId = rootProcessInstanceId;
58+
this.rootProcessId = rootProcessId;
4059
}
4160

4261
@Override
@@ -59,10 +78,30 @@ public String path() {
5978
return null;
6079
}
6180

62-
public String getUserTaskInstanceId() {
81+
public String userTaskInstanceId() {
6382
return userTaskInstanceId;
6483
}
6584

85+
public String processId() {
86+
return processId;
87+
}
88+
89+
public String processInstanceId() {
90+
return processInstanceId;
91+
}
92+
93+
public String nodeInstanceId() {
94+
return nodeInstanceId;
95+
}
96+
97+
public String rootProcessInstanceId() {
98+
return rootProcessInstanceId;
99+
}
100+
101+
public String rootProcessId() {
102+
return rootProcessId;
103+
}
104+
66105
public static UserTaskInstanceJobDescriptionBuilder newUserTaskInstanceJobDescriptionBuilder() {
67106
return new UserTaskInstanceJobDescriptionBuilder();
68107
}

api/kogito-api/src/main/java/org/kie/kogito/jobs/descriptors/UserTaskInstanceJobDescriptionBuilder.java

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,18 @@
1818
*/
1919
package org.kie.kogito.jobs.descriptors;
2020

21+
import java.util.Map;
2122
import java.util.UUID;
2223

2324
import org.kie.kogito.jobs.ExpirationTime;
24-
import org.kie.kogito.jobs.JobDescription;
2525

26-
public class UserTaskInstanceJobDescriptionBuilder implements JobDescription {
26+
public class UserTaskInstanceJobDescriptionBuilder {
2727

2828
private String id;
2929
private ExpirationTime expirationTime;
3030
private Integer priority = ProcessInstanceJobDescription.DEFAULT_PRIORITY;
3131
private String userTaskInstanceId;
32-
33-
@Override
34-
public String id() {
35-
return id;
36-
}
37-
38-
@Override
39-
public ExpirationTime expirationTime() {
40-
return expirationTime;
41-
}
42-
43-
@Override
44-
public Integer priority() {
45-
return priority;
46-
}
47-
48-
@Override
49-
public String path() {
50-
return null;
51-
}
32+
private Map<String, Object> metadata;
5233

5334
public UserTaskInstanceJobDescriptionBuilder id(String id) {
5435
this.id = id;
@@ -74,7 +55,21 @@ public UserTaskInstanceJobDescriptionBuilder userTaskInstanceId(String userTaskI
7455
return this;
7556
}
7657

58+
public UserTaskInstanceJobDescriptionBuilder metadata(Map<String, Object> metadata) {
59+
this.metadata = metadata;
60+
return this;
61+
}
62+
7763
public UserTaskInstanceJobDescription build() {
78-
return new UserTaskInstanceJobDescription(id, expirationTime, priority, userTaskInstanceId);
64+
return new UserTaskInstanceJobDescription(
65+
id,
66+
expirationTime,
67+
priority,
68+
userTaskInstanceId,
69+
(String) this.metadata.get("ProcessId"),
70+
(String) this.metadata.get("ProcessInstanceId"),
71+
(String) this.metadata.get("NodeInstanceId"),
72+
(String) this.metadata.get("RootProcessInstanceId"),
73+
(String) this.metadata.get("RootProcessId"));
7974
}
8075
}

api/kogito-services/src/main/java/org/kie/kogito/services/jobs/impl/InMemoryUserTaskJobExecutorFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public SignalUserTaskInstanceOnExpiredTimer(JobsService jobService, InMemoryJobC
9494
@Override
9595
public void run() {
9696
String jobId = userTaskInstanceJobDescription.id();
97-
String userTaskInstanceId = userTaskInstanceJobDescription.getUserTaskInstanceId();
97+
String userTaskInstanceId = userTaskInstanceJobDescription.userTaskInstanceId();
9898
try {
9999
Optional<UserTaskInstance> userTaskInstance = jobsConfiguration.userTasks().instances().findById(userTaskInstanceId);
100100
if (userTaskInstance.isEmpty()) {

jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,8 @@ private TimerInstance registerTimer(TimerInstance timerInstance, String nodeInst
614614
.processInstanceId(getStringId())
615615
.processId(getProcessId())
616616
.nodeInstanceId(nodeInstanceId)
617+
.rootProcessId(getRootProcessId())
618+
.rootProcessInstanceId(getRootProcessInstanceId())
617619
.build();
618620
JobsService jobsService = InternalProcessRuntime.asKogitoProcessRuntime(getKnowledgeRuntime().getProcessRuntime()).getJobsService();
619621
jobsService.scheduleJob(description);

jbpm/jbpm-usertask-workitem/src/main/java/org/kie/kogito/jbpm/usertask/handler/UserTaskKogitoWorkItemHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ public Optional<WorkItemTransition> activateWorkItemHandler(KogitoWorkItemManage
9898
instance.setMetadata("RootProcessId", workItem.getProcessInstance().getRootProcessId());
9999
instance.setMetadata("RootProcessInstanceId", workItem.getProcessInstance().getRootProcessInstanceId());
100100
instance.setMetadata("ParentProcessInstanceId", workItem.getProcessInstance().getParentProcessInstanceId());
101+
instance.setMetadata("NodeInstanceId", workItem.getNodeInstance().getId());
101102

102103
instance.fireInitialStateChange();
103104
workItem.getParameters().entrySet().stream().filter(e -> !HumanTaskNode.TASK_PARAMETERS.contains(e.getKey())).forEach(e -> instance.setInput(e.getKey(), e.getValue()));

jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/DefaultUserTaskInstance.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,7 @@ private List<JobDescription> toJobDescription(DeadlineInfo<?> deadline) {
688688
.generateId()
689689
.expirationTime(expirationTime)
690690
.userTaskInstanceId(this.id)
691+
.metadata(this.metadata)
691692
.build());
692693
}
693694
return jobs;

0 commit comments

Comments
 (0)