This is an automated email from the ASF dual-hosted git repository.

pefernan 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 d768bb9db4 [incubator-kie-issues#1637] Add SLA due date to 
UserTaskInstanceStateEventBody (#3792)
d768bb9db4 is described below

commit d768bb9db476d1889d08142235385b4fcfd0c8f1
Author: Martin Weiler <[email protected]>
AuthorDate: Wed Dec 18 04:04:30 2024 -0700

    [incubator-kie-issues#1637] Add SLA due date to 
UserTaskInstanceStateEventBody (#3792)
---
 .../main/java/org/kie/kogito/usertask/UserTaskInstance.java |  3 +++
 .../event/usertask/UserTaskInstanceStateEventBody.java      | 13 ++++++++++++-
 .../impl/adapter/UserTaskStateEventDataEventAdapter.java    |  4 ++--
 .../usertask/handler/UserTaskKogitoWorkItemHandler.java     |  1 +
 .../kie/kogito/usertask/impl/DefaultUserTaskInstance.java   | 12 +++++++++++-
 5 files changed, 29 insertions(+), 4 deletions(-)

diff --git 
a/api/kogito-api/src/main/java/org/kie/kogito/usertask/UserTaskInstance.java 
b/api/kogito-api/src/main/java/org/kie/kogito/usertask/UserTaskInstance.java
index 6fcdd84c6f..2f9078be17 100644
--- a/api/kogito-api/src/main/java/org/kie/kogito/usertask/UserTaskInstance.java
+++ b/api/kogito-api/src/main/java/org/kie/kogito/usertask/UserTaskInstance.java
@@ -19,6 +19,7 @@
 package org.kie.kogito.usertask;
 
 import java.util.Collection;
+import java.util.Date;
 import java.util.Map;
 import java.util.Set;
 
@@ -65,6 +66,8 @@ public interface UserTaskInstance {
 
     Map<String, Object> getInputs();
 
+    Date getSlaDueDate();
+
     void setInput(String key, Object value);
 
     void setOutput(String key, Object value);
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 ac4cfa7b9b..8fb02ea8c4 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
@@ -49,6 +49,8 @@ public class UserTaskInstanceStateEventBody {
 
     private String externalReferenceId;
 
+    private Date slaDueDate;
+
     public Date getEventDate() {
         return eventDate;
     }
@@ -101,6 +103,10 @@ public class UserTaskInstanceStateEventBody {
         return externalReferenceId;
     }
 
+    public Date getSlaDueDate() {
+        return slaDueDate;
+    }
+
     public Map<String, Object> metaData() {
         Map<String, Object> metadata = new HashMap<>();
         
metadata.put(UserTaskInstanceEventMetadata.USER_TASK_INSTANCE_ID_META_DATA, 
userTaskInstanceId);
@@ -114,7 +120,7 @@ public class UserTaskInstanceStateEventBody {
         return "UserTaskInstanceStateEventBody [eventDate=" + eventDate + ", 
eventUser=" + eventUser + ", userTaskDefinitionId=" + userTaskDefinitionId + ", 
userTaskInstanceId=" + userTaskInstanceId
                 + ", userTaskName=" + userTaskName + ", userTaskDescription=" 
+ userTaskDescription + ", userTaskPriority=" + userTaskPriority + ", 
userTaskReferenceName="
                 + userTaskReferenceName
-                + ", state=" + state + ", actualOwner=" + actualOwner + ", 
processInstanceId=" + processInstanceId + "]";
+                + ", state=" + state + ", actualOwner=" + actualOwner + ", 
processInstanceId=" + processInstanceId + ", slaDueDate=" + slaDueDate + "]";
     }
 
     public Builder update() {
@@ -215,6 +221,11 @@ public class UserTaskInstanceStateEventBody {
             return this;
         }
 
+        public Builder slaDueDate(Date slaDueDate) {
+            this.instance.slaDueDate = slaDueDate;
+            return this;
+        }
+
         public UserTaskInstanceStateEventBody build() {
             return this.instance;
         }
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 68ade25916..9df94e473d 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
@@ -42,7 +42,6 @@ public class UserTaskStateEventDataEventAdapter extends 
AbstractDataEventAdapter
     public DataEvent<?> adapt(Object payload) {
         UserTaskStateEvent event = (UserTaskStateEvent) payload;
         Map<String, Object> metadata = 
AdapterHelper.buildUserTaskMetadata(event.getUserTaskInstance());
-
         UserTaskInstanceStateEventBody.Builder builder = 
UserTaskInstanceStateEventBody.create()
                 .eventDate(new Date())
                 .eventUser(event.getEventUser())
@@ -56,7 +55,8 @@ public class UserTaskStateEventDataEventAdapter extends 
AbstractDataEventAdapter
                 .state(event.getNewStatus().getName())
                 .actualOwner(event.getUserTaskInstance().getActualOwner())
                 .eventType(isTransition(event) ? 
event.getNewStatus().getName() : "Modify")
-                .processInstanceId((String) 
event.getUserTaskInstance().getMetadata().get("ProcessInstanceId"));
+                .processInstanceId((String) 
event.getUserTaskInstance().getMetadata().get("ProcessInstanceId"))
+                .slaDueDate(event.getUserTaskInstance().getSlaDueDate());
 
         UserTaskInstanceStateEventBody body = builder.build();
         UserTaskInstanceStateDataEvent utEvent =
diff --git 
a/jbpm/jbpm-usertask-workitem/src/main/java/org/kie/kogito/jbpm/usertask/handler/UserTaskKogitoWorkItemHandler.java
 
b/jbpm/jbpm-usertask-workitem/src/main/java/org/kie/kogito/jbpm/usertask/handler/UserTaskKogitoWorkItemHandler.java
index 000e78a2d2..02b46ecd56 100644
--- 
a/jbpm/jbpm-usertask-workitem/src/main/java/org/kie/kogito/jbpm/usertask/handler/UserTaskKogitoWorkItemHandler.java
+++ 
b/jbpm/jbpm-usertask-workitem/src/main/java/org/kie/kogito/jbpm/usertask/handler/UserTaskKogitoWorkItemHandler.java
@@ -88,6 +88,7 @@ public class UserTaskKogitoWorkItemHandler extends 
DefaultKogitoWorkItemHandler
         instance.setTaskName(ofNullable((String) 
workItem.getParameter(TASK_NAME)).orElse((String) 
workItem.getParameter(NODE_NAME)));
         instance.setTaskDescription((String) 
workItem.getParameter(DESCRIPTION));
         instance.setTaskPriority(priority != null ? priority.toString() : 
null);
+        instance.setSlaDueDate(workItem.getNodeInstance().getSlaDueDate());
 
         instance.setMetadata("ProcessId", 
workItem.getProcessInstance().getProcessId());
         instance.setMetadata("ProcessType", 
workItem.getProcessInstance().getProcess().getType());
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 26cfb631a8..287b7b4fe8 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
@@ -82,6 +82,7 @@ public class DefaultUserTaskInstance implements 
UserTaskInstance {
     private List<Attachment> attachments;
     private List<Comment> comments;
     private String externalReferenceId;
+    private Date slaDueDate;
 
     private Map<String, Object> inputs;
     private Map<String, Object> outputs;
@@ -242,6 +243,15 @@ public class DefaultUserTaskInstance implements 
UserTaskInstance {
         this.externalReferenceId = externalReferenceId;
     }
 
+    @Override
+    public Date getSlaDueDate() {
+        return slaDueDate;
+    }
+
+    public void setSlaDueDate(Date slaDueDate) {
+        this.slaDueDate = slaDueDate;
+    }
+
     @Override
     public void initialize(Map<String, Object> data, IdentityProvider 
identity) {
         transition(this.userTaskLifeCycle.startTransition(), data, identity);
@@ -782,7 +792,7 @@ public class DefaultUserTaskInstance implements 
UserTaskInstance {
     @Override
     public String toString() {
         return "DefaultUserTaskInstance [id=" + id + ", status=" + status + ", 
actualOwner=" + actualOwner + ", taskName=" + taskName + ", taskDescription=" + 
taskDescription + ", taskPriority="
-                + taskPriority + "]";
+                + taskPriority + ", slaDueDate=" + slaDueDate + "]";
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to