This is an automated email from the ASF dual-hosted git repository.
fjtiradosarti 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 0963e52085 [incubator-kie-issues#1815] Data Index doesn't index any
event form runtime when transitioning UserTasks (#3844)
0963e52085 is described below
commit 0963e52085b0017f7c3ac14a6f7044b0158b3c86
Author: Deepak Joseph <[email protected]>
AuthorDate: Thu Feb 13 23:41:35 2025 +0530
[incubator-kie-issues#1815] Data Index doesn't index any event form runtime
when transitioning UserTasks (#3844)
* user task fix
* added newline
---
.../kie/kogito/usertask/lifecycle/UserTaskLifeCycle.java | 5 +++++
.../kogito/usertask/impl/DefaultUserTaskInstance.java | 10 ++++------
.../kie/kogito/usertask/impl/UserTaskServiceImpl.java | 16 +++++++++-------
3 files changed, 18 insertions(+), 13 deletions(-)
diff --git
a/api/kogito-api/src/main/java/org/kie/kogito/usertask/lifecycle/UserTaskLifeCycle.java
b/api/kogito-api/src/main/java/org/kie/kogito/usertask/lifecycle/UserTaskLifeCycle.java
index 43b8b66950..9fbe1cdcc2 100644
---
a/api/kogito-api/src/main/java/org/kie/kogito/usertask/lifecycle/UserTaskLifeCycle.java
+++
b/api/kogito-api/src/main/java/org/kie/kogito/usertask/lifecycle/UserTaskLifeCycle.java
@@ -29,11 +29,16 @@ import org.kie.kogito.usertask.UserTaskInstance;
public interface UserTaskLifeCycle {
final String ACTIVATE = "activate";
+ final String REASSIGN = "reassign";
default String startTransition() {
return ACTIVATE;
}
+ default String reassignTransition() {
+ return REASSIGN;
+ }
+
Optional<UserTaskTransitionToken> transition(UserTaskInstance
userTaskInstance, UserTaskTransitionToken transition, IdentityProvider
identity);
UserTaskTransitionToken newTransitionToken(String transitionId,
UserTaskInstance userTaskInstance, Map<String, Object> data);
diff --git
a/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/DefaultUserTaskInstance.java
b/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/DefaultUserTaskInstance.java
index 287b7b4fe8..bf60df7187 100644
---
a/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/DefaultUserTaskInstance.java
+++
b/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/DefaultUserTaskInstance.java
@@ -735,14 +735,14 @@ public class DefaultUserTaskInstance implements
UserTaskInstance {
public void trigger(UserTaskInstanceJobDescription jobDescription) {
LOG.trace("trigger timer in user tasks {} and job {}", this,
jobDescription);
- checkAndSendNotitication(jobDescription, notStartedDeadlinesTimers,
this::startNotification);
- checkAndSendNotitication(jobDescription, notCompletedDeadlinesTimers,
this::endNotification);
+ checkAndSendNotification(jobDescription, notStartedDeadlinesTimers,
this::startNotification);
+ checkAndSendNotification(jobDescription, notCompletedDeadlinesTimers,
this::endNotification);
checkAndReassign(jobDescription, notStartedReassignmentsTimers);
checkAndReassign(jobDescription, notCompletedReassignmentsTimers);
this.updatePersistence();
}
- private void checkAndSendNotitication(UserTaskInstanceJobDescription
timerInstance, Map<String, Notification> timers, Consumer<Notification>
publisher) {
+ private void checkAndSendNotification(UserTaskInstanceJobDescription
timerInstance, Map<String, Notification> timers, Consumer<Notification>
publisher) {
Notification notification = timers.get(timerInstance.id());
if (notification == null) {
return;
@@ -784,9 +784,7 @@ public class DefaultUserTaskInstance implements
UserTaskInstance {
setPotentialGroups(reassignment.getPotentialGroups());
}
- this.userTaskLifeCycle.newReassignmentTransitionToken(this,
emptyMap()).ifPresent(token -> {
- this.userTaskLifeCycle.transition(this, token,
IdentityProviders.of(WORKFLOW_ENGINE_USER));
- });
+ this.transition(this.userTaskLifeCycle.reassignTransition(),
emptyMap(), IdentityProviders.of(WORKFLOW_ENGINE_USER));
}
@Override
diff --git
a/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/UserTaskServiceImpl.java
b/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/UserTaskServiceImpl.java
index a2da034e93..3f1009245e 100644
---
a/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/UserTaskServiceImpl.java
+++
b/jbpm/jbpm-usertask/src/main/java/org/kie/kogito/usertask/impl/UserTaskServiceImpl.java
@@ -79,13 +79,15 @@ public class UserTaskServiceImpl implements UserTaskService
{
@Override
public Optional<UserTaskView> transition(String taskId, String
transitionId, Map<String, Object> data, IdentityProvider identity) {
- Optional<UserTaskInstance> userTaskInstance =
application.get(UserTasks.class).instances().findById(taskId);
- if (userTaskInstance.isEmpty()) {
- return Optional.empty();
- }
- UserTaskInstance ut = userTaskInstance.get();
- ut.transition(transitionId, data, identity);
- return Optional.of(toUserTaskView(ut));
+ return
UnitOfWorkExecutor.executeInUnitOfWork(application.unitOfWorkManager(), () -> {
+ Optional<UserTaskInstance> userTaskInstance =
application.get(UserTasks.class).instances().findById(taskId);
+ if (userTaskInstance.isEmpty()) {
+ return Optional.empty();
+ }
+ UserTaskInstance ut = userTaskInstance.get();
+ ut.transition(transitionId, data, identity);
+ return Optional.of(toUserTaskView(ut));
+ });
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]