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-examples.git


The following commit(s) were added to refs/heads/main by this push:
     new 59a2aabb0 [kie-issues-249] Data Index Events changes for allowing 
historical data (#1815)
59a2aabb0 is described below

commit 59a2aabb049736fed99b3dd1cbb5aa248dfcdc40
Author: Enrique <[email protected]>
AuthorDate: Wed Oct 18 19:28:06 2023 +0200

    [kie-issues-249] Data Index Events changes for allowing historical data 
(#1815)
    
    * [kie-issues-249] Data Index Events changes for allowing historical data
    
    * fix tests
    
    * add some logging for messages
    
    * test loggers
    
    * fix for input1 in user tasks
---
 .../org/kie/kogito/quarkus/outbox/OutboxIT.java    | 33 +++++++++++++---------
 .../kogito/performance/client/KafkaDispatcher.java |  4 +--
 .../usertasks/CustomHumanTaskLifeCycle.java        |  7 ++---
 .../org/kie/kogito/springboot/outbox/OutboxIT.java | 32 ++++++++++++---------
 .../usertasks/CustomHumanTaskLifeCycle.java        |  7 ++---
 5 files changed, 47 insertions(+), 36 deletions(-)

diff --git 
a/kogito-quarkus-examples/process-outbox-mongodb-quarkus/src/test/java/org/kie/kogito/quarkus/outbox/OutboxIT.java
 
b/kogito-quarkus-examples/process-outbox-mongodb-quarkus/src/test/java/org/kie/kogito/quarkus/outbox/OutboxIT.java
index 35b77ce25..d1557806d 100644
--- 
a/kogito-quarkus-examples/process-outbox-mongodb-quarkus/src/test/java/org/kie/kogito/quarkus/outbox/OutboxIT.java
+++ 
b/kogito-quarkus-examples/process-outbox-mongodb-quarkus/src/test/java/org/kie/kogito/quarkus/outbox/OutboxIT.java
@@ -57,7 +57,6 @@ public class OutboxIT {
 
     private static final String PROCESS_EVENTS_TOPIC = 
"kogito-processinstances-events";
     private static final String USERTASK_EVENTS_TOPIC = 
"kogito-usertaskinstances-events";
-    private static final String VARIABLE_EVENTS_TOPIC = 
"kogito-variables-events";
     private static final int KOGITO_PORT = 8080;
     private static final int KAFKA_PORT = 9092;
     private static final int DEBEZIUM_PORT = 8083;
@@ -156,18 +155,25 @@ public class OutboxIT {
         CountDownLatch processEventCounter = new CountDownLatch(2);
         CountDownLatch userTaskEventCounter = new CountDownLatch(1);
         kafkaClient.consume(Set.of(PROCESS_EVENTS_TOPIC, 
USERTASK_EVENTS_TOPIC), message -> {
+            LOGGER.info("ProcessInstanceVariableDataEvent: {}", message);
             String type = JsonPath.read(message, "$.type");
-            if ("ProcessInstanceEvent".equals(type)) {
-                String orderNumber = JsonPath.read(message, 
"$.data.variables.order.orderNumber");
-                boolean shipped = JsonPath.read(message, 
"$.data.variables.order.shipped");
-                if ("23570".equals(orderNumber) && !shipped) {
-                    processEventCounter.countDown();
+            if ("ProcessInstanceVariableDataEvent".equals(type)) {
+                String varName = JsonPath.read(message, "$.data.variableName");
+                if ("order".equals(varName)) {
+                    String orderNumber = JsonPath.read(message, 
"$.data.variableValue.orderNumber");
+                    boolean shipped = JsonPath.read(message, 
"$.data.variableValue.shipped");
+                    if ("23570".equals(orderNumber) && !shipped) {
+                        processEventCounter.countDown();
+                    }
                 }
-            } else if ("UserTaskInstanceEvent".equals(type)) {
-                String orderNumber = JsonPath.read(message, 
"$.data.inputs.input1.orderNumber");
-                boolean shipped = JsonPath.read(message, 
"$.data.inputs.input1.shipped");
-                if ("23570".equals(orderNumber) && !shipped) {
-                    userTaskEventCounter.countDown();
+            } else if ("UserTaskInstanceVariableDataEvent".equals(type)) {
+                String varName = JsonPath.read(message, "$.data.variableName");
+                if ("input1".equals(varName)) {
+                    String orderNumber = JsonPath.read(message, 
"$.data.variableValue.orderNumber");
+                    boolean shipped = JsonPath.read(message, 
"$.data.variableValue.shipped");
+                    if ("23570".equals(orderNumber) && !shipped) {
+                        userTaskEventCounter.countDown();
+                    }
                 }
             }
         });
@@ -195,11 +201,12 @@ public class OutboxIT {
                         .get("/connectors/{connector}/topics")
                         .then()
                         .statusCode(200)
-                        .body("kogito-connector.topics", hasSize(3))
-                        .body("kogito-connector.topics", 
hasItems(PROCESS_EVENTS_TOPIC, USERTASK_EVENTS_TOPIC, VARIABLE_EVENTS_TOPIC)));
+                        .body("kogito-connector.topics", hasSize(2))
+                        .body("kogito-connector.topics", 
hasItems(PROCESS_EVENTS_TOPIC, USERTASK_EVENTS_TOPIC)));
 
         // Check process events pushed
         assertTrue(processEventCounter.await(TIMEOUT.getSeconds(), 
TimeUnit.SECONDS));
+
         assertTrue(userTaskEventCounter.await(TIMEOUT.getSeconds(), 
TimeUnit.SECONDS));
     }
 }
diff --git 
a/kogito-quarkus-examples/process-performance-client/src/main/java/org/kie/kogito/performance/client/KafkaDispatcher.java
 
b/kogito-quarkus-examples/process-performance-client/src/main/java/org/kie/kogito/performance/client/KafkaDispatcher.java
index 6355ffba1..119cdc3f4 100644
--- 
a/kogito-quarkus-examples/process-performance-client/src/main/java/org/kie/kogito/performance/client/KafkaDispatcher.java
+++ 
b/kogito-quarkus-examples/process-performance-client/src/main/java/org/kie/kogito/performance/client/KafkaDispatcher.java
@@ -26,7 +26,7 @@ import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.ProducerConfig;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.common.serialization.ByteArraySerializer;
-import org.kie.kogito.event.process.ProcessDataEvent;
+import org.kie.kogito.event.process.ProcessInstanceDataEvent;
 import org.kie.kogito.jackson.utils.ObjectMapperFactory;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -34,7 +34,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class KafkaDispatcher implements RequestDispatcher {
 
-    private class ObjectCloudEvent extends ProcessDataEvent<Object> {
+    private class ObjectCloudEvent extends ProcessInstanceDataEvent<Object> {
         public ObjectCloudEvent(String trigger, Object data) {
             super(trigger, "java_client", data, null, null, null, null, null, 
null, null, null, null, null, null);
         }
diff --git 
a/kogito-quarkus-examples/process-usertasks-custom-lifecycle-quarkus/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
 
b/kogito-quarkus-examples/process-usertasks-custom-lifecycle-quarkus/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
index 0265dcea7..c83b80302 100644
--- 
a/kogito-quarkus-examples/process-usertasks-custom-lifecycle-quarkus/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
+++ 
b/kogito-quarkus-examples/process-usertasks-custom-lifecycle-quarkus/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
@@ -23,7 +23,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.jbpm.process.instance.impl.humantask.BaseHumanTaskLifeCycle;
-import org.jbpm.process.instance.impl.humantask.HumanTaskWorkItemImpl;
+import org.jbpm.process.instance.impl.humantask.InternalHumanTaskWorkItem;
 import org.jbpm.process.instance.impl.humantask.phases.Claim;
 import org.jbpm.process.instance.impl.humantask.phases.Release;
 import org.jbpm.process.instance.impl.humantask.phases.Skip;
@@ -104,7 +104,7 @@ public class CustomHumanTaskLifeCycle implements 
LifeCycle<Map<String, Object>>
         logger.debug("Transition method invoked for work item {} to transition 
to {}, currently in phase {} and status {}", workItem.getStringId(), 
transition.phase(), workItem.getPhaseId(),
                 workItem.getPhaseStatus());
 
-        HumanTaskWorkItemImpl humanTaskWorkItem = (HumanTaskWorkItemImpl) 
workItem;
+        InternalHumanTaskWorkItem humanTaskWorkItem = 
(InternalHumanTaskWorkItem) workItem;
 
         LifeCyclePhase targetPhase = phases.get(transition.phase());
         if (targetPhase == null) {
@@ -144,7 +144,6 @@ public class CustomHumanTaskLifeCycle implements 
LifeCycle<Map<String, Object>>
 
     @Override
     public Map<String, Object> data(KogitoWorkItem workItem) {
-
-        return ((HumanTaskWorkItemImpl) workItem).getResults();
+        return ((InternalHumanTaskWorkItem) workItem).getResults();
     }
 }
diff --git 
a/kogito-springboot-examples/process-outbox-mongodb-springboot/src/test/java/org/kie/kogito/springboot/outbox/OutboxIT.java
 
b/kogito-springboot-examples/process-outbox-mongodb-springboot/src/test/java/org/kie/kogito/springboot/outbox/OutboxIT.java
index 0aea63a4b..e11f31ef3 100644
--- 
a/kogito-springboot-examples/process-outbox-mongodb-springboot/src/test/java/org/kie/kogito/springboot/outbox/OutboxIT.java
+++ 
b/kogito-springboot-examples/process-outbox-mongodb-springboot/src/test/java/org/kie/kogito/springboot/outbox/OutboxIT.java
@@ -57,7 +57,6 @@ public class OutboxIT {
 
     private static final String PROCESS_EVENTS_TOPIC = 
"kogito-processinstances-events";
     private static final String USERTASK_EVENTS_TOPIC = 
"kogito-usertaskinstances-events";
-    private static final String VARIABLE_EVENTS_TOPIC = 
"kogito-variables-events";
     private static final int KOGITO_PORT = 8080;
     private static final int KAFKA_PORT = 9092;
     private static final int DEBEZIUM_PORT = 8083;
@@ -156,18 +155,25 @@ public class OutboxIT {
         CountDownLatch processEventCounter = new CountDownLatch(2);
         CountDownLatch userTaskEventCounter = new CountDownLatch(1);
         kafkaClient.consume(Set.of(PROCESS_EVENTS_TOPIC, 
USERTASK_EVENTS_TOPIC), message -> {
+            LOGGER.info("ProcessInstanceVariableDataEvent: {}", message);
             String type = JsonPath.read(message, "$.type");
-            if ("ProcessInstanceEvent".equals(type)) {
-                String orderNumber = JsonPath.read(message, 
"$.data.variables.order.orderNumber");
-                boolean shipped = JsonPath.read(message, 
"$.data.variables.order.shipped");
-                if ("23570".equals(orderNumber) && !shipped) {
-                    processEventCounter.countDown();
+            if ("ProcessInstanceVariableDataEvent".equals(type)) {
+                String varName = JsonPath.read(message, "$.data.variableName");
+                if ("order".equals(varName)) {
+                    String orderNumber = JsonPath.read(message, 
"$.data.variableValue.orderNumber");
+                    boolean shipped = JsonPath.read(message, 
"$.data.variableValue.shipped");
+                    if ("23570".equals(orderNumber) && !shipped) {
+                        processEventCounter.countDown();
+                    }
                 }
-            } else if ("UserTaskInstanceEvent".equals(type)) {
-                String orderNumber = JsonPath.read(message, 
"$.data.inputs.input1.orderNumber");
-                boolean shipped = JsonPath.read(message, 
"$.data.inputs.input1.shipped");
-                if ("23570".equals(orderNumber) && !shipped) {
-                    userTaskEventCounter.countDown();
+            } else if ("UserTaskInstanceVariableDataEvent".equals(type)) {
+                String varName = JsonPath.read(message, "$.data.variableName");
+                if ("input1".equals(varName)) {
+                    String orderNumber = JsonPath.read(message, 
"$.data.variableValue.orderNumber");
+                    boolean shipped = JsonPath.read(message, 
"$.data.variableValue.shipped");
+                    if ("23570".equals(orderNumber) && !shipped) {
+                        userTaskEventCounter.countDown();
+                    }
                 }
             }
         });
@@ -195,8 +201,8 @@ public class OutboxIT {
                         .get("/connectors/{connector}/topics")
                         .then()
                         .statusCode(200)
-                        .body("kogito-connector.topics", hasSize(3))
-                        .body("kogito-connector.topics", 
hasItems(PROCESS_EVENTS_TOPIC, USERTASK_EVENTS_TOPIC, VARIABLE_EVENTS_TOPIC)));
+                        .body("kogito-connector.topics", hasSize(2))
+                        .body("kogito-connector.topics", 
hasItems(PROCESS_EVENTS_TOPIC, USERTASK_EVENTS_TOPIC)));
 
         // Check process events pushed
         assertTrue(processEventCounter.await(TIMEOUT.getSeconds(), 
TimeUnit.SECONDS));
diff --git 
a/kogito-springboot-examples/process-usertasks-custom-lifecycle-springboot/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
 
b/kogito-springboot-examples/process-usertasks-custom-lifecycle-springboot/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
index 49c51e05e..d5c071561 100644
--- 
a/kogito-springboot-examples/process-usertasks-custom-lifecycle-springboot/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
+++ 
b/kogito-springboot-examples/process-usertasks-custom-lifecycle-springboot/src/main/java/org/acme/travels/usertasks/CustomHumanTaskLifeCycle.java
@@ -23,7 +23,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.jbpm.process.instance.impl.humantask.BaseHumanTaskLifeCycle;
-import org.jbpm.process.instance.impl.humantask.HumanTaskWorkItemImpl;
+import org.jbpm.process.instance.impl.humantask.InternalHumanTaskWorkItem;
 import org.jbpm.process.instance.impl.humantask.phases.Claim;
 import org.jbpm.process.instance.impl.humantask.phases.Release;
 import org.jbpm.process.instance.impl.humantask.phases.Skip;
@@ -104,7 +104,7 @@ public class CustomHumanTaskLifeCycle implements 
LifeCycle<Map<String, Object>>
         logger.debug("Transition method invoked for work item {} to transition 
to {}, currently in phase {} and status {}", workItem.getStringId(), 
transition.phase(), workItem.getPhaseId(),
                 workItem.getPhaseStatus());
 
-        HumanTaskWorkItemImpl humanTaskWorkItem = (HumanTaskWorkItemImpl) 
workItem;
+        InternalHumanTaskWorkItem humanTaskWorkItem = 
(InternalHumanTaskWorkItem) workItem;
 
         LifeCyclePhase targetPhase = phases.get(transition.phase());
         if (targetPhase == null) {
@@ -144,7 +144,6 @@ public class CustomHumanTaskLifeCycle implements 
LifeCycle<Map<String, Object>>
 
     @Override
     public Map<String, Object> data(KogitoWorkItem workItem) {
-
-        return ((HumanTaskWorkItemImpl) workItem).getResults();
+        return ((InternalHumanTaskWorkItem) workItem).getResults();
     }
 }


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

Reply via email to