diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
index 4315987..c9d5e99 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
@@ -1,6 +1,7 @@
package de.viadee.camunda.kafka.pollingclient.job.repository;
import de.viadee.camunda.kafka.event.ProcessDefinitionEvent;
+import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.LastPolledService;
@@ -9,6 +10,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
/**
* Implementation of polling repository data
*
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
index 7963980..3a47985 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
@@ -9,6 +9,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.FileWriter;
+import java.io.IOException;
import java.util.Date;
/**
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
index 0169aeb..f38d3fd 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
@@ -6,16 +6,18 @@
import de.viadee.camunda.kafka.event.HistoryEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
+import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
+import java.io.*;
+import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import static org.apache.commons.lang3.StringUtils.removeEnd;
-import static org.apache.commons.lang3.StringUtils.uncapitalize;
+import static org.apache.commons.lang3.StringUtils.*;
/**
*
@@ -95,4 +97,6 @@ private String getTopicName(HistoryEvent event) {
return properties.getEventTopics().getOrDefault(eventName, eventName);
}
+
+
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index bc0609b..715b94a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -330,7 +330,7 @@ public Iterable pollProcessDefinitions(final Date startT
/**
* {@inheritDoc}
- *
+ *
* @param activityInstanceEvent
*/
@Override
diff --git a/camunda-kafka-polling-client/src/main/resources/application-rest.properties b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
index a6ec816..e338351 100644
--- a/camunda-kafka-polling-client/src/main/resources/application-rest.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
@@ -1,5 +1,11 @@
-polling.camunda.rest.url=${CAMUNDA_REST_URL:}
-polling.camunda.rest.username=${CAMUNDA_REST_USERNAME:}
-polling.camunda.rest.password=${CAMUNDA_REST_PASSWORD:}
+#polling.camunda.rest.url=${CAMUNDA_REST_URL:}
+#polling.camunda.rest.username=${CAMUNDA_REST_USERNAME:}
+#polling.camunda.rest.password=${CAMUNDA_REST_PASSWORD:}
+#polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
+#polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
+
+polling.camunda.rest.url=http://127.0.0.1:8081/engine-rest/
+polling.camunda.rest.username=demo
+polling.camunda.rest.password=demo
polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
\ No newline at end of file
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index 8172fd7..ba2745d 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -1,4 +1,6 @@
-server.port=8081
+server.port=8083
+spring.profiles.active=rest
+spring.kafka.producer.bootstrap-servers=localhost:9092
polling.repository-data.enabled=true
polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
@@ -10,7 +12,7 @@ polling.runtime-data.enabled=true
polling.runtime-data.initial-timestamp=${POLLING_RUNTIME_DATA_INITIAL_TIMESTAMP:}
polling.runtime-data.interval-in-ms=30000
polling.runtime-data.backward-offset-in-ms=60000
-polling.runtime-data.last-polled-file=./lastPolled-runtime.properties
+polling.runtime-data.last-polled-file=./lastPolled-runtime.properties
polling.polling-events[0]=PROCESS_INSTANCE_UNFINISHED
polling.polling-events[1]=PROCESS_INSTANCE_FINISHED
@@ -23,8 +25,7 @@ polling.polling-events[7]=TASK_COMMENTS
polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
-
-spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
+#spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
spring.kafka.producer.client-id=camunda-kafka-polling-client
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
diff --git a/lastPolled-repository.properties b/lastPolled-repository.properties
new file mode 100644
index 0000000..57aa9e4
--- /dev/null
+++ b/lastPolled-repository.properties
@@ -0,0 +1,4 @@
+#
+#Tue May 03 10:44:50 CEST 2022
+lastPolled=1651567436125
+cutoff=1651564083778
diff --git a/lastPolled-runtime.properties b/lastPolled-runtime.properties
new file mode 100644
index 0000000..3116d17
--- /dev/null
+++ b/lastPolled-runtime.properties
@@ -0,0 +1,4 @@
+#
+#Tue May 03 10:44:50 CEST 2022
+lastPolled=1651567430702
+cutoff=1651564083778
From 7b0f45c27099da76f620c1c05d8633203e185a7f Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Thu, 12 May 2022 13:54:16 +0200
Subject: [PATCH 02/47] add temporary properties for development
---
.../hs_err_pid16077.log | 1894 -----------------
.../src/main/resources/application.properties | 8 +-
lastPolled-repository.properties | 4 -
lastPolled-runtime.properties | 4 -
4 files changed, 5 insertions(+), 1905 deletions(-)
delete mode 100644 camunda-kafka-polling-client/hs_err_pid16077.log
delete mode 100644 lastPolled-repository.properties
delete mode 100644 lastPolled-runtime.properties
diff --git a/camunda-kafka-polling-client/hs_err_pid16077.log b/camunda-kafka-polling-client/hs_err_pid16077.log
deleted file mode 100644
index 46c168a..0000000
--- a/camunda-kafka-polling-client/hs_err_pid16077.log
+++ /dev/null
@@ -1,1894 +0,0 @@
-#
-# A fatal error has been detected by the Java Runtime Environment:
-#
-# SIGSEGV (0xb) at pc=0x00007ff68ad1e1d4, pid=16077, tid=16107
-#
-# JRE version: OpenJDK Runtime Environment (18.0.1+10) (build 18.0.1+10)
-# Java VM: OpenJDK 64-Bit Server VM (18.0.1+10, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
-# Problematic frame:
-# V [libjvm.so+0x7581d4]
-#
-# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
-#
-# If you would like to submit a bug report, please visit:
-# https://bugreport.java.com/bugreport/crash.jsp
-#
-
---------------- S U M M A R Y ------------
-
-Command Line: /home/dalile/Projects/vPW-Testumgebung/camunda-kafka-polling-client/camunda-kafka-polling-client/target/surefire/surefirebooter8442856008034753365.jar /home/dalile/Projects/vPW-Testumgebung/camunda-kafka-polling-client/camunda-kafka-polling-client/target/surefire 2022-05-02T10-52-43_954-jvmRun1 surefire2196802293041236120tmp surefire_018127747581708429735tmp
-
-Host: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 8 cores, 7G, Arch Linux
-Time: Mon May 2 10:53:49 2022 CEST elapsed time: 46.024697 seconds (0d 0h 0m 46s)
-
---------------- T H R E A D ---------------
-
-Current thread (0x00007ff6480116d0): WorkerThread "GC Thread#4" [stack: 0x00007ff659cfc000,0x00007ff659dfc000] [id=16107]
-
-Stack: [0x00007ff659cfc000,0x00007ff659dfc000], sp=0x00007ff659dfab20, free space=1018k
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
-V [libjvm.so+0x7581d4]
-V [libjvm.so+0x792062]
-V [libjvm.so+0x792741]
-V [libjvm.so+0x79118c]
-V [libjvm.so+0xf3f1f0]
-V [libjvm.so+0xe85157]
-V [libjvm.so+0xc510ee]
-
-
-siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000100
-
-Register to memory mapping:
-
-RAX=0x0 is NULL
-RBX=0x00007ff5f80063b0 points into unknown readable memory: 0x00007ff68b7f1230 | 30 12 7f 8b f6 7f 00 00
-RCX=0x0 is NULL
-RDX=0x00007ff68a861e20: in /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so at 0x00007ff68a5c6000
-RSP=0x00007ff659dfab20 points into unknown readable memory: 0x00007ff659dfab50 | 50 ab df 59 f6 7f 00 00
-RBP=0x00007ff659dfabb0 points into unknown readable memory: 0x00007ff659dfac70 | 70 ac df 59 f6 7f 00 00
-RSI=0x00007ff68b8a98c0: in /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so at 0x00007ff68a5c6000
-RDI=0x0000000000000b47 is an unknown value
-R8 =0x0 is NULL
-R9 =0x0 is NULL
-R10=0x0 is NULL
-R11=0x0000000000000001 is an unknown value
-R12=
-[error occurred during error reporting (printing register info), id 0xb, SIGSEGV (0xb) at pc=0x00007ff68acd7ebf]
-
-Registers:
-RAX=0x0000000000000000, RBX=0x00007ff5f80063b0, RCX=0x0000000000000000, RDX=0x00007ff68a861e20
-RSP=0x00007ff659dfab20, RBP=0x00007ff659dfabb0, RSI=0x00007ff68b8a98c0, RDI=0x0000000000000b47
-R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x0000000000000001
-R12=0x00000000b23b56b9, R13=0x00000000b47df6c8, R14=0x0000000000000001, R15=0x00007ff68b8ef875
-RIP=0x00007ff68ad1e1d4, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
- TRAPNO=0x000000000000000e
-
-Top of Stack: (sp=0x00007ff659dfab20)
-0x00007ff659dfab20: 00007ff659dfab50 0000000000000000
-0x00007ff659dfab30: 0000000000000001 000000000000002e
-0x00007ff659dfab40: 00007ff6480eab10 0000000100043510
-0x00007ff659dfab50: 00000000b23b5600 00007ff68b8a98d0
-
-Instructions: (pc=0x00007ff68ad1e1d4)
-0x00007ff68ad1e0d4: 00 00 4c 89 45 b8 67 e8 c0 65 c7 ff 4c 8b 45 b8
-0x00007ff68ad1e0e4: 48 8b 4d a8 48 85 c0 48 89 c2 74 12 48 89 80 00
-0x00007ff68ad1e0f4: 02 00 00 48 c7 80 10 02 00 00 00 00 00 00 48 89
-0x00007ff68ad1e104: 8a 08 02 00 00 48 89 d1 49 81 00 18 02 00 00 49
-0x00007ff68ad1e114: 89 50 18 48 8b 82 00 02 00 00 e9 f9 e8 ff ff 4c
-0x00007ff68ad1e124: 8b 4d b8 48 8b 5d a8 4d 89 f3 e9 87 ce ff ff 4c
-0x00007ff68ad1e134: 89 45 b8 31 d2 be 05 00 00 00 bf 18 02 00 00 67
-0x00007ff68ad1e144: e8 57 65 c7 ff 4c 8b 45 b8 48 85 c0 48 89 c1 74
-0x00007ff68ad1e154: 1d 48 89 80 00 02 00 00 48 c7 80 08 02 00 00 00
-0x00007ff68ad1e164: 00 00 00 48 c7 80 10 02 00 00 00 00 00 00 49 81
-0x00007ff68ad1e174: 00 18 02 00 00 49 89 48 20 48 8b 81 00 02 00 00
-0x00007ff68ad1e184: e9 5d ea ff ff 48 8b 00 48 8d 0d 8d 3c b4 ff 45
-0x00007ff68ad1e194: 31 d2 48 8b 80 00 01 00 00 48 39 c8 0f 84 9a e4
-0x00007ff68ad1e1a4: ff ff 44 88 5d a0 48 8b 7d b8 4c 89 ee 88 55 a8
-0x00007ff68ad1e1b4: ff d0 44 0f b6 5d a0 0f b6 55 a8 49 89 c2 e9 79
-0x00007ff68ad1e1c4: e4 ff ff 48 8b 00 48 8d 15 4f 3c b4 ff 45 31 d2
-0x00007ff68ad1e1d4: 48 8b 80 00 01 00 00 48 39 d0 0f 84 77 e5 ff ff
-0x00007ff68ad1e1e4: 4c 89 5d b8 48 8b 7d 98 4c 89 ee ff d0 4c 8b 5d
-0x00007ff68ad1e1f4: b8 49 89 c2 e9 5e e5 ff ff 48 8b 93 98 01 00 00
-0x00007ff68ad1e204: 48 8b 72 08 8b 8e 48 02 00 00 48 d3 e8 48 8b 8e
-0x00007ff68ad1e214: 38 02 00 00 48 8b 04 c1 8b 40 58 48 8d 0c 80 48
-0x00007ff68ad1e224: 8b 82 20 02 00 00 4c 8d 04 c8 49 8b 48 20 48 85
-0x00007ff68ad1e234: c9 0f 84 55 09 00 00 48 8b 91 00 02 00 00 48 8d
-0x00007ff68ad1e244: 81 00 02 00 00 48 39 c2 0f 84 e4 08 00 00 4c 89
-0x00007ff68ad1e254: 22 48 83 81 00 02 00 00 08 e9 de e7 ff ff 48 8d
-0x00007ff68ad1e264: 15 3b 08 bf 00 44 39 02 0f 85 02 d8 ff ff e9 7c
-0x00007ff68ad1e274: ea ff ff 48 8d 15 26 08 bf 00 8b 7d a0 39 3a 0f
-0x00007ff68ad1e284: 85 4c da ff ff e9 07 ea ff ff 49 8b 96 80 01 00
-0x00007ff68ad1e294: 00 89 c1 83 c0 01 25 ff ff 01 00 4c 89 24 ca 41
-0x00007ff68ad1e2a4: 89 86 80 00 00 00 e9 c7 ee ff ff 8b 8a 48 02 00
-0x00007ff68ad1e2b4: 00 48 8b ba 40 02 00 00 48 d3 e7 44 89 d1 48 29
-0x00007ff68ad1e2c4: f8 48 d3 e8 48 8b 8a f8 03 00 00 89 c0 48 01 c1
-
-
-Stack slot to memory mapping:
-stack at sp + 0 slots: 0x00007ff659dfab50 points into unknown readable memory: 0x00000000b23b5600 | 00 56 3b b2 00 00 00 00
-stack at sp + 1 slots: 0x0 is NULL
-stack at sp + 2 slots: 0x0000000000000001 is an unknown value
-stack at sp + 3 slots: 0x000000000000002e is an unknown value
-stack at sp + 4 slots: 0x00007ff6480eab10 points into unknown readable memory: 0x00000000b4700000 | 00 00 70 b4 00 00 00 00
-stack at sp + 5 slots: 0x0000000100043510 is pointing into metadata
-stack at sp + 6 slots:
-[error occurred during error reporting (inspecting top of stack), id 0xb, SIGSEGV (0xb) at pc=0x00007ff68acd7ebf]
-
-
---------------- P R O C E S S ---------------
-
-Threads class SMR info:
-_java_thread_list=0x00007ff5e4057820, length=14, elements={
-0x00007ff684013ea0, 0x00007ff68415eac0, 0x00007ff684160150, 0x00007ff684194040,
-0x00007ff6841953e0, 0x00007ff684188cd0, 0x00007ff68418a1d0, 0x00007ff68418b6a0,
-0x00007ff68418cb00, 0x00007ff684210890, 0x00007ff684219a10, 0x00007ff6842a4060,
-0x00007ff68436d140, 0x00007ff61001dc40
-}
-
-Java Threads: ( => current thread )
- 0x00007ff684013ea0 JavaThread "main" [_thread_blocked, id=16081, stack(0x00007ff68a19d000,0x00007ff68a29d000)]
- 0x00007ff68415eac0 JavaThread "Reference Handler" daemon [_thread_blocked, id=16088, stack(0x00007ff66919d000,0x00007ff66929d000)]
- 0x00007ff684160150 JavaThread "Finalizer" daemon [_thread_blocked, id=16089, stack(0x00007ff66909d000,0x00007ff66919d000)]
- 0x00007ff684194040 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=16090, stack(0x00007ff668cb4000,0x00007ff668db4000)]
- 0x00007ff6841953e0 JavaThread "Service Thread" daemon [_thread_blocked, id=16091, stack(0x00007ff668bb4000,0x00007ff668cb4000)]
- 0x00007ff684188cd0 JavaThread "Monitor Deflation Thread" daemon [_thread_blocked, id=16092, stack(0x00007ff668ab4000,0x00007ff668bb4000)]
- 0x00007ff68418a1d0 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=16093, stack(0x00007ff6689b4000,0x00007ff668ab4000)]
- 0x00007ff68418b6a0 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=16094, stack(0x00007ff6688b4000,0x00007ff6689b4000)]
- 0x00007ff68418cb00 JavaThread "Sweeper thread" daemon [_thread_blocked, id=16095, stack(0x00007ff6687b4000,0x00007ff6688b4000)]
- 0x00007ff684210890 JavaThread "Notification Thread" daemon [_thread_blocked, id=16096, stack(0x00007ff6686b4000,0x00007ff6687b4000)]
- 0x00007ff684219a10 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=16098, stack(0x00007ff6684b2000,0x00007ff6685b2000)]
- 0x00007ff6842a4060 JavaThread "surefire-forkedjvm-command-thread" daemon [_thread_in_native, id=16099, stack(0x00007ff6683a1000,0x00007ff6684a1000)]
- 0x00007ff68436d140 JavaThread "surefire-forkedjvm-ping-30s" daemon [_thread_blocked, id=16100, stack(0x00007ff668292000,0x00007ff668392000)]
- 0x00007ff61001dc40 JavaThread "process reaper" daemon [_thread_blocked, id=16102, stack(0x00007ff668260000,0x00007ff668282000)]
-
-Other Threads:
- 0x00007ff684150fa0 VMThread "VM Thread" [stack: 0x00007ff66929f000,0x00007ff66939f000] [id=16087]
- 0x00007ff684212200 WatcherThread "VM Periodic Task Thread" [stack: 0x00007ff6685b4000,0x00007ff6686b4000] [id=16097]
- 0x00007ff684072e80 WorkerThread "GC Thread#0" [stack: 0x00007ff688a74000,0x00007ff688b74000] [id=16082]
- 0x00007ff648007740 WorkerThread "GC Thread#1" [stack: 0x00007ff668060000,0x00007ff668160000] [id=16104]
- 0x00007ff648010310 WorkerThread "GC Thread#2" [stack: 0x00007ff659f00000,0x00007ff65a000000] [id=16105]
- 0x00007ff648010cb0 WorkerThread "GC Thread#3" [stack: 0x00007ff659dfe000,0x00007ff659efe000] [id=16106]
-=>0x00007ff6480116d0 WorkerThread "GC Thread#4" [stack: 0x00007ff659cfc000,0x00007ff659dfc000] [id=16107]
- 0x00007ff648012130 WorkerThread "GC Thread#5" [stack: 0x00007ff659bfa000,0x00007ff659cfa000] [id=16108]
- 0x00007ff64800fa50 WorkerThread "GC Thread#6" [stack: 0x00007ff6599f6000,0x00007ff659af6000] [id=16111]
- 0x00007ff64800a290 WorkerThread "GC Thread#7" [stack: 0x00007ff6598f4000,0x00007ff6599f4000] [id=16112]
- 0x00007ff684083b10 ConcurrentGCThread "G1 Main Marker" [stack: 0x00007ff688972000,0x00007ff688a72000] [id=16083]
- 0x00007ff684084a10 WorkerThread "G1 Conc#0" [stack: 0x00007ff688870000,0x00007ff688970000] [id=16084]
- 0x00007ff65c000d60 WorkerThread "G1 Conc#1" [stack: 0x00007ff6596f2000,0x00007ff6597f2000] [id=16114]
- 0x00007ff6840cf8f0 ConcurrentGCThread "G1 Refine#0" [stack: 0x00007ff669650000,0x00007ff669750000] [id=16085]
- 0x00007ff654000d60 ConcurrentGCThread "G1 Refine#1" [stack: 0x00007ff659af8000,0x00007ff659bf8000] [id=16109]
- 0x00007ff5f0000eb0 ConcurrentGCThread "G1 Refine#2" [stack: 0x00007ff65939a000,0x00007ff65949a000] [id=16132]
- 0x00007ff6085f19b0 ConcurrentGCThread "G1 Refine#3" [stack: 0x00007ff659298000,0x00007ff659398000] [id=16133]
- 0x00007ff6840d07c0 ConcurrentGCThread "G1 Service" [stack: 0x00007ff66954e000,0x00007ff66964e000] [id=16086]
-
-Threads with active compile tasks:
-
-VM state: at safepoint (normal execution)
-
-VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
-[0x00007ff684012af0] Threads_lock - owner thread: 0x00007ff684150fa0
-[0x00007ff684012ba0] Heap_lock - owner thread: 0x00007ff684013ea0
-
-Heap address: 0x0000000084c00000, size: 1972 MB, Compressed Oops mode: 32-bit
-
-CDS archive(s) not mapped
-Compressed class space mapped at: 0x0000000100000000-0x0000000140000000, reserved size: 1073741824
-Narrow klass base: 0x0000000000000000, Narrow klass shift: 3, Narrow klass range: 0x140000000
-
-GC Precious Log:
- CardTable entry size: 512
- Card Set container configuration: InlinePtr #cards 5 size 8 Array Of Cards #cards 12 size 40 Howl #buckets 4 coarsen threshold 1843 Howl Bitmap #cards 512 size 80 coarsen threshold 460 Card regions per heap region 1 cards per card region 2048
- CPUs: 8 total, 8 available
- Memory: 7884M
- Large Page Support: Disabled
- NUMA Support: Disabled
- Compressed Oops: Enabled (32-bit)
- Heap Region Size: 1M
- Heap Min Capacity: 8M
- Heap Initial Capacity: 124M
- Heap Max Capacity: 1972M
- Pre-touch: Disabled
- Parallel Workers: 8
- Concurrent Workers: 2
- Concurrent Refinement Workers: 8
- Periodic GC: Disabled
-
-Heap:
- garbage-first heap total 815104K, used 721440K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 78 young (79872K), 10 survivors (10240K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-
-Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, OA=open archive, CA=closed archive, TAMS=top-at-mark-start (previous, next)
-| 0|0x0000000084c00000, 0x0000000084d00000, 0x0000000084d00000|100%| O| |TAMS 0x0000000084d00000, 0x0000000084c00000| Untracked
-| 1|0x0000000084d00000, 0x0000000084e00000, 0x0000000084e00000|100%| O| |TAMS 0x0000000084e00000, 0x0000000084d00000| Untracked
-| 2|0x0000000084e00000, 0x0000000084f00000, 0x0000000084f00000|100%| O| |TAMS 0x0000000084f00000, 0x0000000084e00000| Untracked
-| 3|0x0000000084f00000, 0x0000000085000000, 0x0000000085000000|100%| O| |TAMS 0x0000000085000000, 0x0000000084f00000| Untracked
-| 4|0x0000000085000000, 0x0000000085100000, 0x0000000085100000|100%| O| |TAMS 0x0000000085100000, 0x0000000085000000| Untracked
-| 5|0x0000000085100000, 0x0000000085200000, 0x0000000085200000|100%| O| |TAMS 0x0000000085200000, 0x0000000085100000| Untracked
-| 6|0x0000000085200000, 0x0000000085300000, 0x0000000085300000|100%| O| |TAMS 0x0000000085300000, 0x0000000085200000| Untracked
-| 7|0x0000000085300000, 0x0000000085400000, 0x0000000085400000|100%| O| |TAMS 0x0000000085400000, 0x0000000085300000| Untracked
-| 8|0x0000000085400000, 0x0000000085500000, 0x0000000085500000|100%| O| |TAMS 0x0000000085500000, 0x0000000085400000| Untracked
-| 9|0x0000000085500000, 0x0000000085600000, 0x0000000085600000|100%| O| |TAMS 0x0000000085600000, 0x0000000085500000| Untracked
-| 10|0x0000000085600000, 0x0000000085700000, 0x0000000085700000|100%| O| |TAMS 0x0000000085700000, 0x0000000085600000| Untracked
-| 11|0x0000000085700000, 0x0000000085800000, 0x0000000085800000|100%| O| |TAMS 0x0000000085800000, 0x0000000085700000| Untracked
-| 12|0x0000000085800000, 0x0000000085900000, 0x0000000085900000|100%| O| |TAMS 0x0000000085900000, 0x0000000085800000| Untracked
-| 13|0x0000000085900000, 0x0000000085a00000, 0x0000000085a00000|100%| O| |TAMS 0x0000000085a00000, 0x0000000085900000| Untracked
-| 14|0x0000000085a00000, 0x0000000085b00000, 0x0000000085b00000|100%| O| |TAMS 0x0000000085b00000, 0x0000000085a00000| Untracked
-| 15|0x0000000085b00000, 0x0000000085c00000, 0x0000000085c00000|100%| O| |TAMS 0x0000000085c00000, 0x0000000085b00000| Untracked
-| 16|0x0000000085c00000, 0x0000000085d00000, 0x0000000085d00000|100%| O| |TAMS 0x0000000085d00000, 0x0000000085c00000| Untracked
-| 17|0x0000000085d00000, 0x0000000085e00000, 0x0000000085e00000|100%| O| |TAMS 0x0000000085e00000, 0x0000000085d00000| Untracked
-| 18|0x0000000085e00000, 0x0000000085f00000, 0x0000000085f00000|100%| O| |TAMS 0x0000000085f00000, 0x0000000085e00000| Untracked
-| 19|0x0000000085f00000, 0x0000000086000000, 0x0000000086000000|100%| O| |TAMS 0x0000000086000000, 0x0000000085f00000| Untracked
-| 20|0x0000000086000000, 0x0000000086100000, 0x0000000086100000|100%| O| |TAMS 0x0000000086100000, 0x0000000086000000| Untracked
-| 21|0x0000000086100000, 0x0000000086200000, 0x0000000086200000|100%| O| |TAMS 0x0000000086200000, 0x0000000086100000| Untracked
-| 22|0x0000000086200000, 0x0000000086300000, 0x0000000086300000|100%| O| |TAMS 0x0000000086200000, 0x0000000086200000| Untracked
-| 23|0x0000000086300000, 0x0000000086400000, 0x0000000086400000|100%| O| |TAMS 0x0000000086300000, 0x0000000086300000| Untracked
-| 24|0x0000000086400000, 0x0000000086500000, 0x0000000086500000|100%| O| |TAMS 0x0000000086400000, 0x0000000086400000| Untracked
-| 25|0x0000000086500000, 0x0000000086600000, 0x0000000086600000|100%| O| |TAMS 0x0000000086600000, 0x0000000086500000| Untracked
-| 26|0x0000000086600000, 0x0000000086700000, 0x0000000086700000|100%| O| |TAMS 0x0000000086600000, 0x0000000086600000| Untracked
-| 27|0x0000000086700000, 0x0000000086800000, 0x0000000086800000|100%| O| |TAMS 0x0000000086700000, 0x0000000086700000| Untracked
-| 28|0x0000000086800000, 0x0000000086900000, 0x0000000086900000|100%| O| |TAMS 0x0000000086800000, 0x0000000086800000| Untracked
-| 29|0x0000000086900000, 0x0000000086a00000, 0x0000000086a00000|100%| O| |TAMS 0x0000000086900000, 0x0000000086900000| Untracked
-| 30|0x0000000086a00000, 0x0000000086b00000, 0x0000000086b00000|100%| O| |TAMS 0x0000000086a00000, 0x0000000086a00000| Untracked
-| 31|0x0000000086b00000, 0x0000000086c00000, 0x0000000086c00000|100%| O| |TAMS 0x0000000086b00000, 0x0000000086b00000| Untracked
-| 32|0x0000000086c00000, 0x0000000086d00000, 0x0000000086d00000|100%| O| |TAMS 0x0000000086c00000, 0x0000000086c00000| Untracked
-| 33|0x0000000086d00000, 0x0000000086e00000, 0x0000000086e00000|100%| O| |TAMS 0x0000000086d00000, 0x0000000086d00000| Untracked
-| 34|0x0000000086e00000, 0x0000000086f00000, 0x0000000086f00000|100%| O| |TAMS 0x0000000086e00000, 0x0000000086e00000| Untracked
-| 35|0x0000000086f00000, 0x0000000087000000, 0x0000000087000000|100%| O| |TAMS 0x0000000086f00000, 0x0000000086f00000| Untracked
-| 36|0x0000000087000000, 0x0000000087100000, 0x0000000087100000|100%| O| |TAMS 0x0000000087000000, 0x0000000087000000| Untracked
-| 37|0x0000000087100000, 0x0000000087200000, 0x0000000087200000|100%| O| |TAMS 0x0000000087100000, 0x0000000087100000| Untracked
-| 38|0x0000000087200000, 0x0000000087300000, 0x0000000087300000|100%| O| |TAMS 0x0000000087200000, 0x0000000087200000| Untracked
-| 39|0x0000000087300000, 0x0000000087400000, 0x0000000087400000|100%| O| |TAMS 0x0000000087400000, 0x0000000087300000| Untracked
-| 40|0x0000000087400000, 0x0000000087500000, 0x0000000087500000|100%| O| |TAMS 0x0000000087500000, 0x0000000087400000| Untracked
-| 41|0x0000000087500000, 0x0000000087600000, 0x0000000087600000|100%| O| |TAMS 0x0000000087600000, 0x0000000087500000| Untracked
-| 42|0x0000000087600000, 0x0000000087700000, 0x0000000087700000|100%| O| |TAMS 0x0000000087600000, 0x0000000087600000| Untracked
-| 43|0x0000000087700000, 0x0000000087800000, 0x0000000087800000|100%| O| |TAMS 0x0000000087800000, 0x0000000087700000| Untracked
-| 44|0x0000000087800000, 0x0000000087900000, 0x0000000087900000|100%| O| |TAMS 0x0000000087800000, 0x0000000087800000| Untracked
-| 45|0x0000000087900000, 0x0000000087a00000, 0x0000000087a00000|100%| O| |TAMS 0x0000000087900000, 0x0000000087900000| Untracked
-| 46|0x0000000087a00000, 0x0000000087b00000, 0x0000000087b00000|100%| O| |TAMS 0x0000000087a00000, 0x0000000087a00000| Untracked
-| 47|0x0000000087b00000, 0x0000000087c00000, 0x0000000087c00000|100%| O| |TAMS 0x0000000087b00000, 0x0000000087b00000| Untracked
-| 48|0x0000000087c00000, 0x0000000087d00000, 0x0000000087d00000|100%| O| |TAMS 0x0000000087d00000, 0x0000000087c00000| Untracked
-| 49|0x0000000087d00000, 0x0000000087e00000, 0x0000000087e00000|100%| O| |TAMS 0x0000000087d00000, 0x0000000087d00000| Untracked
-| 50|0x0000000087e00000, 0x0000000087f00000, 0x0000000087f00000|100%| O| |TAMS 0x0000000087e00000, 0x0000000087e00000| Untracked
-| 51|0x0000000087f00000, 0x0000000088000000, 0x0000000088000000|100%| O| |TAMS 0x0000000087f00000, 0x0000000087f00000| Untracked
-| 52|0x0000000088000000, 0x0000000088100000, 0x0000000088100000|100%| O| |TAMS 0x0000000088000000, 0x0000000088000000| Untracked
-| 53|0x0000000088100000, 0x0000000088200000, 0x0000000088200000|100%| O| |TAMS 0x0000000088100000, 0x0000000088100000| Untracked
-| 54|0x0000000088200000, 0x0000000088300000, 0x0000000088300000|100%| O| |TAMS 0x0000000088300000, 0x0000000088200000| Untracked
-| 55|0x0000000088300000, 0x0000000088400000, 0x0000000088400000|100%| O| |TAMS 0x0000000088400000, 0x0000000088300000| Untracked
-| 56|0x0000000088400000, 0x0000000088500000, 0x0000000088500000|100%| O| |TAMS 0x0000000088500000, 0x0000000088400000| Untracked
-| 57|0x0000000088500000, 0x0000000088600000, 0x0000000088600000|100%| O| |TAMS 0x0000000088600000, 0x0000000088500000| Untracked
-| 58|0x0000000088600000, 0x0000000088700000, 0x0000000088700000|100%| O| |TAMS 0x0000000088700000, 0x0000000088600000| Untracked
-| 59|0x0000000088700000, 0x0000000088800000, 0x0000000088800000|100%| O| |TAMS 0x0000000088800000, 0x0000000088700000| Untracked
-| 60|0x0000000088800000, 0x0000000088900000, 0x0000000088900000|100%| O| |TAMS 0x0000000088900000, 0x0000000088800000| Untracked
-| 61|0x0000000088900000, 0x0000000088a00000, 0x0000000088a00000|100%| O| |TAMS 0x0000000088a00000, 0x0000000088900000| Untracked
-| 62|0x0000000088a00000, 0x0000000088b00000, 0x0000000088b00000|100%| O| |TAMS 0x0000000088b00000, 0x0000000088a00000| Untracked
-| 63|0x0000000088b00000, 0x0000000088c00000, 0x0000000088c00000|100%| O| |TAMS 0x0000000088c00000, 0x0000000088b00000| Untracked
-| 64|0x0000000088c00000, 0x0000000088d00000, 0x0000000088d00000|100%| O| |TAMS 0x0000000088c00000, 0x0000000088c00000| Untracked
-| 65|0x0000000088d00000, 0x0000000088e00000, 0x0000000088e00000|100%| O| |TAMS 0x0000000088d00000, 0x0000000088d00000| Untracked
-| 66|0x0000000088e00000, 0x0000000088f00000, 0x0000000088f00000|100%| O| |TAMS 0x0000000088e00000, 0x0000000088e00000| Untracked
-| 67|0x0000000088f00000, 0x0000000089000000, 0x0000000089000000|100%| O| |TAMS 0x0000000088f00000, 0x0000000088f00000| Untracked
-| 68|0x0000000089000000, 0x0000000089100000, 0x0000000089100000|100%| O| |TAMS 0x0000000089000000, 0x0000000089000000| Untracked
-| 69|0x0000000089100000, 0x0000000089200000, 0x0000000089200000|100%| O| |TAMS 0x0000000089100000, 0x0000000089100000| Untracked
-| 70|0x0000000089200000, 0x0000000089300000, 0x0000000089300000|100%| O| |TAMS 0x0000000089200000, 0x0000000089200000| Untracked
-| 71|0x0000000089300000, 0x0000000089400000, 0x0000000089400000|100%| O| |TAMS 0x0000000089300000, 0x0000000089300000| Untracked
-| 72|0x0000000089400000, 0x0000000089500000, 0x0000000089500000|100%| O| |TAMS 0x0000000089400000, 0x0000000089400000| Untracked
-| 73|0x0000000089500000, 0x0000000089600000, 0x0000000089600000|100%| O| |TAMS 0x0000000089500000, 0x0000000089500000| Untracked
-| 74|0x0000000089600000, 0x0000000089700000, 0x0000000089700000|100%| O| |TAMS 0x0000000089600000, 0x0000000089600000| Untracked
-| 75|0x0000000089700000, 0x0000000089800000, 0x0000000089800000|100%| O| |TAMS 0x0000000089700000, 0x0000000089700000| Untracked
-| 76|0x0000000089800000, 0x0000000089900000, 0x0000000089900000|100%| O| |TAMS 0x0000000089800000, 0x0000000089800000| Untracked
-| 77|0x0000000089900000, 0x0000000089a00000, 0x0000000089a00000|100%| O| |TAMS 0x0000000089900000, 0x0000000089900000| Untracked
-| 78|0x0000000089a00000, 0x0000000089b00000, 0x0000000089b00000|100%| O| |TAMS 0x0000000089a00000, 0x0000000089a00000| Untracked
-| 79|0x0000000089b00000, 0x0000000089c00000, 0x0000000089c00000|100%| O| |TAMS 0x0000000089b00000, 0x0000000089b00000| Untracked
-| 80|0x0000000089c00000, 0x0000000089d00000, 0x0000000089d00000|100%| O| |TAMS 0x0000000089c00000, 0x0000000089c00000| Untracked
-| 81|0x0000000089d00000, 0x0000000089e00000, 0x0000000089e00000|100%| O| |TAMS 0x0000000089d00000, 0x0000000089d00000| Untracked
-| 82|0x0000000089e00000, 0x0000000089f00000, 0x0000000089f00000|100%| O| |TAMS 0x0000000089e00000, 0x0000000089e00000| Untracked
-| 83|0x0000000089f00000, 0x000000008a000000, 0x000000008a000000|100%| O| |TAMS 0x0000000089f00000, 0x0000000089f00000| Untracked
-| 84|0x000000008a000000, 0x000000008a100000, 0x000000008a100000|100%| O| |TAMS 0x000000008a000000, 0x000000008a000000| Untracked
-| 85|0x000000008a100000, 0x000000008a200000, 0x000000008a200000|100%| O| |TAMS 0x000000008a100000, 0x000000008a100000| Untracked
-| 86|0x000000008a200000, 0x000000008a300000, 0x000000008a300000|100%| O| |TAMS 0x000000008a200000, 0x000000008a200000| Untracked
-| 87|0x000000008a300000, 0x000000008a400000, 0x000000008a400000|100%| O| |TAMS 0x000000008a300000, 0x000000008a300000| Untracked
-| 88|0x000000008a400000, 0x000000008a500000, 0x000000008a500000|100%| O| |TAMS 0x000000008a400000, 0x000000008a400000| Untracked
-| 89|0x000000008a500000, 0x000000008a600000, 0x000000008a600000|100%| O| |TAMS 0x000000008a500000, 0x000000008a500000| Untracked
-| 90|0x000000008a600000, 0x000000008a700000, 0x000000008a700000|100%| O| |TAMS 0x000000008a600000, 0x000000008a600000| Untracked
-| 91|0x000000008a700000, 0x000000008a800000, 0x000000008a800000|100%| O| |TAMS 0x000000008a700000, 0x000000008a700000| Untracked
-| 92|0x000000008a800000, 0x000000008a900000, 0x000000008a900000|100%| O| |TAMS 0x000000008a800000, 0x000000008a800000| Untracked
-| 93|0x000000008a900000, 0x000000008aa00000, 0x000000008aa00000|100%| O| |TAMS 0x000000008a900000, 0x000000008a900000| Untracked
-| 94|0x000000008aa00000, 0x000000008ab00000, 0x000000008ab00000|100%| O| |TAMS 0x000000008aa00000, 0x000000008aa00000| Untracked
-| 95|0x000000008ab00000, 0x000000008ac00000, 0x000000008ac00000|100%| O| |TAMS 0x000000008ab00000, 0x000000008ab00000| Untracked
-| 96|0x000000008ac00000, 0x000000008ad00000, 0x000000008ad00000|100%| O| |TAMS 0x000000008ac00000, 0x000000008ac00000| Untracked
-| 97|0x000000008ad00000, 0x000000008ae00000, 0x000000008ae00000|100%| O| |TAMS 0x000000008ad00000, 0x000000008ad00000| Untracked
-| 98|0x000000008ae00000, 0x000000008af00000, 0x000000008af00000|100%| O| |TAMS 0x000000008ae00000, 0x000000008ae00000| Untracked
-| 99|0x000000008af00000, 0x000000008b000000, 0x000000008b000000|100%| O| |TAMS 0x000000008af00000, 0x000000008af00000| Untracked
-| 100|0x000000008b000000, 0x000000008b100000, 0x000000008b100000|100%| O| |TAMS 0x000000008b000000, 0x000000008b000000| Untracked
-| 101|0x000000008b100000, 0x000000008b200000, 0x000000008b200000|100%| O| |TAMS 0x000000008b100000, 0x000000008b100000| Untracked
-| 102|0x000000008b200000, 0x000000008b300000, 0x000000008b300000|100%| O| |TAMS 0x000000008b300000, 0x000000008b200000| Untracked
-| 103|0x000000008b300000, 0x000000008b400000, 0x000000008b400000|100%| O| |TAMS 0x000000008b400000, 0x000000008b300000| Untracked
-| 104|0x000000008b400000, 0x000000008b500000, 0x000000008b500000|100%| O| |TAMS 0x000000008b500000, 0x000000008b400000| Untracked
-| 105|0x000000008b500000, 0x000000008b600000, 0x000000008b600000|100%| O| |TAMS 0x000000008b500000, 0x000000008b500000| Untracked
-| 106|0x000000008b600000, 0x000000008b700000, 0x000000008b700000|100%| O| |TAMS 0x000000008b600000, 0x000000008b600000| Untracked
-| 107|0x000000008b700000, 0x000000008b800000, 0x000000008b800000|100%| O| |TAMS 0x000000008b700000, 0x000000008b700000| Untracked
-| 108|0x000000008b800000, 0x000000008b900000, 0x000000008b900000|100%| O| |TAMS 0x000000008b800000, 0x000000008b800000| Untracked
-| 109|0x000000008b900000, 0x000000008ba00000, 0x000000008ba00000|100%| O| |TAMS 0x000000008b900000, 0x000000008b900000| Untracked
-| 110|0x000000008ba00000, 0x000000008bb00000, 0x000000008bb00000|100%| O| |TAMS 0x000000008ba00000, 0x000000008ba00000| Untracked
-| 111|0x000000008bb00000, 0x000000008bc00000, 0x000000008bc00000|100%| O| |TAMS 0x000000008bb00000, 0x000000008bb00000| Untracked
-| 112|0x000000008bc00000, 0x000000008bd00000, 0x000000008bd00000|100%| O| |TAMS 0x000000008bc00000, 0x000000008bc00000| Untracked
-| 113|0x000000008bd00000, 0x000000008be00000, 0x000000008be00000|100%| O| |TAMS 0x000000008bd00000, 0x000000008bd00000| Untracked
-| 114|0x000000008be00000, 0x000000008bf00000, 0x000000008bf00000|100%| O| |TAMS 0x000000008be00000, 0x000000008be00000| Untracked
-| 115|0x000000008bf00000, 0x000000008c000000, 0x000000008c000000|100%| O| |TAMS 0x000000008bf00000, 0x000000008bf00000| Untracked
-| 116|0x000000008c000000, 0x000000008c100000, 0x000000008c100000|100%| O| |TAMS 0x000000008c000000, 0x000000008c000000| Untracked
-| 117|0x000000008c100000, 0x000000008c200000, 0x000000008c200000|100%| O| |TAMS 0x000000008c100000, 0x000000008c100000| Untracked
-| 118|0x000000008c200000, 0x000000008c300000, 0x000000008c300000|100%| O| |TAMS 0x000000008c200000, 0x000000008c200000| Untracked
-| 119|0x000000008c300000, 0x000000008c400000, 0x000000008c400000|100%| O| |TAMS 0x000000008c300000, 0x000000008c300000| Untracked
-| 120|0x000000008c400000, 0x000000008c500000, 0x000000008c500000|100%| O| |TAMS 0x000000008c400000, 0x000000008c400000| Untracked
-| 121|0x000000008c500000, 0x000000008c600000, 0x000000008c600000|100%| O| |TAMS 0x000000008c500000, 0x000000008c500000| Untracked
-| 122|0x000000008c600000, 0x000000008c700000, 0x000000008c700000|100%| O| |TAMS 0x000000008c600000, 0x000000008c600000| Untracked
-| 123|0x000000008c700000, 0x000000008c800000, 0x000000008c800000|100%| O| |TAMS 0x000000008c700000, 0x000000008c700000| Untracked
-| 124|0x000000008c800000, 0x000000008c900000, 0x000000008c900000|100%| O| |TAMS 0x000000008c800000, 0x000000008c800000| Untracked
-| 125|0x000000008c900000, 0x000000008ca00000, 0x000000008ca00000|100%| O| |TAMS 0x000000008c900000, 0x000000008c900000| Untracked
-| 126|0x000000008ca00000, 0x000000008cb00000, 0x000000008cb00000|100%| O| |TAMS 0x000000008ca00000, 0x000000008ca00000| Untracked
-| 127|0x000000008cb00000, 0x000000008cc00000, 0x000000008cc00000|100%| O| |TAMS 0x000000008cb00000, 0x000000008cb00000| Untracked
-| 128|0x000000008cc00000, 0x000000008cd00000, 0x000000008cd00000|100%| O| |TAMS 0x000000008cc00000, 0x000000008cc00000| Untracked
-| 129|0x000000008cd00000, 0x000000008ce00000, 0x000000008ce00000|100%| O| |TAMS 0x000000008cd00000, 0x000000008cd00000| Untracked
-| 130|0x000000008ce00000, 0x000000008cf00000, 0x000000008cf00000|100%| O| |TAMS 0x000000008ce00000, 0x000000008ce00000| Untracked
-| 131|0x000000008cf00000, 0x000000008d000000, 0x000000008d000000|100%| O| |TAMS 0x000000008cf00000, 0x000000008cf00000| Untracked
-| 132|0x000000008d000000, 0x000000008d100000, 0x000000008d100000|100%| O| |TAMS 0x000000008d000000, 0x000000008d000000| Untracked
-| 133|0x000000008d100000, 0x000000008d200000, 0x000000008d200000|100%| O| |TAMS 0x000000008d100000, 0x000000008d100000| Untracked
-| 134|0x000000008d200000, 0x000000008d300000, 0x000000008d300000|100%| O| |TAMS 0x000000008d200000, 0x000000008d200000| Untracked
-| 135|0x000000008d300000, 0x000000008d400000, 0x000000008d400000|100%| O| |TAMS 0x000000008d300000, 0x000000008d300000| Untracked
-| 136|0x000000008d400000, 0x000000008d500000, 0x000000008d500000|100%| O| |TAMS 0x000000008d400000, 0x000000008d400000| Untracked
-| 137|0x000000008d500000, 0x000000008d600000, 0x000000008d600000|100%| O| |TAMS 0x000000008d500000, 0x000000008d500000| Untracked
-| 138|0x000000008d600000, 0x000000008d700000, 0x000000008d700000|100%| O| |TAMS 0x000000008d600000, 0x000000008d600000| Untracked
-| 139|0x000000008d700000, 0x000000008d800000, 0x000000008d800000|100%| O| |TAMS 0x000000008d700000, 0x000000008d700000| Untracked
-| 140|0x000000008d800000, 0x000000008d900000, 0x000000008d900000|100%| O| |TAMS 0x000000008d800000, 0x000000008d800000| Untracked
-| 141|0x000000008d900000, 0x000000008da00000, 0x000000008da00000|100%| O| |TAMS 0x000000008d900000, 0x000000008d900000| Untracked
-| 142|0x000000008da00000, 0x000000008db00000, 0x000000008db00000|100%| O| |TAMS 0x000000008da00000, 0x000000008da00000| Untracked
-| 143|0x000000008db00000, 0x000000008dc00000, 0x000000008dc00000|100%| O| |TAMS 0x000000008db00000, 0x000000008db00000| Untracked
-| 144|0x000000008dc00000, 0x000000008dd00000, 0x000000008dd00000|100%| O| |TAMS 0x000000008dc00000, 0x000000008dc00000| Untracked
-| 145|0x000000008dd00000, 0x000000008de00000, 0x000000008de00000|100%| O| |TAMS 0x000000008dd00000, 0x000000008dd00000| Untracked
-| 146|0x000000008de00000, 0x000000008df00000, 0x000000008df00000|100%| O| |TAMS 0x000000008de00000, 0x000000008de00000| Untracked
-| 147|0x000000008df00000, 0x000000008e000000, 0x000000008e000000|100%| O| |TAMS 0x000000008df00000, 0x000000008df00000| Untracked
-| 148|0x000000008e000000, 0x000000008e100000, 0x000000008e100000|100%| O| |TAMS 0x000000008e000000, 0x000000008e000000| Untracked
-| 149|0x000000008e100000, 0x000000008e200000, 0x000000008e200000|100%| O| |TAMS 0x000000008e100000, 0x000000008e100000| Untracked
-| 150|0x000000008e200000, 0x000000008e300000, 0x000000008e300000|100%| O| |TAMS 0x000000008e200000, 0x000000008e200000| Untracked
-| 151|0x000000008e300000, 0x000000008e400000, 0x000000008e400000|100%| O| |TAMS 0x000000008e300000, 0x000000008e300000| Untracked
-| 152|0x000000008e400000, 0x000000008e500000, 0x000000008e500000|100%| O| |TAMS 0x000000008e400000, 0x000000008e400000| Untracked
-| 153|0x000000008e500000, 0x000000008e600000, 0x000000008e600000|100%| O| |TAMS 0x000000008e500000, 0x000000008e500000| Untracked
-| 154|0x000000008e600000, 0x000000008e700000, 0x000000008e700000|100%| O| |TAMS 0x000000008e600000, 0x000000008e600000| Untracked
-| 155|0x000000008e700000, 0x000000008e800000, 0x000000008e800000|100%| O| |TAMS 0x000000008e700000, 0x000000008e700000| Untracked
-| 156|0x000000008e800000, 0x000000008e900000, 0x000000008e900000|100%| O| |TAMS 0x000000008e800000, 0x000000008e800000| Untracked
-| 157|0x000000008e900000, 0x000000008ea00000, 0x000000008ea00000|100%| O| |TAMS 0x000000008e900000, 0x000000008e900000| Untracked
-| 158|0x000000008ea00000, 0x000000008eb00000, 0x000000008eb00000|100%| O| |TAMS 0x000000008ea00000, 0x000000008ea00000| Untracked
-| 159|0x000000008eb00000, 0x000000008ec00000, 0x000000008ec00000|100%| O| |TAMS 0x000000008eb00000, 0x000000008eb00000| Untracked
-| 160|0x000000008ec00000, 0x000000008ed00000, 0x000000008ed00000|100%| O| |TAMS 0x000000008ec00000, 0x000000008ec00000| Untracked
-| 161|0x000000008ed00000, 0x000000008ee00000, 0x000000008ee00000|100%| O| |TAMS 0x000000008ed00000, 0x000000008ed00000| Untracked
-| 162|0x000000008ee00000, 0x000000008ef00000, 0x000000008ef00000|100%| O| |TAMS 0x000000008ee00000, 0x000000008ee00000| Untracked
-| 163|0x000000008ef00000, 0x000000008f000000, 0x000000008f000000|100%| O| |TAMS 0x000000008ef00000, 0x000000008ef00000| Untracked
-| 164|0x000000008f000000, 0x000000008f100000, 0x000000008f100000|100%| O| |TAMS 0x000000008f000000, 0x000000008f000000| Untracked
-| 165|0x000000008f100000, 0x000000008f200000, 0x000000008f200000|100%| O| |TAMS 0x000000008f100000, 0x000000008f100000| Untracked
-| 166|0x000000008f200000, 0x000000008f300000, 0x000000008f300000|100%| O| |TAMS 0x000000008f200000, 0x000000008f200000| Untracked
-| 167|0x000000008f300000, 0x000000008f400000, 0x000000008f400000|100%| O| |TAMS 0x000000008f300000, 0x000000008f300000| Untracked
-| 168|0x000000008f400000, 0x000000008f500000, 0x000000008f500000|100%| O| |TAMS 0x000000008f400000, 0x000000008f400000| Untracked
-| 169|0x000000008f500000, 0x000000008f600000, 0x000000008f600000|100%| O| |TAMS 0x000000008f500000, 0x000000008f500000| Untracked
-| 170|0x000000008f600000, 0x000000008f700000, 0x000000008f700000|100%| O| |TAMS 0x000000008f600000, 0x000000008f600000| Untracked
-| 171|0x000000008f700000, 0x000000008f800000, 0x000000008f800000|100%| O| |TAMS 0x000000008f700000, 0x000000008f700000| Untracked
-| 172|0x000000008f800000, 0x000000008f900000, 0x000000008f900000|100%| O| |TAMS 0x000000008f800000, 0x000000008f800000| Untracked
-| 173|0x000000008f900000, 0x000000008fa00000, 0x000000008fa00000|100%| O| |TAMS 0x000000008f900000, 0x000000008f900000| Untracked
-| 174|0x000000008fa00000, 0x000000008fb00000, 0x000000008fb00000|100%| O| |TAMS 0x000000008fa00000, 0x000000008fa00000| Untracked
-| 175|0x000000008fb00000, 0x000000008fc00000, 0x000000008fc00000|100%| O| |TAMS 0x000000008fb00000, 0x000000008fb00000| Untracked
-| 176|0x000000008fc00000, 0x000000008fd00000, 0x000000008fd00000|100%| O| |TAMS 0x000000008fc00000, 0x000000008fc00000| Untracked
-| 177|0x000000008fd00000, 0x000000008fe00000, 0x000000008fe00000|100%| O| |TAMS 0x000000008fd00000, 0x000000008fd00000| Untracked
-| 178|0x000000008fe00000, 0x000000008ff00000, 0x000000008ff00000|100%| O| |TAMS 0x000000008fe00000, 0x000000008fe00000| Untracked
-| 179|0x000000008ff00000, 0x0000000090000000, 0x0000000090000000|100%| O| |TAMS 0x000000008ff00000, 0x000000008ff00000| Untracked
-| 180|0x0000000090000000, 0x0000000090100000, 0x0000000090100000|100%| O| |TAMS 0x0000000090000000, 0x0000000090000000| Untracked
-| 181|0x0000000090100000, 0x0000000090200000, 0x0000000090200000|100%| O| |TAMS 0x0000000090100000, 0x0000000090100000| Untracked
-| 182|0x0000000090200000, 0x0000000090300000, 0x0000000090300000|100%| O| |TAMS 0x0000000090200000, 0x0000000090200000| Untracked
-| 183|0x0000000090300000, 0x0000000090400000, 0x0000000090400000|100%| O| |TAMS 0x0000000090300000, 0x0000000090300000| Untracked
-| 184|0x0000000090400000, 0x0000000090500000, 0x0000000090500000|100%| O| |TAMS 0x0000000090500000, 0x0000000090400000| Untracked
-| 185|0x0000000090500000, 0x0000000090600000, 0x0000000090600000|100%| O| |TAMS 0x0000000090600000, 0x0000000090500000| Untracked
-| 186|0x0000000090600000, 0x0000000090700000, 0x0000000090700000|100%| O| |TAMS 0x0000000090700000, 0x0000000090600000| Untracked
-| 187|0x0000000090700000, 0x0000000090800000, 0x0000000090800000|100%| O| |TAMS 0x0000000090800000, 0x0000000090700000| Untracked
-| 188|0x0000000090800000, 0x0000000090900000, 0x0000000090900000|100%| O| |TAMS 0x0000000090900000, 0x0000000090800000| Untracked
-| 189|0x0000000090900000, 0x0000000090a00000, 0x0000000090a00000|100%| O| |TAMS 0x0000000090a00000, 0x0000000090900000| Untracked
-| 190|0x0000000090a00000, 0x0000000090b00000, 0x0000000090b00000|100%| O| |TAMS 0x0000000090b00000, 0x0000000090a00000| Untracked
-| 191|0x0000000090b00000, 0x0000000090c00000, 0x0000000090c00000|100%| O| |TAMS 0x0000000090c00000, 0x0000000090b00000| Untracked
-| 192|0x0000000090c00000, 0x0000000090d00000, 0x0000000090d00000|100%| O| |TAMS 0x0000000090d00000, 0x0000000090c00000| Untracked
-| 193|0x0000000090d00000, 0x0000000090e00000, 0x0000000090e00000|100%| O| |TAMS 0x0000000090e00000, 0x0000000090d00000| Untracked
-| 194|0x0000000090e00000, 0x0000000090f00000, 0x0000000090f00000|100%| O| |TAMS 0x0000000090ed9400, 0x0000000090e00000| Untracked
-| 195|0x0000000090f00000, 0x0000000091000000, 0x0000000091000000|100%| O| |TAMS 0x0000000090f00000, 0x0000000090f00000| Untracked
-| 196|0x0000000091000000, 0x0000000091100000, 0x0000000091100000|100%| O| |TAMS 0x0000000091000000, 0x0000000091000000| Untracked
-| 197|0x0000000091100000, 0x0000000091200000, 0x0000000091200000|100%| O| |TAMS 0x0000000091100000, 0x0000000091100000| Untracked
-| 198|0x0000000091200000, 0x0000000091300000, 0x0000000091300000|100%| O| |TAMS 0x0000000091200000, 0x0000000091200000| Untracked
-| 199|0x0000000091300000, 0x0000000091400000, 0x0000000091400000|100%| O| |TAMS 0x0000000091300000, 0x0000000091300000| Untracked
-| 200|0x0000000091400000, 0x0000000091500000, 0x0000000091500000|100%| O| |TAMS 0x0000000091400000, 0x0000000091400000| Untracked
-| 201|0x0000000091500000, 0x0000000091600000, 0x0000000091600000|100%| O| |TAMS 0x0000000091500000, 0x0000000091500000| Untracked
-| 202|0x0000000091600000, 0x0000000091700000, 0x0000000091700000|100%| O| |TAMS 0x0000000091600000, 0x0000000091600000| Untracked
-| 203|0x0000000091700000, 0x0000000091800000, 0x0000000091800000|100%| O| |TAMS 0x0000000091700000, 0x0000000091700000| Untracked
-| 204|0x0000000091800000, 0x0000000091900000, 0x0000000091900000|100%| O| |TAMS 0x0000000091800000, 0x0000000091800000| Untracked
-| 205|0x0000000091900000, 0x0000000091a00000, 0x0000000091a00000|100%| O| |TAMS 0x0000000091900000, 0x0000000091900000| Untracked
-| 206|0x0000000091a00000, 0x0000000091b00000, 0x0000000091b00000|100%| O| |TAMS 0x0000000091a00000, 0x0000000091a00000| Untracked
-| 207|0x0000000091b00000, 0x0000000091c00000, 0x0000000091c00000|100%| O| |TAMS 0x0000000091b00000, 0x0000000091b00000| Untracked
-| 208|0x0000000091c00000, 0x0000000091d00000, 0x0000000091d00000|100%| O| |TAMS 0x0000000091c00000, 0x0000000091c00000| Untracked
-| 209|0x0000000091d00000, 0x0000000091e00000, 0x0000000091e00000|100%| O| |TAMS 0x0000000091d00000, 0x0000000091d00000| Untracked
-| 210|0x0000000091e00000, 0x0000000091f00000, 0x0000000091f00000|100%| O| |TAMS 0x0000000091e00000, 0x0000000091e00000| Untracked
-| 211|0x0000000091f00000, 0x0000000092000000, 0x0000000092000000|100%| O| |TAMS 0x0000000091f00000, 0x0000000091f00000| Untracked
-| 212|0x0000000092000000, 0x0000000092100000, 0x0000000092100000|100%| O| |TAMS 0x0000000092000000, 0x0000000092000000| Untracked
-| 213|0x0000000092100000, 0x0000000092200000, 0x0000000092200000|100%| O| |TAMS 0x0000000092100000, 0x0000000092100000| Untracked
-| 214|0x0000000092200000, 0x0000000092300000, 0x0000000092300000|100%| O| |TAMS 0x0000000092200000, 0x0000000092200000| Untracked
-| 215|0x0000000092300000, 0x0000000092400000, 0x0000000092400000|100%| O| |TAMS 0x0000000092300000, 0x0000000092300000| Untracked
-| 216|0x0000000092400000, 0x0000000092500000, 0x0000000092500000|100%| O| |TAMS 0x0000000092400000, 0x0000000092400000| Untracked
-| 217|0x0000000092500000, 0x0000000092600000, 0x0000000092600000|100%| O| |TAMS 0x0000000092500000, 0x0000000092500000| Untracked
-| 218|0x0000000092600000, 0x0000000092700000, 0x0000000092700000|100%| O| |TAMS 0x0000000092600000, 0x0000000092600000| Untracked
-| 219|0x0000000092700000, 0x0000000092800000, 0x0000000092800000|100%| O| |TAMS 0x0000000092700000, 0x0000000092700000| Untracked
-| 220|0x0000000092800000, 0x0000000092900000, 0x0000000092900000|100%| O| |TAMS 0x0000000092800000, 0x0000000092800000| Untracked
-| 221|0x0000000092900000, 0x0000000092a00000, 0x0000000092a00000|100%| O| |TAMS 0x0000000092900000, 0x0000000092900000| Untracked
-| 222|0x0000000092a00000, 0x0000000092b00000, 0x0000000092b00000|100%| O| |TAMS 0x0000000092a00000, 0x0000000092a00000| Untracked
-| 223|0x0000000092b00000, 0x0000000092c00000, 0x0000000092c00000|100%| O| |TAMS 0x0000000092b00000, 0x0000000092b00000| Untracked
-| 224|0x0000000092c00000, 0x0000000092c5ba00, 0x0000000092d00000| 35%| O| |TAMS 0x0000000092c00000, 0x0000000092c00000| Untracked
-| 225|0x0000000092d00000, 0x0000000092e00000, 0x0000000092e00000|100%| O| |TAMS 0x0000000092d00000, 0x0000000092d00000| Untracked
-| 226|0x0000000092e00000, 0x0000000092f00000, 0x0000000092f00000|100%| O| |TAMS 0x0000000092e00000, 0x0000000092e00000| Untracked
-| 227|0x0000000092f00000, 0x0000000093000000, 0x0000000093000000|100%| O| |TAMS 0x0000000092f00000, 0x0000000092f00000| Untracked
-| 228|0x0000000093000000, 0x0000000093100000, 0x0000000093100000|100%| O| |TAMS 0x0000000093000000, 0x0000000093000000| Untracked
-| 229|0x0000000093100000, 0x0000000093200000, 0x0000000093200000|100%| O| |TAMS 0x0000000093100000, 0x0000000093100000| Untracked
-| 230|0x0000000093200000, 0x0000000093300000, 0x0000000093300000|100%| O| |TAMS 0x0000000093200000, 0x0000000093200000| Untracked
-| 231|0x0000000093300000, 0x0000000093400000, 0x0000000093400000|100%| O| |TAMS 0x0000000093300000, 0x0000000093300000| Untracked
-| 232|0x0000000093400000, 0x0000000093500000, 0x0000000093500000|100%| O| |TAMS 0x0000000093400000, 0x0000000093400000| Untracked
-| 233|0x0000000093500000, 0x0000000093600000, 0x0000000093600000|100%| O| |TAMS 0x0000000093500000, 0x0000000093500000| Untracked
-| 234|0x0000000093600000, 0x0000000093700000, 0x0000000093700000|100%| O| |TAMS 0x0000000093600000, 0x0000000093600000| Untracked
-| 235|0x0000000093700000, 0x0000000093800000, 0x0000000093800000|100%| O| |TAMS 0x0000000093700000, 0x0000000093700000| Untracked
-| 236|0x0000000093800000, 0x0000000093900000, 0x0000000093900000|100%| O| |TAMS 0x0000000093800000, 0x0000000093800000| Untracked
-| 237|0x0000000093900000, 0x0000000093a00000, 0x0000000093a00000|100%| O| |TAMS 0x0000000093900000, 0x0000000093900000| Untracked
-| 238|0x0000000093a00000, 0x0000000093b00000, 0x0000000093b00000|100%| O| |TAMS 0x0000000093a00000, 0x0000000093a00000| Untracked
-| 239|0x0000000093b00000, 0x0000000093c00000, 0x0000000093c00000|100%| O| |TAMS 0x0000000093b00000, 0x0000000093b00000| Untracked
-| 240|0x0000000093c00000, 0x0000000093d00000, 0x0000000093d00000|100%| O| |TAMS 0x0000000093c00000, 0x0000000093c00000| Untracked
-| 241|0x0000000093d00000, 0x0000000093e00000, 0x0000000093e00000|100%| O| |TAMS 0x0000000093d00000, 0x0000000093d00000| Untracked
-| 242|0x0000000093e00000, 0x0000000093f00000, 0x0000000093f00000|100%| O| |TAMS 0x0000000093e00000, 0x0000000093e00000| Untracked
-| 243|0x0000000093f00000, 0x0000000094000000, 0x0000000094000000|100%| O| |TAMS 0x0000000093f00000, 0x0000000093f00000| Untracked
-| 244|0x0000000094000000, 0x0000000094100000, 0x0000000094100000|100%| O| |TAMS 0x0000000094000000, 0x0000000094000000| Untracked
-| 245|0x0000000094100000, 0x0000000094200000, 0x0000000094200000|100%| O| |TAMS 0x0000000094100000, 0x0000000094100000| Untracked
-| 246|0x0000000094200000, 0x0000000094300000, 0x0000000094300000|100%| O| |TAMS 0x0000000094200000, 0x0000000094200000| Untracked
-| 247|0x0000000094300000, 0x0000000094400000, 0x0000000094400000|100%| O| |TAMS 0x0000000094300000, 0x0000000094300000| Untracked
-| 248|0x0000000094400000, 0x0000000094500000, 0x0000000094500000|100%| O| |TAMS 0x0000000094400000, 0x0000000094400000| Untracked
-| 249|0x0000000094500000, 0x0000000094600000, 0x0000000094600000|100%| O| |TAMS 0x0000000094500000, 0x0000000094500000| Untracked
-| 250|0x0000000094600000, 0x0000000094700000, 0x0000000094700000|100%| O| |TAMS 0x0000000094600000, 0x0000000094600000| Untracked
-| 251|0x0000000094700000, 0x0000000094800000, 0x0000000094800000|100%| O| |TAMS 0x0000000094700000, 0x0000000094700000| Untracked
-| 252|0x0000000094800000, 0x0000000094900000, 0x0000000094900000|100%| O| |TAMS 0x0000000094800000, 0x0000000094800000| Untracked
-| 253|0x0000000094900000, 0x0000000094a00000, 0x0000000094a00000|100%| O| |TAMS 0x0000000094900000, 0x0000000094900000| Untracked
-| 254|0x0000000094a00000, 0x0000000094b00000, 0x0000000094b00000|100%| O| |TAMS 0x0000000094a00000, 0x0000000094a00000| Untracked
-| 255|0x0000000094b00000, 0x0000000094c00000, 0x0000000094c00000|100%| O| |TAMS 0x0000000094b00000, 0x0000000094b00000| Untracked
-| 256|0x0000000094c00000, 0x0000000094d00000, 0x0000000094d00000|100%| O| |TAMS 0x0000000094c00000, 0x0000000094c00000| Untracked
-| 257|0x0000000094d00000, 0x0000000094e00000, 0x0000000094e00000|100%| O| |TAMS 0x0000000094d00000, 0x0000000094d00000| Untracked
-| 258|0x0000000094e00000, 0x0000000094f00000, 0x0000000094f00000|100%| O| |TAMS 0x0000000094e00000, 0x0000000094e00000| Untracked
-| 259|0x0000000094f00000, 0x0000000095000000, 0x0000000095000000|100%| O| |TAMS 0x0000000094f00000, 0x0000000094f00000| Untracked
-| 260|0x0000000095000000, 0x0000000095100000, 0x0000000095100000|100%| O| |TAMS 0x0000000095000000, 0x0000000095000000| Untracked
-| 261|0x0000000095100000, 0x0000000095200000, 0x0000000095200000|100%| O| |TAMS 0x0000000095100000, 0x0000000095100000| Untracked
-| 262|0x0000000095200000, 0x0000000095300000, 0x0000000095300000|100%| O| |TAMS 0x0000000095200000, 0x0000000095200000| Untracked
-| 263|0x0000000095300000, 0x0000000095400000, 0x0000000095400000|100%| O| |TAMS 0x0000000095300000, 0x0000000095300000| Untracked
-| 264|0x0000000095400000, 0x0000000095500000, 0x0000000095500000|100%| O| |TAMS 0x0000000095400000, 0x0000000095400000| Untracked
-| 265|0x0000000095500000, 0x0000000095600000, 0x0000000095600000|100%| O| |TAMS 0x0000000095500000, 0x0000000095500000| Untracked
-| 266|0x0000000095600000, 0x0000000095700000, 0x0000000095700000|100%| O| |TAMS 0x0000000095600000, 0x0000000095600000| Untracked
-| 267|0x0000000095700000, 0x0000000095800000, 0x0000000095800000|100%| O| |TAMS 0x0000000095700000, 0x0000000095700000| Untracked
-| 268|0x0000000095800000, 0x0000000095900000, 0x0000000095900000|100%| O| |TAMS 0x0000000095800000, 0x0000000095800000| Untracked
-| 269|0x0000000095900000, 0x0000000095a00000, 0x0000000095a00000|100%| O| |TAMS 0x0000000095900000, 0x0000000095900000| Untracked
-| 270|0x0000000095a00000, 0x0000000095b00000, 0x0000000095b00000|100%| O| |TAMS 0x0000000095a00000, 0x0000000095a00000| Untracked
-| 271|0x0000000095b00000, 0x0000000095c00000, 0x0000000095c00000|100%| O| |TAMS 0x0000000095b00000, 0x0000000095b00000| Untracked
-| 272|0x0000000095c00000, 0x0000000095d00000, 0x0000000095d00000|100%| O| |TAMS 0x0000000095c00000, 0x0000000095c00000| Untracked
-| 273|0x0000000095d00000, 0x0000000095e00000, 0x0000000095e00000|100%| O| |TAMS 0x0000000095d00000, 0x0000000095d00000| Untracked
-| 274|0x0000000095e00000, 0x0000000095f00000, 0x0000000095f00000|100%| O| |TAMS 0x0000000095e00000, 0x0000000095e00000| Untracked
-| 275|0x0000000095f00000, 0x0000000096000000, 0x0000000096000000|100%| O| |TAMS 0x0000000095f00000, 0x0000000095f00000| Untracked
-| 276|0x0000000096000000, 0x0000000096100000, 0x0000000096100000|100%| O| |TAMS 0x0000000096000000, 0x0000000096000000| Untracked
-| 277|0x0000000096100000, 0x0000000096200000, 0x0000000096200000|100%| O| |TAMS 0x0000000096100000, 0x0000000096100000| Untracked
-| 278|0x0000000096200000, 0x0000000096300000, 0x0000000096300000|100%| O| |TAMS 0x0000000096200000, 0x0000000096200000| Untracked
-| 279|0x0000000096300000, 0x0000000096400000, 0x0000000096400000|100%| O| |TAMS 0x0000000096300000, 0x0000000096300000| Untracked
-| 280|0x0000000096400000, 0x0000000096500000, 0x0000000096500000|100%| O| |TAMS 0x0000000096400000, 0x0000000096400000| Untracked
-| 281|0x0000000096500000, 0x0000000096600000, 0x0000000096600000|100%| O| |TAMS 0x0000000096500000, 0x0000000096500000| Untracked
-| 282|0x0000000096600000, 0x0000000096700000, 0x0000000096700000|100%| O| |TAMS 0x0000000096600000, 0x0000000096600000| Untracked
-| 283|0x0000000096700000, 0x0000000096800000, 0x0000000096800000|100%| O| |TAMS 0x0000000096700000, 0x0000000096700000| Untracked
-| 284|0x0000000096800000, 0x0000000096900000, 0x0000000096900000|100%| O| |TAMS 0x0000000096800000, 0x0000000096800000| Untracked
-| 285|0x0000000096900000, 0x0000000096a00000, 0x0000000096a00000|100%| O| |TAMS 0x0000000096900000, 0x0000000096900000| Untracked
-| 286|0x0000000096a00000, 0x0000000096b00000, 0x0000000096b00000|100%| O| |TAMS 0x0000000096a00000, 0x0000000096a00000| Untracked
-| 287|0x0000000096b00000, 0x0000000096c00000, 0x0000000096c00000|100%| O| |TAMS 0x0000000096b00000, 0x0000000096b00000| Untracked
-| 288|0x0000000096c00000, 0x0000000096d00000, 0x0000000096d00000|100%| O| |TAMS 0x0000000096c00000, 0x0000000096c00000| Untracked
-| 289|0x0000000096d00000, 0x0000000096e00000, 0x0000000096e00000|100%| O| |TAMS 0x0000000096d00000, 0x0000000096d00000| Untracked
-| 290|0x0000000096e00000, 0x0000000096f00000, 0x0000000096f00000|100%| O| |TAMS 0x0000000096e00000, 0x0000000096e00000| Untracked
-| 291|0x0000000096f00000, 0x0000000097000000, 0x0000000097000000|100%| O| |TAMS 0x0000000096f00000, 0x0000000096f00000| Untracked
-| 292|0x0000000097000000, 0x0000000097100000, 0x0000000097100000|100%| O| |TAMS 0x0000000097000000, 0x0000000097000000| Untracked
-| 293|0x0000000097100000, 0x0000000097200000, 0x0000000097200000|100%| O| |TAMS 0x0000000097100000, 0x0000000097100000| Untracked
-| 294|0x0000000097200000, 0x0000000097300000, 0x0000000097300000|100%| O| |TAMS 0x0000000097200000, 0x0000000097200000| Untracked
-| 295|0x0000000097300000, 0x0000000097400000, 0x0000000097400000|100%| O| |TAMS 0x0000000097300000, 0x0000000097300000| Untracked
-| 296|0x0000000097400000, 0x0000000097500000, 0x0000000097500000|100%| O| |TAMS 0x0000000097400000, 0x0000000097400000| Untracked
-| 297|0x0000000097500000, 0x0000000097600000, 0x0000000097600000|100%| O| |TAMS 0x0000000097500000, 0x0000000097500000| Untracked
-| 298|0x0000000097600000, 0x0000000097700000, 0x0000000097700000|100%| O| |TAMS 0x0000000097600000, 0x0000000097600000| Untracked
-| 299|0x0000000097700000, 0x0000000097800000, 0x0000000097800000|100%| O| |TAMS 0x0000000097700000, 0x0000000097700000| Untracked
-| 300|0x0000000097800000, 0x0000000097900000, 0x0000000097900000|100%| O| |TAMS 0x0000000097800000, 0x0000000097800000| Untracked
-| 301|0x0000000097900000, 0x0000000097a00000, 0x0000000097a00000|100%| O| |TAMS 0x0000000097900000, 0x0000000097900000| Untracked
-| 302|0x0000000097a00000, 0x0000000097b00000, 0x0000000097b00000|100%| O| |TAMS 0x0000000097a00000, 0x0000000097a00000| Untracked
-| 303|0x0000000097b00000, 0x0000000097c00000, 0x0000000097c00000|100%| O| |TAMS 0x0000000097b00000, 0x0000000097b00000| Untracked
-| 304|0x0000000097c00000, 0x0000000097d00000, 0x0000000097d00000|100%| O| |TAMS 0x0000000097c00000, 0x0000000097c00000| Untracked
-| 305|0x0000000097d00000, 0x0000000097e00000, 0x0000000097e00000|100%| O| |TAMS 0x0000000097d00000, 0x0000000097d00000| Untracked
-| 306|0x0000000097e00000, 0x0000000097f00000, 0x0000000097f00000|100%| O| |TAMS 0x0000000097e00000, 0x0000000097e00000| Untracked
-| 307|0x0000000097f00000, 0x0000000098000000, 0x0000000098000000|100%| O| |TAMS 0x0000000097f00000, 0x0000000097f00000| Untracked
-| 308|0x0000000098000000, 0x0000000098100000, 0x0000000098100000|100%| O| |TAMS 0x0000000098000000, 0x0000000098000000| Untracked
-| 309|0x0000000098100000, 0x0000000098200000, 0x0000000098200000|100%| O| |TAMS 0x0000000098100000, 0x0000000098100000| Untracked
-| 310|0x0000000098200000, 0x0000000098300000, 0x0000000098300000|100%| O| |TAMS 0x0000000098200000, 0x0000000098200000| Untracked
-| 311|0x0000000098300000, 0x0000000098400000, 0x0000000098400000|100%| O| |TAMS 0x0000000098300000, 0x0000000098300000| Untracked
-| 312|0x0000000098400000, 0x0000000098500000, 0x0000000098500000|100%| O| |TAMS 0x0000000098400000, 0x0000000098400000| Untracked
-| 313|0x0000000098500000, 0x0000000098600000, 0x0000000098600000|100%| O| |TAMS 0x0000000098500000, 0x0000000098500000| Untracked
-| 314|0x0000000098600000, 0x0000000098700000, 0x0000000098700000|100%| O| |TAMS 0x0000000098600000, 0x0000000098600000| Untracked
-| 315|0x0000000098700000, 0x0000000098800000, 0x0000000098800000|100%| O| |TAMS 0x0000000098700000, 0x0000000098700000| Untracked
-| 316|0x0000000098800000, 0x0000000098900000, 0x0000000098900000|100%| O| |TAMS 0x0000000098800000, 0x0000000098800000| Untracked
-| 317|0x0000000098900000, 0x0000000098a00000, 0x0000000098a00000|100%| O| |TAMS 0x0000000098900000, 0x0000000098900000| Untracked
-| 318|0x0000000098a00000, 0x0000000098b00000, 0x0000000098b00000|100%| O| |TAMS 0x0000000098a00000, 0x0000000098a00000| Untracked
-| 319|0x0000000098b00000, 0x0000000098c00000, 0x0000000098c00000|100%| O| |TAMS 0x0000000098b00000, 0x0000000098b00000| Untracked
-| 320|0x0000000098c00000, 0x0000000098d00000, 0x0000000098d00000|100%| O| |TAMS 0x0000000098c00000, 0x0000000098c00000| Untracked
-| 321|0x0000000098d00000, 0x0000000098e00000, 0x0000000098e00000|100%| O| |TAMS 0x0000000098d00000, 0x0000000098d00000| Untracked
-| 322|0x0000000098e00000, 0x0000000098f00000, 0x0000000098f00000|100%| O| |TAMS 0x0000000098e00000, 0x0000000098e00000| Untracked
-| 323|0x0000000098f00000, 0x0000000099000000, 0x0000000099000000|100%| O| |TAMS 0x0000000098f00000, 0x0000000098f00000| Untracked
-| 324|0x0000000099000000, 0x0000000099100000, 0x0000000099100000|100%| O| |TAMS 0x0000000099000000, 0x0000000099000000| Untracked
-| 325|0x0000000099100000, 0x0000000099200000, 0x0000000099200000|100%| O| |TAMS 0x0000000099100000, 0x0000000099100000| Untracked
-| 326|0x0000000099200000, 0x0000000099300000, 0x0000000099300000|100%| O| |TAMS 0x0000000099200000, 0x0000000099200000| Untracked
-| 327|0x0000000099300000, 0x0000000099400000, 0x0000000099400000|100%| O| |TAMS 0x0000000099300000, 0x0000000099300000| Untracked
-| 328|0x0000000099400000, 0x0000000099500000, 0x0000000099500000|100%| O| |TAMS 0x0000000099400000, 0x0000000099400000| Untracked
-| 329|0x0000000099500000, 0x0000000099600000, 0x0000000099600000|100%| O| |TAMS 0x0000000099500000, 0x0000000099500000| Untracked
-| 330|0x0000000099600000, 0x0000000099700000, 0x0000000099700000|100%| O| |TAMS 0x0000000099600000, 0x0000000099600000| Untracked
-| 331|0x0000000099700000, 0x0000000099800000, 0x0000000099800000|100%| O| |TAMS 0x0000000099700000, 0x0000000099700000| Untracked
-| 332|0x0000000099800000, 0x0000000099900000, 0x0000000099900000|100%| O| |TAMS 0x0000000099800000, 0x0000000099800000| Untracked
-| 333|0x0000000099900000, 0x0000000099a00000, 0x0000000099a00000|100%| O| |TAMS 0x0000000099900000, 0x0000000099900000| Untracked
-| 334|0x0000000099a00000, 0x0000000099b00000, 0x0000000099b00000|100%| O| |TAMS 0x0000000099a00000, 0x0000000099a00000| Untracked
-| 335|0x0000000099b00000, 0x0000000099c00000, 0x0000000099c00000|100%| O| |TAMS 0x0000000099b00000, 0x0000000099b00000| Untracked
-| 336|0x0000000099c00000, 0x0000000099d00000, 0x0000000099d00000|100%| O| |TAMS 0x0000000099c00000, 0x0000000099c00000| Untracked
-| 337|0x0000000099d00000, 0x0000000099e00000, 0x0000000099e00000|100%| O| |TAMS 0x0000000099d00000, 0x0000000099d00000| Untracked
-| 338|0x0000000099e00000, 0x0000000099f00000, 0x0000000099f00000|100%| O| |TAMS 0x0000000099e00000, 0x0000000099e00000| Untracked
-| 339|0x0000000099f00000, 0x000000009a000000, 0x000000009a000000|100%| O| |TAMS 0x0000000099f00000, 0x0000000099f00000| Untracked
-| 340|0x000000009a000000, 0x000000009a100000, 0x000000009a100000|100%| O| |TAMS 0x000000009a000000, 0x000000009a000000| Untracked
-| 341|0x000000009a100000, 0x000000009a200000, 0x000000009a200000|100%| O| |TAMS 0x000000009a100000, 0x000000009a100000| Untracked
-| 342|0x000000009a200000, 0x000000009a300000, 0x000000009a300000|100%| O| |TAMS 0x000000009a200000, 0x000000009a200000| Untracked
-| 343|0x000000009a300000, 0x000000009a400000, 0x000000009a400000|100%| O| |TAMS 0x000000009a300000, 0x000000009a300000| Untracked
-| 344|0x000000009a400000, 0x000000009a500000, 0x000000009a500000|100%| O| |TAMS 0x000000009a400000, 0x000000009a400000| Untracked
-| 345|0x000000009a500000, 0x000000009a600000, 0x000000009a600000|100%| O| |TAMS 0x000000009a500000, 0x000000009a500000| Untracked
-| 346|0x000000009a600000, 0x000000009a700000, 0x000000009a700000|100%| O| |TAMS 0x000000009a600000, 0x000000009a600000| Untracked
-| 347|0x000000009a700000, 0x000000009a800000, 0x000000009a800000|100%| O| |TAMS 0x000000009a700000, 0x000000009a700000| Untracked
-| 348|0x000000009a800000, 0x000000009a900000, 0x000000009a900000|100%| O| |TAMS 0x000000009a800000, 0x000000009a800000| Untracked
-| 349|0x000000009a900000, 0x000000009aa00000, 0x000000009aa00000|100%| O| |TAMS 0x000000009a900000, 0x000000009a900000| Untracked
-| 350|0x000000009aa00000, 0x000000009ab00000, 0x000000009ab00000|100%| O| |TAMS 0x000000009aa00000, 0x000000009aa00000| Untracked
-| 351|0x000000009ab00000, 0x000000009ac00000, 0x000000009ac00000|100%| O| |TAMS 0x000000009ab00000, 0x000000009ab00000| Untracked
-| 352|0x000000009ac00000, 0x000000009ad00000, 0x000000009ad00000|100%| O| |TAMS 0x000000009ac00000, 0x000000009ac00000| Untracked
-| 353|0x000000009ad00000, 0x000000009ae00000, 0x000000009ae00000|100%| O| |TAMS 0x000000009ad00000, 0x000000009ad00000| Untracked
-| 354|0x000000009ae00000, 0x000000009af00000, 0x000000009af00000|100%| O| |TAMS 0x000000009ae00000, 0x000000009ae00000| Untracked
-| 355|0x000000009af00000, 0x000000009b000000, 0x000000009b000000|100%| O| |TAMS 0x000000009af00000, 0x000000009af00000| Untracked
-| 356|0x000000009b000000, 0x000000009b100000, 0x000000009b100000|100%| O| |TAMS 0x000000009b000000, 0x000000009b000000| Untracked
-| 357|0x000000009b100000, 0x000000009b200000, 0x000000009b200000|100%| O| |TAMS 0x000000009b100000, 0x000000009b100000| Untracked
-| 358|0x000000009b200000, 0x000000009b300000, 0x000000009b300000|100%| O| |TAMS 0x000000009b200000, 0x000000009b200000| Untracked
-| 359|0x000000009b300000, 0x000000009b400000, 0x000000009b400000|100%| O| |TAMS 0x000000009b300000, 0x000000009b300000| Untracked
-| 360|0x000000009b400000, 0x000000009b500000, 0x000000009b500000|100%| O| |TAMS 0x000000009b400000, 0x000000009b400000| Untracked
-| 361|0x000000009b500000, 0x000000009b600000, 0x000000009b600000|100%| O| |TAMS 0x000000009b500000, 0x000000009b500000| Untracked
-| 362|0x000000009b600000, 0x000000009b700000, 0x000000009b700000|100%| O| |TAMS 0x000000009b600000, 0x000000009b600000| Untracked
-| 363|0x000000009b700000, 0x000000009b800000, 0x000000009b800000|100%| O| |TAMS 0x000000009b700000, 0x000000009b700000| Untracked
-| 364|0x000000009b800000, 0x000000009b900000, 0x000000009b900000|100%| O| |TAMS 0x000000009b800000, 0x000000009b800000| Untracked
-| 365|0x000000009b900000, 0x000000009ba00000, 0x000000009ba00000|100%| O| |TAMS 0x000000009b900000, 0x000000009b900000| Untracked
-| 366|0x000000009ba00000, 0x000000009bb00000, 0x000000009bb00000|100%| O| |TAMS 0x000000009ba00000, 0x000000009ba00000| Untracked
-| 367|0x000000009bb00000, 0x000000009bc00000, 0x000000009bc00000|100%| O| |TAMS 0x000000009bb00000, 0x000000009bb00000| Untracked
-| 368|0x000000009bc00000, 0x000000009bd00000, 0x000000009bd00000|100%| O| |TAMS 0x000000009bc00000, 0x000000009bc00000| Untracked
-| 369|0x000000009bd00000, 0x000000009be00000, 0x000000009be00000|100%| O| |TAMS 0x000000009bd00000, 0x000000009bd00000| Untracked
-| 370|0x000000009be00000, 0x000000009bf00000, 0x000000009bf00000|100%| O| |TAMS 0x000000009be00000, 0x000000009be00000| Untracked
-| 371|0x000000009bf00000, 0x000000009c000000, 0x000000009c000000|100%| O| |TAMS 0x000000009bf00000, 0x000000009bf00000| Untracked
-| 372|0x000000009c000000, 0x000000009c100000, 0x000000009c100000|100%| O| |TAMS 0x000000009c000000, 0x000000009c000000| Untracked
-| 373|0x000000009c100000, 0x000000009c200000, 0x000000009c200000|100%| O| |TAMS 0x000000009c100000, 0x000000009c100000| Untracked
-| 374|0x000000009c200000, 0x000000009c300000, 0x000000009c300000|100%| O| |TAMS 0x000000009c200000, 0x000000009c200000| Untracked
-| 375|0x000000009c300000, 0x000000009c400000, 0x000000009c400000|100%| O| |TAMS 0x000000009c300000, 0x000000009c300000| Untracked
-| 376|0x000000009c400000, 0x000000009c500000, 0x000000009c500000|100%| O| |TAMS 0x000000009c400000, 0x000000009c400000| Untracked
-| 377|0x000000009c500000, 0x000000009c600000, 0x000000009c600000|100%| O| |TAMS 0x000000009c500000, 0x000000009c500000| Untracked
-| 378|0x000000009c600000, 0x000000009c700000, 0x000000009c700000|100%| O| |TAMS 0x000000009c600000, 0x000000009c600000| Untracked
-| 379|0x000000009c700000, 0x000000009c800000, 0x000000009c800000|100%| O| |TAMS 0x000000009c700000, 0x000000009c700000| Untracked
-| 380|0x000000009c800000, 0x000000009c900000, 0x000000009c900000|100%| O| |TAMS 0x000000009c800000, 0x000000009c800000| Untracked
-| 381|0x000000009c900000, 0x000000009ca00000, 0x000000009ca00000|100%| O| |TAMS 0x000000009c900000, 0x000000009c900000| Untracked
-| 382|0x000000009ca00000, 0x000000009cb00000, 0x000000009cb00000|100%| O| |TAMS 0x000000009ca00000, 0x000000009ca00000| Untracked
-| 383|0x000000009cb00000, 0x000000009cc00000, 0x000000009cc00000|100%| O| |TAMS 0x000000009cb00000, 0x000000009cb00000| Untracked
-| 384|0x000000009cc00000, 0x000000009cd00000, 0x000000009cd00000|100%| O| |TAMS 0x000000009cc00000, 0x000000009cc00000| Untracked
-| 385|0x000000009cd00000, 0x000000009ce00000, 0x000000009ce00000|100%| O| |TAMS 0x000000009cd00000, 0x000000009cd00000| Untracked
-| 386|0x000000009ce00000, 0x000000009cf00000, 0x000000009cf00000|100%| O| |TAMS 0x000000009ce00000, 0x000000009ce00000| Untracked
-| 387|0x000000009cf00000, 0x000000009d000000, 0x000000009d000000|100%| O| |TAMS 0x000000009cf00000, 0x000000009cf00000| Untracked
-| 388|0x000000009d000000, 0x000000009d100000, 0x000000009d100000|100%| O| |TAMS 0x000000009d000000, 0x000000009d000000| Untracked
-| 389|0x000000009d100000, 0x000000009d200000, 0x000000009d200000|100%| O| |TAMS 0x000000009d100000, 0x000000009d100000| Untracked
-| 390|0x000000009d200000, 0x000000009d300000, 0x000000009d300000|100%| O| |TAMS 0x000000009d200000, 0x000000009d200000| Untracked
-| 391|0x000000009d300000, 0x000000009d400000, 0x000000009d400000|100%| O| |TAMS 0x000000009d300000, 0x000000009d300000| Untracked
-| 392|0x000000009d400000, 0x000000009d500000, 0x000000009d500000|100%| O| |TAMS 0x000000009d400000, 0x000000009d400000| Untracked
-| 393|0x000000009d500000, 0x000000009d600000, 0x000000009d600000|100%| O| |TAMS 0x000000009d500000, 0x000000009d500000| Untracked
-| 394|0x000000009d600000, 0x000000009d700000, 0x000000009d700000|100%| O| |TAMS 0x000000009d600000, 0x000000009d600000| Untracked
-| 395|0x000000009d700000, 0x000000009d800000, 0x000000009d800000|100%| O| |TAMS 0x000000009d700000, 0x000000009d700000| Untracked
-| 396|0x000000009d800000, 0x000000009d900000, 0x000000009d900000|100%| O| |TAMS 0x000000009d800000, 0x000000009d800000| Untracked
-| 397|0x000000009d900000, 0x000000009da00000, 0x000000009da00000|100%| O| |TAMS 0x000000009d900000, 0x000000009d900000| Untracked
-| 398|0x000000009da00000, 0x000000009db00000, 0x000000009db00000|100%| O| |TAMS 0x000000009da00000, 0x000000009da00000| Untracked
-| 399|0x000000009db00000, 0x000000009dc00000, 0x000000009dc00000|100%| O| |TAMS 0x000000009db00000, 0x000000009db00000| Untracked
-| 400|0x000000009dc00000, 0x000000009dd00000, 0x000000009dd00000|100%| O| |TAMS 0x000000009dc00000, 0x000000009dc00000| Untracked
-| 401|0x000000009dd00000, 0x000000009de00000, 0x000000009de00000|100%| O| |TAMS 0x000000009dd00000, 0x000000009dd00000| Untracked
-| 402|0x000000009de00000, 0x000000009df00000, 0x000000009df00000|100%| O| |TAMS 0x000000009de00000, 0x000000009de00000| Untracked
-| 403|0x000000009df00000, 0x000000009e000000, 0x000000009e000000|100%| O| |TAMS 0x000000009df00000, 0x000000009df00000| Untracked
-| 404|0x000000009e000000, 0x000000009e100000, 0x000000009e100000|100%| O| |TAMS 0x000000009e000000, 0x000000009e000000| Untracked
-| 405|0x000000009e100000, 0x000000009e200000, 0x000000009e200000|100%| O| |TAMS 0x000000009e100000, 0x000000009e100000| Untracked
-| 406|0x000000009e200000, 0x000000009e300000, 0x000000009e300000|100%| O| |TAMS 0x000000009e200000, 0x000000009e200000| Untracked
-| 407|0x000000009e300000, 0x000000009e400000, 0x000000009e400000|100%| O| |TAMS 0x000000009e300000, 0x000000009e300000| Untracked
-| 408|0x000000009e400000, 0x000000009e500000, 0x000000009e500000|100%| O| |TAMS 0x000000009e400000, 0x000000009e400000| Untracked
-| 409|0x000000009e500000, 0x000000009e600000, 0x000000009e600000|100%| O| |TAMS 0x000000009e500000, 0x000000009e500000| Untracked
-| 410|0x000000009e600000, 0x000000009e700000, 0x000000009e700000|100%| O| |TAMS 0x000000009e600000, 0x000000009e600000| Untracked
-| 411|0x000000009e700000, 0x000000009e800000, 0x000000009e800000|100%| O| |TAMS 0x000000009e700000, 0x000000009e700000| Untracked
-| 412|0x000000009e800000, 0x000000009e900000, 0x000000009e900000|100%| O| |TAMS 0x000000009e800000, 0x000000009e800000| Untracked
-| 413|0x000000009e900000, 0x000000009ea00000, 0x000000009ea00000|100%| O| |TAMS 0x000000009e900000, 0x000000009e900000| Untracked
-| 414|0x000000009ea00000, 0x000000009eb00000, 0x000000009eb00000|100%| O| |TAMS 0x000000009ea00000, 0x000000009ea00000| Untracked
-| 415|0x000000009eb00000, 0x000000009ec00000, 0x000000009ec00000|100%| O| |TAMS 0x000000009eb00000, 0x000000009eb00000| Untracked
-| 416|0x000000009ec00000, 0x000000009ed00000, 0x000000009ed00000|100%| O| |TAMS 0x000000009ec00000, 0x000000009ec00000| Untracked
-| 417|0x000000009ed00000, 0x000000009ee00000, 0x000000009ee00000|100%| O| |TAMS 0x000000009ed00000, 0x000000009ed00000| Untracked
-| 418|0x000000009ee00000, 0x000000009ef00000, 0x000000009ef00000|100%| O| |TAMS 0x000000009ee00000, 0x000000009ee00000| Untracked
-| 419|0x000000009ef00000, 0x000000009f000000, 0x000000009f000000|100%| O| |TAMS 0x000000009ef00000, 0x000000009ef00000| Untracked
-| 420|0x000000009f000000, 0x000000009f100000, 0x000000009f100000|100%| O| |TAMS 0x000000009f000000, 0x000000009f000000| Untracked
-| 421|0x000000009f100000, 0x000000009f200000, 0x000000009f200000|100%| O| |TAMS 0x000000009f100000, 0x000000009f100000| Untracked
-| 422|0x000000009f200000, 0x000000009f300000, 0x000000009f300000|100%| O| |TAMS 0x000000009f200000, 0x000000009f200000| Untracked
-| 423|0x000000009f300000, 0x000000009f400000, 0x000000009f400000|100%| O| |TAMS 0x000000009f300000, 0x000000009f300000| Untracked
-| 424|0x000000009f400000, 0x000000009f500000, 0x000000009f500000|100%| O| |TAMS 0x000000009f400000, 0x000000009f400000| Untracked
-| 425|0x000000009f500000, 0x000000009f600000, 0x000000009f600000|100%| O| |TAMS 0x000000009f500000, 0x000000009f500000| Untracked
-| 426|0x000000009f600000, 0x000000009f700000, 0x000000009f700000|100%| O| |TAMS 0x000000009f600000, 0x000000009f600000| Untracked
-| 427|0x000000009f700000, 0x000000009f800000, 0x000000009f800000|100%| O| |TAMS 0x000000009f700000, 0x000000009f700000| Untracked
-| 428|0x000000009f800000, 0x000000009f900000, 0x000000009f900000|100%| O| |TAMS 0x000000009f800000, 0x000000009f800000| Untracked
-| 429|0x000000009f900000, 0x000000009fa00000, 0x000000009fa00000|100%| O| |TAMS 0x000000009f900000, 0x000000009f900000| Untracked
-| 430|0x000000009fa00000, 0x000000009fb00000, 0x000000009fb00000|100%| O| |TAMS 0x000000009fa00000, 0x000000009fa00000| Untracked
-| 431|0x000000009fb00000, 0x000000009fc00000, 0x000000009fc00000|100%| O| |TAMS 0x000000009fb00000, 0x000000009fb00000| Untracked
-| 432|0x000000009fc00000, 0x000000009fd00000, 0x000000009fd00000|100%| O| |TAMS 0x000000009fc00000, 0x000000009fc00000| Untracked
-| 433|0x000000009fd00000, 0x000000009fe00000, 0x000000009fe00000|100%| O| |TAMS 0x000000009fd00000, 0x000000009fd00000| Untracked
-| 434|0x000000009fe00000, 0x000000009ff00000, 0x000000009ff00000|100%| O| |TAMS 0x000000009fe00000, 0x000000009fe00000| Untracked
-| 435|0x000000009ff00000, 0x00000000a0000000, 0x00000000a0000000|100%| O| |TAMS 0x000000009ff00000, 0x000000009ff00000| Untracked
-| 436|0x00000000a0000000, 0x00000000a0100000, 0x00000000a0100000|100%| O| |TAMS 0x00000000a0000000, 0x00000000a0000000| Untracked
-| 437|0x00000000a0100000, 0x00000000a0200000, 0x00000000a0200000|100%| O| |TAMS 0x00000000a0100000, 0x00000000a0100000| Untracked
-| 438|0x00000000a0200000, 0x00000000a0300000, 0x00000000a0300000|100%| O| |TAMS 0x00000000a0200000, 0x00000000a0200000| Untracked
-| 439|0x00000000a0300000, 0x00000000a0400000, 0x00000000a0400000|100%| O| |TAMS 0x00000000a0300000, 0x00000000a0300000| Untracked
-| 440|0x00000000a0400000, 0x00000000a0500000, 0x00000000a0500000|100%| O| |TAMS 0x00000000a0400000, 0x00000000a0400000| Untracked
-| 441|0x00000000a0500000, 0x00000000a0600000, 0x00000000a0600000|100%| O| |TAMS 0x00000000a0500000, 0x00000000a0500000| Untracked
-| 442|0x00000000a0600000, 0x00000000a0700000, 0x00000000a0700000|100%| O| |TAMS 0x00000000a0600000, 0x00000000a0600000| Untracked
-| 443|0x00000000a0700000, 0x00000000a0800000, 0x00000000a0800000|100%| O| |TAMS 0x00000000a0700000, 0x00000000a0700000| Untracked
-| 444|0x00000000a0800000, 0x00000000a0900000, 0x00000000a0900000|100%| O| |TAMS 0x00000000a0800000, 0x00000000a0800000| Untracked
-| 445|0x00000000a0900000, 0x00000000a0a00000, 0x00000000a0a00000|100%| O| |TAMS 0x00000000a0900000, 0x00000000a0900000| Untracked
-| 446|0x00000000a0a00000, 0x00000000a0b00000, 0x00000000a0b00000|100%| O| |TAMS 0x00000000a0a00000, 0x00000000a0a00000| Untracked
-| 447|0x00000000a0b00000, 0x00000000a0c00000, 0x00000000a0c00000|100%| O| |TAMS 0x00000000a0b00000, 0x00000000a0b00000| Untracked
-| 448|0x00000000a0c00000, 0x00000000a0d00000, 0x00000000a0d00000|100%| O| |TAMS 0x00000000a0c00000, 0x00000000a0c00000| Untracked
-| 449|0x00000000a0d00000, 0x00000000a0e00000, 0x00000000a0e00000|100%| O| |TAMS 0x00000000a0d00000, 0x00000000a0d00000| Untracked
-| 450|0x00000000a0e00000, 0x00000000a0f00000, 0x00000000a0f00000|100%| O| |TAMS 0x00000000a0e00000, 0x00000000a0e00000| Untracked
-| 451|0x00000000a0f00000, 0x00000000a1000000, 0x00000000a1000000|100%| O| |TAMS 0x00000000a0f00000, 0x00000000a0f00000| Untracked
-| 452|0x00000000a1000000, 0x00000000a1100000, 0x00000000a1100000|100%| O| |TAMS 0x00000000a1000000, 0x00000000a1000000| Untracked
-| 453|0x00000000a1100000, 0x00000000a1200000, 0x00000000a1200000|100%| O| |TAMS 0x00000000a1100000, 0x00000000a1100000| Untracked
-| 454|0x00000000a1200000, 0x00000000a1300000, 0x00000000a1300000|100%| O| |TAMS 0x00000000a1200000, 0x00000000a1200000| Untracked
-| 455|0x00000000a1300000, 0x00000000a1400000, 0x00000000a1400000|100%| O| |TAMS 0x00000000a1300000, 0x00000000a1300000| Untracked
-| 456|0x00000000a1400000, 0x00000000a1500000, 0x00000000a1500000|100%| O| |TAMS 0x00000000a1400000, 0x00000000a1400000| Untracked
-| 457|0x00000000a1500000, 0x00000000a1600000, 0x00000000a1600000|100%| O| |TAMS 0x00000000a1500000, 0x00000000a1500000| Untracked
-| 458|0x00000000a1600000, 0x00000000a1700000, 0x00000000a1700000|100%| O| |TAMS 0x00000000a1600000, 0x00000000a1600000| Untracked
-| 459|0x00000000a1700000, 0x00000000a1800000, 0x00000000a1800000|100%| O| |TAMS 0x00000000a1700000, 0x00000000a1700000| Untracked
-| 460|0x00000000a1800000, 0x00000000a1900000, 0x00000000a1900000|100%| O| |TAMS 0x00000000a1800000, 0x00000000a1800000| Untracked
-| 461|0x00000000a1900000, 0x00000000a1a00000, 0x00000000a1a00000|100%| O| |TAMS 0x00000000a1900000, 0x00000000a1900000| Untracked
-| 462|0x00000000a1a00000, 0x00000000a1b00000, 0x00000000a1b00000|100%| O| |TAMS 0x00000000a1a00000, 0x00000000a1a00000| Untracked
-| 463|0x00000000a1b00000, 0x00000000a1c00000, 0x00000000a1c00000|100%| O| |TAMS 0x00000000a1b00000, 0x00000000a1b00000| Untracked
-| 464|0x00000000a1c00000, 0x00000000a1d00000, 0x00000000a1d00000|100%| O| |TAMS 0x00000000a1c00000, 0x00000000a1c00000| Untracked
-| 465|0x00000000a1d00000, 0x00000000a1e00000, 0x00000000a1e00000|100%| O| |TAMS 0x00000000a1d00000, 0x00000000a1d00000| Untracked
-| 466|0x00000000a1e00000, 0x00000000a1f00000, 0x00000000a1f00000|100%| O| |TAMS 0x00000000a1e00000, 0x00000000a1e00000| Untracked
-| 467|0x00000000a1f00000, 0x00000000a2000000, 0x00000000a2000000|100%| O| |TAMS 0x00000000a1f00000, 0x00000000a1f00000| Untracked
-| 468|0x00000000a2000000, 0x00000000a2100000, 0x00000000a2100000|100%| O| |TAMS 0x00000000a2000000, 0x00000000a2000000| Untracked
-| 469|0x00000000a2100000, 0x00000000a2200000, 0x00000000a2200000|100%| O| |TAMS 0x00000000a2100000, 0x00000000a2100000| Untracked
-| 470|0x00000000a2200000, 0x00000000a2300000, 0x00000000a2300000|100%| O| |TAMS 0x00000000a2200000, 0x00000000a2200000| Untracked
-| 471|0x00000000a2300000, 0x00000000a2400000, 0x00000000a2400000|100%| O| |TAMS 0x00000000a2300000, 0x00000000a2300000| Untracked
-| 472|0x00000000a2400000, 0x00000000a2500000, 0x00000000a2500000|100%| O| |TAMS 0x00000000a2400000, 0x00000000a2400000| Untracked
-| 473|0x00000000a2500000, 0x00000000a2600000, 0x00000000a2600000|100%| O| |TAMS 0x00000000a2500000, 0x00000000a2500000| Untracked
-| 474|0x00000000a2600000, 0x00000000a2700000, 0x00000000a2700000|100%| O| |TAMS 0x00000000a2600000, 0x00000000a2600000| Untracked
-| 475|0x00000000a2700000, 0x00000000a2800000, 0x00000000a2800000|100%| O| |TAMS 0x00000000a2700000, 0x00000000a2700000| Untracked
-| 476|0x00000000a2800000, 0x00000000a2900000, 0x00000000a2900000|100%| O| |TAMS 0x00000000a2800000, 0x00000000a2800000| Untracked
-| 477|0x00000000a2900000, 0x00000000a2a00000, 0x00000000a2a00000|100%| O| |TAMS 0x00000000a2900000, 0x00000000a2900000| Untracked
-| 478|0x00000000a2a00000, 0x00000000a2b00000, 0x00000000a2b00000|100%| O| |TAMS 0x00000000a2a00000, 0x00000000a2a00000| Untracked
-| 479|0x00000000a2b00000, 0x00000000a2c00000, 0x00000000a2c00000|100%| O| |TAMS 0x00000000a2b00000, 0x00000000a2b00000| Untracked
-| 480|0x00000000a2c00000, 0x00000000a2d00000, 0x00000000a2d00000|100%| O| |TAMS 0x00000000a2c00000, 0x00000000a2c00000| Untracked
-| 481|0x00000000a2d00000, 0x00000000a2e00000, 0x00000000a2e00000|100%| O| |TAMS 0x00000000a2d00000, 0x00000000a2d00000| Untracked
-| 482|0x00000000a2e00000, 0x00000000a2f00000, 0x00000000a2f00000|100%| O| |TAMS 0x00000000a2e00000, 0x00000000a2e00000| Untracked
-| 483|0x00000000a2f00000, 0x00000000a3000000, 0x00000000a3000000|100%| O| |TAMS 0x00000000a2f00000, 0x00000000a2f00000| Untracked
-| 484|0x00000000a3000000, 0x00000000a3100000, 0x00000000a3100000|100%| O| |TAMS 0x00000000a3000000, 0x00000000a3000000| Untracked
-| 485|0x00000000a3100000, 0x00000000a3200000, 0x00000000a3200000|100%| O| |TAMS 0x00000000a3100000, 0x00000000a3100000| Untracked
-| 486|0x00000000a3200000, 0x00000000a3300000, 0x00000000a3300000|100%| O| |TAMS 0x00000000a3200000, 0x00000000a3200000| Untracked
-| 487|0x00000000a3300000, 0x00000000a3400000, 0x00000000a3400000|100%| O| |TAMS 0x00000000a3300000, 0x00000000a3300000| Untracked
-| 488|0x00000000a3400000, 0x00000000a3500000, 0x00000000a3500000|100%| O| |TAMS 0x00000000a3400000, 0x00000000a3400000| Untracked
-| 489|0x00000000a3500000, 0x00000000a3600000, 0x00000000a3600000|100%| O| |TAMS 0x00000000a3500000, 0x00000000a3500000| Untracked
-| 490|0x00000000a3600000, 0x00000000a3700000, 0x00000000a3700000|100%| O| |TAMS 0x00000000a3600000, 0x00000000a3600000| Untracked
-| 491|0x00000000a3700000, 0x00000000a3800000, 0x00000000a3800000|100%| O| |TAMS 0x00000000a3700000, 0x00000000a3700000| Untracked
-| 492|0x00000000a3800000, 0x00000000a3900000, 0x00000000a3900000|100%| O| |TAMS 0x00000000a3800000, 0x00000000a3800000| Untracked
-| 493|0x00000000a3900000, 0x00000000a3a00000, 0x00000000a3a00000|100%| O| |TAMS 0x00000000a3900000, 0x00000000a3900000| Untracked
-| 494|0x00000000a3a00000, 0x00000000a3b00000, 0x00000000a3b00000|100%| O| |TAMS 0x00000000a3a00000, 0x00000000a3a00000| Untracked
-| 495|0x00000000a3b00000, 0x00000000a3c00000, 0x00000000a3c00000|100%| O| |TAMS 0x00000000a3b00000, 0x00000000a3b00000| Untracked
-| 496|0x00000000a3c00000, 0x00000000a3d00000, 0x00000000a3d00000|100%| O| |TAMS 0x00000000a3c00000, 0x00000000a3c00000| Untracked
-| 497|0x00000000a3d00000, 0x00000000a3e00000, 0x00000000a3e00000|100%| O| |TAMS 0x00000000a3d00000, 0x00000000a3d00000| Untracked
-| 498|0x00000000a3e00000, 0x00000000a3f00000, 0x00000000a3f00000|100%| O| |TAMS 0x00000000a3e00000, 0x00000000a3e00000| Untracked
-| 499|0x00000000a3f00000, 0x00000000a4000000, 0x00000000a4000000|100%| O| |TAMS 0x00000000a3f00000, 0x00000000a3f00000| Untracked
-| 500|0x00000000a4000000, 0x00000000a4100000, 0x00000000a4100000|100%| O| |TAMS 0x00000000a4000000, 0x00000000a4000000| Untracked
-| 501|0x00000000a4100000, 0x00000000a4200000, 0x00000000a4200000|100%| O| |TAMS 0x00000000a4100000, 0x00000000a4100000| Untracked
-| 502|0x00000000a4200000, 0x00000000a4300000, 0x00000000a4300000|100%| O| |TAMS 0x00000000a4200000, 0x00000000a4200000| Untracked
-| 503|0x00000000a4300000, 0x00000000a4400000, 0x00000000a4400000|100%| O| |TAMS 0x00000000a4300000, 0x00000000a4300000| Untracked
-| 504|0x00000000a4400000, 0x00000000a4500000, 0x00000000a4500000|100%| O| |TAMS 0x00000000a4400000, 0x00000000a4400000| Untracked
-| 505|0x00000000a4500000, 0x00000000a4600000, 0x00000000a4600000|100%| O| |TAMS 0x00000000a4500000, 0x00000000a4500000| Untracked
-| 506|0x00000000a4600000, 0x00000000a4700000, 0x00000000a4700000|100%| O| |TAMS 0x00000000a4600000, 0x00000000a4600000| Untracked
-| 507|0x00000000a4700000, 0x00000000a4800000, 0x00000000a4800000|100%| O| |TAMS 0x00000000a4700000, 0x00000000a4700000| Untracked
-| 508|0x00000000a4800000, 0x00000000a4900000, 0x00000000a4900000|100%| O| |TAMS 0x00000000a4800000, 0x00000000a4800000| Untracked
-| 509|0x00000000a4900000, 0x00000000a4a00000, 0x00000000a4a00000|100%| O| |TAMS 0x00000000a4900000, 0x00000000a4900000| Untracked
-| 510|0x00000000a4a00000, 0x00000000a4b00000, 0x00000000a4b00000|100%| O| |TAMS 0x00000000a4a00000, 0x00000000a4a00000| Untracked
-| 511|0x00000000a4b00000, 0x00000000a4c00000, 0x00000000a4c00000|100%| O| |TAMS 0x00000000a4b00000, 0x00000000a4b00000| Untracked
-| 512|0x00000000a4c00000, 0x00000000a4d00000, 0x00000000a4d00000|100%| O| |TAMS 0x00000000a4c00000, 0x00000000a4c00000| Untracked
-| 513|0x00000000a4d00000, 0x00000000a4e00000, 0x00000000a4e00000|100%| O| |TAMS 0x00000000a4d00000, 0x00000000a4d00000| Untracked
-| 514|0x00000000a4e00000, 0x00000000a4f00000, 0x00000000a4f00000|100%| O| |TAMS 0x00000000a4e00000, 0x00000000a4e00000| Untracked
-| 515|0x00000000a4f00000, 0x00000000a5000000, 0x00000000a5000000|100%| O| |TAMS 0x00000000a4f00000, 0x00000000a4f00000| Untracked
-| 516|0x00000000a5000000, 0x00000000a5100000, 0x00000000a5100000|100%| O| |TAMS 0x00000000a5000000, 0x00000000a5000000| Untracked
-| 517|0x00000000a5100000, 0x00000000a5200000, 0x00000000a5200000|100%| O| |TAMS 0x00000000a5100000, 0x00000000a5100000| Untracked
-| 518|0x00000000a5200000, 0x00000000a5300000, 0x00000000a5300000|100%| O| |TAMS 0x00000000a5200000, 0x00000000a5200000| Untracked
-| 519|0x00000000a5300000, 0x00000000a5400000, 0x00000000a5400000|100%| O| |TAMS 0x00000000a5300000, 0x00000000a5300000| Untracked
-| 520|0x00000000a5400000, 0x00000000a5500000, 0x00000000a5500000|100%| O| |TAMS 0x00000000a5400000, 0x00000000a5400000| Untracked
-| 521|0x00000000a5500000, 0x00000000a5600000, 0x00000000a5600000|100%| O| |TAMS 0x00000000a5500000, 0x00000000a5500000| Untracked
-| 522|0x00000000a5600000, 0x00000000a5700000, 0x00000000a5700000|100%| O| |TAMS 0x00000000a5600000, 0x00000000a5600000| Untracked
-| 523|0x00000000a5700000, 0x00000000a5800000, 0x00000000a5800000|100%| O| |TAMS 0x00000000a5700000, 0x00000000a5700000| Untracked
-| 524|0x00000000a5800000, 0x00000000a5900000, 0x00000000a5900000|100%| O| |TAMS 0x00000000a5800000, 0x00000000a5800000| Untracked
-| 525|0x00000000a5900000, 0x00000000a5a00000, 0x00000000a5a00000|100%| O| |TAMS 0x00000000a5900000, 0x00000000a5900000| Untracked
-| 526|0x00000000a5a00000, 0x00000000a5b00000, 0x00000000a5b00000|100%| O| |TAMS 0x00000000a5a00000, 0x00000000a5a00000| Untracked
-| 527|0x00000000a5b00000, 0x00000000a5c00000, 0x00000000a5c00000|100%| O| |TAMS 0x00000000a5b00000, 0x00000000a5b00000| Untracked
-| 528|0x00000000a5c00000, 0x00000000a5d00000, 0x00000000a5d00000|100%| O| |TAMS 0x00000000a5c00000, 0x00000000a5c00000| Untracked
-| 529|0x00000000a5d00000, 0x00000000a5e00000, 0x00000000a5e00000|100%| O| |TAMS 0x00000000a5d00000, 0x00000000a5d00000| Untracked
-| 530|0x00000000a5e00000, 0x00000000a5f00000, 0x00000000a5f00000|100%| O| |TAMS 0x00000000a5e00000, 0x00000000a5e00000| Untracked
-| 531|0x00000000a5f00000, 0x00000000a6000000, 0x00000000a6000000|100%| O| |TAMS 0x00000000a5f00000, 0x00000000a5f00000| Untracked
-| 532|0x00000000a6000000, 0x00000000a6100000, 0x00000000a6100000|100%| O| |TAMS 0x00000000a6000000, 0x00000000a6000000| Untracked
-| 533|0x00000000a6100000, 0x00000000a6200000, 0x00000000a6200000|100%| O| |TAMS 0x00000000a6100000, 0x00000000a6100000| Untracked
-| 534|0x00000000a6200000, 0x00000000a6300000, 0x00000000a6300000|100%| O| |TAMS 0x00000000a6200000, 0x00000000a6200000| Untracked
-| 535|0x00000000a6300000, 0x00000000a6400000, 0x00000000a6400000|100%| O| |TAMS 0x00000000a6300000, 0x00000000a6300000| Untracked
-| 536|0x00000000a6400000, 0x00000000a6500000, 0x00000000a6500000|100%| O| |TAMS 0x00000000a6400000, 0x00000000a6400000| Untracked
-| 537|0x00000000a6500000, 0x00000000a6600000, 0x00000000a6600000|100%| O| |TAMS 0x00000000a6500000, 0x00000000a6500000| Untracked
-| 538|0x00000000a6600000, 0x00000000a6700000, 0x00000000a6700000|100%| O| |TAMS 0x00000000a6600000, 0x00000000a6600000| Untracked
-| 539|0x00000000a6700000, 0x00000000a6800000, 0x00000000a6800000|100%| O| |TAMS 0x00000000a6700000, 0x00000000a6700000| Untracked
-| 540|0x00000000a6800000, 0x00000000a6900000, 0x00000000a6900000|100%| O| |TAMS 0x00000000a6800000, 0x00000000a6800000| Untracked
-| 541|0x00000000a6900000, 0x00000000a6a00000, 0x00000000a6a00000|100%| O| |TAMS 0x00000000a6900000, 0x00000000a6900000| Untracked
-| 542|0x00000000a6a00000, 0x00000000a6b00000, 0x00000000a6b00000|100%| O| |TAMS 0x00000000a6a00000, 0x00000000a6a00000| Untracked
-| 543|0x00000000a6b00000, 0x00000000a6c00000, 0x00000000a6c00000|100%| O| |TAMS 0x00000000a6b00000, 0x00000000a6b00000| Untracked
-| 544|0x00000000a6c00000, 0x00000000a6d00000, 0x00000000a6d00000|100%| O| |TAMS 0x00000000a6c00000, 0x00000000a6c00000| Untracked
-| 545|0x00000000a6d00000, 0x00000000a6e00000, 0x00000000a6e00000|100%| O| |TAMS 0x00000000a6d00000, 0x00000000a6d00000| Untracked
-| 546|0x00000000a6e00000, 0x00000000a6f00000, 0x00000000a6f00000|100%| O| |TAMS 0x00000000a6e00000, 0x00000000a6e00000| Untracked
-| 547|0x00000000a6f00000, 0x00000000a7000000, 0x00000000a7000000|100%| O| |TAMS 0x00000000a6f00000, 0x00000000a6f00000| Untracked
-| 548|0x00000000a7000000, 0x00000000a7100000, 0x00000000a7100000|100%| O| |TAMS 0x00000000a7000000, 0x00000000a7000000| Untracked
-| 549|0x00000000a7100000, 0x00000000a7200000, 0x00000000a7200000|100%| O| |TAMS 0x00000000a7100000, 0x00000000a7100000| Untracked
-| 550|0x00000000a7200000, 0x00000000a7300000, 0x00000000a7300000|100%| O| |TAMS 0x00000000a7200000, 0x00000000a7200000| Untracked
-| 551|0x00000000a7300000, 0x00000000a7400000, 0x00000000a7400000|100%| O| |TAMS 0x00000000a7300000, 0x00000000a7300000| Untracked
-| 552|0x00000000a7400000, 0x00000000a7500000, 0x00000000a7500000|100%| O| |TAMS 0x00000000a7400000, 0x00000000a7400000| Untracked
-| 553|0x00000000a7500000, 0x00000000a7600000, 0x00000000a7600000|100%| O| |TAMS 0x00000000a7500000, 0x00000000a7500000| Untracked
-| 554|0x00000000a7600000, 0x00000000a7700000, 0x00000000a7700000|100%| O| |TAMS 0x00000000a7600000, 0x00000000a7600000| Untracked
-| 555|0x00000000a7700000, 0x00000000a7800000, 0x00000000a7800000|100%| O| |TAMS 0x00000000a7700000, 0x00000000a7700000| Untracked
-| 556|0x00000000a7800000, 0x00000000a7900000, 0x00000000a7900000|100%| O| |TAMS 0x00000000a7800000, 0x00000000a7800000| Untracked
-| 557|0x00000000a7900000, 0x00000000a7a00000, 0x00000000a7a00000|100%| O| |TAMS 0x00000000a7900000, 0x00000000a7900000| Untracked
-| 558|0x00000000a7a00000, 0x00000000a7b00000, 0x00000000a7b00000|100%| O| |TAMS 0x00000000a7a00000, 0x00000000a7a00000| Untracked
-| 559|0x00000000a7b00000, 0x00000000a7c00000, 0x00000000a7c00000|100%| O| |TAMS 0x00000000a7b00000, 0x00000000a7b00000| Untracked
-| 560|0x00000000a7c00000, 0x00000000a7d00000, 0x00000000a7d00000|100%| O| |TAMS 0x00000000a7c00000, 0x00000000a7c00000| Untracked
-| 561|0x00000000a7d00000, 0x00000000a7e00000, 0x00000000a7e00000|100%| O| |TAMS 0x00000000a7d00000, 0x00000000a7d00000| Untracked
-| 562|0x00000000a7e00000, 0x00000000a7f00000, 0x00000000a7f00000|100%| O| |TAMS 0x00000000a7e00000, 0x00000000a7e00000| Untracked
-| 563|0x00000000a7f00000, 0x00000000a8000000, 0x00000000a8000000|100%| O| |TAMS 0x00000000a7f00000, 0x00000000a7f00000| Untracked
-| 564|0x00000000a8000000, 0x00000000a8100000, 0x00000000a8100000|100%| O| |TAMS 0x00000000a8000000, 0x00000000a8000000| Untracked
-| 565|0x00000000a8100000, 0x00000000a8200000, 0x00000000a8200000|100%| O| |TAMS 0x00000000a8100000, 0x00000000a8100000| Untracked
-| 566|0x00000000a8200000, 0x00000000a8300000, 0x00000000a8300000|100%| O| |TAMS 0x00000000a8200000, 0x00000000a8200000| Untracked
-| 567|0x00000000a8300000, 0x00000000a8400000, 0x00000000a8400000|100%| O| |TAMS 0x00000000a8300000, 0x00000000a8300000| Untracked
-| 568|0x00000000a8400000, 0x00000000a8500000, 0x00000000a8500000|100%| O| |TAMS 0x00000000a8400000, 0x00000000a8400000| Untracked
-| 569|0x00000000a8500000, 0x00000000a8600000, 0x00000000a8600000|100%| O| |TAMS 0x00000000a8500000, 0x00000000a8500000| Untracked
-| 570|0x00000000a8600000, 0x00000000a8700000, 0x00000000a8700000|100%| O| |TAMS 0x00000000a8600000, 0x00000000a8600000| Untracked
-| 571|0x00000000a8700000, 0x00000000a8800000, 0x00000000a8800000|100%| O| |TAMS 0x00000000a8700000, 0x00000000a8700000| Untracked
-| 572|0x00000000a8800000, 0x00000000a8900000, 0x00000000a8900000|100%| O| |TAMS 0x00000000a8800000, 0x00000000a8800000| Untracked
-| 573|0x00000000a8900000, 0x00000000a8a00000, 0x00000000a8a00000|100%| O| |TAMS 0x00000000a8900000, 0x00000000a8900000| Untracked
-| 574|0x00000000a8a00000, 0x00000000a8b00000, 0x00000000a8b00000|100%| O| |TAMS 0x00000000a8a00000, 0x00000000a8a00000| Untracked
-| 575|0x00000000a8b00000, 0x00000000a8c00000, 0x00000000a8c00000|100%| O| |TAMS 0x00000000a8b00000, 0x00000000a8b00000| Untracked
-| 576|0x00000000a8c00000, 0x00000000a8d00000, 0x00000000a8d00000|100%| O| |TAMS 0x00000000a8c00000, 0x00000000a8c00000| Untracked
-| 577|0x00000000a8d00000, 0x00000000a8e00000, 0x00000000a8e00000|100%| O| |TAMS 0x00000000a8d00000, 0x00000000a8d00000| Untracked
-| 578|0x00000000a8e00000, 0x00000000a8f00000, 0x00000000a8f00000|100%| O| |TAMS 0x00000000a8e00000, 0x00000000a8e00000| Untracked
-| 579|0x00000000a8f00000, 0x00000000a9000000, 0x00000000a9000000|100%| O| |TAMS 0x00000000a8f00000, 0x00000000a8f00000| Untracked
-| 580|0x00000000a9000000, 0x00000000a9100000, 0x00000000a9100000|100%| O| |TAMS 0x00000000a9000000, 0x00000000a9000000| Untracked
-| 581|0x00000000a9100000, 0x00000000a9200000, 0x00000000a9200000|100%| O| |TAMS 0x00000000a9100000, 0x00000000a9100000| Untracked
-| 582|0x00000000a9200000, 0x00000000a9300000, 0x00000000a9300000|100%| O| |TAMS 0x00000000a9200000, 0x00000000a9200000| Untracked
-| 583|0x00000000a9300000, 0x00000000a9400000, 0x00000000a9400000|100%| O| |TAMS 0x00000000a9300000, 0x00000000a9300000| Untracked
-| 584|0x00000000a9400000, 0x00000000a9500000, 0x00000000a9500000|100%| O| |TAMS 0x00000000a9400000, 0x00000000a9400000| Untracked
-| 585|0x00000000a9500000, 0x00000000a9600000, 0x00000000a9600000|100%| O| |TAMS 0x00000000a9500000, 0x00000000a9500000| Untracked
-| 586|0x00000000a9600000, 0x00000000a9700000, 0x00000000a9700000|100%| O| |TAMS 0x00000000a9600000, 0x00000000a9600000| Untracked
-| 587|0x00000000a9700000, 0x00000000a9800000, 0x00000000a9800000|100%| O| |TAMS 0x00000000a9700000, 0x00000000a9700000| Untracked
-| 588|0x00000000a9800000, 0x00000000a9900000, 0x00000000a9900000|100%| O| |TAMS 0x00000000a9800000, 0x00000000a9800000| Untracked
-| 589|0x00000000a9900000, 0x00000000a9a00000, 0x00000000a9a00000|100%| O| |TAMS 0x00000000a9900000, 0x00000000a9900000| Untracked
-| 590|0x00000000a9a00000, 0x00000000a9b00000, 0x00000000a9b00000|100%| O| |TAMS 0x00000000a9a00000, 0x00000000a9a00000| Untracked
-| 591|0x00000000a9b00000, 0x00000000a9c00000, 0x00000000a9c00000|100%| O| |TAMS 0x00000000a9b00000, 0x00000000a9b00000| Untracked
-| 592|0x00000000a9c00000, 0x00000000a9d00000, 0x00000000a9d00000|100%| O| |TAMS 0x00000000a9c00000, 0x00000000a9c00000| Untracked
-| 593|0x00000000a9d00000, 0x00000000a9e00000, 0x00000000a9e00000|100%| O| |TAMS 0x00000000a9d00000, 0x00000000a9d00000| Untracked
-| 594|0x00000000a9e00000, 0x00000000a9f00000, 0x00000000a9f00000|100%| O| |TAMS 0x00000000a9e00000, 0x00000000a9e00000| Untracked
-| 595|0x00000000a9f00000, 0x00000000aa000000, 0x00000000aa000000|100%| O| |TAMS 0x00000000a9f00000, 0x00000000a9f00000| Untracked
-| 596|0x00000000aa000000, 0x00000000aa100000, 0x00000000aa100000|100%| O| |TAMS 0x00000000aa000000, 0x00000000aa000000| Untracked
-| 597|0x00000000aa100000, 0x00000000aa200000, 0x00000000aa200000|100%| O| |TAMS 0x00000000aa100000, 0x00000000aa100000| Untracked
-| 598|0x00000000aa200000, 0x00000000aa300000, 0x00000000aa300000|100%| O| |TAMS 0x00000000aa200000, 0x00000000aa200000| Untracked
-| 599|0x00000000aa300000, 0x00000000aa400000, 0x00000000aa400000|100%| O| |TAMS 0x00000000aa300000, 0x00000000aa300000| Untracked
-| 600|0x00000000aa400000, 0x00000000aa500000, 0x00000000aa500000|100%| O| |TAMS 0x00000000aa400000, 0x00000000aa400000| Untracked
-| 601|0x00000000aa500000, 0x00000000aa600000, 0x00000000aa600000|100%| O| |TAMS 0x00000000aa500000, 0x00000000aa500000| Untracked
-| 602|0x00000000aa600000, 0x00000000aa700000, 0x00000000aa700000|100%| O| |TAMS 0x00000000aa600000, 0x00000000aa600000| Untracked
-| 603|0x00000000aa700000, 0x00000000aa800000, 0x00000000aa800000|100%| O| |TAMS 0x00000000aa700000, 0x00000000aa700000| Untracked
-| 604|0x00000000aa800000, 0x00000000aa900000, 0x00000000aa900000|100%| O| |TAMS 0x00000000aa800000, 0x00000000aa800000| Untracked
-| 605|0x00000000aa900000, 0x00000000aaa00000, 0x00000000aaa00000|100%| O| |TAMS 0x00000000aa900000, 0x00000000aa900000| Untracked
-| 606|0x00000000aaa00000, 0x00000000aab00000, 0x00000000aab00000|100%| O| |TAMS 0x00000000aaa00000, 0x00000000aaa00000| Untracked
-| 607|0x00000000aab00000, 0x00000000aac00000, 0x00000000aac00000|100%| O| |TAMS 0x00000000aab00000, 0x00000000aab00000| Untracked
-| 608|0x00000000aac00000, 0x00000000aad00000, 0x00000000aad00000|100%| O| |TAMS 0x00000000aac00000, 0x00000000aac00000| Untracked
-| 609|0x00000000aad00000, 0x00000000aae00000, 0x00000000aae00000|100%| O| |TAMS 0x00000000aad00000, 0x00000000aad00000| Untracked
-| 610|0x00000000aae00000, 0x00000000aaf00000, 0x00000000aaf00000|100%| O| |TAMS 0x00000000aae00000, 0x00000000aae00000| Untracked
-| 611|0x00000000aaf00000, 0x00000000ab000000, 0x00000000ab000000|100%| O| |TAMS 0x00000000aaf00000, 0x00000000aaf00000| Untracked
-| 612|0x00000000ab000000, 0x00000000ab100000, 0x00000000ab100000|100%| O| |TAMS 0x00000000ab000000, 0x00000000ab000000| Untracked
-| 613|0x00000000ab100000, 0x00000000ab200000, 0x00000000ab200000|100%| O| |TAMS 0x00000000ab100000, 0x00000000ab100000| Untracked
-| 614|0x00000000ab200000, 0x00000000ab300000, 0x00000000ab300000|100%| O| |TAMS 0x00000000ab200000, 0x00000000ab200000| Untracked
-| 615|0x00000000ab300000, 0x00000000ab400000, 0x00000000ab400000|100%| O| |TAMS 0x00000000ab300000, 0x00000000ab300000| Untracked
-| 616|0x00000000ab400000, 0x00000000ab500000, 0x00000000ab500000|100%| O| |TAMS 0x00000000ab400000, 0x00000000ab400000| Untracked
-| 617|0x00000000ab500000, 0x00000000ab600000, 0x00000000ab600000|100%| O| |TAMS 0x00000000ab500000, 0x00000000ab500000| Untracked
-| 618|0x00000000ab600000, 0x00000000ab700000, 0x00000000ab700000|100%| O| |TAMS 0x00000000ab600000, 0x00000000ab600000| Untracked
-| 619|0x00000000ab700000, 0x00000000ab800000, 0x00000000ab800000|100%| O| |TAMS 0x00000000ab700000, 0x00000000ab700000| Untracked
-| 620|0x00000000ab800000, 0x00000000ab900000, 0x00000000ab900000|100%| O| |TAMS 0x00000000ab800000, 0x00000000ab800000| Untracked
-| 621|0x00000000ab900000, 0x00000000aba00000, 0x00000000aba00000|100%| O| |TAMS 0x00000000ab900000, 0x00000000ab900000| Untracked
-| 622|0x00000000aba00000, 0x00000000abb00000, 0x00000000abb00000|100%| O| |TAMS 0x00000000aba00000, 0x00000000aba00000| Untracked
-| 623|0x00000000abb00000, 0x00000000abc00000, 0x00000000abc00000|100%| O| |TAMS 0x00000000abb00000, 0x00000000abb00000| Untracked
-| 624|0x00000000abc00000, 0x00000000abd00000, 0x00000000abd00000|100%| O| |TAMS 0x00000000abc00000, 0x00000000abc00000| Untracked
-| 625|0x00000000abd00000, 0x00000000abe00000, 0x00000000abe00000|100%| O| |TAMS 0x00000000abd00000, 0x00000000abd00000| Untracked
-| 626|0x00000000abe00000, 0x00000000abf00000, 0x00000000abf00000|100%| O| |TAMS 0x00000000abe00000, 0x00000000abe00000| Untracked
-| 627|0x00000000abf00000, 0x00000000ac000000, 0x00000000ac000000|100%| O| |TAMS 0x00000000abf00000, 0x00000000abf00000| Untracked
-| 628|0x00000000ac000000, 0x00000000ac100000, 0x00000000ac100000|100%| O| |TAMS 0x00000000ac000000, 0x00000000ac000000| Untracked
-| 629|0x00000000ac100000, 0x00000000ac200000, 0x00000000ac200000|100%| O| |TAMS 0x00000000ac100000, 0x00000000ac100000| Untracked
-| 630|0x00000000ac200000, 0x00000000ac300000, 0x00000000ac300000|100%| O| |TAMS 0x00000000ac200000, 0x00000000ac200000| Untracked
-| 631|0x00000000ac300000, 0x00000000ac400000, 0x00000000ac400000|100%| O| |TAMS 0x00000000ac300000, 0x00000000ac300000| Untracked
-| 632|0x00000000ac400000, 0x00000000ac420400, 0x00000000ac500000| 12%| O| |TAMS 0x00000000ac400000, 0x00000000ac400000| Untracked
-| 633|0x00000000ac500000, 0x00000000ac500000, 0x00000000ac600000| 0%| F| |TAMS 0x00000000ac500000, 0x00000000ac500000| Untracked
-| 634|0x00000000ac600000, 0x00000000ac600000, 0x00000000ac700000| 0%| F| |TAMS 0x00000000ac600000, 0x00000000ac600000| Untracked
-| 635|0x00000000ac700000, 0x00000000ac700000, 0x00000000ac800000| 0%| F| |TAMS 0x00000000ac700000, 0x00000000ac700000| Untracked
-| 636|0x00000000ac800000, 0x00000000ac800000, 0x00000000ac900000| 0%| F| |TAMS 0x00000000ac800000, 0x00000000ac800000| Untracked
-| 637|0x00000000ac900000, 0x00000000ac900000, 0x00000000aca00000| 0%| F| |TAMS 0x00000000ac900000, 0x00000000ac900000| Untracked
-| 638|0x00000000aca00000, 0x00000000aca00000, 0x00000000acb00000| 0%| F| |TAMS 0x00000000aca00000, 0x00000000aca00000| Untracked
-| 639|0x00000000acb00000, 0x00000000acb00000, 0x00000000acc00000| 0%| F| |TAMS 0x00000000acb00000, 0x00000000acb00000| Untracked
-| 640|0x00000000acc00000, 0x00000000acc00000, 0x00000000acd00000| 0%| F| |TAMS 0x00000000acc00000, 0x00000000acc00000| Untracked
-| 641|0x00000000acd00000, 0x00000000acd00000, 0x00000000ace00000| 0%| F| |TAMS 0x00000000acd00000, 0x00000000acd00000| Untracked
-| 642|0x00000000ace00000, 0x00000000ace00000, 0x00000000acf00000| 0%| F| |TAMS 0x00000000ace00000, 0x00000000ace00000| Untracked
-| 643|0x00000000acf00000, 0x00000000acf00000, 0x00000000ad000000| 0%| F| |TAMS 0x00000000acf00000, 0x00000000acf00000| Untracked
-| 644|0x00000000ad000000, 0x00000000ad000000, 0x00000000ad100000| 0%| F| |TAMS 0x00000000ad000000, 0x00000000ad000000| Untracked
-| 645|0x00000000ad100000, 0x00000000ad100000, 0x00000000ad200000| 0%| F| |TAMS 0x00000000ad100000, 0x00000000ad100000| Untracked
-| 646|0x00000000ad200000, 0x00000000ad200000, 0x00000000ad300000| 0%| F| |TAMS 0x00000000ad200000, 0x00000000ad200000| Untracked
-| 647|0x00000000ad300000, 0x00000000ad300000, 0x00000000ad400000| 0%| F| |TAMS 0x00000000ad300000, 0x00000000ad300000| Untracked
-| 648|0x00000000ad400000, 0x00000000ad400000, 0x00000000ad500000| 0%| F| |TAMS 0x00000000ad400000, 0x00000000ad400000| Untracked
-| 649|0x00000000ad500000, 0x00000000ad500000, 0x00000000ad600000| 0%| F| |TAMS 0x00000000ad500000, 0x00000000ad500000| Untracked
-| 650|0x00000000ad600000, 0x00000000ad600000, 0x00000000ad700000| 0%| F| |TAMS 0x00000000ad600000, 0x00000000ad600000| Untracked
-| 651|0x00000000ad700000, 0x00000000ad700000, 0x00000000ad800000| 0%| F| |TAMS 0x00000000ad700000, 0x00000000ad700000| Untracked
-| 652|0x00000000ad800000, 0x00000000ad800000, 0x00000000ad900000| 0%| F| |TAMS 0x00000000ad800000, 0x00000000ad800000| Untracked
-| 653|0x00000000ad900000, 0x00000000ad900000, 0x00000000ada00000| 0%| F| |TAMS 0x00000000ad900000, 0x00000000ad900000| Untracked
-| 654|0x00000000ada00000, 0x00000000ada00000, 0x00000000adb00000| 0%| F| |TAMS 0x00000000ada00000, 0x00000000ada00000| Untracked
-| 655|0x00000000adb00000, 0x00000000adb00000, 0x00000000adc00000| 0%| F| |TAMS 0x00000000adb00000, 0x00000000adb00000| Untracked
-| 656|0x00000000adc00000, 0x00000000adc00000, 0x00000000add00000| 0%| F| |TAMS 0x00000000adc00000, 0x00000000adc00000| Untracked
-| 657|0x00000000add00000, 0x00000000add00000, 0x00000000ade00000| 0%| F| |TAMS 0x00000000add00000, 0x00000000add00000| Untracked
-| 658|0x00000000ade00000, 0x00000000ade00000, 0x00000000adf00000| 0%| F| |TAMS 0x00000000ade00000, 0x00000000ade00000| Untracked
-| 659|0x00000000adf00000, 0x00000000adf00000, 0x00000000ae000000| 0%| F| |TAMS 0x00000000adf00000, 0x00000000adf00000| Untracked
-| 660|0x00000000ae000000, 0x00000000ae000000, 0x00000000ae100000| 0%| F| |TAMS 0x00000000ae000000, 0x00000000ae000000| Untracked
-| 661|0x00000000ae100000, 0x00000000ae100000, 0x00000000ae200000| 0%| F| |TAMS 0x00000000ae100000, 0x00000000ae100000| Untracked
-| 662|0x00000000ae200000, 0x00000000ae200000, 0x00000000ae300000| 0%| F| |TAMS 0x00000000ae200000, 0x00000000ae200000| Untracked
-| 663|0x00000000ae300000, 0x00000000ae300000, 0x00000000ae400000| 0%| F| |TAMS 0x00000000ae300000, 0x00000000ae300000| Untracked
-| 664|0x00000000ae400000, 0x00000000ae400000, 0x00000000ae500000| 0%| F| |TAMS 0x00000000ae400000, 0x00000000ae400000| Untracked
-| 665|0x00000000ae500000, 0x00000000ae500000, 0x00000000ae600000| 0%| F| |TAMS 0x00000000ae500000, 0x00000000ae500000| Untracked
-| 666|0x00000000ae600000, 0x00000000ae600000, 0x00000000ae700000| 0%| F| |TAMS 0x00000000ae600000, 0x00000000ae600000| Untracked
-| 667|0x00000000ae700000, 0x00000000ae700000, 0x00000000ae800000| 0%| F| |TAMS 0x00000000ae700000, 0x00000000ae700000| Untracked
-| 668|0x00000000ae800000, 0x00000000ae800000, 0x00000000ae900000| 0%| F| |TAMS 0x00000000ae800000, 0x00000000ae800000| Untracked
-| 669|0x00000000ae900000, 0x00000000ae900000, 0x00000000aea00000| 0%| F| |TAMS 0x00000000ae900000, 0x00000000ae900000| Untracked
-| 670|0x00000000aea00000, 0x00000000aea00000, 0x00000000aeb00000| 0%| F| |TAMS 0x00000000aea00000, 0x00000000aea00000| Untracked
-| 671|0x00000000aeb00000, 0x00000000aeb00000, 0x00000000aec00000| 0%| F| |TAMS 0x00000000aeb00000, 0x00000000aeb00000| Untracked
-| 672|0x00000000aec00000, 0x00000000aec00000, 0x00000000aed00000| 0%| F| |TAMS 0x00000000aec00000, 0x00000000aec00000| Untracked
-| 673|0x00000000aed00000, 0x00000000aed00000, 0x00000000aee00000| 0%| F| |TAMS 0x00000000aed00000, 0x00000000aed00000| Untracked
-| 674|0x00000000aee00000, 0x00000000aee00000, 0x00000000aef00000| 0%| F| |TAMS 0x00000000aee00000, 0x00000000aee00000| Untracked
-| 675|0x00000000aef00000, 0x00000000aef00000, 0x00000000af000000| 0%| F| |TAMS 0x00000000aef00000, 0x00000000aef00000| Untracked
-| 676|0x00000000af000000, 0x00000000af000000, 0x00000000af100000| 0%| F| |TAMS 0x00000000af000000, 0x00000000af000000| Untracked
-| 677|0x00000000af100000, 0x00000000af100000, 0x00000000af200000| 0%| F| |TAMS 0x00000000af100000, 0x00000000af100000| Untracked
-| 678|0x00000000af200000, 0x00000000af200000, 0x00000000af300000| 0%| F| |TAMS 0x00000000af200000, 0x00000000af200000| Untracked
-| 679|0x00000000af300000, 0x00000000af300000, 0x00000000af400000| 0%| F| |TAMS 0x00000000af300000, 0x00000000af300000| Untracked
-| 680|0x00000000af400000, 0x00000000af400000, 0x00000000af500000| 0%| F| |TAMS 0x00000000af400000, 0x00000000af400000| Untracked
-| 681|0x00000000af500000, 0x00000000af500000, 0x00000000af600000| 0%| F| |TAMS 0x00000000af500000, 0x00000000af500000| Untracked
-| 682|0x00000000af600000, 0x00000000af600000, 0x00000000af700000| 0%| F| |TAMS 0x00000000af600000, 0x00000000af600000| Untracked
-| 683|0x00000000af700000, 0x00000000af700000, 0x00000000af800000| 0%| F| |TAMS 0x00000000af700000, 0x00000000af700000| Untracked
-| 684|0x00000000af800000, 0x00000000af800000, 0x00000000af900000| 0%| F| |TAMS 0x00000000af800000, 0x00000000af800000| Untracked
-| 685|0x00000000af900000, 0x00000000af900000, 0x00000000afa00000| 0%| F| |TAMS 0x00000000af900000, 0x00000000af900000| Untracked
-| 686|0x00000000afa00000, 0x00000000afa00000, 0x00000000afb00000| 0%| F| |TAMS 0x00000000afa00000, 0x00000000afa00000| Untracked
-| 687|0x00000000afb00000, 0x00000000afb00000, 0x00000000afc00000| 0%| F| |TAMS 0x00000000afb00000, 0x00000000afb00000| Untracked
-| 688|0x00000000afc00000, 0x00000000afc00000, 0x00000000afd00000| 0%| F| |TAMS 0x00000000afc00000, 0x00000000afc00000| Untracked
-| 689|0x00000000afd00000, 0x00000000afd00000, 0x00000000afe00000| 0%| F| |TAMS 0x00000000afd00000, 0x00000000afd00000| Untracked
-| 690|0x00000000afe00000, 0x00000000afe00000, 0x00000000aff00000| 0%| F| |TAMS 0x00000000afe00000, 0x00000000afe00000| Untracked
-| 691|0x00000000aff00000, 0x00000000aff00000, 0x00000000b0000000| 0%| F| |TAMS 0x00000000aff00000, 0x00000000aff00000| Untracked
-| 692|0x00000000b0000000, 0x00000000b0000000, 0x00000000b0100000| 0%| F| |TAMS 0x00000000b0000000, 0x00000000b0000000| Untracked
-| 693|0x00000000b0100000, 0x00000000b0100000, 0x00000000b0200000| 0%| F| |TAMS 0x00000000b0100000, 0x00000000b0100000| Untracked
-| 694|0x00000000b0200000, 0x00000000b0200000, 0x00000000b0300000| 0%| F| |TAMS 0x00000000b0200000, 0x00000000b0200000| Untracked
-| 695|0x00000000b0300000, 0x00000000b0300000, 0x00000000b0400000| 0%| F| |TAMS 0x00000000b0300000, 0x00000000b0300000| Untracked
-| 696|0x00000000b0400000, 0x00000000b0400000, 0x00000000b0500000| 0%| F| |TAMS 0x00000000b0400000, 0x00000000b0400000| Untracked
-| 697|0x00000000b0500000, 0x00000000b0500000, 0x00000000b0600000| 0%| F| |TAMS 0x00000000b0500000, 0x00000000b0500000| Untracked
-| 698|0x00000000b0600000, 0x00000000b0600000, 0x00000000b0700000| 0%| F| |TAMS 0x00000000b0600000, 0x00000000b0600000| Untracked
-| 699|0x00000000b0700000, 0x00000000b0700000, 0x00000000b0800000| 0%| F| |TAMS 0x00000000b0700000, 0x00000000b0700000| Untracked
-| 700|0x00000000b0800000, 0x00000000b0800000, 0x00000000b0900000| 0%| F| |TAMS 0x00000000b0800000, 0x00000000b0800000| Untracked
-| 701|0x00000000b0900000, 0x00000000b0900000, 0x00000000b0a00000| 0%| F| |TAMS 0x00000000b0900000, 0x00000000b0900000| Untracked
-| 702|0x00000000b0a00000, 0x00000000b0a00000, 0x00000000b0b00000| 0%| F| |TAMS 0x00000000b0a00000, 0x00000000b0a00000| Untracked
-| 703|0x00000000b0b00000, 0x00000000b0b00000, 0x00000000b0c00000| 0%| F| |TAMS 0x00000000b0b00000, 0x00000000b0b00000| Untracked
-| 704|0x00000000b0c00000, 0x00000000b0c00000, 0x00000000b0d00000| 0%| F| |TAMS 0x00000000b0c00000, 0x00000000b0c00000| Untracked
-| 705|0x00000000b0d00000, 0x00000000b0d00000, 0x00000000b0e00000| 0%| F| |TAMS 0x00000000b0d00000, 0x00000000b0d00000| Untracked
-| 706|0x00000000b0e00000, 0x00000000b0e00000, 0x00000000b0f00000| 0%| F| |TAMS 0x00000000b0e00000, 0x00000000b0e00000| Untracked
-| 707|0x00000000b0f00000, 0x00000000b0f00000, 0x00000000b1000000| 0%| F| |TAMS 0x00000000b0f00000, 0x00000000b0f00000| Untracked
-| 708|0x00000000b1000000, 0x00000000b1000000, 0x00000000b1100000| 0%| F| |TAMS 0x00000000b1000000, 0x00000000b1000000| Untracked
-| 709|0x00000000b1100000, 0x00000000b1100000, 0x00000000b1200000| 0%| F| |TAMS 0x00000000b1100000, 0x00000000b1100000| Untracked
-| 710|0x00000000b1200000, 0x00000000b1300000, 0x00000000b1300000|100%| S| |TAMS 0x00000000b1200000, 0x00000000b1200000| Complete
-| 711|0x00000000b1300000, 0x00000000b1400000, 0x00000000b1400000|100%| S| |TAMS 0x00000000b1300000, 0x00000000b1300000| Complete
-| 712|0x00000000b1400000, 0x00000000b147e2e0, 0x00000000b1500000| 49%| E|CS|TAMS 0x00000000b1400000, 0x00000000b1400000| Complete
-| 713|0x00000000b1500000, 0x00000000b1600000, 0x00000000b1600000|100%| E|CS|TAMS 0x00000000b1500000, 0x00000000b1500000| Complete
-| 714|0x00000000b1600000, 0x00000000b1700000, 0x00000000b1700000|100%| E|CS|TAMS 0x00000000b1600000, 0x00000000b1600000| Complete
-| 715|0x00000000b1700000, 0x00000000b1800000, 0x00000000b1800000|100%| E|CS|TAMS 0x00000000b1700000, 0x00000000b1700000| Complete
-| 716|0x00000000b1800000, 0x00000000b1900000, 0x00000000b1900000|100%| S| |TAMS 0x00000000b1800000, 0x00000000b1800000| Complete
-| 717|0x00000000b1900000, 0x00000000b1a00000, 0x00000000b1a00000|100%| S| |TAMS 0x00000000b1900000, 0x00000000b1900000| Complete
-| 718|0x00000000b1a00000, 0x00000000b1b00000, 0x00000000b1b00000|100%| S| |TAMS 0x00000000b1a00000, 0x00000000b1a00000| Complete
-| 719|0x00000000b1b00000, 0x00000000b1c00000, 0x00000000b1c00000|100%| E|CS|TAMS 0x00000000b1b00000, 0x00000000b1b00000| Complete
-| 720|0x00000000b1c00000, 0x00000000b1d00000, 0x00000000b1d00000|100%| E|CS|TAMS 0x00000000b1c00000, 0x00000000b1c00000| Complete
-| 721|0x00000000b1d00000, 0x00000000b1e00000, 0x00000000b1e00000|100%| E|CS|TAMS 0x00000000b1d00000, 0x00000000b1d00000| Complete
-| 722|0x00000000b1e00000, 0x00000000b1f00000, 0x00000000b1f00000|100%| E|CS|TAMS 0x00000000b1e00000, 0x00000000b1e00000| Complete
-| 723|0x00000000b1f00000, 0x00000000b2000000, 0x00000000b2000000|100%| S| |TAMS 0x00000000b1f00000, 0x00000000b1f00000| Complete
-| 724|0x00000000b2000000, 0x00000000b2100000, 0x00000000b2100000|100%| S| |TAMS 0x00000000b2000000, 0x00000000b2000000| Complete
-| 725|0x00000000b2100000, 0x00000000b2200000, 0x00000000b2200000|100%| S| |TAMS 0x00000000b2100000, 0x00000000b2100000| Complete
-| 726|0x00000000b2200000, 0x00000000b2300000, 0x00000000b2300000|100%| S| |TAMS 0x00000000b2200000, 0x00000000b2200000| Complete
-| 727|0x00000000b2300000, 0x00000000b2400000, 0x00000000b2400000|100%| S| |TAMS 0x00000000b2300000, 0x00000000b2300000| Complete
-| 728|0x00000000b2400000, 0x00000000b2500000, 0x00000000b2500000|100%| E|CS|TAMS 0x00000000b2400000, 0x00000000b2400000| Complete
-| 729|0x00000000b2500000, 0x00000000b2600000, 0x00000000b2600000|100%| E|CS|TAMS 0x00000000b2500000, 0x00000000b2500000| Complete
-| 730|0x00000000b2600000, 0x00000000b2700000, 0x00000000b2700000|100%| E|CS|TAMS 0x00000000b2600000, 0x00000000b2600000| Complete
-| 731|0x00000000b2700000, 0x00000000b2800000, 0x00000000b2800000|100%| E|CS|TAMS 0x00000000b2700000, 0x00000000b2700000| Complete
-| 732|0x00000000b2800000, 0x00000000b2900000, 0x00000000b2900000|100%| E|CS|TAMS 0x00000000b2800000, 0x00000000b2800000| Complete
-| 733|0x00000000b2900000, 0x00000000b2a00000, 0x00000000b2a00000|100%| E|CS|TAMS 0x00000000b2900000, 0x00000000b2900000| Complete
-| 734|0x00000000b2a00000, 0x00000000b2b00000, 0x00000000b2b00000|100%| E|CS|TAMS 0x00000000b2a00000, 0x00000000b2a00000| Complete
-| 735|0x00000000b2b00000, 0x00000000b2c00000, 0x00000000b2c00000|100%| E|CS|TAMS 0x00000000b2b00000, 0x00000000b2b00000| Complete
-| 736|0x00000000b2c00000, 0x00000000b2d00000, 0x00000000b2d00000|100%| E|CS|TAMS 0x00000000b2c00000, 0x00000000b2c00000| Complete
-| 737|0x00000000b2d00000, 0x00000000b2e00000, 0x00000000b2e00000|100%| E|CS|TAMS 0x00000000b2d00000, 0x00000000b2d00000| Complete
-| 738|0x00000000b2e00000, 0x00000000b2f00000, 0x00000000b2f00000|100%| E|CS|TAMS 0x00000000b2e00000, 0x00000000b2e00000| Complete
-| 739|0x00000000b2f00000, 0x00000000b3000000, 0x00000000b3000000|100%| E|CS|TAMS 0x00000000b2f00000, 0x00000000b2f00000| Complete
-| 740|0x00000000b3000000, 0x00000000b3100000, 0x00000000b3100000|100%| E|CS|TAMS 0x00000000b3000000, 0x00000000b3000000| Complete
-| 741|0x00000000b3100000, 0x00000000b3200000, 0x00000000b3200000|100%| E|CS|TAMS 0x00000000b3100000, 0x00000000b3100000| Complete
-| 742|0x00000000b3200000, 0x00000000b3300000, 0x00000000b3300000|100%| E|CS|TAMS 0x00000000b3200000, 0x00000000b3200000| Complete
-| 743|0x00000000b3300000, 0x00000000b3400000, 0x00000000b3400000|100%| E|CS|TAMS 0x00000000b3300000, 0x00000000b3300000| Complete
-| 744|0x00000000b3400000, 0x00000000b3500000, 0x00000000b3500000|100%| E|CS|TAMS 0x00000000b3400000, 0x00000000b3400000| Complete
-| 745|0x00000000b3500000, 0x00000000b3600000, 0x00000000b3600000|100%| E|CS|TAMS 0x00000000b3500000, 0x00000000b3500000| Complete
-| 746|0x00000000b3600000, 0x00000000b3700000, 0x00000000b3700000|100%| E|CS|TAMS 0x00000000b3600000, 0x00000000b3600000| Complete
-| 747|0x00000000b3700000, 0x00000000b3800000, 0x00000000b3800000|100%| E|CS|TAMS 0x00000000b3700000, 0x00000000b3700000| Complete
-| 748|0x00000000b3800000, 0x00000000b3900000, 0x00000000b3900000|100%| E|CS|TAMS 0x00000000b3800000, 0x00000000b3800000| Complete
-| 749|0x00000000b3900000, 0x00000000b3a00000, 0x00000000b3a00000|100%| E|CS|TAMS 0x00000000b3900000, 0x00000000b3900000| Complete
-| 750|0x00000000b3a00000, 0x00000000b3b00000, 0x00000000b3b00000|100%| E|CS|TAMS 0x00000000b3a00000, 0x00000000b3a00000| Complete
-| 751|0x00000000b3b00000, 0x00000000b3c00000, 0x00000000b3c00000|100%| E|CS|TAMS 0x00000000b3b00000, 0x00000000b3b00000| Complete
-| 752|0x00000000b3c00000, 0x00000000b3d00000, 0x00000000b3d00000|100%| E|CS|TAMS 0x00000000b3c00000, 0x00000000b3c00000| Complete
-| 753|0x00000000b3d00000, 0x00000000b3e00000, 0x00000000b3e00000|100%| E|CS|TAMS 0x00000000b3d00000, 0x00000000b3d00000| Complete
-| 754|0x00000000b3e00000, 0x00000000b3f00000, 0x00000000b3f00000|100%| E|CS|TAMS 0x00000000b3e00000, 0x00000000b3e00000| Complete
-| 755|0x00000000b3f00000, 0x00000000b4000000, 0x00000000b4000000|100%| E|CS|TAMS 0x00000000b3f00000, 0x00000000b3f00000| Complete
-| 756|0x00000000b4000000, 0x00000000b4100000, 0x00000000b4100000|100%| E|CS|TAMS 0x00000000b4000000, 0x00000000b4000000| Complete
-| 757|0x00000000b4100000, 0x00000000b4200000, 0x00000000b4200000|100%| E|CS|TAMS 0x00000000b4100000, 0x00000000b4100000| Complete
-| 758|0x00000000b4200000, 0x00000000b4300000, 0x00000000b4300000|100%| E|CS|TAMS 0x00000000b4200000, 0x00000000b4200000| Complete
-| 759|0x00000000b4300000, 0x00000000b4400000, 0x00000000b4400000|100%| E|CS|TAMS 0x00000000b4300000, 0x00000000b4300000| Complete
-| 760|0x00000000b4400000, 0x00000000b4500000, 0x00000000b4500000|100%| E|CS|TAMS 0x00000000b4400000, 0x00000000b4400000| Complete
-| 761|0x00000000b4500000, 0x00000000b4600000, 0x00000000b4600000|100%| E|CS|TAMS 0x00000000b4500000, 0x00000000b4500000| Complete
-| 762|0x00000000b4600000, 0x00000000b4700000, 0x00000000b4700000|100%| E|CS|TAMS 0x00000000b4600000, 0x00000000b4600000| Complete
-| 763|0x00000000b4700000, 0x00000000b4800000, 0x00000000b4800000|100%| E|CS|TAMS 0x00000000b4700000, 0x00000000b4700000| Complete
-| 764|0x00000000b4800000, 0x00000000b4900000, 0x00000000b4900000|100%| E|CS|TAMS 0x00000000b4800000, 0x00000000b4800000| Complete
-| 765|0x00000000b4900000, 0x00000000b4a00000, 0x00000000b4a00000|100%| E|CS|TAMS 0x00000000b4900000, 0x00000000b4900000| Complete
-| 766|0x00000000b4a00000, 0x00000000b4b00000, 0x00000000b4b00000|100%| E|CS|TAMS 0x00000000b4a00000, 0x00000000b4a00000| Complete
-| 767|0x00000000b4b00000, 0x00000000b4c00000, 0x00000000b4c00000|100%| E|CS|TAMS 0x00000000b4b00000, 0x00000000b4b00000| Complete
-| 768|0x00000000b4c00000, 0x00000000b4d00000, 0x00000000b4d00000|100%| E|CS|TAMS 0x00000000b4c00000, 0x00000000b4c00000| Complete
-| 769|0x00000000b4d00000, 0x00000000b4e00000, 0x00000000b4e00000|100%| E|CS|TAMS 0x00000000b4d00000, 0x00000000b4d00000| Complete
-| 770|0x00000000b4e00000, 0x00000000b4f00000, 0x00000000b4f00000|100%| E|CS|TAMS 0x00000000b4e00000, 0x00000000b4e00000| Complete
-| 771|0x00000000b4f00000, 0x00000000b5000000, 0x00000000b5000000|100%| E|CS|TAMS 0x00000000b4f00000, 0x00000000b4f00000| Complete
-| 772|0x00000000b5000000, 0x00000000b5100000, 0x00000000b5100000|100%| E|CS|TAMS 0x00000000b5000000, 0x00000000b5000000| Complete
-| 773|0x00000000b5100000, 0x00000000b5200000, 0x00000000b5200000|100%| E|CS|TAMS 0x00000000b5100000, 0x00000000b5100000| Complete
-| 774|0x00000000b5200000, 0x00000000b5300000, 0x00000000b5300000|100%| E|CS|TAMS 0x00000000b5200000, 0x00000000b5200000| Complete
-| 775|0x00000000b5300000, 0x00000000b5400000, 0x00000000b5400000|100%| E|CS|TAMS 0x00000000b5300000, 0x00000000b5300000| Complete
-| 776|0x00000000b5400000, 0x00000000b5500000, 0x00000000b5500000|100%| E|CS|TAMS 0x00000000b5400000, 0x00000000b5400000| Complete
-| 777|0x00000000b5500000, 0x00000000b5600000, 0x00000000b5600000|100%| E|CS|TAMS 0x00000000b5500000, 0x00000000b5500000| Complete
-| 778|0x00000000b5600000, 0x00000000b5700000, 0x00000000b5700000|100%| E|CS|TAMS 0x00000000b5600000, 0x00000000b5600000| Complete
-| 779|0x00000000b5700000, 0x00000000b5800000, 0x00000000b5800000|100%| E|CS|TAMS 0x00000000b5700000, 0x00000000b5700000| Complete
-| 780|0x00000000b5800000, 0x00000000b5900000, 0x00000000b5900000|100%| E|CS|TAMS 0x00000000b5800000, 0x00000000b5800000| Complete
-| 781|0x00000000b5900000, 0x00000000b5a00000, 0x00000000b5a00000|100%| E|CS|TAMS 0x00000000b5900000, 0x00000000b5900000| Complete
-| 782|0x00000000b5a00000, 0x00000000b5b00000, 0x00000000b5b00000|100%| E|CS|TAMS 0x00000000b5a00000, 0x00000000b5a00000| Complete
-| 783|0x00000000b5b00000, 0x00000000b5c00000, 0x00000000b5c00000|100%| E|CS|TAMS 0x00000000b5b00000, 0x00000000b5b00000| Complete
-| 784|0x00000000b5c00000, 0x00000000b5d00000, 0x00000000b5d00000|100%| E|CS|TAMS 0x00000000b5c00000, 0x00000000b5c00000| Complete
-| 785|0x00000000b5d00000, 0x00000000b5e00000, 0x00000000b5e00000|100%| E|CS|TAMS 0x00000000b5d00000, 0x00000000b5d00000| Complete
-| 786|0x00000000b5e00000, 0x00000000b5f00000, 0x00000000b5f00000|100%| E|CS|TAMS 0x00000000b5e00000, 0x00000000b5e00000| Complete
-| 787|0x00000000b5f00000, 0x00000000b6000000, 0x00000000b6000000|100%| E|CS|TAMS 0x00000000b5f00000, 0x00000000b5f00000| Complete
-| 788|0x00000000b6000000, 0x00000000b6100000, 0x00000000b6100000|100%| E|CS|TAMS 0x00000000b6000000, 0x00000000b6000000| Complete
-| 789|0x00000000b6100000, 0x00000000b6200000, 0x00000000b6200000|100%| E|CS|TAMS 0x00000000b6100000, 0x00000000b6100000| Complete
-| 790|0x00000000b6200000, 0x00000000b6300000, 0x00000000b6300000|100%| E|CS|TAMS 0x00000000b6200000, 0x00000000b6200000| Complete
-| 791|0x00000000b6300000, 0x00000000b6400000, 0x00000000b6400000|100%| E|CS|TAMS 0x00000000b6300000, 0x00000000b6300000| Complete
-| 792|0x00000000b6400000, 0x00000000b6500000, 0x00000000b6500000|100%| E|CS|TAMS 0x00000000b6400000, 0x00000000b6400000| Complete
-| 793|0x00000000b6500000, 0x00000000b6600000, 0x00000000b6600000|100%| E|CS|TAMS 0x00000000b6500000, 0x00000000b6500000| Complete
-| 794|0x00000000b6600000, 0x00000000b6700000, 0x00000000b6700000|100%| E|CS|TAMS 0x00000000b6600000, 0x00000000b6600000| Complete
-| 795|0x00000000b6700000, 0x00000000b6800000, 0x00000000b6800000|100%| E|CS|TAMS 0x00000000b6700000, 0x00000000b6700000| Complete
-
-Card table byte_map: [0x00007ff688fce000,0x00007ff6893a8000] _byte_map_base: 0x00007ff688ba8000
-
-Marking Bits (Prev, Next): (CMBitMap*) 0x00007ff684073930, (CMBitMap*) 0x00007ff6840738f0
- Prev Bits: [0x00007ff669750000, 0x00007ff66b620000)
- Next Bits: [0x00007ff66b620000, 0x00007ff66d4f0000)
-
-Polling page: 0x00007ff68a19b000
-
-Metaspace:
-
-Usage:
- Non-class: 54.44 MB used.
- Class: 7.33 MB used.
- Both: 61.77 MB used.
-
-Virtual space:
- Non-class space: 64.00 MB reserved, 54.62 MB ( 85%) committed, 1 nodes.
- Class space: 1.00 GB reserved, 7.50 MB ( <1%) committed, 1 nodes.
- Both: 1.06 GB reserved, 62.12 MB ( 6%) committed.
-
-Chunk freelists:
- Non-Class: 1.39 MB
- Class: 512.00 KB
- Both: 1.89 MB
-
-MaxMetaspaceSize: unlimited
-CompressedClassSpaceSize: 1.00 GB
-Initial GC threshold: 21.00 MB
-Current GC threshold: 99.00 MB
-CDS: off
-MetaspaceReclaimPolicy: balanced
- - commit_granule_bytes: 65536.
- - commit_granule_words: 8192.
- - virtual_space_node_default_size: 8388608.
- - enlarge_chunks_in_place: 1.
- - new_chunks_are_fully_committed: 0.
- - uncommit_free_chunks: 1.
- - use_allocation_guard: 0.
-
-
-Internal statistics:
-
-num_allocs_failed_limit: 12.
-num_arena_births: 504.
-num_arena_deaths: 2.
-num_vsnodes_births: 2.
-num_vsnodes_deaths: 0.
-num_space_committed: 994.
-num_space_uncommitted: 0.
-num_chunks_returned_to_freelist: 16.
-num_chunks_taken_from_freelist: 2172.
-num_chunk_merges: 12.
-num_chunk_splits: 1581.
-num_chunks_enlarged: 1297.
-num_inconsistent_stats: 0.
-
-CodeHeap 'non-profiled nmethods': size=120028Kb used=7825Kb max_used=7825Kb free=112203Kb
- bounds [0x00007ff674fb9000, 0x00007ff675769000, 0x00007ff67c4f0000]
-CodeHeap 'profiled nmethods': size=120028Kb used=17380Kb max_used=18134Kb free=102647Kb
- bounds [0x00007ff66da82000, 0x00007ff66ec72000, 0x00007ff674fb9000]
-CodeHeap 'non-nmethods': size=5704Kb used=1309Kb max_used=1394Kb free=4395Kb
- bounds [0x00007ff66d4f0000, 0x00007ff66d760000, 0x00007ff66da82000]
- total_blobs=8973 nmethods=8347 adapters=538
- compilation: enabled
- stopped_count=0, restarted_count=0
- full_count=0
-
-Compilation events (20 events):
-Event: 44.004 Thread 0x00007ff68418b6a0 10400 3 com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl::getNodeValue (49 bytes)
-Event: 44.004 Thread 0x00007ff68418b6a0 nmethod 10400 0x00007ff66e35b310 code [0x00007ff66e35b4e0, 0x00007ff66e35b8e0]
-Event: 44.072 Thread 0x00007ff68418b6a0 10401 3 org.apache.ibatis.scripting.xmltags.XMLScriptBuilder$SetHandler::handleNode (36 bytes)
-Event: 44.073 Thread 0x00007ff68418b6a0 nmethod 10401 0x00007ff66df5db90 code [0x00007ff66df5dd60, 0x00007ff66df5e040]
-Event: 44.073 Thread 0x00007ff68418b6a0 10402 3 org.apache.ibatis.scripting.xmltags.SetSqlNode:: (16 bytes)
-Event: 44.073 Thread 0x00007ff68418b6a0 nmethod 10402 0x00007ff66e183d10 code [0x00007ff66e183ec0, 0x00007ff66e184020]
-Event: 44.085 Thread 0x00007ff68418b6a0 10403 3 org.apache.ibatis.io.Resources::getResourceAsStream (42 bytes)
-Event: 44.086 Thread 0x00007ff68418b6a0 nmethod 10403 0x00007ff66e5e6510 code [0x00007ff66e5e6760, 0x00007ff66e5e6e90]
-Event: 44.086 Thread 0x00007ff68418b6a0 10404 3 com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl::scanComment (50 bytes)
-Event: 44.087 Thread 0x00007ff68418b6a0 nmethod 10404 0x00007ff66dd64010 code [0x00007ff66dd641c0, 0x00007ff66dd644b0]
-Event: 44.087 Thread 0x00007ff68418b6a0 10405 3 com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDProcessor::comment (35 bytes)
-Event: 44.087 Thread 0x00007ff68418b6a0 nmethod 10405 0x00007ff66e5e5e90 code [0x00007ff66e5e6040, 0x00007ff66e5e62e0]
-Event: 44.114 Thread 0x00007ff68418a1d0 10406 4 java.lang.StringBuilder::charAt (6 bytes)
-Event: 44.116 Thread 0x00007ff68418a1d0 nmethod 10406 0x00007ff675758110 code [0x00007ff6757582a0, 0x00007ff6757583d8]
-Event: 44.156 Thread 0x00007ff68418a1d0 10407 4 sun.reflect.generics.repository.ConstructorRepository::parse (8 bytes)
-Event: 44.221 Thread 0x00007ff68418a1d0 nmethod 10407 0x00007ff675758510 code [0x00007ff675758780, 0x00007ff675759f60]
-Event: 44.221 Thread 0x00007ff68418a1d0 10408 4 sun.reflect.generics.parser.SignatureParser::parseMethodTypeSignature (41 bytes)
-Event: 44.341 Thread 0x00007ff68418a1d0 nmethod 10408 0x00007ff67575ac10 code [0x00007ff67575ae80, 0x00007ff67575c740]
-Event: 44.892 Thread 0x00007ff68418b6a0 10409 3 java.util.regex.Pattern$LastNode::match (45 bytes)
-Event: 44.893 Thread 0x00007ff68418b6a0 nmethod 10409 0x00007ff66e35ae10 code [0x00007ff66e35afc0, 0x00007ff66e35b1d0]
-
-GC Heap History (20 events):
-Event: 44.687 GC heap after
-{Heap after GC invocations=174 (full 0):
- garbage-first heap total 815104K, used 648679K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 44.813 GC heap before
-{Heap before GC invocations=174 (full 0):
- garbage-first heap total 815104K, used 720359K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 44.817 GC heap after
-{Heap after GC invocations=175 (full 0):
- garbage-first heap total 815104K, used 648898K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 5 young (5120K), 5 survivors (5120K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 44.920 GC heap before
-{Heap before GC invocations=175 (full 0):
- garbage-first heap total 815104K, used 720578K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 75 young (76800K), 5 survivors (5120K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 44.924 GC heap after
-{Heap after GC invocations=176 (full 0):
- garbage-first heap total 815104K, used 649407K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.007 GC heap before
-{Heap before GC invocations=176 (full 0):
- garbage-first heap total 815104K, used 721087K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.010 GC heap after
-{Heap after GC invocations=177 (full 0):
- garbage-first heap total 815104K, used 649299K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.115 GC heap before
-{Heap before GC invocations=177 (full 0):
- garbage-first heap total 815104K, used 720979K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.118 GC heap after
-{Heap after GC invocations=178 (full 0):
- garbage-first heap total 815104K, used 649121K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 5 young (5120K), 5 survivors (5120K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.217 GC heap before
-{Heap before GC invocations=178 (full 0):
- garbage-first heap total 815104K, used 721825K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 5 survivors (5120K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.222 GC heap after
-{Heap after GC invocations=179 (full 0):
- garbage-first heap total 815104K, used 649412K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.334 GC heap before
-{Heap before GC invocations=179 (full 0):
- garbage-first heap total 815104K, used 721092K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.338 GC heap after
-{Heap after GC invocations=180 (full 0):
- garbage-first heap total 815104K, used 649550K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.462 GC heap before
-{Heap before GC invocations=180 (full 0):
- garbage-first heap total 815104K, used 721230K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.465 GC heap after
-{Heap after GC invocations=181 (full 0):
- garbage-first heap total 815104K, used 649921K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.553 GC heap before
-{Heap before GC invocations=181 (full 0):
- garbage-first heap total 815104K, used 721601K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.557 GC heap after
-{Heap after GC invocations=182 (full 0):
- garbage-first heap total 815104K, used 649639K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 6 young (6144K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.723 GC heap before
-{Heap before GC invocations=182 (full 0):
- garbage-first heap total 815104K, used 721319K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 6 survivors (6144K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 45.728 GC heap after
-{Heap after GC invocations=183 (full 0):
- garbage-first heap total 815104K, used 651808K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 8 young (8192K), 8 survivors (8192K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-Event: 46.010 GC heap before
-{Heap before GC invocations=183 (full 0):
- garbage-first heap total 815104K, used 721440K [0x0000000084c00000, 0x0000000100000000)
- region size 1024K, 76 young (77824K), 8 survivors (8192K)
- Metaspace used 63254K, committed 63616K, reserved 1114112K
- class space used 7507K, committed 7680K, reserved 1048576K
-}
-
-Deoptimization events (20 events):
-Event: 30.116 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff6756b7a08 sp=0x00007ff68a298860
-Event: 30.116 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d542099 sp=0x00007ff68a298808 mode 2
-Event: 30.116 Thread 0x00007ff684013ea0 Uncommon trap: trap_request=0xffffffd6 fr.pc=0x00007ff6756b7a08 relative=0x00000000000003e8
-Event: 30.116 Thread 0x00007ff684013ea0 Uncommon trap: reason=array_check action=maybe_recompile pc=0x00007ff6756b7a08 method=java.util.LinkedHashMap.valuesToArray([Ljava/lang/Object;)[Ljava/lang/Object; @ 25 c2
-Event: 30.116 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff6756b7a08 sp=0x00007ff68a298860
-Event: 30.116 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d542099 sp=0x00007ff68a298808 mode 2
-Event: 32.051 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff66e835bb5 sp=0x00007ff68a296ee0
-Event: 32.051 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d54282f sp=0x00007ff68a296450 mode 0
-Event: 39.084 Thread 0x00007ff684013ea0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00007ff6752804a0 relative=0x0000000000000a60
-Event: 39.084 Thread 0x00007ff684013ea0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00007ff6752804a0 method=java.util.WeakHashMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @ 146 c2
-Event: 39.084 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff6752804a0 sp=0x00007ff68a2973b0
-Event: 39.084 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d542099 sp=0x00007ff68a297388 mode 2
-Event: 39.111 Thread 0x00007ff684013ea0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00007ff6752afb70 relative=0x00000000000002b0
-Event: 39.111 Thread 0x00007ff684013ea0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00007ff6752afb70 method=org.h2.mvstore.db.ValueDataType.compare(Ljava/lang/Object;Ljava/lang/Object;)I @ 101 c2
-Event: 39.111 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff6752afb70 sp=0x00007ff68a2961d0
-Event: 39.111 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d542099 sp=0x00007ff68a296148 mode 2
-Event: 39.111 Thread 0x00007ff684013ea0 Uncommon trap: trap_request=0xffffff45 fr.pc=0x00007ff67534bff8 relative=0x0000000000001058
-Event: 39.111 Thread 0x00007ff684013ea0 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00007ff67534bff8 method=org.h2.mvstore.db.ValueDataType.compare(Ljava/lang/Object;Ljava/lang/Object;)I @ 106 c2
-Event: 39.111 Thread 0x00007ff684013ea0 DEOPT PACKING pc=0x00007ff67534bff8 sp=0x00007ff68a296250
-Event: 39.111 Thread 0x00007ff684013ea0 DEOPT UNPACKING pc=0x00007ff66d542099 sp=0x00007ff68a296180 mode 2
-
-Classes loaded (20 events):
-Event: 16.769 Loading class javax/xml/transform/sax/SAXSource
-Event: 16.769 Loading class javax/xml/transform/sax/SAXSource done
-Event: 16.769 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper
-Event: 16.770 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHelper
-Event: 16.770 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHelper done
-Event: 16.770 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper done
-Event: 16.770 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper$DOMNamespaceContext
-Event: 16.771 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper$DOMNamespaceContext done
-Event: 16.772 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultAugmentor
-Event: 16.772 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMDocumentHandler
-Event: 16.772 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMDocumentHandler done
-Event: 16.772 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultAugmentor done
-Event: 16.772 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultBuilder
-Event: 16.773 Loading class com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultBuilder done
-Event: 16.779 Loading class com/sun/org/apache/xerces/internal/dom/ParentNode$UserDataRecord
-Event: 16.779 Loading class com/sun/org/apache/xerces/internal/dom/ParentNode$UserDataRecord done
-Event: 16.788 Loading class java/util/Collections$UnmodifiableSortedMap
-Event: 16.788 Loading class java/util/Collections$UnmodifiableSortedMap done
-Event: 24.701 Loading class java/util/regex/Pattern$Neg
-Event: 24.701 Loading class java/util/regex/Pattern$Neg done
-
-Classes unloaded (1 events):
-Event: 2.977 Thread 0x00007ff684150fa0 Unloading class 0x0000000100211800 'net/bytebuddy/mirror/AccessibleObject'
-
-Classes redefined (0 events):
-No events
-
-Internal exceptions (20 events):
-Event: 39.068 Thread 0x00007ff684013ea0 Exception (0x00000000ae547800)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.075 Thread 0x00007ff684013ea0 Exception (0x00000000ae564d60)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.077 Thread 0x00007ff684013ea0 Exception (0x00000000ae5719d0)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.079 Thread 0x00007ff684013ea0 Exception (0x00000000ae5878c0)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.081 Thread 0x00007ff684013ea0 Exception (0x00000000ae59d1a0)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.081 Thread 0x00007ff684013ea0 Exception (0x00000000ae5a16e8)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.083 Thread 0x00007ff684013ea0 Exception (0x00000000ae5b6388)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.084 Thread 0x00007ff684013ea0 Exception (0x00000000ae5ba630)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.085 Thread 0x00007ff684013ea0 Exception (0x00000000ae5c1490)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.085 Thread 0x00007ff684013ea0 Exception (0x00000000ae5c5870)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.115 Thread 0x00007ff684013ea0 Exception (0x00000000ae30fae0)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.116 Thread 0x00007ff684013ea0 Exception (0x00000000ae313f28)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.120 Thread 0x00007ff684013ea0 Exception (0x00000000ae33a2e8)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.120 Thread 0x00007ff684013ea0 Exception (0x00000000ae33ebc8)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.120 Thread 0x00007ff684013ea0 Exception (0x00000000ae343580)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.123 Thread 0x00007ff684013ea0 Exception (0x00000000ae362578)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.126 Thread 0x00007ff684013ea0 Exception (0x00000000ae37ef40)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 39.126 Thread 0x00007ff684013ea0 Exception (0x00000000ae383700)
-thrown [src/hotspot/share/classfile/systemDictionary.cpp, line 255]
-Event: 41.431 Thread 0x00007ff684013ea0 Exception (0x00000000b3b4b590)
-thrown [src/hotspot/share/interpreter/linkResolver.cpp, line 1357]
-Event: 43.820 Thread 0x00007ff684013ea0 Exception (0x00000000b45043a8)
-thrown [src/hotspot/share/interpreter/linkResolver.cpp, line 1357]
-
-VM Operations (20 events):
-Event: 44.687 Executing VM operation: G1CollectForAllocation done
-Event: 44.813 Executing VM operation: G1CollectForAllocation
-Event: 44.817 Executing VM operation: G1CollectForAllocation done
-Event: 44.920 Executing VM operation: G1CollectForAllocation
-Event: 44.924 Executing VM operation: G1CollectForAllocation done
-Event: 45.007 Executing VM operation: G1CollectForAllocation
-Event: 45.010 Executing VM operation: G1CollectForAllocation done
-Event: 45.115 Executing VM operation: G1CollectForAllocation
-Event: 45.118 Executing VM operation: G1CollectForAllocation done
-Event: 45.217 Executing VM operation: G1CollectForAllocation
-Event: 45.222 Executing VM operation: G1CollectForAllocation done
-Event: 45.334 Executing VM operation: G1CollectForAllocation
-Event: 45.338 Executing VM operation: G1CollectForAllocation done
-Event: 45.462 Executing VM operation: G1CollectForAllocation
-Event: 45.465 Executing VM operation: G1CollectForAllocation done
-Event: 45.553 Executing VM operation: G1CollectForAllocation
-Event: 45.557 Executing VM operation: G1CollectForAllocation done
-Event: 45.723 Executing VM operation: G1CollectForAllocation
-Event: 45.728 Executing VM operation: G1CollectForAllocation done
-Event: 46.009 Executing VM operation: G1CollectForAllocation
-
-Events (20 events):
-Event: 39.846 Thread 0x00007ff6283a7550 Thread exited: 0x00007ff6283a7550
-Event: 39.846 Thread 0x00007ff6285211c0 Thread exited: 0x00007ff6285211c0
-Event: 41.424 Thread 0x00007ff6285211c0 Thread added: 0x00007ff6285211c0
-Event: 41.424 Protecting memory [0x00007ff65959a000,0x00007ff65959e000] with protection modes 0
-Event: 41.431 Thread 0x00007ff6840e5520 Thread added: 0x00007ff6840e5520
-Event: 41.431 Protecting memory [0x00007ff6597f2000,0x00007ff6597f6000] with protection modes 0
-Event: 41.432 Thread 0x00007ff6851b7620 Thread added: 0x00007ff6851b7620
-Event: 41.432 Protecting memory [0x00007ff668160000,0x00007ff668164000] with protection modes 0
-Event: 41.493 Thread 0x00007ff6851b7620 Thread exited: 0x00007ff6851b7620
-Event: 41.494 Thread 0x00007ff6840e5520 Thread exited: 0x00007ff6840e5520
-Event: 42.875 Thread 0x00007ff6285211c0 Thread exited: 0x00007ff6285211c0
-Event: 43.820 Thread 0x00007ff6840e5520 Thread added: 0x00007ff6840e5520
-Event: 43.821 Protecting memory [0x00007ff65959a000,0x00007ff65959e000] with protection modes 0
-Event: 43.821 Thread 0x00007ff6851b7620 Thread added: 0x00007ff6851b7620
-Event: 43.821 Protecting memory [0x00007ff6597f2000,0x00007ff6597f6000] with protection modes 0
-Event: 43.864 Thread 0x00007ff628899b90 Thread added: 0x00007ff628899b90
-Event: 43.864 Protecting memory [0x00007ff668160000,0x00007ff668164000] with protection modes 0
-Event: 43.870 Thread 0x00007ff6851b7620 Thread exited: 0x00007ff6851b7620
-Event: 43.872 Thread 0x00007ff6840e5520 Thread exited: 0x00007ff6840e5520
-Event: 44.072 Thread 0x00007ff628899b90 Thread exited: 0x00007ff628899b90
-
-
-Dynamic libraries:
-84c00000-b6800000 rw-p 00000000 00:00 0
-b6800000-100000000 ---p 00000000 00:00 0
-100000000-100020000 rw-p 00000000 00:00 0
-100020000-100040000 rw-p 00000000 00:00 0
-100040000-1000c0000 rw-p 00000000 00:00 0
-1000c0000-1000e0000 rw-p 00000000 00:00 0
-1000e0000-100140000 rw-p 00000000 00:00 0
-100140000-100180000 rw-p 00000000 00:00 0
-100180000-1002c0000 rw-p 00000000 00:00 0
-1002c0000-100300000 rw-p 00000000 00:00 0
-100300000-100540000 rw-p 00000000 00:00 0
-100540000-100640000 rw-p 00000000 00:00 0
-100640000-100780000 rw-p 00000000 00:00 0
-100780000-140000000 ---p 00000000 00:00 0
-56276536c000-56276536d000 r--p 00000000 08:10 149715 /usr/lib/jvm/java-18-openjdk/bin/java
-56276536d000-56276536e000 r-xp 00001000 08:10 149715 /usr/lib/jvm/java-18-openjdk/bin/java
-56276536e000-56276536f000 r--p 00002000 08:10 149715 /usr/lib/jvm/java-18-openjdk/bin/java
-56276536f000-562765370000 r--p 00002000 08:10 149715 /usr/lib/jvm/java-18-openjdk/bin/java
-562765370000-562765371000 rw-p 00003000 08:10 149715 /usr/lib/jvm/java-18-openjdk/bin/java
-56276588d000-5627658d4000 rw-p 00000000 00:00 0 [heap]
-7ff5d0000000-7ff5d0630000 rw-p 00000000 00:00 0
-7ff5d0630000-7ff5d4000000 ---p 00000000 00:00 0
-7ff5d8000000-7ff5d90f0000 rw-p 00000000 00:00 0
-7ff5d90f0000-7ff5dc000000 ---p 00000000 00:00 0
-7ff5dc000000-7ff5dcbde000 rw-p 00000000 00:00 0
-7ff5dcbde000-7ff5e0000000 ---p 00000000 00:00 0
-7ff5e0000000-7ff5e0021000 rw-p 00000000 00:00 0
-7ff5e0021000-7ff5e4000000 ---p 00000000 00:00 0
-7ff5e4000000-7ff5e57ab000 rw-p 00000000 00:00 0
-7ff5e57ab000-7ff5e8000000 ---p 00000000 00:00 0
-7ff5e8000000-7ff5e8032000 rw-p 00000000 00:00 0
-7ff5e8032000-7ff5ec000000 ---p 00000000 00:00 0
-7ff5ec000000-7ff5ec804000 rw-p 00000000 00:00 0
-7ff5ec804000-7ff5f0000000 ---p 00000000 00:00 0
-7ff5f0000000-7ff5f0021000 rw-p 00000000 00:00 0
-7ff5f0021000-7ff5f4000000 ---p 00000000 00:00 0
-7ff5f4000000-7ff5f4021000 rw-p 00000000 00:00 0
-7ff5f4021000-7ff5f8000000 ---p 00000000 00:00 0
-7ff5f8000000-7ff5f803a000 rw-p 00000000 00:00 0
-7ff5f803a000-7ff5fc000000 ---p 00000000 00:00 0
-7ff5fc000000-7ff5fc021000 rw-p 00000000 00:00 0
-7ff5fc021000-7ff600000000 ---p 00000000 00:00 0
-7ff600000000-7ff600021000 rw-p 00000000 00:00 0
-7ff600021000-7ff604000000 ---p 00000000 00:00 0
-7ff604000000-7ff604021000 rw-p 00000000 00:00 0
-7ff604021000-7ff608000000 ---p 00000000 00:00 0
-7ff608000000-7ff608f07000 rw-p 00000000 00:00 0
-7ff608f07000-7ff60c000000 ---p 00000000 00:00 0
-7ff60c000000-7ff60c021000 rw-p 00000000 00:00 0
-7ff60c021000-7ff610000000 ---p 00000000 00:00 0
-7ff610000000-7ff61007a000 rw-p 00000000 00:00 0
-7ff61007a000-7ff614000000 ---p 00000000 00:00 0
-7ff614000000-7ff614021000 rw-p 00000000 00:00 0
-7ff614021000-7ff618000000 ---p 00000000 00:00 0
-7ff618000000-7ff618021000 rw-p 00000000 00:00 0
-7ff618021000-7ff61c000000 ---p 00000000 00:00 0
-7ff61c000000-7ff61c021000 rw-p 00000000 00:00 0
-7ff61c021000-7ff620000000 ---p 00000000 00:00 0
-7ff620000000-7ff620021000 rw-p 00000000 00:00 0
-7ff620021000-7ff624000000 ---p 00000000 00:00 0
-7ff624000000-7ff624021000 rw-p 00000000 00:00 0
-7ff624021000-7ff628000000 ---p 00000000 00:00 0
-7ff628000000-7ff628b02000 rw-p 00000000 00:00 0
-7ff628b02000-7ff62c000000 ---p 00000000 00:00 0
-7ff62c000000-7ff62c021000 rw-p 00000000 00:00 0
-7ff62c021000-7ff630000000 ---p 00000000 00:00 0
-7ff630000000-7ff630021000 rw-p 00000000 00:00 0
-7ff630021000-7ff634000000 ---p 00000000 00:00 0
-7ff634000000-7ff635ae5000 rw-p 00000000 00:00 0
-7ff635ae5000-7ff638000000 ---p 00000000 00:00 0
-7ff638000000-7ff638021000 rw-p 00000000 00:00 0
-7ff638021000-7ff63c000000 ---p 00000000 00:00 0
-7ff63c000000-7ff63c021000 rw-p 00000000 00:00 0
-7ff63c021000-7ff640000000 ---p 00000000 00:00 0
-7ff640000000-7ff640021000 rw-p 00000000 00:00 0
-7ff640021000-7ff644000000 ---p 00000000 00:00 0
-7ff644000000-7ff644021000 rw-p 00000000 00:00 0
-7ff644021000-7ff648000000 ---p 00000000 00:00 0
-7ff648000000-7ff6480ff000 rw-p 00000000 00:00 0
-7ff6480ff000-7ff64c000000 ---p 00000000 00:00 0
-7ff64c000000-7ff64c021000 rw-p 00000000 00:00 0
-7ff64c021000-7ff650000000 ---p 00000000 00:00 0
-7ff650000000-7ff650500000 rw-p 00000000 00:00 0
-7ff650500000-7ff650540000 rw-p 00000000 00:00 0
-7ff650540000-7ff650580000 rw-p 00000000 00:00 0
-7ff650580000-7ff650700000 rw-p 00000000 00:00 0
-7ff650700000-7ff650760000 rw-p 00000000 00:00 0
-7ff650760000-7ff650780000 rw-p 00000000 00:00 0
-7ff650780000-7ff650900000 rw-p 00000000 00:00 0
-7ff650900000-7ff6509c0000 rw-p 00000000 00:00 0
-7ff6509c0000-7ff650b00000 rw-p 00000000 00:00 0
-7ff650b00000-7ff650f00000 rw-p 00000000 00:00 0
-7ff650f00000-7ff651000000 rw-p 00000000 00:00 0
-7ff651000000-7ff651300000 rw-p 00000000 00:00 0
-7ff651300000-7ff651380000 rw-p 00000000 00:00 0
-7ff651380000-7ff651700000 rw-p 00000000 00:00 0
-7ff651700000-7ff651800000 rw-p 00000000 00:00 0
-7ff651800000-7ff651fc0000 rw-p 00000000 00:00 0
-7ff651fc0000-7ff652000000 rw-p 00000000 00:00 0
-7ff652000000-7ff652380000 rw-p 00000000 00:00 0
-7ff652380000-7ff6524e0000 rw-p 00000000 00:00 0
-7ff6524e0000-7ff652500000 rw-p 00000000 00:00 0
-7ff652500000-7ff652700000 rw-p 00000000 00:00 0
-7ff652700000-7ff652800000 rw-p 00000000 00:00 0
-7ff652800000-7ff652a40000 rw-p 00000000 00:00 0
-7ff652a40000-7ff652a80000 rw-p 00000000 00:00 0
-7ff652a80000-7ff652b00000 rw-p 00000000 00:00 0
-7ff652b00000-7ff652d80000 rw-p 00000000 00:00 0
-7ff652d80000-7ff652e00000 rw-p 00000000 00:00 0
-7ff652e00000-7ff653180000 rw-p 00000000 00:00 0
-7ff653180000-7ff653200000 rw-p 00000000 00:00 0
-7ff653200000-7ff653300000 rw-p 00000000 00:00 0
-7ff653300000-7ff653400000 rw-p 00000000 00:00 0
-7ff653400000-7ff6536a0000 rw-p 00000000 00:00 0
-7ff6536a0000-7ff654000000 ---p 00000000 00:00 0
-7ff654000000-7ff654021000 rw-p 00000000 00:00 0
-7ff654021000-7ff658000000 ---p 00000000 00:00 0
-7ff659296000-7ff659297000 ---p 00000000 00:00 0
-7ff659297000-7ff659398000 rw-p 00000000 00:00 0
-7ff659398000-7ff659399000 ---p 00000000 00:00 0
-7ff659399000-7ff65949a000 rw-p 00000000 00:00 0
-7ff65949a000-7ff65949e000 ---p 00000000 00:00 0
-7ff65949e000-7ff65959a000 rw-p 00000000 00:00 0
-7ff65959a000-7ff65959e000 ---p 00000000 00:00 0
-7ff65959e000-7ff65969a000 rw-p 00000000 00:00 0
-7ff65969a000-7ff6596a1000 r--p 00000000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596a1000-7ff6596d7000 r-xp 00007000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596d7000-7ff6596ea000 r--p 0003d000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596ea000-7ff6596eb000 ---p 00050000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596eb000-7ff6596ee000 r--p 00050000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596ee000-7ff6596ef000 rw-p 00053000 08:10 2347 /usr/lib/libnss_mymachines.so.2
-7ff6596ef000-7ff6596f0000 rw-p 00000000 00:00 0
-7ff6596f0000-7ff6596f1000 ---p 00000000 00:00 0
-7ff6596f1000-7ff6597f2000 rw-p 00000000 00:00 0
-7ff6597f2000-7ff6597f6000 ---p 00000000 00:00 0
-7ff6597f6000-7ff6598f2000 rw-p 00000000 00:00 0
-7ff6598f2000-7ff6598f3000 ---p 00000000 00:00 0
-7ff6598f3000-7ff6599f4000 rw-p 00000000 00:00 0
-7ff6599f4000-7ff6599f5000 ---p 00000000 00:00 0
-7ff6599f5000-7ff659af6000 rw-p 00000000 00:00 0
-7ff659af6000-7ff659af7000 ---p 00000000 00:00 0
-7ff659af7000-7ff659bf8000 rw-p 00000000 00:00 0
-7ff659bf8000-7ff659bf9000 ---p 00000000 00:00 0
-7ff659bf9000-7ff659cfa000 rw-p 00000000 00:00 0
-7ff659cfa000-7ff659cfb000 ---p 00000000 00:00 0
-7ff659cfb000-7ff659dfc000 rw-p 00000000 00:00 0
-7ff659dfc000-7ff659dfd000 ---p 00000000 00:00 0
-7ff659dfd000-7ff659efe000 rw-p 00000000 00:00 0
-7ff659efe000-7ff659eff000 ---p 00000000 00:00 0
-7ff659eff000-7ff65c000000 rw-p 00000000 00:00 0
-7ff65c000000-7ff65c021000 rw-p 00000000 00:00 0
-7ff65c021000-7ff660000000 ---p 00000000 00:00 0
-7ff660000000-7ff660022000 rw-p 00000000 00:00 0
-7ff660022000-7ff664000000 ---p 00000000 00:00 0
-7ff664000000-7ff664021000 rw-p 00000000 00:00 0
-7ff664021000-7ff668000000 ---p 00000000 00:00 0
-7ff668024000-7ff668027000 r--p 00000000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff668027000-7ff66803e000 r-xp 00003000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff66803e000-7ff668045000 r--p 0001a000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff668045000-7ff668046000 ---p 00021000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff668046000-7ff668047000 r--p 00021000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff668047000-7ff668048000 rw-p 00022000 08:10 2436 /usr/lib/libnss_resolve.so.2
-7ff668048000-7ff66804b000 r--p 00000000 08:10 3836 /usr/lib/libcap.so.2.64
-7ff66804b000-7ff668050000 r-xp 00003000 08:10 3836 /usr/lib/libcap.so.2.64
-7ff668050000-7ff668052000 r--p 00008000 08:10 3836 /usr/lib/libcap.so.2.64
-7ff668052000-7ff668053000 r--p 00009000 08:10 3836 /usr/lib/libcap.so.2.64
-7ff668053000-7ff668054000 rw-p 0000a000 08:10 3836 /usr/lib/libcap.so.2.64
-7ff66805e000-7ff66805f000 ---p 00000000 00:00 0
-7ff66805f000-7ff668160000 rw-p 00000000 00:00 0
-7ff668160000-7ff668164000 ---p 00000000 00:00 0
-7ff668164000-7ff668260000 rw-p 00000000 00:00 0
-7ff668260000-7ff668264000 ---p 00000000 00:00 0
-7ff668264000-7ff668282000 rw-p 00000000 00:00 0
-7ff668282000-7ff668286000 r--p 00000000 08:10 149795 /usr/lib/jvm/java-18-openjdk/lib/libverify.so
-7ff668286000-7ff66828d000 r-xp 00004000 08:10 149795 /usr/lib/jvm/java-18-openjdk/lib/libverify.so
-7ff66828d000-7ff66828f000 r--p 0000b000 08:10 149795 /usr/lib/jvm/java-18-openjdk/lib/libverify.so
-7ff66828f000-7ff668291000 r--p 0000c000 08:10 149795 /usr/lib/jvm/java-18-openjdk/lib/libverify.so
-7ff668291000-7ff668292000 rw-p 0000e000 08:10 149795 /usr/lib/jvm/java-18-openjdk/lib/libverify.so
-7ff668292000-7ff668296000 ---p 00000000 00:00 0
-7ff668296000-7ff668392000 rw-p 00000000 00:00 0
-7ff668392000-7ff668394000 r--p 00000000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff668394000-7ff668397000 r-xp 00002000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff668397000-7ff668398000 r--p 00005000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff668398000-7ff668399000 ---p 00006000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff668399000-7ff66839a000 r--p 00006000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff66839a000-7ff66839b000 rw-p 00007000 08:10 149779 /usr/lib/jvm/java-18-openjdk/lib/libmanagement_ext.so
-7ff66839b000-7ff66839d000 r--p 00000000 08:10 149775 /usr/lib/jvm/java-18-openjdk/lib/libmanagement.so
-7ff66839d000-7ff66839e000 r-xp 00002000 08:10 149775 /usr/lib/jvm/java-18-openjdk/lib/libmanagement.so
-7ff66839e000-7ff66839f000 r--p 00003000 08:10 149775 /usr/lib/jvm/java-18-openjdk/lib/libmanagement.so
-7ff66839f000-7ff6683a0000 r--p 00003000 08:10 149775 /usr/lib/jvm/java-18-openjdk/lib/libmanagement.so
-7ff6683a0000-7ff6683a1000 rw-p 00004000 08:10 149775 /usr/lib/jvm/java-18-openjdk/lib/libmanagement.so
-7ff6683a1000-7ff6683a5000 ---p 00000000 00:00 0
-7ff6683a5000-7ff6684a1000 rw-p 00000000 00:00 0
-7ff6684a1000-7ff6684a4000 r--p 00000000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684a4000-7ff6684ad000 r-xp 00003000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684ad000-7ff6684af000 r--p 0000c000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684af000-7ff6684b0000 ---p 0000e000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684b0000-7ff6684b1000 r--p 0000e000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684b1000-7ff6684b2000 rw-p 0000f000 08:10 149783 /usr/lib/jvm/java-18-openjdk/lib/libnet.so
-7ff6684b2000-7ff6684b6000 ---p 00000000 00:00 0
-7ff6684b6000-7ff6685b2000 rw-p 00000000 00:00 0
-7ff6685b2000-7ff6685b3000 ---p 00000000 00:00 0
-7ff6685b3000-7ff6686b4000 rw-p 00000000 00:00 0
-7ff6686b4000-7ff6686b8000 ---p 00000000 00:00 0
-7ff6686b8000-7ff6687b4000 rw-p 00000000 00:00 0
-7ff6687b4000-7ff6687b8000 ---p 00000000 00:00 0
-7ff6687b8000-7ff6688b4000 rw-p 00000000 00:00 0
-7ff6688b4000-7ff6688b8000 ---p 00000000 00:00 0
-7ff6688b8000-7ff6689b4000 rw-p 00000000 00:00 0
-7ff6689b4000-7ff6689b8000 ---p 00000000 00:00 0
-7ff6689b8000-7ff668ab4000 rw-p 00000000 00:00 0
-7ff668ab4000-7ff668ab8000 ---p 00000000 00:00 0
-7ff668ab8000-7ff668bb4000 rw-p 00000000 00:00 0
-7ff668bb4000-7ff668bb8000 ---p 00000000 00:00 0
-7ff668bb8000-7ff668cb4000 rw-p 00000000 00:00 0
-7ff668cb4000-7ff668cb8000 ---p 00000000 00:00 0
-7ff668cb8000-7ff668db4000 rw-p 00000000 00:00 0
-7ff668db4000-7ff66909d000 r--p 00000000 08:10 28083 /usr/lib/locale/locale-archive
-7ff66909d000-7ff6690a1000 ---p 00000000 00:00 0
-7ff6690a1000-7ff66919d000 rw-p 00000000 00:00 0
-7ff66919d000-7ff6691a1000 ---p 00000000 00:00 0
-7ff6691a1000-7ff66929d000 rw-p 00000000 00:00 0
-7ff66929d000-7ff66929e000 ---p 00000000 00:00 0
-7ff66929e000-7ff66939f000 rw-p 00000000 00:00 0
-7ff66939f000-7ff6693a4000 r--p 00000000 08:10 149771 /usr/lib/jvm/java-18-openjdk/lib/libjsvml.so
-7ff6693a4000-7ff6693e5000 r-xp 00005000 08:10 149771 /usr/lib/jvm/java-18-openjdk/lib/libjsvml.so
-7ff6693e5000-7ff66946e000 r--p 00046000 08:10 149771 /usr/lib/jvm/java-18-openjdk/lib/libjsvml.so
-7ff66946e000-7ff66946f000 r--p 000ce000 08:10 149771 /usr/lib/jvm/java-18-openjdk/lib/libjsvml.so
-7ff66946f000-7ff669470000 rw-p 000cf000 08:10 149771 /usr/lib/jvm/java-18-openjdk/lib/libjsvml.so
-7ff669470000-7ff66954c000 rw-p 00000000 00:00 0
-7ff66954c000-7ff66954d000 ---p 00000000 00:00 0
-7ff66954d000-7ff66964e000 rw-p 00000000 00:00 0
-7ff66964e000-7ff66964f000 ---p 00000000 00:00 0
-7ff66964f000-7ff66a3c0000 rw-p 00000000 00:00 0
-7ff66a3c0000-7ff66b620000 ---p 00000000 00:00 0
-7ff66b620000-7ff66b76c000 rw-p 00000000 00:00 0
-7ff66b76c000-7ff66b80c000 rw-p 00000000 00:00 0
-7ff66b80c000-7ff66c290000 rw-p 00000000 00:00 0
-7ff66c290000-7ff66d4f0000 ---p 00000000 00:00 0
-7ff66d4f0000-7ff66d760000 rwxp 00000000 00:00 0
-7ff66d760000-7ff66da82000 ---p 00000000 00:00 0
-7ff66da82000-7ff66ec72000 rwxp 00000000 00:00 0
-7ff66ec72000-7ff674fb9000 ---p 00000000 00:00 0
-7ff674fb9000-7ff675769000 rwxp 00000000 00:00 0
-7ff675769000-7ff67c4f0000 ---p 00000000 00:00 0
-7ff67c4f0000-7ff684000000 r--s 00000000 08:10 149798 /usr/lib/jvm/java-18-openjdk/lib/modules
-7ff684000000-7ff685977000 rw-p 00000000 00:00 0
-7ff685977000-7ff688000000 ---p 00000000 00:00 0
-7ff688005000-7ff688007000 r--p 00000000 08:10 149797 /usr/lib/jvm/java-18-openjdk/lib/libzip.so
-7ff688007000-7ff68800b000 r-xp 00002000 08:10 149797 /usr/lib/jvm/java-18-openjdk/lib/libzip.so
-7ff68800b000-7ff68800d000 r--p 00006000 08:10 149797 /usr/lib/jvm/java-18-openjdk/lib/libzip.so
-7ff68800d000-7ff68800e000 r--p 00007000 08:10 149797 /usr/lib/jvm/java-18-openjdk/lib/libzip.so
-7ff68800e000-7ff68800f000 rw-p 00008000 08:10 149797 /usr/lib/jvm/java-18-openjdk/lib/libzip.so
-7ff68800f000-7ff688016000 r--p 00000000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff688016000-7ff68801e000 r-xp 00007000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff68801e000-7ff688022000 r--p 0000f000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff688022000-7ff688023000 ---p 00013000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff688023000-7ff688024000 r--p 00013000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff688024000-7ff688025000 rw-p 00014000 08:10 149785 /usr/lib/jvm/java-18-openjdk/lib/libnio.so
-7ff688025000-7ff68886e000 rw-p 00000000 00:00 0
-7ff68886e000-7ff68886f000 ---p 00000000 00:00 0
-7ff68886f000-7ff688970000 rw-p 00000000 00:00 0
-7ff688970000-7ff688971000 ---p 00000000 00:00 0
-7ff688971000-7ff688a72000 rw-p 00000000 00:00 0
-7ff688a72000-7ff688a73000 ---p 00000000 00:00 0
-7ff688a73000-7ff688d82000 rw-p 00000000 00:00 0
-7ff688d82000-7ff688fce000 ---p 00000000 00:00 0
-7ff688fce000-7ff68915c000 rw-p 00000000 00:00 0
-7ff68915c000-7ff6893a8000 ---p 00000000 00:00 0
-7ff6893a8000-7ff689536000 rw-p 00000000 00:00 0
-7ff689536000-7ff689782000 ---p 00000000 00:00 0
-7ff689782000-7ff689f9a000 rw-p 00000000 00:00 0
-7ff689f9a000-7ff68a075000 ---p 00000000 00:00 0
-7ff68a075000-7ff68a099000 rw-p 00000000 00:00 0
-7ff68a099000-7ff68a160000 ---p 00000000 00:00 0
-7ff68a160000-7ff68a165000 rw-p 00000000 00:00 0
-7ff68a165000-7ff68a16c000 ---p 00000000 00:00 0
-7ff68a16c000-7ff68a178000 r--p 00000000 08:10 149760 /usr/lib/jvm/java-18-openjdk/lib/libjava.so
-7ff68a178000-7ff68a18a000 r-xp 0000c000 08:10 149760 /usr/lib/jvm/java-18-openjdk/lib/libjava.so
-7ff68a18a000-7ff68a190000 r--p 0001e000 08:10 149760 /usr/lib/jvm/java-18-openjdk/lib/libjava.so
-7ff68a190000-7ff68a191000 r--p 00023000 08:10 149760 /usr/lib/jvm/java-18-openjdk/lib/libjava.so
-7ff68a191000-7ff68a192000 rw-p 00024000 08:10 149760 /usr/lib/jvm/java-18-openjdk/lib/libjava.so
-7ff68a192000-7ff68a193000 rw-p 00000000 00:00 0
-7ff68a193000-7ff68a19b000 rw-s 00000000 08:10 380197 /tmp/hsperfdata_dalile/16077
-7ff68a19b000-7ff68a19c000 ---p 00000000 00:00 0
-7ff68a19c000-7ff68a19d000 r--p 00000000 00:00 0
-7ff68a19d000-7ff68a1a1000 ---p 00000000 00:00 0
-7ff68a1a1000-7ff68a29d000 rw-p 00000000 00:00 0
-7ff68a29d000-7ff68a2a0000 r--p 00000000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2a0000-7ff68a2b2000 r-xp 00003000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2b2000-7ff68a2b5000 r--p 00015000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2b5000-7ff68a2b6000 ---p 00018000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2b6000-7ff68a2b7000 r--p 00018000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2b7000-7ff68a2b8000 rw-p 00019000 08:10 2003 /usr/lib/libgcc_s.so.1
-7ff68a2b8000-7ff68a2c8000 r--p 00000000 08:10 5813 /usr/lib/libm.so.6
-7ff68a2c8000-7ff68a342000 r-xp 00010000 08:10 5813 /usr/lib/libm.so.6
-7ff68a342000-7ff68a39e000 r--p 0008a000 08:10 5813 /usr/lib/libm.so.6
-7ff68a39e000-7ff68a39f000 r--p 000e5000 08:10 5813 /usr/lib/libm.so.6
-7ff68a39f000-7ff68a3a0000 rw-p 000e6000 08:10 5813 /usr/lib/libm.so.6
-7ff68a3a0000-7ff68a439000 r--p 00000000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a439000-7ff68a542000 r-xp 00099000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a542000-7ff68a5b4000 r--p 001a2000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a5b4000-7ff68a5b5000 ---p 00214000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a5b5000-7ff68a5c2000 r--p 00214000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a5c2000-7ff68a5c3000 rw-p 00221000 08:10 2565 /usr/lib/libstdc++.so.6.0.29
-7ff68a5c3000-7ff68a5c6000 rw-p 00000000 00:00 0
-7ff68a5c6000-7ff68a830000 r--p 00000000 08:10 149811 /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so
-7ff68a830000-7ff68b554000 r-xp 0026a000 08:10 149811 /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so
-7ff68b554000-7ff68b7e4000 r--p 00f8e000 08:10 149811 /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so
-7ff68b7e4000-7ff68b8a5000 r--p 0121d000 08:10 149811 /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so
-7ff68b8a5000-7ff68b8da000 rw-p 012de000 08:10 149811 /usr/lib/jvm/java-18-openjdk/lib/server/libjvm.so
-7ff68b8da000-7ff68b937000 rw-p 00000000 00:00 0
-7ff68b937000-7ff68b93a000 r--p 00000000 08:10 27501 /usr/lib/libz.so.1.2.12
-7ff68b93a000-7ff68b948000 r-xp 00003000 08:10 27501 /usr/lib/libz.so.1.2.12
-7ff68b948000-7ff68b94f000 r--p 00011000 08:10 27501 /usr/lib/libz.so.1.2.12
-7ff68b94f000-7ff68b950000 r--p 00017000 08:10 27501 /usr/lib/libz.so.1.2.12
-7ff68b950000-7ff68b951000 rw-p 00018000 08:10 27501 /usr/lib/libz.so.1.2.12
-7ff68b951000-7ff68b97d000 r--p 00000000 08:10 5803 /usr/lib/libc.so.6
-7ff68b97d000-7ff68baf3000 r-xp 0002c000 08:10 5803 /usr/lib/libc.so.6
-7ff68baf3000-7ff68bb47000 r--p 001a2000 08:10 5803 /usr/lib/libc.so.6
-7ff68bb47000-7ff68bb48000 ---p 001f6000 08:10 5803 /usr/lib/libc.so.6
-7ff68bb48000-7ff68bb4b000 r--p 001f6000 08:10 5803 /usr/lib/libc.so.6
-7ff68bb4b000-7ff68bb4e000 rw-p 001f9000 08:10 5803 /usr/lib/libc.so.6
-7ff68bb4e000-7ff68bb5b000 rw-p 00000000 00:00 0
-7ff68bb5c000-7ff68bb5e000 r--p 00000000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb5e000-7ff68bb61000 r-xp 00002000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb61000-7ff68bb62000 r--p 00005000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb62000-7ff68bb63000 ---p 00006000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb63000-7ff68bb64000 r--p 00006000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb64000-7ff68bb65000 rw-p 00007000 08:10 149765 /usr/lib/jvm/java-18-openjdk/lib/libjimage.so
-7ff68bb65000-7ff68bb67000 r--p 00000000 08:10 149767 /usr/lib/jvm/java-18-openjdk/lib/libjli.so
-7ff68bb67000-7ff68bb70000 r-xp 00002000 08:10 149767 /usr/lib/jvm/java-18-openjdk/lib/libjli.so
-7ff68bb70000-7ff68bb73000 r--p 0000b000 08:10 149767 /usr/lib/jvm/java-18-openjdk/lib/libjli.so
-7ff68bb73000-7ff68bb74000 r--p 0000d000 08:10 149767 /usr/lib/jvm/java-18-openjdk/lib/libjli.so
-7ff68bb74000-7ff68bb75000 rw-p 0000e000 08:10 149767 /usr/lib/jvm/java-18-openjdk/lib/libjli.so
-7ff68bb75000-7ff68bb77000 rw-p 00000000 00:00 0
-7ff68bb77000-7ff68bb79000 r--p 00000000 08:10 5794 /usr/lib/ld-linux-x86-64.so.2
-7ff68bb79000-7ff68bba0000 r-xp 00002000 08:10 5794 /usr/lib/ld-linux-x86-64.so.2
-7ff68bba0000-7ff68bbab000 r--p 00029000 08:10 5794 /usr/lib/ld-linux-x86-64.so.2
-7ff68bbab000-7ff68bbac000 ---p 00000000 00:00 0
-7ff68bbac000-7ff68bbae000 r--p 00034000 08:10 5794 /usr/lib/ld-linux-x86-64.so.2
-7ff68bbae000-7ff68bbb0000 rw-p 00036000 08:10 5794 /usr/lib/ld-linux-x86-64.so.2
-7ffd4e9ee000-7ffd4ea0f000 rw-p 00000000 00:00 0 [stack]
-7ffd4ea97000-7ffd4ea9b000 r--p 00000000 00:00 0 [vvar]
-7ffd4ea9b000-7ffd4ea9c000 r-xp 00000000 00:00 0 [vdso]
-
-
-VM Arguments:
-java_command: /home/dalile/Projects/vPW-Testumgebung/camunda-kafka-polling-client/camunda-kafka-polling-client/target/surefire/surefirebooter8442856008034753365.jar /home/dalile/Projects/vPW-Testumgebung/camunda-kafka-polling-client/camunda-kafka-polling-client/target/surefire 2022-05-02T10-52-43_954-jvmRun1 surefire2196802293041236120tmp surefire_018127747581708429735tmp
-java_class_path (initial): /home/dalile/Projects/vPW-Testumgebung/camunda-kafka-polling-client/camunda-kafka-polling-client/target/surefire/surefirebooter8442856008034753365.jar
-Launcher Type: SUN_STANDARD
-
-[Global flags]
- intx CICompilerCount = 4 {product} {ergonomic}
- uint ConcGCThreads = 2 {product} {ergonomic}
- uint G1ConcRefinementThreads = 8 {product} {ergonomic}
- size_t G1HeapRegionSize = 1048576 {product} {ergonomic}
- uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
- size_t InitialHeapSize = 130023424 {product} {ergonomic}
- size_t MarkStackSize = 4194304 {product} {ergonomic}
- size_t MaxHeapSize = 2067791872 {product} {ergonomic}
- size_t MaxNewSize = 1240465408 {product} {ergonomic}
- size_t MinHeapDeltaBytes = 1048576 {product} {ergonomic}
- size_t MinHeapSize = 8388608 {product} {ergonomic}
- uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic}
- uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic}
- uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic}
- uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
- bool SegmentedCodeCache = true {product} {ergonomic}
- size_t SoftMaxHeapSize = 2067791872 {manageable} {ergonomic}
- bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
- bool UseCompressedOops = true {product lp64_product} {ergonomic}
- bool UseG1GC = true {product} {ergonomic}
-
-Logging:
-Log output configuration:
- #0: stdout all=warning uptime,level,tags foldmultilines=false
- #1: stderr all=off uptime,level,tags foldmultilines=false
-
-Environment Variables:
-JAVA_HOME=/usr/lib/jvm/java-18-openjdk
-PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/B132/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/B132/AppData/Local/Programs/Microsoft VS Code/bin
-SHELL=/bin/sh
-HOSTTYPE=x86_64
-LANG=en_US.UTF-8
-
-Signal Handlers:
- SIGSEGV: 0x00007ff68b4d03f0 in libjvm.so+15770608, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGBUS: 0x00007ff68b4d03f0 in libjvm.so+15770608, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGFPE: 0x00007ff68b4d03f0 in libjvm.so+15770608, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGPIPE: 0x00007ff68b375d80 in libjvm.so+14351744, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGXFSZ: 0x00007ff68b375d80 in libjvm.so+14351744, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGILL: 0x00007ff68b4d03f0 in libjvm.so+15770608, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGUSR2: 0x00007ff68b375410 in libjvm.so+14349328, mask=00100000000000000000000000000000, flags=SA_RESTART|SA_SIGINFO
- SIGHUP: 0x00007ff68b375330 in libjvm.so+14349104, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGINT: 0x00007ff68b375330 in libjvm.so+14349104, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGTERM: 0x00007ff68b375330 in libjvm.so+14349104, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGQUIT: 0x00007ff68b375330 in libjvm.so+14349104, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
- SIGTRAP: 0x00007ff68b4d03f0 in libjvm.so+15770608, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
-
-
---------------- S Y S T E M ---------------
-
-OS:
-NAME="Arch Linux"
-PRETTY_NAME="Arch Linux"
-ID=arch
-BUILD_ID=rolling
-ANSI_COLOR="38;2;23;147;209"
-HOME_URL="https://archlinux.org/"
-DOCUMENTATION_URL="https://wiki.archlinux.org/"
-SUPPORT_URL="https://bbs.archlinux.org/"
-BUG_REPORT_URL="https://bugs.archlinux.org/"
-LOGO=archlinux-logo
-IMAGE_ID=archlinux
-IMAGE_VERSION=2022.02.01
-uname: Linux 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64
-OS uptime: 0 days 2:01 hours
-libc: glibc 2.35 NPTL 2.35
-rlimit (soft/hard): STACK 8192k/infinity , CORE 0k/infinity , NPROC 31521/31521 , NOFILE 1048576/1048576 , AS infinity/infinity , CPU infinity/infinity , DATA infinity/infinity , FSIZE infinity/infinity , MEMLOCK 64k/64k
-load average: 2.52 1.67 1.46
-
-/proc/meminfo:
-MemTotal: 8073720 kB
-MemFree: 4778364 kB
-MemAvailable: 5702788 kB
-Buffers: 75884 kB
-Cached: 1010108 kB
-SwapCached: 4368 kB
-Active: 697232 kB
-Inactive: 2346600 kB
-Active(anon): 118384 kB
-Inactive(anon): 1839512 kB
-Active(file): 578848 kB
-Inactive(file): 507088 kB
-Unevictable: 0 kB
-Mlocked: 0 kB
-SwapTotal: 2097152 kB
-SwapFree: 2051364 kB
-Dirty: 32 kB
-Writeback: 0 kB
-AnonPages: 1948148 kB
-Mapped: 45188 kB
-Shmem: 48 kB
-KReclaimable: 110100 kB
-Slab: 159028 kB
-SReclaimable: 110100 kB
-SUnreclaim: 48928 kB
-KernelStack: 5008 kB
-PageTables: 6324 kB
-NFS_Unstable: 0 kB
-Bounce: 0 kB
-WritebackTmp: 0 kB
-CommitLimit: 6134012 kB
-Committed_AS: 2072624 kB
-VmallocTotal: 34359738367 kB
-VmallocUsed: 25132 kB
-VmallocChunk: 0 kB
-Percpu: 4320 kB
-AnonHugePages: 1265664 kB
-ShmemHugePages: 0 kB
-ShmemPmdMapped: 0 kB
-FileHugePages: 0 kB
-FilePmdMapped: 0 kB
-HugePages_Total: 0
-HugePages_Free: 0
-HugePages_Rsvd: 0
-HugePages_Surp: 0
-Hugepagesize: 2048 kB
-Hugetlb: 0 kB
-DirectMap4k: 117760 kB
-DirectMap2M: 8196096 kB
-DirectMap1G: 1048576 kB
-
-/sys/kernel/mm/transparent_hugepage/enabled: [always] madvise never
-/sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter): always defer defer+madvise [madvise] never
-
-Process Memory:
-Virtual Size: 6059360K (peak: 6124896K)
-Resident Set Size: 1052680K (peak: 1064220K) (anon: 1030888K, file: 21792K, shmem: 0K)
-Swapped out: 0K
-C-Heap outstanding allocations: 30714K
-
-/proc/sys/kernel/threads-max (system-wide limit on the number of threads): 63043
-/proc/sys/vm/max_map_count (maximum number of memory map areas a process may have): 65530
-/proc/sys/kernel/pid_max (system-wide limit on number of process identifiers): 32768
-
-container (cgroup) information:
-container_type: cgroupv1
-cpu_cpuset_cpus: 0-7
-cpu_memory_nodes: 0
-active_processor_count: 8
-cpu_quota: no quota
-cpu_period: 100000
-cpu_shares: no shares
-memory_limit_in_bytes: unlimited
-memory_and_swap_limit_in_bytes: unlimited
-memory_soft_limit_in_bytes: unlimited
-memory_usage_in_bytes: 3110383616
-memory_max_usage_in_bytes: 8250236928
-maximum number of tasks: not supported
-current number of tasks: not supported
-
-Hyper-V virtualization detected
-Steal ticks since vm start: 0
-Steal ticks percentage since vm start: 0.000
-
-CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10 microcode 0xffffffff, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, avx, avx2, aes, erms, clmul, bmi1, bmi2, rtm, adx, fma, vzeroupper, clflush, clflushopt, hv
-CPU Model and flags from /proc/cpuinfo:
-model name : Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
-flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid ept_ad fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves flush_l1d arch_capabilities
-
-Online cpus: 0-7
-Offline cpus:
-BIOS frequency limitation:
-Frequency switch latency (ns):
-Available cpu frequencies:
-Current governor:
-Core performance/turbo boost:
-
-Memory: 4k page, physical 8073720k(4778364k free), swap 2097152k(2051364k free)
-Page Sizes: 4k
-
-vm_info: OpenJDK 64-Bit Server VM (18.0.1+10) for linux-amd64 JRE (18.0.1+10), built on Apr 19 2022 23:47:19 by "builduser" with gcc 11.2.0
-
-END.
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index ba2745d..aad7f36 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -1,15 +1,16 @@
server.port=8083
spring.profiles.active=rest
-spring.kafka.producer.bootstrap-servers=localhost:9092
polling.repository-data.enabled=true
-polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
+#polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
+polling.repository-data.initial-timestamp=2020-01-02 00:00:00
polling.repository-data.interval-in-ms=30000
polling.repository-data.backward-offset-in-ms=100
polling.repository-data.last-polled-file=./lastPolled-repository.properties
polling.runtime-data.enabled=true
-polling.runtime-data.initial-timestamp=${POLLING_RUNTIME_DATA_INITIAL_TIMESTAMP:}
+#polling.runtime-data.initial-timestamp=${POLLING_RUNTIME_DATA_INITIAL_TIMESTAMP:}
+polling.runtime-data.initial-timestamp=2020-01-02 00:00:00
polling.runtime-data.interval-in-ms=30000
polling.runtime-data.backward-offset-in-ms=60000
polling.runtime-data.last-polled-file=./lastPolled-runtime.properties
@@ -26,6 +27,7 @@ polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
#spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
+spring.kafka.producer.bootstrap-servers=localhost:9193
spring.kafka.producer.client-id=camunda-kafka-polling-client
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
diff --git a/lastPolled-repository.properties b/lastPolled-repository.properties
deleted file mode 100644
index 57aa9e4..0000000
--- a/lastPolled-repository.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-#Tue May 03 10:44:50 CEST 2022
-lastPolled=1651567436125
-cutoff=1651564083778
diff --git a/lastPolled-runtime.properties b/lastPolled-runtime.properties
deleted file mode 100644
index 3116d17..0000000
--- a/lastPolled-runtime.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-#Tue May 03 10:44:50 CEST 2022
-lastPolled=1651567430702
-cutoff=1651564083778
From 7fabbb43a7b2b13ac2d7fcfd7f9ce9554e5f0193 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:30:43 +0200
Subject: [PATCH 03/47] Add decision polling property
---
.../pollingclient/config/properties/ApplicationProperties.java | 3 ++-
.../src/main/resources/application.properties | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
index 6ad2e10..2426904 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
@@ -75,7 +75,8 @@ public enum PollingEvents {
PROCESS_DEFINITION,
TASK_COMMENTS,
IDENTITY_LINKS_UNFINISHED_ACTIVITIES,
- IDENTITY_LINKS_FINISHED_ACTIVITIES
+ IDENTITY_LINKS_FINISHED_ACTIVITIES,
+ DECISION_DEFINITION
}
public long getKafkaSendTimeoutInSeconds() {
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index aad7f36..e44bf79 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -25,6 +25,7 @@ polling.polling-events[6]=PROCESS_DEFINITION
polling.polling-events[7]=TASK_COMMENTS
polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
+polling.polling-events[10]=DECISION_DEFINITION
#spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
spring.kafka.producer.bootstrap-servers=localhost:9193
@@ -37,4 +38,4 @@ spring.kafka.producer.properties.linger.ms=0
spring.kafka.producer.properties.request.timeout.ms=30000
logging.level.root=WARN
-logging.level.de.viadee.camunda.kafka.pollingclient=INFO
\ No newline at end of file
+logging.level.de.viadee.camunda.kafka.pollingclient=DEBUG
\ No newline at end of file
From 6513ca7c5b448af7bca0eee0fb7d5a1f8337d0f7 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:34:40 +0200
Subject: [PATCH 04/47] Add layout file for decision definition event mapping
---
.../kafka/event/DecisionDefinitionEvent.java | 88 +++++++++++++++++++
1 file changed, 88 insertions(+)
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
new file mode 100644
index 0000000..2231da2
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
@@ -0,0 +1,88 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Date;
+
+public class DecisionDefinitionEvent extends DeploymentEvent {
+
+ private String key;
+ private String category;
+ private Integer version;
+ private String resource;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+ private String xml;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+
+ public String getXml() {
+ return xml;
+ }
+
+ public void setXml(String xml) {
+ this.xml = xml;
+ }
+}
From c3bfd220c728272ba0e8d2151674caef14a9a57d Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:34:40 +0200
Subject: [PATCH 05/47] Add layout class for decision definition event mapping
---
.../GetDecisionDefinitionResponse.java | 119 ++++++++++++++++++
.../GetDecisionDefinitionXmlResponse.java | 26 ++++
2 files changed, 145 insertions(+)
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
new file mode 100644
index 0000000..c64674f
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
@@ -0,0 +1,119 @@
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * Response structure of Camunda REST API GET /decision-definition
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionResponse {
+
+ private String id;
+ private String key;
+ private String category;
+ private String name;
+ private Integer version;
+ private String resource;
+ private String deploymentId;
+ private String tenantId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDeploymentId() {
+ return deploymentId;
+ }
+
+ public void setDeploymentId(String deploymentId) {
+ this.deploymentId = deploymentId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
new file mode 100644
index 0000000..e869fea
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
@@ -0,0 +1,26 @@
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionXmlResponse {
+
+ private String id;
+ private String dmnXml;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDmnXml() {
+ return dmnXml;
+ }
+
+ public void setDmnXml(String dmnXml) {
+ this.dmnXml = dmnXml;
+ }
+}
From 97d8cc90634c4743038331e421e05e2139ee2d1e Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:41:41 +0200
Subject: [PATCH 06/47] Add polling job for decision definitions
---
.../job/repository/RepositoryDataPollingService.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
index c9d5e99..a7c34e3 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
@@ -1,5 +1,6 @@
package de.viadee.camunda.kafka.pollingclient.job.repository;
+import de.viadee.camunda.kafka.event.DecisionDefinitionEvent;
import de.viadee.camunda.kafka.event.ProcessDefinitionEvent;
import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
@@ -62,12 +63,21 @@ public void run() {
LOGGER.info("Start polling repository data: {}", pollingTimeslice);
pollProcessDefinitions(pollingTimeslice);
+ pollDecisionDefinitions(pollingTimeslice);
lastPolledService.updatePollingTimeslice(pollingTimeslice);
LOGGER.info("Finished polling repository data: {}", pollingTimeslice);
}
+ private void pollDecisionDefinitions(PollingTimeslice pollingTimeslice) {
+ if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.DECISION_DEFINITION)) {
+ for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),pollingTimeslice.getEndTime())) {
+ eventService.sendEvent(decisionDefinitionEvent);
+ }
+ }
+ }
+
private void pollProcessDefinitions(final PollingTimeslice pollingTimeslice) {
if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.PROCESS_DEFINITION)) {
for (final ProcessDefinitionEvent processDefinitionEvent : pollingService
From 3eff38e34045859cec284989943535a3dea97c25 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:43:05 +0200
Subject: [PATCH 07/47] Add polling service for decision definitions
---
.../pollingclient/service/polling/PollingService.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
index c6289c0..57435a9 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
@@ -115,4 +115,15 @@ Iterable pollUnfinishedActivities(String processInstanceI
* @return a {@link java.lang.Iterable} object.
*/
Iterable pollIdentityLinks(ActivityInstanceEvent activityInstanceEvent);
+
+ /**
+ * Poll decision definitions
+ *
+ * @param deploymentAfter
+ * inclusive
+ * @param deploymentBefore
+ * exclusive
+ * @return a {@link java.lang.Iterable} object.
+ */
+ Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore);
}
From f2be5e57db38e27fee1a81e2116c4e9086af25cc Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:45:06 +0200
Subject: [PATCH 08/47] Add REST polling for decision definitions
---
.../rest/CamundaRestPollingServiceImpl.java | 81 +++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index 715b94a..1c0f391 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -40,6 +40,8 @@ public class CamundaRestPollingServiceImpl implements PollingService {
private static final String PROCESS_DEFINITION_ID = "processDefinitionId";
private static final String DEPLOYMENT_ID = "deploymentId";
private static final String TASK_ID = "taskId";
+ private static final String DECISION_DEFINITION_ID = "decisionDefinitionId";
+
private final ObjectMapper objectMapper;
@@ -405,6 +407,85 @@ public Iterable pollIdentityLinks(final ActivityInstanceEvent
}
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Iterable pollDecisionDefinitions(final Date startTime, final Date endTime) {
+
+ List deploymentList = getDeployments(startTime, endTime);
+ List decisionDefinitionList = new ArrayList<>();
+
+ for (GetDeploymentResponse deployment : deploymentList) {
+ decisionDefinitionList.addAll(getDecisionDefinitions(deployment));
+ }
+
+ for (DecisionDefinitionEvent decisionDefinitionEvent : decisionDefinitionList) {
+ GetDecisionDefinitionXmlResponse decisionDefinitionXML = getDecisionDefinitionXml(decisionDefinitionEvent.getId());
+
+ if (decisionDefinitionXML != null) {
+ decisionDefinitionEvent.setXml(decisionDefinitionXML.getDmnXml());
+ }
+ }
+
+ return decisionDefinitionList.stream()::iterator;
+ }
+
+ private List getDecisionDefinitions(GetDeploymentResponse deploymentResponse) {
+ final String url = camundaProperties.getUrl() + "decision-definition?deploymentId={deploymentId}";
+
+ List decisionDefinitions = new ArrayList<>();
+ try {
+ final Map variables = new HashMap<>();
+ variables.put("deploymentId", deploymentResponse.getId());
+ LOGGER.debug("Polling decision definitions from {} ({})", url, variables);
+
+ decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference>() {
+ }, variables).getBody();
+
+ if (decisionDefinitions == null) {
+ decisionDefinitions = new ArrayList<>();
+ }
+
+ LOGGER.debug("Found {} decision definitions from {} ({})", decisionDefinitions.size(), url, variables);
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definitions", e);
+ }
+
+ return decisionDefinitions.stream().map(response -> createDecisionDefinitionEvent(response, deploymentResponse)).collect(Collectors.toList());
+ }
+
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp, final GetDeploymentResponse deploymentResponse) {
+ final DecisionDefinitionEvent event = new DecisionDefinitionEvent();
+ BeanUtils.copyProperties(deploymentResponse, event);
+ BeanUtils.copyProperties(resp, event);
+ return event;
+ }
+
+ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisionDefinitionId) {
+ final String url = camundaProperties.getUrl() + "decision-definition/{decisionDefinitionId}/xml";
+
+ GetDecisionDefinitionXmlResponse resp;
+ try {
+ final Map variables = new HashMap<>();
+ variables.put(DECISION_DEFINITION_ID, decisionDefinitionId);
+
+ LOGGER.debug("Polling decision definition xml from {} ({})", url, variables);
+
+ resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class, variables).getBody();
+
+ if (resp != null) {
+ LOGGER.debug("Found decision definition xml from {} ({})", url, variables);
+ } else {
+ LOGGER.debug("No decision definition xml found from {} ({})", url, variables);
+ }
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml", e);
+ }
+
+ return resp;
+ }
+
private GetProcessDefinitionXmlResponse getProcessDefinitionXML(String processDefinitionId) {
final String url = camundaProperties.getUrl()
+ "process-definition/{processDefinitionId}/xml";
From 9ed14b251ad30ff250306f62c88486a65863d966 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Tue, 17 May 2022 12:45:19 +0200
Subject: [PATCH 09/47] Add JDBC polling for decision definitions
---
.../jdbc/CamundaJdbcPollingServiceImpl.java | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 32dc240..7e62e6e 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -12,6 +12,7 @@
import org.camunda.bpm.engine.history.*;
import org.camunda.bpm.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity;
import org.camunda.bpm.engine.impl.persistence.entity.HistoricVariableInstanceEntity;
+import org.camunda.bpm.engine.repository.DecisionDefinition;
import org.camunda.bpm.engine.repository.Deployment;
import org.camunda.bpm.engine.repository.ProcessDefinition;
import org.camunda.bpm.engine.task.Comment;
@@ -236,6 +237,45 @@ public Iterable pollIdentityLinks(ActivityInstanceEvent activ
.map(historicIdentityLinkLog -> createIdentityLinkEventFromDetails(historicIdentityLinkLog))::iterator;
}
+ @Override
+ public Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore) {
+ deploymentAfter = new Date(deploymentAfter.getTime() - 1);
+
+ //query deployments
+ List deployments = repositoryService.createDeploymentQuery()
+ .deploymentAfter(deploymentAfter)
+ .deploymentBefore(deploymentBefore)
+ .list();
+
+ List result = new ArrayList<>();
+
+ for (Deployment deployment : deployments) {
+ List decisionDefinitions = repositoryService.createDecisionDefinitionQuery().deploymentId(deployment.getId()).list();
+
+ //query decision definitions
+ for (DecisionDefinition decisionDefinition : decisionDefinitions) {
+ DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment, decisionDefinition);
+
+ //query xml
+ try {
+ String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),decisionDefinition.getResourceName()));
+ decisionDefinitionEvent.setXml(xml);
+ } catch (IOException e) {
+ throw new RuntimeException("error while reading xml for decision definition" + decisionDefinition.getId(),e);
+ }
+ result.add(decisionDefinitionEvent);
+ }
+ }
+ return result;
+ }
+
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(Deployment d, DecisionDefinition dd) {
+ DecisionDefinitionEvent event = new DecisionDefinitionEvent();
+ BeanUtils.copyProperties(d, event);
+ BeanUtils.copyProperties(dd, event);
+ return event;
+ }
+
private ProcessDefinitionEvent createProcessDefinitionEvent(Deployment d, ProcessDefinition pd) {
ProcessDefinitionEvent e = new ProcessDefinitionEvent();
From a9381b49af6abfc8ca17c040ec58c3ef88b56ec5 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 31 May 2022 14:05:47 +0200
Subject: [PATCH 10/47] Fix formatting
---
.../kafka/event/DecisionDefinitionEvent.java | 176 ++++++-------
.../RepositoryDataPollingService.java | 3 +-
.../event/kafka/KafkaEventServiceImpl.java | 1 -
.../jdbc/CamundaJdbcPollingServiceImpl.java | 25 +-
.../rest/CamundaRestPollingServiceImpl.java | 21 +-
.../GetDecisionDefinitionResponse.java | 238 +++++++++---------
.../GetDecisionDefinitionXmlResponse.java | 52 ++--
.../resources/application-rest.properties | 8 +-
.../src/main/resources/application.properties | 2 +-
9 files changed, 268 insertions(+), 258 deletions(-)
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
index 2231da2..94f3e4a 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
@@ -1,88 +1,88 @@
-package de.viadee.camunda.kafka.event;
-
-import java.util.Date;
-
-public class DecisionDefinitionEvent extends DeploymentEvent {
-
- private String key;
- private String category;
- private Integer version;
- private String resource;
- private String decisionRequirementsDefinitionId;
- private String decisionRequirementsDefinitionKey;
- private Integer historyTimeToLive;
- private String versionTag;
- private String xml;
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public Integer getVersion() {
- return version;
- }
-
- public void setVersion(Integer version) {
- this.version = version;
- }
-
- public String getResource() {
- return resource;
- }
-
- public void setResource(String resource) {
- this.resource = resource;
- }
-
- public String getDecisionRequirementsDefinitionId() {
- return decisionRequirementsDefinitionId;
- }
-
- public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
- this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
- }
-
- public String getDecisionRequirementsDefinitionKey() {
- return decisionRequirementsDefinitionKey;
- }
-
- public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
- this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
- }
-
- public Integer getHistoryTimeToLive() {
- return historyTimeToLive;
- }
-
- public void setHistoryTimeToLive(Integer historyTimeToLive) {
- this.historyTimeToLive = historyTimeToLive;
- }
-
- public String getVersionTag() {
- return versionTag;
- }
-
- public void setVersionTag(String versionTag) {
- this.versionTag = versionTag;
- }
-
- public String getXml() {
- return xml;
- }
-
- public void setXml(String xml) {
- this.xml = xml;
- }
-}
+package de.viadee.camunda.kafka.event;
+
+import java.util.Date;
+
+public class DecisionDefinitionEvent extends DeploymentEvent {
+
+ private String key;
+ private String category;
+ private Integer version;
+ private String resource;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+ private String xml;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+
+ public String getXml() {
+ return xml;
+ }
+
+ public void setXml(String xml) {
+ this.xml = xml;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
index a7c34e3..658ae2a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
@@ -72,7 +72,8 @@ public void run() {
private void pollDecisionDefinitions(PollingTimeslice pollingTimeslice) {
if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.DECISION_DEFINITION)) {
- for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),pollingTimeslice.getEndTime())) {
+ for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),
+ pollingTimeslice.getEndTime())) {
eventService.sendEvent(decisionDefinitionEvent);
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
index f38d3fd..367083a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
@@ -98,5 +98,4 @@ private String getTopicName(HistoryEvent event) {
return properties.getEventTopics().getOrDefault(eventName, eventName);
}
-
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 7e62e6e..4095ab3 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -241,27 +241,32 @@ public Iterable pollIdentityLinks(ActivityInstanceEvent activ
public Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore) {
deploymentAfter = new Date(deploymentAfter.getTime() - 1);
- //query deployments
+ // query deployments
List deployments = repositoryService.createDeploymentQuery()
- .deploymentAfter(deploymentAfter)
- .deploymentBefore(deploymentBefore)
- .list();
+ .deploymentAfter(deploymentAfter)
+ .deploymentBefore(deploymentBefore)
+ .list();
List result = new ArrayList<>();
for (Deployment deployment : deployments) {
- List decisionDefinitions = repositoryService.createDecisionDefinitionQuery().deploymentId(deployment.getId()).list();
+ List decisionDefinitions = repositoryService.createDecisionDefinitionQuery()
+ .deploymentId(deployment.getId())
+ .list();
- //query decision definitions
+ // query decision definitions
for (DecisionDefinition decisionDefinition : decisionDefinitions) {
- DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment, decisionDefinition);
+ DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment,
+ decisionDefinition);
- //query xml
+ // query xml
try {
- String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),decisionDefinition.getResourceName()));
+ String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),
+ decisionDefinition.getResourceName()));
decisionDefinitionEvent.setXml(xml);
} catch (IOException e) {
- throw new RuntimeException("error while reading xml for decision definition" + decisionDefinition.getId(),e);
+ throw new RuntimeException("error while reading xml for decision definition"
+ + decisionDefinition.getId(), e);
}
result.add(decisionDefinitionEvent);
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index 1c0f391..5a86d05 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -42,7 +42,6 @@ public class CamundaRestPollingServiceImpl implements PollingService {
private static final String TASK_ID = "taskId";
private static final String DECISION_DEFINITION_ID = "decisionDefinitionId";
-
private final ObjectMapper objectMapper;
private final CamundaRestPollingProperties camundaProperties;
@@ -440,8 +439,10 @@ private List getDecisionDefinitions(GetDeploymentRespon
variables.put("deploymentId", deploymentResponse.getId());
LOGGER.debug("Polling decision definitions from {} ({})", url, variables);
- decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference>() {
- }, variables).getBody();
+ decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null,
+ new ParameterizedTypeReference>() {
+ }, variables)
+ .getBody();
if (decisionDefinitions == null) {
decisionDefinitions = new ArrayList<>();
@@ -452,10 +453,13 @@ private List getDecisionDefinitions(GetDeploymentRespon
throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definitions", e);
}
- return decisionDefinitions.stream().map(response -> createDecisionDefinitionEvent(response, deploymentResponse)).collect(Collectors.toList());
+ return decisionDefinitions.stream()
+ .map(response -> createDecisionDefinitionEvent(response, deploymentResponse))
+ .collect(Collectors.toList());
}
- private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp, final GetDeploymentResponse deploymentResponse) {
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp,
+ final GetDeploymentResponse deploymentResponse) {
final DecisionDefinitionEvent event = new DecisionDefinitionEvent();
BeanUtils.copyProperties(deploymentResponse, event);
BeanUtils.copyProperties(resp, event);
@@ -472,7 +476,9 @@ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisio
LOGGER.debug("Polling decision definition xml from {} ({})", url, variables);
- resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class, variables).getBody();
+ resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class,
+ variables)
+ .getBody();
if (resp != null) {
LOGGER.debug("Found decision definition xml from {} ({})", url, variables);
@@ -480,7 +486,8 @@ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisio
LOGGER.debug("No decision definition xml found from {} ({})", url, variables);
}
} catch (RestClientException e) {
- throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml", e);
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml",
+ e);
}
return resp;
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
index c64674f..cdc5451 100644
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
@@ -1,119 +1,119 @@
-package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-/**
- * Response structure of Camunda REST API GET /decision-definition
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class GetDecisionDefinitionResponse {
-
- private String id;
- private String key;
- private String category;
- private String name;
- private Integer version;
- private String resource;
- private String deploymentId;
- private String tenantId;
- private String decisionRequirementsDefinitionId;
- private String decisionRequirementsDefinitionKey;
- private Integer historyTimeToLive;
- private String versionTag;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Integer getVersion() {
- return version;
- }
-
- public void setVersion(Integer version) {
- this.version = version;
- }
-
- public String getResource() {
- return resource;
- }
-
- public void setResource(String resource) {
- this.resource = resource;
- }
-
- public String getDeploymentId() {
- return deploymentId;
- }
-
- public void setDeploymentId(String deploymentId) {
- this.deploymentId = deploymentId;
- }
-
- public String getTenantId() {
- return tenantId;
- }
-
- public void setTenantId(String tenantId) {
- this.tenantId = tenantId;
- }
-
- public String getDecisionRequirementsDefinitionId() {
- return decisionRequirementsDefinitionId;
- }
-
- public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
- this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
- }
-
- public String getDecisionRequirementsDefinitionKey() {
- return decisionRequirementsDefinitionKey;
- }
-
- public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
- this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
- }
-
- public Integer getHistoryTimeToLive() {
- return historyTimeToLive;
- }
-
- public void setHistoryTimeToLive(Integer historyTimeToLive) {
- this.historyTimeToLive = historyTimeToLive;
- }
-
- public String getVersionTag() {
- return versionTag;
- }
-
- public void setVersionTag(String versionTag) {
- this.versionTag = versionTag;
- }
-}
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * Response structure of Camunda REST API GET /decision-definition
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionResponse {
+
+ private String id;
+ private String key;
+ private String category;
+ private String name;
+ private Integer version;
+ private String resource;
+ private String deploymentId;
+ private String tenantId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDeploymentId() {
+ return deploymentId;
+ }
+
+ public void setDeploymentId(String deploymentId) {
+ this.deploymentId = deploymentId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
index e869fea..ffb9e86 100644
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
@@ -1,26 +1,26 @@
-package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class GetDecisionDefinitionXmlResponse {
-
- private String id;
- private String dmnXml;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDmnXml() {
- return dmnXml;
- }
-
- public void setDmnXml(String dmnXml) {
- this.dmnXml = dmnXml;
- }
-}
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionXmlResponse {
+
+ private String id;
+ private String dmnXml;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDmnXml() {
+ return dmnXml;
+ }
+
+ public void setDmnXml(String dmnXml) {
+ this.dmnXml = dmnXml;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/resources/application-rest.properties b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
index e338351..efd039f 100644
--- a/camunda-kafka-polling-client/src/main/resources/application-rest.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
@@ -1,11 +1,9 @@
#polling.camunda.rest.url=${CAMUNDA_REST_URL:}
#polling.camunda.rest.username=${CAMUNDA_REST_USERNAME:}
#polling.camunda.rest.password=${CAMUNDA_REST_PASSWORD:}
-#polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
-#polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
+polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
+polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
-polling.camunda.rest.url=http://127.0.0.1:8081/engine-rest/
+polling.camunda.rest.url=http://127.0.0.1:8080/engine-rest/
polling.camunda.rest.username=demo
polling.camunda.rest.password=demo
-polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
-polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
\ No newline at end of file
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index e44bf79..378629b 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -1,4 +1,4 @@
-server.port=8083
+server.port=8081
spring.profiles.active=rest
polling.repository-data.enabled=true
From c4c7fa5a5386b65bbc857364bb67c03bcc8b0290 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 11:54:37 +0200
Subject: [PATCH 11/47] Add decision instance property
---
.../pollingclient/config/properties/ApplicationProperties.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
index 2426904..f41aab7 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
@@ -76,7 +76,8 @@ public enum PollingEvents {
TASK_COMMENTS,
IDENTITY_LINKS_UNFINISHED_ACTIVITIES,
IDENTITY_LINKS_FINISHED_ACTIVITIES,
- DECISION_DEFINITION
+ DECISION_DEFINITION,
+ DECISION_INSTANCE
}
public long getKafkaSendTimeoutInSeconds() {
From a5bab3cb1e6267e31b2cfcc5671eb213a80006bb Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:00:12 +0200
Subject: [PATCH 12/47] Add decision instance polling
---
.../job/runtime/RuntimeDataPollingService.java | 13 +++++++++++++
.../service/polling/PollingService.java | 8 ++++++++
2 files changed, 21 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
index 3a47985..54b9597 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
@@ -186,10 +186,23 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
&& activityInstanceEvent.getActivityType().equals("userTask")) {
pollIdentityLinks(activityInstanceEvent);
}
+
+ if (properties.getPollingEvents()
+ .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
+ && activityInstanceEvent.getActivityType().equals("businessRuleTask")) {
+ pollDecisionInstances(activityInstanceEvent.getActivityInstanceId());
+ }
}
}
}
+ private void pollDecisionInstances(final String activityInstanceId) {
+ for (final DecisionInstanceEvent decisionInstanceEvent : pollingService
+ .pollDecisionInstances(activityInstanceId)) {
+ eventService.sendEvent(decisionInstanceEvent);
+ }
+ }
+
private void pollCurrentVariables(final String activityInstanceId) {
for (final VariableUpdateEvent variableUpdateEvent : pollingService
.pollCurrentVariables(activityInstanceId)) {
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
index 57435a9..2b13161 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
@@ -126,4 +126,12 @@ Iterable pollUnfinishedActivities(String processInstanceI
* @return a {@link java.lang.Iterable} object.
*/
Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore);
+
+ /**
+ * Poll decision instances for businessRuleTask
+ *
+ * @param activityInstanceId
+ * @return a {@link java.lang.Iterable} object.
+ */
+ Iterable pollDecisionInstances(String activityInstanceId);
}
From e236897f54a076e9dc61d07164c84e275cfc6f34 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:12:25 +0200
Subject: [PATCH 13/47] Add decision instance property
---
.../src/main/resources/application.properties | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index 378629b..4d23a34 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -1,5 +1,4 @@
server.port=8081
-spring.profiles.active=rest
polling.repository-data.enabled=true
#polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
@@ -26,9 +25,9 @@ polling.polling-events[7]=TASK_COMMENTS
polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
polling.polling-events[10]=DECISION_DEFINITION
+polling.polling-events[11]=DECISION_INSTANCE
-#spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
-spring.kafka.producer.bootstrap-servers=localhost:9193
+spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
spring.kafka.producer.client-id=camunda-kafka-polling-client
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
From b0bb01fb5538600d531ae9ea0354fda6347e828f Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:19:27 +0200
Subject: [PATCH 14/47] Reset
---
.../src/main/resources/application-rest.properties | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/resources/application-rest.properties b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
index efd039f..b9167a9 100644
--- a/camunda-kafka-polling-client/src/main/resources/application-rest.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application-rest.properties
@@ -1,9 +1,5 @@
-#polling.camunda.rest.url=${CAMUNDA_REST_URL:}
-#polling.camunda.rest.username=${CAMUNDA_REST_USERNAME:}
-#polling.camunda.rest.password=${CAMUNDA_REST_PASSWORD:}
+polling.camunda.rest.url=${CAMUNDA_REST_URL:}
+polling.camunda.rest.username=${CAMUNDA_REST_USERNAME:}
+polling.camunda.rest.password=${CAMUNDA_REST_PASSWORD:}
polling.camunda.rest.source-time-zone=${CAMUNDA_REST_SOURCE_TIME_ZONE:}
polling.camunda.rest.date-format-pattern=${CAMUNDA_REST_DATE_FORMAT_PATERN:}
-
-polling.camunda.rest.url=http://127.0.0.1:8080/engine-rest/
-polling.camunda.rest.username=demo
-polling.camunda.rest.password=demo
From 0e5599a839156d7dd5941715ba11eabc8502f037 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:26:17 +0200
Subject: [PATCH 15/47] Add JDBC polling of decision instances
---
.../jdbc/CamundaJdbcPollingServiceImpl.java | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 4095ab3..b88168f 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -21,9 +21,12 @@
import org.springframework.beans.BeanUtils;
import java.io.IOException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
+import java.util.stream.Collectors;
/**
*
@@ -274,6 +277,72 @@ public Iterable pollDecisionDefinitions(Date deployment
return result;
}
+ @Override
+ public Iterable pollDecisionInstances(String activityInstanceId) {
+ return historyService.createHistoricDecisionInstanceQuery()
+ .activityInstanceIdIn(activityInstanceId)
+ .includeInputs()
+ .includeOutputs()
+ //.disableCustomObjectDeserialization()
+ .list()
+ .stream()
+ // selected as <= by
+ // Camunda - thus add
+ // filter
+ .map(this::createDecisionInstanceEvent)::iterator;
+ }
+
+ private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstance historicDecisionInstance) {
+
+ DecisionInstanceEvent event = new DecisionInstanceEvent();
+ BeanUtils.copyProperties(historicDecisionInstance, event);
+
+ event.setInputs(historicDecisionInstance.getInputs()
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
+
+ event.setOutputs(historicDecisionInstance.getOutputs()
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
+
+ return event;
+ }
+
+ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(HistoricDecisionInputInstance historicDecisionInputInstance) {
+
+ DecisionInstanceInputEvent event = new DecisionInstanceInputEvent();
+ BeanUtils.copyProperties(historicDecisionInputInstance, event);
+ event.setType(formatString(historicDecisionInputInstance.getTypeName()));
+ event.setValue(String.valueOf(historicDecisionInputInstance.getTypedValue().getValue()));
+ event.setCreateTime(formatDate(historicDecisionInputInstance.getCreateTime()));
+
+ return event;
+ }
+
+ String formatDate(Date date) {
+
+ SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+ return apiDateFormat.format(date);
+
+ }
+
+ String formatString(String string) {
+ return string.substring(0,1).toUpperCase() + string.substring(1);
+ }
+
+ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDecisionOutputInstance historicDecisionOutputInstance) {
+
+ DecisionInstanceOutputEvent event = new DecisionInstanceOutputEvent();
+ BeanUtils.copyProperties(historicDecisionOutputInstance, event);
+ event.setType(formatString(historicDecisionOutputInstance.getTypeName()));
+ event.setValue(String.valueOf(historicDecisionOutputInstance.getTypedValue().getValue()));
+ event.setCreateTime(formatDate(historicDecisionOutputInstance.getCreateTime()));
+
+ return event;
+ }
+
private DecisionDefinitionEvent createDecisionDefinitionEvent(Deployment d, DecisionDefinition dd) {
DecisionDefinitionEvent event = new DecisionDefinitionEvent();
BeanUtils.copyProperties(d, event);
From c655a6cf75aaeaf30a437d6d4195ee7b231c0b96 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:28:00 +0200
Subject: [PATCH 16/47] Add REST polling of decision instances
---
.../rest/CamundaRestPollingServiceImpl.java | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index 5a86d05..3d0d0dc 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -233,6 +233,41 @@ public Iterable pollUnfinishedActivities(String processIn
}
}
+ @Override
+ public Iterable pollDecisionInstances(String activityInstanceId) {
+
+ final String url = camundaProperties.getUrl()
+ + "history/decision-instance?disableCustomObjectDeserialization=true&includeInputs=true&includeOutputs=true&activityInstanceIdIn={activityInstanceId}";
+ try {
+ final Map variables = new HashMap<>();
+ variables.put(ACTIVITY_INSTANCE_ID, activityInstanceId);
+
+ LOGGER.debug("Polling decision instances from {} ({})", url, variables);
+
+ List result = this.restTemplate
+ .exchange(url,
+ HttpMethod.GET,
+ null,
+ new ParameterizedTypeReference>() {
+
+ },
+ variables)
+ .getBody();
+
+ if (result == null) {
+ return new ArrayList<>();
+ }
+
+ LOGGER.debug("Found {} decision instances from {} ({})", result.size(), url, variables);
+
+ return result
+ .stream()
+ .map(this::createDecisionInstanceEvent)::iterator;
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision Instances", e);
+ }
+ }
+
/** {@inheritDoc} */
@Override
public Iterable pollCurrentVariables(String activityInstanceId) {
@@ -625,6 +660,40 @@ private ActivityInstanceEvent createActivityInstanceEvent(
return event;
}
+ private DecisionInstanceEvent createDecisionInstanceEvent(GetHistoricDecisionInstanceResponse getHistoricDecisionInstanceResponse) {
+
+ final DecisionInstanceEvent event = new DecisionInstanceEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceResponse, event);
+
+ event.setInputs(getHistoricDecisionInstanceResponse.getInputs()
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
+
+ event.setOutputs(getHistoricDecisionInstanceResponse.getOutputs()
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
+
+ return event;
+ }
+
+ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(GetHistoricDecisionInstanceInputResponse getHistoricDecisionInstanceInputResponse) {
+
+ final DecisionInstanceInputEvent event = new DecisionInstanceInputEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceInputResponse, event);
+
+ return event;
+ }
+
+ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(GetHistoricDecisionInstanceOutputResponse getHistoricDecisionInstanceOutputResponse) {
+
+ final DecisionInstanceOutputEvent event = new DecisionInstanceOutputEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceOutputResponse, event);
+
+ return event;
+ }
+
private VariableUpdateEvent createVariableUpdateEventFromInstance(
GetHistoricVariableInstancesResponse getHistoricVariableInstancesResponse,
Date pollingTimestamp) {
From 1d41e45eb18d8b3146ca116c51778b2c9318a76c Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:29:53 +0200
Subject: [PATCH 17/47] Add decision instance class
---
.../kafka/event/DecisionInstanceEvent.java | 166 ++++++++++++++++++
1 file changed, 166 insertions(+)
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
new file mode 100644
index 0000000..e7c23dc
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
@@ -0,0 +1,166 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.List;
+
+/**
+ *
+ * DecisionInstanceEvent class.
+ *
+ *
+ *
+ *
+ * @author viadee
+ *
+ * @version $Id: $Id
+ */
+public class DecisionInstanceEvent extends HistoryEvent {
+
+ private String decisionDefinitionId;
+ private String decisionDefinitionKey;
+ private String decisionDefinitionName;
+ private String evaluationTime;
+ private String removalTime;
+ private String activityId;
+ private String activityInstanceId;
+ private String tenantId;
+ private String userId;
+ private String rootDecisionInstanceId;
+ private String rootProcessInstanceId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Double collectResultValue;
+
+ private List inputs;
+ private List outputs;
+
+ public String getDecisionDefinitionId() {
+ return decisionDefinitionId;
+ }
+
+ public void setDecisionDefinitionId(String decisionDefinitionId) {
+ this.decisionDefinitionId = decisionDefinitionId;
+ }
+
+ public String getDecisionDefinitionKey() {
+ return decisionDefinitionKey;
+ }
+
+ public void setDecisionDefinitionKey(String decisionDefinitionKey) {
+ this.decisionDefinitionKey = decisionDefinitionKey;
+ }
+
+ public String getDecisionDefinitionName() {
+ return decisionDefinitionName;
+ }
+
+ public void setDecisionDefinitionName(String decisionDefinitionName) {
+ this.decisionDefinitionName = decisionDefinitionName;
+ }
+
+ public String getEvaluationTime() {
+ return evaluationTime;
+ }
+
+ public void setEvaluationTime(String evaluationTime) {
+ this.evaluationTime = evaluationTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getActivityId() {
+ return activityId;
+ }
+
+ public void setActivityId(String activityId) {
+ this.activityId = activityId;
+ }
+
+ public String getActivityInstanceId() {
+ return activityInstanceId;
+ }
+
+ public void setActivityInstanceId(String activityInstanceId) {
+ this.activityInstanceId = activityInstanceId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getRootDecisionInstanceId() {
+ return rootDecisionInstanceId;
+ }
+
+ public void setRootDecisionInstanceId(String rootDecisionInstanceId) {
+ this.rootDecisionInstanceId = rootDecisionInstanceId;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Double getCollectResultValue() {
+ return collectResultValue;
+ }
+
+ public void setCollectResultValue(Double collectResultValue) {
+ this.collectResultValue = collectResultValue;
+ }
+
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public List getOutputs() {
+ return outputs;
+ }
+
+ public void setOutputs(List outputs) {
+ this.outputs = outputs;
+ }
+
+
+
+}
From 04c2808f57724efbb511487d595f7d5ab69cf119 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:30:24 +0200
Subject: [PATCH 18/47] Add decision instance input and output class
---
.../event/DecisionInstanceInputEvent.java | 107 ++++++++++++++
.../event/DecisionInstanceOutputEvent.java | 134 ++++++++++++++++++
2 files changed, 241 insertions(+)
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
new file mode 100644
index 0000000..1d8f2e1
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
@@ -0,0 +1,107 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Map;
+
+public class DecisionInstanceInputEvent {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
new file mode 100644
index 0000000..288cf5f
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
@@ -0,0 +1,134 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Map;
+
+public class DecisionInstanceOutputEvent {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo = null;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+}
From 677320f1db6db7a2e13cb0e1fc28684e49f81c6e Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:31:04 +0200
Subject: [PATCH 19/47] Add decision instance response class
---
.../GetHistoricDecisionInstanceResponse.java | 251 ++++++++++++++++++
1 file changed, 251 insertions(+)
create mode 100755 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
new file mode 100755
index 0000000..ec5de20
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
@@ -0,0 +1,251 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceResponse {
+
+ private String id;
+ private String decisionDefinitionId;
+ private String decisionDefinitionKey;
+ private String decisionDefinitionName;
+ private String evaluationTime;
+ private String removalTime;
+ private String processDefinitionId;
+ private String processDefinitionKey;
+ private String processInstanceId;
+ private String caseDefinitionId;
+ private String caseDefinitionKey;
+ private String caseInstanceId;
+ private String activityId;
+ private String activityInstanceId;
+ private String tenantId;
+ private String userId;
+ private List inputs;
+ private List outputs;
+ private String collectResultValue;
+ private String rootDecisionInstanceId;
+ private String rootProcessInstanceId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionDefinitionId() {
+ return decisionDefinitionId;
+ }
+
+ public void setDecisionDefinitionId(String decisionDefinitionId) {
+ this.decisionDefinitionId = decisionDefinitionId;
+ }
+
+ public String getDecisionDefinitionKey() {
+ return decisionDefinitionKey;
+ }
+
+ public void setDecisionDefinitionKey(String decisionDefinitionKey) {
+ this.decisionDefinitionKey = decisionDefinitionKey;
+ }
+
+ public String getDecisionDefinitionName() {
+ return decisionDefinitionName;
+ }
+
+ public void setDecisionDefinitionName(String decisionDefinitionName) {
+ this.decisionDefinitionName = decisionDefinitionName;
+ }
+
+ public String getEvaluationTime() {
+ return evaluationTime;
+ }
+
+ public void setEvaluationTime(String evaluationTime) {
+ this.evaluationTime = evaluationTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public String getProcessDefinitionKey() {
+ return processDefinitionKey;
+ }
+
+ public void setProcessDefinitionKey(String processDefinitionKey) {
+ this.processDefinitionKey = processDefinitionKey;
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public String getCaseDefinitionId() {
+ return caseDefinitionId;
+ }
+
+ public void setCaseDefinitionId(String caseDefinitionId) {
+ this.caseDefinitionId = caseDefinitionId;
+ }
+
+ public String getCaseDefinitionKey() {
+ return caseDefinitionKey;
+ }
+
+ public void setCaseDefinitionKey(String caseDefinitionKey) {
+ this.caseDefinitionKey = caseDefinitionKey;
+ }
+
+ public String getCaseInstanceId() {
+ return caseInstanceId;
+ }
+
+ public void setCaseInstanceId(String caseInstanceId) {
+ this.caseInstanceId = caseInstanceId;
+ }
+
+ public String getActivityId() {
+ return activityId;
+ }
+
+ public void setActivityId(String activityId) {
+ this.activityId = activityId;
+ }
+
+ public String getActivityInstanceId() {
+ return activityInstanceId;
+ }
+
+ public void setActivityInstanceId(String activityInstanceId) {
+ this.activityInstanceId = activityInstanceId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public List getOutputs() {
+ return outputs;
+ }
+
+ public void setOutputs(List ouputs) {
+ this.outputs = ouputs;
+ }
+
+ public String getCollectResultValue() {
+ return collectResultValue;
+ }
+
+ public void setCollectResultValue(String collectResultValue) {
+ this.collectResultValue = collectResultValue;
+ }
+
+ public String getRootDecisionInstanceId() {
+ return rootDecisionInstanceId;
+ }
+
+ public void setRootDecisionInstanceId(String rootDecisionInstanceId) {
+ this.rootDecisionInstanceId = rootDecisionInstanceId;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceResponse{" +
+ "id='" + id + '\'' +
+ ", decisionDefinitionId='" + decisionDefinitionId + '\'' +
+ ", decisionDefinitionKey='" + decisionDefinitionKey + '\'' +
+ ", decisionDefinitionName='" + decisionDefinitionName + '\'' +
+ ", evaluationTime='" + evaluationTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", processDefinitionId='" + processDefinitionId + '\'' +
+ ", processDefinitionKey='" + processDefinitionKey + '\'' +
+ ", processInstanceId='" + processInstanceId + '\'' +
+ ", caseDefinitionId='" + caseDefinitionId + '\'' +
+ ", caseDefinitionKey='" + caseDefinitionKey + '\'' +
+ ", caseInstanceId='" + caseInstanceId + '\'' +
+ ", activityId='" + activityId + '\'' +
+ ", activityInstanceId='" + activityInstanceId + '\'' +
+ ", tenantId='" + tenantId + '\'' +
+ ", userId='" + userId + '\'' +
+ ", inputs='" + inputs + '\'' +
+ ", outputs='" + outputs + '\'' +
+ ", collectResultValue='" + collectResultValue + '\'' +
+ ", rootDecisionInstanceId='" + rootDecisionInstanceId + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", decisionRequirementsDefinitionId='" + decisionRequirementsDefinitionId + '\'' +
+ ", decisionRequirementsDefinitionKey='" + decisionRequirementsDefinitionKey + '\'' +
+ '}';
+ }
+}
From 18898d46850a09ead74afddc532ca258adfa3706 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:31:33 +0200
Subject: [PATCH 20/47] Add decision instance input and output response class
---
...HistoricDecisionInstanceInputResponse.java | 129 ++++++++++++++
...istoricDecisionInstanceOutputResponse.java | 160 ++++++++++++++++++
2 files changed, 289 insertions(+)
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
create mode 100755 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
new file mode 100644
index 0000000..212fe72
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
@@ -0,0 +1,129 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Map;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceInputResponse {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceInputResponse{" +
+ "id='" + id + '\'' +
+ ", decisionInstanceId='" + decisionInstanceId + '\'' +
+ ", clauseId='" + clauseId + '\'' +
+ ", clauseName='" + clauseName + '\'' +
+ ", errorMessage='" + errorMessage + '\'' +
+ ", type='" + type + '\'' +
+ ", createTime='" + createTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", value='" + value + '\'' +
+ '}';
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
new file mode 100755
index 0000000..2b35cef
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
@@ -0,0 +1,160 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Map;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceOutputResponse {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceOutputResponse{" +
+ "id='" + id + '\'' +
+ ", decisionInstanceId='" + decisionInstanceId + '\'' +
+ ", clauseId='" + clauseId + '\'' +
+ ", clauseName='" + clauseName + '\'' +
+ ", ruleId='" + ruleId + '\'' +
+ ", ruleOrder='" + ruleOrder + '\'' +
+ ", errorMessage='" + errorMessage + '\'' +
+ ", variableName='" + variableName + '\'' +
+ ", type='" + type + '\'' +
+ ", createTime='" + createTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", value='" + value + '\'' +
+ '}';
+ }
+}
From 37d3255c240a4954a6050b2c81cf2acfc09cdf2e Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:34:03 +0200
Subject: [PATCH 21/47] Reset
---
.../src/main/resources/application.properties | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index 4d23a34..a1d125e 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -1,15 +1,13 @@
server.port=8081
polling.repository-data.enabled=true
-#polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
-polling.repository-data.initial-timestamp=2020-01-02 00:00:00
+polling.repository-data.initial-timestamp=${POLLING_REPOSITORY_DATA_INITIAL_TIMESTAMP:}
polling.repository-data.interval-in-ms=30000
polling.repository-data.backward-offset-in-ms=100
polling.repository-data.last-polled-file=./lastPolled-repository.properties
polling.runtime-data.enabled=true
-#polling.runtime-data.initial-timestamp=${POLLING_RUNTIME_DATA_INITIAL_TIMESTAMP:}
-polling.runtime-data.initial-timestamp=2020-01-02 00:00:00
+polling.runtime-data.initial-timestamp=${POLLING_RUNTIME_DATA_INITIAL_TIMESTAMP:}
polling.runtime-data.interval-in-ms=30000
polling.runtime-data.backward-offset-in-ms=60000
polling.runtime-data.last-polled-file=./lastPolled-runtime.properties
From 138b915bc724cd5baad81d45b1908a6c84f90d7b Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 28 Jun 2022 02:08:20 +0200
Subject: [PATCH 22/47] Add Runtime DMN tests
---
camunda-kafka-polling-client/pom.xml | 8 ++
.../RuntimeDataPollingServiceTest.java | 86 ++++++++++++++++---
.../CamundaRestPollingServiceImplTest.java | 57 +++++++++++-
.../src/test/resources/dmn/dmnTest.bpmn | 40 +++++++++
.../src/test/resources/dmn/dmnTest.dmn | 68 +++++++++++++++
pom.xml | 12 +++
6 files changed, 260 insertions(+), 11 deletions(-)
create mode 100644 camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
create mode 100644 camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
diff --git a/camunda-kafka-polling-client/pom.xml b/camunda-kafka-polling-client/pom.xml
index a3b21be..1d74b2a 100644
--- a/camunda-kafka-polling-client/pom.xml
+++ b/camunda-kafka-polling-client/pom.xml
@@ -249,6 +249,14 @@
2.1.0
compile
+
+ org.camunda.bpm.dmn
+ camunda-engine-dmn
+ ${camunda.version}
+ test
+
+
+
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index 0a02aeb..943b1b5 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -1,36 +1,44 @@
package de.viadee.camunda.kafka.pollingclient.job.runtime;
-import de.viadee.camunda.kafka.event.ActivityInstanceEvent;
-import de.viadee.camunda.kafka.event.CommentEvent;
-import de.viadee.camunda.kafka.event.IdentityLinkEvent;
-import de.viadee.camunda.kafka.event.HistoryEvent;
-import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
+import de.viadee.camunda.kafka.event.*;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.LastPolledService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.PollingTimeslice;
import de.viadee.camunda.kafka.pollingclient.service.polling.jdbc.CamundaJdbcPollingServiceImpl;
import org.apache.ibatis.logging.LogFactory;
-import org.camunda.bpm.engine.HistoryService;
-import org.camunda.bpm.engine.ProcessEngine;
-import org.camunda.bpm.engine.ProcessEngineConfiguration;
-import org.camunda.bpm.engine.TaskService;
+import org.camunda.bpm.dmn.engine.DmnDecision;
+import org.camunda.bpm.dmn.engine.DmnDecisionTableResult;
+import org.camunda.bpm.dmn.engine.DmnEngine;
+import org.camunda.bpm.dmn.engine.DmnEngineConfiguration;
+import org.camunda.bpm.engine.*;
+import org.camunda.bpm.engine.history.HistoricDecisionInstance;
import org.camunda.bpm.engine.history.HistoricIdentityLinkLog;
import org.camunda.bpm.engine.impl.util.ClockUtil;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.task.Comment;
import org.camunda.bpm.engine.task.Task;
+import org.camunda.bpm.engine.test.Deployment;
+import org.camunda.bpm.engine.variable.VariableMap;
+import org.camunda.bpm.engine.variable.Variables;
import org.camunda.bpm.model.bpmn.Bpmn;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
+import org.camunda.commons.utils.IoUtil;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.ArgumentCaptor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import java.io.InputStream;
+import java.lang.reflect.Method;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
import static de.viadee.camunda.kafka.pollingclient.job.runtime.RuntimeDataPollingServiceTest.PointOfTime.*;
@@ -71,6 +79,10 @@ enum PointOfTime {
private EventService eventSendService;
private ApplicationProperties applicationProperties;
private ProcessEngine processEngine;
+ private DmnEngine dmnEngine;
+ private DmnEngineConfiguration dmnEngineConfiguration;
+
+
@BeforeEach
void setup() {
@@ -95,6 +107,8 @@ void setup() {
pollingService = new RuntimeDataPollingService(pollingApiService, lastPolledService, eventSendService,
applicationProperties);
+
+
}
@AfterEach
@@ -605,7 +619,59 @@ static Stream pollIdentityLinks() {
// @formatter:on
}
- private static void setCurrentTime(PointOfTime time) {
+
+ @DisplayName("Polling of decision Instances")
+ @Test
+ void pollDecisionInstances() {
+
+ //initiate process
+ setCurrentTime(BEFORE_CUTOFF);
+ processEngine.getRepositoryService()
+ .createDeployment()
+ .addClasspathResource("dmn/dmnTest.bpmn")
+ .addClasspathResource("dmn/dmnTest.dmn")
+ .deploy();
+
+ //create input
+ VariableMap variables = Variables.createVariables()
+ .putValue("input", "100");
+
+ // expected output
+ DmnDecisionTableResult result = processEngine.getDecisionService()
+ .evaluateDecisionTableByKey("simple-dmn")
+ .variables(variables)
+ .evaluate();
+
+ Boolean expectedOutput = result.getSingleEntry();
+
+ //start process instance with dmn table
+ setCurrentTime(START_TIME);
+ final ProcessInstance processInstance = processEngine.getRuntimeService()
+ .startProcessInstanceByKey("simpleDmn", variables);
+
+ // retrieve results (start polling)
+ when(lastPolledService.getPollingTimeslice())
+ .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
+ END_TIME.date));
+
+ // perform polling
+ pollingService.run();
+
+ // Verify decision instance event
+ final ArgumentCaptor decisionInstanceEventCaptor = ArgumentCaptor.forClass(HistoryEvent.class);
+ verify(eventSendService, atLeastOnce()).sendEvent(decisionInstanceEventCaptor.capture());
+
+ final Optional> polledOutput = decisionInstanceEventCaptor.getAllValues()
+ .stream()
+ .filter(event -> event instanceof DecisionInstanceEvent)
+ .map(event -> ((DecisionInstanceEvent) event).getOutputs())
+ .findFirst();
+
+ assertEquals(expectedOutput, Boolean.valueOf(polledOutput.get().get(0).getValue()));
+
+ }
+
+ private static void setCurrentTime(PointOfTime time) {
ClockUtil.setCurrentTime(time.date);
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
index e85960b..c8a963a 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
@@ -1,8 +1,9 @@
package de.viadee.camunda.kafka.pollingclient.service.polling.rest;
+import de.viadee.camunda.kafka.event.DecisionInstanceEvent;
import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.CamundaRestPollingProperties;
-import de.viadee.camunda.kafka.pollingclient.service.polling.rest.response.GetHistoricProcessInstanceResponse;
+import de.viadee.camunda.kafka.pollingclient.service.polling.rest.response.*;
import org.junit.jupiter.api.Test;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.ResponseEntity;
@@ -92,6 +93,60 @@ void pollFinishedProcessInstances() {
assertFalse(iter.hasNext());
}
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Test
+ void pollDecisionInstances() {
+
+ // create CamundaRestPollingProperties
+ CamundaRestPollingProperties prop = new CamundaRestPollingProperties();
+ prop.setPassword("XY");
+ prop.setUrl("XY");
+ prop.setUsername("XY");
+
+ Date startTime = parseDate("2009-11-02T09:45:00.000UTC+00:00");
+
+ GetHistoricActivityInstanceRespone a = new GetHistoricActivityInstanceRespone();
+ a.setActivityId("1");
+ a.setStartTime(startTime);
+
+ List inputList = new ArrayList<>();
+ GetHistoricDecisionInstanceInputResponse i = new GetHistoricDecisionInstanceInputResponse();
+ i.setId("1");
+ i.setValue("100");
+ inputList.add(i);
+
+ List outputList = new ArrayList<>();
+ GetHistoricDecisionInstanceOutputResponse o = new GetHistoricDecisionInstanceOutputResponse();
+ o.setId("1");
+ o.setValue("true");
+ outputList.add(o);
+
+ List decisionInstanceList = new ArrayList();
+ GetHistoricDecisionInstanceResponse d = new GetHistoricDecisionInstanceResponse();
+ d.setId("123");
+ d.setActivityId(a.getActivityId());
+ d.setInputs(inputList);
+ d.setOutputs(outputList);
+ decisionInstanceList.add(d);
+
+ // mocking
+ ResponseEntity mockedResponseEntity = mock(ResponseEntity.class);
+ when(mockedResponseEntity.getBody()).thenReturn(decisionInstanceList);
+ when(mockedRestTemplate.exchange(any(), any(), any(), (ParameterizedTypeReference) any(),
+ (Map) any())).thenReturn(mockedResponseEntity);
+
+ // call functions
+ CamundaRestPollingServiceImpl c = new CamundaRestPollingServiceImpl(prop, mockedRestTemplate);
+ Iterable pieIterator = c.pollDecisionInstances(a.getActivityId());
+
+ Iterator iter = pieIterator.iterator();
+
+ assertEquals("123", iter.next().getId());
+ assertFalse(iter.hasNext());
+
+ }
+
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
void diffSourceTimeZone() throws ParseException {
diff --git a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
new file mode 100644
index 0000000..036ccbb
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
@@ -0,0 +1,40 @@
+
+
+
+
+ Flow_1vt00hy
+
+
+ Flow_0xfqpdc
+
+
+
+
+
+ Flow_1vt00hy
+ Flow_0xfqpdc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
new file mode 100644
index 0000000..8a3e316
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+ input
+
+
+
+
+
+ [0..100[
+
+
+ true
+
+
+
+
+ [100..200[
+
+
+ true
+
+
+
+
+ [200..300[
+
+
+ true
+
+
+
+
+ [400..500[
+
+
+ false
+
+
+
+
+ [600..700[
+
+
+ false
+
+
+
+
+ > 700
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 27c3a27..bf8d4d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -228,6 +228,18 @@
${junit.version}
+
+ org.camunda.bpm.dmn
+ camunda-engine-dmn
+ test
+
+
+
+ org.camunda.bpm.dmn
+ camunda-engine-dmn-bom
+ test
+
+
org.mockito
mockito-core
From 2138858cd07922f314b9bf24a84f51cfa9b1bcc1 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 28 Jun 2022 02:13:02 +0200
Subject: [PATCH 23/47] Add REST polling DMN tests
---
.../kafka/event/DecisionInstanceEvent.java | 2 -
.../event/DecisionInstanceInputEvent.java | 190 +++++++-------
.../event/DecisionInstanceOutputEvent.java | 236 +++++++++---------
.../runtime/RuntimeDataPollingService.java | 4 +-
.../jdbc/CamundaJdbcPollingServiceImpl.java | 34 +--
.../rest/CamundaRestPollingServiceImpl.java | 30 +--
.../RuntimeDataPollingServiceTest.java | 42 ++--
.../CamundaRestPollingServiceImplTest.java | 3 +-
8 files changed, 267 insertions(+), 274 deletions(-)
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
index e7c23dc..4ad9556 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
@@ -161,6 +161,4 @@ public void setOutputs(List outputs) {
this.outputs = outputs;
}
-
-
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
index 1d8f2e1..a8d005b 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
@@ -4,104 +4,104 @@
public class DecisionInstanceInputEvent {
- private String id;
- private String decisionInstanceId;
- private String clauseId;
- private String clauseName;
- private String errorMessage;
- private String type;
- private String createTime;
- private String removalTime;
- private String rootProcessInstanceId;
- private String value;
-
- private Map valueInfo;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDecisionInstanceId() {
- return decisionInstanceId;
- }
-
- public void setDecisionInstanceId(String decisionInstanceId) {
- this.decisionInstanceId = decisionInstanceId;
- }
-
- public String getClauseId() {
- return clauseId;
- }
-
- public void setClauseId(String clauseId) {
- this.clauseId = clauseId;
- }
-
- public String getClauseName() {
- return clauseName;
- }
-
- public void setClauseName(String clauseName) {
- this.clauseName = clauseName;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public String getRemovalTime() {
- return removalTime;
- }
-
- public void setRemovalTime(String removalTime) {
- this.removalTime = removalTime;
- }
-
- public String getRootProcessInstanceId() {
- return rootProcessInstanceId;
- }
-
- public void setRootProcessInstanceId(String rootProcessInstanceId) {
- this.rootProcessInstanceId = rootProcessInstanceId;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public Map getValueInfo() {
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
return valueInfo;
}
- public void setValueInfo(Map valueInfo) {
+ public void setValueInfo(Map valueInfo) {
this.valueInfo = valueInfo;
}
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
index 288cf5f..fa33532 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
@@ -4,131 +4,131 @@
public class DecisionInstanceOutputEvent {
- private String id;
- private String decisionInstanceId;
- private String clauseId;
- private String clauseName;
- private String ruleId;
- private String ruleOrder;
- private String errorMessage;
- private String variableName;
- private String type;
- private String createTime;
- private String removalTime;
- private String rootProcessInstanceId;
- private String value;
-
- private Map valueInfo = null;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDecisionInstanceId() {
- return decisionInstanceId;
- }
-
- public void setDecisionInstanceId(String decisionInstanceId) {
- this.decisionInstanceId = decisionInstanceId;
- }
-
- public String getClauseId() {
- return clauseId;
- }
-
- public void setClauseId(String clauseId) {
- this.clauseId = clauseId;
- }
-
- public String getClauseName() {
- return clauseName;
- }
-
- public void setClauseName(String clauseName) {
- this.clauseName = clauseName;
- }
-
- public String getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(String ruleId) {
- this.ruleId = ruleId;
- }
-
- public String getRuleOrder() {
- return ruleOrder;
- }
-
- public void setRuleOrder(String ruleOrder) {
- this.ruleOrder = ruleOrder;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public String getVariableName() {
- return variableName;
- }
-
- public void setVariableName(String variableName) {
- this.variableName = variableName;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public String getRemovalTime() {
- return removalTime;
- }
-
- public void setRemovalTime(String removalTime) {
- this.removalTime = removalTime;
- }
-
- public String getRootProcessInstanceId() {
- return rootProcessInstanceId;
- }
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo = null;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
- public void setRootProcessInstanceId(String rootProcessInstanceId) {
- this.rootProcessInstanceId = rootProcessInstanceId;
- }
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
- public String getValue() {
- return value;
- }
+ public String getValue() {
+ return value;
+ }
- public void setValue(String value) {
- this.value = value;
- }
+ public void setValue(String value) {
+ this.value = value;
+ }
- public Map getValueInfo() {
+ public Map getValueInfo() {
return valueInfo;
}
- public void setValueInfo(Map valueInfo) {
+ public void setValueInfo(Map valueInfo) {
this.valueInfo = valueInfo;
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
index 54b9597..3cd87f8 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
@@ -188,7 +188,7 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
}
if (properties.getPollingEvents()
- .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
+ .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
&& activityInstanceEvent.getActivityType().equals("businessRuleTask")) {
pollDecisionInstances(activityInstanceEvent.getActivityInstanceId());
}
@@ -198,7 +198,7 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
private void pollDecisionInstances(final String activityInstanceId) {
for (final DecisionInstanceEvent decisionInstanceEvent : pollingService
- .pollDecisionInstances(activityInstanceId)) {
+ .pollDecisionInstances(activityInstanceId)) {
eventService.sendEvent(decisionInstanceEvent);
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index b88168f..3ca1548 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -280,16 +280,16 @@ public Iterable pollDecisionDefinitions(Date deployment
@Override
public Iterable pollDecisionInstances(String activityInstanceId) {
return historyService.createHistoricDecisionInstanceQuery()
- .activityInstanceIdIn(activityInstanceId)
- .includeInputs()
- .includeOutputs()
- //.disableCustomObjectDeserialization()
- .list()
- .stream()
- // selected as <= by
- // Camunda - thus add
- // filter
- .map(this::createDecisionInstanceEvent)::iterator;
+ .activityInstanceIdIn(activityInstanceId)
+ .includeInputs()
+ .includeOutputs()
+ // .disableCustomObjectDeserialization()
+ .list()
+ .stream()
+ // selected as <= by
+ // Camunda - thus add
+ // filter
+ .map(this::createDecisionInstanceEvent)::iterator;
}
private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstance historicDecisionInstance) {
@@ -298,14 +298,14 @@ private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstan
BeanUtils.copyProperties(historicDecisionInstance, event);
event.setInputs(historicDecisionInstance.getInputs()
- .stream()
- .map(this::createDecisionInstanceInputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
event.setOutputs(historicDecisionInstance.getOutputs()
- .stream()
- .map(this::createDecisionInstanceOutputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
return event;
}
@@ -329,7 +329,7 @@ String formatDate(Date date) {
}
String formatString(String string) {
- return string.substring(0,1).toUpperCase() + string.substring(1);
+ return string.substring(0, 1).toUpperCase() + string.substring(1);
}
private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDecisionOutputInstance historicDecisionOutputInstance) {
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index 3d0d0dc..298ddf4 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -245,14 +245,14 @@ public Iterable pollDecisionInstances(String activityInst
LOGGER.debug("Polling decision instances from {} ({})", url, variables);
List result = this.restTemplate
- .exchange(url,
- HttpMethod.GET,
- null,
- new ParameterizedTypeReference>() {
+ .exchange(url,
+ HttpMethod.GET,
+ null,
+ new ParameterizedTypeReference>() {
- },
- variables)
- .getBody();
+ },
+ variables)
+ .getBody();
if (result == null) {
return new ArrayList<>();
@@ -261,8 +261,8 @@ public Iterable pollDecisionInstances(String activityInst
LOGGER.debug("Found {} decision instances from {} ({})", result.size(), url, variables);
return result
- .stream()
- .map(this::createDecisionInstanceEvent)::iterator;
+ .stream()
+ .map(this::createDecisionInstanceEvent)::iterator;
} catch (RestClientException e) {
throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision Instances", e);
}
@@ -666,14 +666,14 @@ private DecisionInstanceEvent createDecisionInstanceEvent(GetHistoricDecisionIns
BeanUtils.copyProperties(getHistoricDecisionInstanceResponse, event);
event.setInputs(getHistoricDecisionInstanceResponse.getInputs()
- .stream()
- .map(this::createDecisionInstanceInputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
event.setOutputs(getHistoricDecisionInstanceResponse.getOutputs()
- .stream()
- .map(this::createDecisionInstanceOutputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
return event;
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index 943b1b5..e074a4e 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -82,8 +82,6 @@ enum PointOfTime {
private DmnEngine dmnEngine;
private DmnEngineConfiguration dmnEngineConfiguration;
-
-
@BeforeEach
void setup() {
LogFactory.useSlf4jLogging();
@@ -108,7 +106,6 @@ void setup() {
pollingService = new RuntimeDataPollingService(pollingApiService, lastPolledService, eventSendService,
applicationProperties);
-
}
@AfterEach
@@ -619,40 +616,39 @@ static Stream pollIdentityLinks() {
// @formatter:on
}
-
@DisplayName("Polling of decision Instances")
@Test
void pollDecisionInstances() {
- //initiate process
+ // initiate process
setCurrentTime(BEFORE_CUTOFF);
processEngine.getRepositoryService()
- .createDeployment()
- .addClasspathResource("dmn/dmnTest.bpmn")
- .addClasspathResource("dmn/dmnTest.dmn")
- .deploy();
+ .createDeployment()
+ .addClasspathResource("dmn/dmnTest.bpmn")
+ .addClasspathResource("dmn/dmnTest.dmn")
+ .deploy();
- //create input
+ // create input
VariableMap variables = Variables.createVariables()
- .putValue("input", "100");
+ .putValue("input", "100");
// expected output
DmnDecisionTableResult result = processEngine.getDecisionService()
- .evaluateDecisionTableByKey("simple-dmn")
- .variables(variables)
- .evaluate();
+ .evaluateDecisionTableByKey("simple-dmn")
+ .variables(variables)
+ .evaluate();
Boolean expectedOutput = result.getSingleEntry();
- //start process instance with dmn table
+ // start process instance with dmn table
setCurrentTime(START_TIME);
final ProcessInstance processInstance = processEngine.getRuntimeService()
- .startProcessInstanceByKey("simpleDmn", variables);
+ .startProcessInstanceByKey("simpleDmn", variables);
// retrieve results (start polling)
when(lastPolledService.getPollingTimeslice())
- .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
- END_TIME.date));
+ .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
+ END_TIME.date));
// perform polling
pollingService.run();
@@ -662,16 +658,16 @@ void pollDecisionInstances() {
verify(eventSendService, atLeastOnce()).sendEvent(decisionInstanceEventCaptor.capture());
final Optional> polledOutput = decisionInstanceEventCaptor.getAllValues()
- .stream()
- .filter(event -> event instanceof DecisionInstanceEvent)
- .map(event -> ((DecisionInstanceEvent) event).getOutputs())
- .findFirst();
+ .stream()
+ .filter(event -> event instanceof DecisionInstanceEvent)
+ .map(event -> ((DecisionInstanceEvent) event).getOutputs())
+ .findFirst();
assertEquals(expectedOutput, Boolean.valueOf(polledOutput.get().get(0).getValue()));
}
- private static void setCurrentTime(PointOfTime time) {
+ private static void setCurrentTime(PointOfTime time) {
ClockUtil.setCurrentTime(time.date);
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
index c8a963a..d170f97 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
@@ -93,7 +93,6 @@ void pollFinishedProcessInstances() {
assertFalse(iter.hasNext());
}
-
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
void pollDecisionInstances() {
@@ -134,7 +133,7 @@ void pollDecisionInstances() {
ResponseEntity mockedResponseEntity = mock(ResponseEntity.class);
when(mockedResponseEntity.getBody()).thenReturn(decisionInstanceList);
when(mockedRestTemplate.exchange(any(), any(), any(), (ParameterizedTypeReference) any(),
- (Map) any())).thenReturn(mockedResponseEntity);
+ (Map) any())).thenReturn(mockedResponseEntity);
// call functions
CamundaRestPollingServiceImpl c = new CamundaRestPollingServiceImpl(prop, mockedRestTemplate);
From da24d53d5cf4e6d7b9d7a45c88730a6ffa105154 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 19 Jul 2022 16:52:21 +0200
Subject: [PATCH 24/47] Add decision polling property
---
.../pollingclient/config/properties/ApplicationProperties.java | 3 ++-
.../src/main/resources/application.properties | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
index 6ad2e10..2426904 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
@@ -75,7 +75,8 @@ public enum PollingEvents {
PROCESS_DEFINITION,
TASK_COMMENTS,
IDENTITY_LINKS_UNFINISHED_ACTIVITIES,
- IDENTITY_LINKS_FINISHED_ACTIVITIES
+ IDENTITY_LINKS_FINISHED_ACTIVITIES,
+ DECISION_DEFINITION
}
public long getKafkaSendTimeoutInSeconds() {
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index 8172fd7..34519aa 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -22,6 +22,7 @@ polling.polling-events[6]=PROCESS_DEFINITION
polling.polling-events[7]=TASK_COMMENTS
polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
+polling.polling-events[10]=DECISION_DEFINITION
spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
From 825aaafd964bba42cff44f3232ebcfcd8b64bd56 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:34:40 +0200
Subject: [PATCH 25/47] Add layout class for decision definition event mapping
Add layout file for decision definition event mapping
Add layout class for decision definition event mapping
---
.../kafka/event/DecisionDefinitionEvent.java | 88 +++++++++++++
.../GetDecisionDefinitionResponse.java | 119 ++++++++++++++++++
.../GetDecisionDefinitionXmlResponse.java | 26 ++++
3 files changed, 233 insertions(+)
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
new file mode 100644
index 0000000..2231da2
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionDefinitionEvent.java
@@ -0,0 +1,88 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Date;
+
+public class DecisionDefinitionEvent extends DeploymentEvent {
+
+ private String key;
+ private String category;
+ private Integer version;
+ private String resource;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+ private String xml;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+
+ public String getXml() {
+ return xml;
+ }
+
+ public void setXml(String xml) {
+ this.xml = xml;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
new file mode 100644
index 0000000..c64674f
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionResponse.java
@@ -0,0 +1,119 @@
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * Response structure of Camunda REST API GET /decision-definition
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionResponse {
+
+ private String id;
+ private String key;
+ private String category;
+ private String name;
+ private Integer version;
+ private String resource;
+ private String deploymentId;
+ private String tenantId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Integer historyTimeToLive;
+ private String versionTag;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public void setResource(String resource) {
+ this.resource = resource;
+ }
+
+ public String getDeploymentId() {
+ return deploymentId;
+ }
+
+ public void setDeploymentId(String deploymentId) {
+ this.deploymentId = deploymentId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Integer getHistoryTimeToLive() {
+ return historyTimeToLive;
+ }
+
+ public void setHistoryTimeToLive(Integer historyTimeToLive) {
+ this.historyTimeToLive = historyTimeToLive;
+ }
+
+ public String getVersionTag() {
+ return versionTag;
+ }
+
+ public void setVersionTag(String versionTag) {
+ this.versionTag = versionTag;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
new file mode 100644
index 0000000..e869fea
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetDecisionDefinitionXmlResponse.java
@@ -0,0 +1,26 @@
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetDecisionDefinitionXmlResponse {
+
+ private String id;
+ private String dmnXml;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDmnXml() {
+ return dmnXml;
+ }
+
+ public void setDmnXml(String dmnXml) {
+ this.dmnXml = dmnXml;
+ }
+}
From 23595038a2db93215f463c6513825649a07814c1 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:41:41 +0200
Subject: [PATCH 26/47] Add polling job for decision definitions
---
.../job/repository/RepositoryDataPollingService.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
index 4315987..0efca93 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
@@ -1,5 +1,6 @@
package de.viadee.camunda.kafka.pollingclient.job.repository;
+import de.viadee.camunda.kafka.event.DecisionDefinitionEvent;
import de.viadee.camunda.kafka.event.ProcessDefinitionEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
@@ -57,12 +58,21 @@ public void run() {
LOGGER.info("Start polling repository data: {}", pollingTimeslice);
pollProcessDefinitions(pollingTimeslice);
+ pollDecisionDefinitions(pollingTimeslice);
lastPolledService.updatePollingTimeslice(pollingTimeslice);
LOGGER.info("Finished polling repository data: {}", pollingTimeslice);
}
+ private void pollDecisionDefinitions(PollingTimeslice pollingTimeslice) {
+ if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.DECISION_DEFINITION)) {
+ for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),pollingTimeslice.getEndTime())) {
+ eventService.sendEvent(decisionDefinitionEvent);
+ }
+ }
+ }
+
private void pollProcessDefinitions(final PollingTimeslice pollingTimeslice) {
if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.PROCESS_DEFINITION)) {
for (final ProcessDefinitionEvent processDefinitionEvent : pollingService
From 77fdc9a0004f988abfc8e70673cfd353c54e56c8 Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:43:05 +0200
Subject: [PATCH 27/47] Add polling service for decision definitions
---
.../pollingclient/service/polling/PollingService.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
index c6289c0..57435a9 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
@@ -115,4 +115,15 @@ Iterable pollUnfinishedActivities(String processInstanceI
* @return a {@link java.lang.Iterable} object.
*/
Iterable pollIdentityLinks(ActivityInstanceEvent activityInstanceEvent);
+
+ /**
+ * Poll decision definitions
+ *
+ * @param deploymentAfter
+ * inclusive
+ * @param deploymentBefore
+ * exclusive
+ * @return a {@link java.lang.Iterable} object.
+ */
+ Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore);
}
From 4f5030457d867beeabffd3e6e67b07fa38f6712e Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Mon, 16 May 2022 14:45:06 +0200
Subject: [PATCH 28/47] Add REST polling for decision definitions
---
.../rest/CamundaRestPollingServiceImpl.java | 81 +++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index bc0609b..f74928c 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -40,6 +40,8 @@ public class CamundaRestPollingServiceImpl implements PollingService {
private static final String PROCESS_DEFINITION_ID = "processDefinitionId";
private static final String DEPLOYMENT_ID = "deploymentId";
private static final String TASK_ID = "taskId";
+ private static final String DECISION_DEFINITION_ID = "decisionDefinitionId";
+
private final ObjectMapper objectMapper;
@@ -405,6 +407,85 @@ public Iterable pollIdentityLinks(final ActivityInstanceEvent
}
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Iterable pollDecisionDefinitions(final Date startTime, final Date endTime) {
+
+ List deploymentList = getDeployments(startTime, endTime);
+ List decisionDefinitionList = new ArrayList<>();
+
+ for (GetDeploymentResponse deployment : deploymentList) {
+ decisionDefinitionList.addAll(getDecisionDefinitions(deployment));
+ }
+
+ for (DecisionDefinitionEvent decisionDefinitionEvent : decisionDefinitionList) {
+ GetDecisionDefinitionXmlResponse decisionDefinitionXML = getDecisionDefinitionXml(decisionDefinitionEvent.getId());
+
+ if (decisionDefinitionXML != null) {
+ decisionDefinitionEvent.setXml(decisionDefinitionXML.getDmnXml());
+ }
+ }
+
+ return decisionDefinitionList.stream()::iterator;
+ }
+
+ private List getDecisionDefinitions(GetDeploymentResponse deploymentResponse) {
+ final String url = camundaProperties.getUrl() + "decision-definition?deploymentId={deploymentId}";
+
+ List decisionDefinitions = new ArrayList<>();
+ try {
+ final Map variables = new HashMap<>();
+ variables.put("deploymentId", deploymentResponse.getId());
+ LOGGER.debug("Polling decision definitions from {} ({})", url, variables);
+
+ decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference>() {
+ }, variables).getBody();
+
+ if (decisionDefinitions == null) {
+ decisionDefinitions = new ArrayList<>();
+ }
+
+ LOGGER.debug("Found {} decision definitions from {} ({})", decisionDefinitions.size(), url, variables);
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definitions", e);
+ }
+
+ return decisionDefinitions.stream().map(response -> createDecisionDefinitionEvent(response, deploymentResponse)).collect(Collectors.toList());
+ }
+
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp, final GetDeploymentResponse deploymentResponse) {
+ final DecisionDefinitionEvent event = new DecisionDefinitionEvent();
+ BeanUtils.copyProperties(deploymentResponse, event);
+ BeanUtils.copyProperties(resp, event);
+ return event;
+ }
+
+ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisionDefinitionId) {
+ final String url = camundaProperties.getUrl() + "decision-definition/{decisionDefinitionId}/xml";
+
+ GetDecisionDefinitionXmlResponse resp;
+ try {
+ final Map variables = new HashMap<>();
+ variables.put(DECISION_DEFINITION_ID, decisionDefinitionId);
+
+ LOGGER.debug("Polling decision definition xml from {} ({})", url, variables);
+
+ resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class, variables).getBody();
+
+ if (resp != null) {
+ LOGGER.debug("Found decision definition xml from {} ({})", url, variables);
+ } else {
+ LOGGER.debug("No decision definition xml found from {} ({})", url, variables);
+ }
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml", e);
+ }
+
+ return resp;
+ }
+
private GetProcessDefinitionXmlResponse getProcessDefinitionXML(String processDefinitionId) {
final String url = camundaProperties.getUrl()
+ "process-definition/{processDefinitionId}/xml";
From 9dd5a7aeb5e42291e2ba3d8e660b93dd125ac99a Mon Sep 17 00:00:00 2001
From: Daniel <12607126+tDalile@users.noreply.github.com>
Date: Tue, 17 May 2022 12:45:19 +0200
Subject: [PATCH 29/47] Add JDBC polling for decision definitions
---
.../jdbc/CamundaJdbcPollingServiceImpl.java | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 32dc240..7e62e6e 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -12,6 +12,7 @@
import org.camunda.bpm.engine.history.*;
import org.camunda.bpm.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity;
import org.camunda.bpm.engine.impl.persistence.entity.HistoricVariableInstanceEntity;
+import org.camunda.bpm.engine.repository.DecisionDefinition;
import org.camunda.bpm.engine.repository.Deployment;
import org.camunda.bpm.engine.repository.ProcessDefinition;
import org.camunda.bpm.engine.task.Comment;
@@ -236,6 +237,45 @@ public Iterable pollIdentityLinks(ActivityInstanceEvent activ
.map(historicIdentityLinkLog -> createIdentityLinkEventFromDetails(historicIdentityLinkLog))::iterator;
}
+ @Override
+ public Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore) {
+ deploymentAfter = new Date(deploymentAfter.getTime() - 1);
+
+ //query deployments
+ List deployments = repositoryService.createDeploymentQuery()
+ .deploymentAfter(deploymentAfter)
+ .deploymentBefore(deploymentBefore)
+ .list();
+
+ List result = new ArrayList<>();
+
+ for (Deployment deployment : deployments) {
+ List decisionDefinitions = repositoryService.createDecisionDefinitionQuery().deploymentId(deployment.getId()).list();
+
+ //query decision definitions
+ for (DecisionDefinition decisionDefinition : decisionDefinitions) {
+ DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment, decisionDefinition);
+
+ //query xml
+ try {
+ String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),decisionDefinition.getResourceName()));
+ decisionDefinitionEvent.setXml(xml);
+ } catch (IOException e) {
+ throw new RuntimeException("error while reading xml for decision definition" + decisionDefinition.getId(),e);
+ }
+ result.add(decisionDefinitionEvent);
+ }
+ }
+ return result;
+ }
+
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(Deployment d, DecisionDefinition dd) {
+ DecisionDefinitionEvent event = new DecisionDefinitionEvent();
+ BeanUtils.copyProperties(d, event);
+ BeanUtils.copyProperties(dd, event);
+ return event;
+ }
+
private ProcessDefinitionEvent createProcessDefinitionEvent(Deployment d, ProcessDefinition pd) {
ProcessDefinitionEvent e = new ProcessDefinitionEvent();
From 06445505931fe3ff4fd3eebb6c70888be44ef836 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 11:54:37 +0200
Subject: [PATCH 30/47] Add decision instance property
---
.../pollingclient/config/properties/ApplicationProperties.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
index 2426904..f41aab7 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/config/properties/ApplicationProperties.java
@@ -76,7 +76,8 @@ public enum PollingEvents {
TASK_COMMENTS,
IDENTITY_LINKS_UNFINISHED_ACTIVITIES,
IDENTITY_LINKS_FINISHED_ACTIVITIES,
- DECISION_DEFINITION
+ DECISION_DEFINITION,
+ DECISION_INSTANCE
}
public long getKafkaSendTimeoutInSeconds() {
From 9743cb19e40cb5c5ab6b52f511cc35844bee2f1e Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:00:12 +0200
Subject: [PATCH 31/47] Add decision instance polling
---
.../job/runtime/RuntimeDataPollingService.java | 13 +++++++++++++
.../service/polling/PollingService.java | 8 ++++++++
2 files changed, 21 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
index 7963980..e79547a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
@@ -184,10 +184,23 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
&& activityInstanceEvent.getActivityType().equals("userTask")) {
pollIdentityLinks(activityInstanceEvent);
}
+
+ if (properties.getPollingEvents()
+ .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
+ && activityInstanceEvent.getActivityType().equals("businessRuleTask")) {
+ pollDecisionInstances(activityInstanceEvent.getActivityInstanceId());
+ }
}
}
}
+ private void pollDecisionInstances(final String activityInstanceId) {
+ for (final DecisionInstanceEvent decisionInstanceEvent : pollingService
+ .pollDecisionInstances(activityInstanceId)) {
+ eventService.sendEvent(decisionInstanceEvent);
+ }
+ }
+
private void pollCurrentVariables(final String activityInstanceId) {
for (final VariableUpdateEvent variableUpdateEvent : pollingService
.pollCurrentVariables(activityInstanceId)) {
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
index 57435a9..2b13161 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/PollingService.java
@@ -126,4 +126,12 @@ Iterable pollUnfinishedActivities(String processInstanceI
* @return a {@link java.lang.Iterable} object.
*/
Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore);
+
+ /**
+ * Poll decision instances for businessRuleTask
+ *
+ * @param activityInstanceId
+ * @return a {@link java.lang.Iterable} object.
+ */
+ Iterable pollDecisionInstances(String activityInstanceId);
}
From 3b1ab1aca7163583641126bf4f53b776fe67fa5a Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 19 Jul 2022 16:57:07 +0200
Subject: [PATCH 32/47] Fix merge issue
---
.../src/main/resources/application.properties | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/resources/application.properties b/camunda-kafka-polling-client/src/main/resources/application.properties
index 34519aa..15a6516 100755
--- a/camunda-kafka-polling-client/src/main/resources/application.properties
+++ b/camunda-kafka-polling-client/src/main/resources/application.properties
@@ -23,9 +23,10 @@ polling.polling-events[7]=TASK_COMMENTS
polling.polling-events[8]=IDENTITY_LINKS_UNFINISHED_ACTIVITIES
polling.polling-events[9]=IDENTITY_LINKS_FINISHED_ACTIVITIES
polling.polling-events[10]=DECISION_DEFINITION
-
+polling.polling-events[11]=DECISION_INSTANCE
spring.kafka.producer.bootstrap-servers=${KAFKA_BOOTSTRAP_SERVERS:}
+
spring.kafka.producer.client-id=camunda-kafka-polling-client
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
@@ -35,4 +36,4 @@ spring.kafka.producer.properties.linger.ms=0
spring.kafka.producer.properties.request.timeout.ms=30000
logging.level.root=WARN
-logging.level.de.viadee.camunda.kafka.pollingclient=INFO
\ No newline at end of file
+logging.level.de.viadee.camunda.kafka.pollingclient=INFO
From 27ed0091a45da261da39518919a73d886df8cdb0 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:26:17 +0200
Subject: [PATCH 33/47] Add JDBC polling of decision instances
---
.../jdbc/CamundaJdbcPollingServiceImpl.java | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 7e62e6e..08892a5 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -21,9 +21,12 @@
import org.springframework.beans.BeanUtils;
import java.io.IOException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
+import java.util.stream.Collectors;
/**
*
@@ -269,6 +272,72 @@ public Iterable pollDecisionDefinitions(Date deployment
return result;
}
+ @Override
+ public Iterable pollDecisionInstances(String activityInstanceId) {
+ return historyService.createHistoricDecisionInstanceQuery()
+ .activityInstanceIdIn(activityInstanceId)
+ .includeInputs()
+ .includeOutputs()
+ //.disableCustomObjectDeserialization()
+ .list()
+ .stream()
+ // selected as <= by
+ // Camunda - thus add
+ // filter
+ .map(this::createDecisionInstanceEvent)::iterator;
+ }
+
+ private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstance historicDecisionInstance) {
+
+ DecisionInstanceEvent event = new DecisionInstanceEvent();
+ BeanUtils.copyProperties(historicDecisionInstance, event);
+
+ event.setInputs(historicDecisionInstance.getInputs()
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
+
+ event.setOutputs(historicDecisionInstance.getOutputs()
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
+
+ return event;
+ }
+
+ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(HistoricDecisionInputInstance historicDecisionInputInstance) {
+
+ DecisionInstanceInputEvent event = new DecisionInstanceInputEvent();
+ BeanUtils.copyProperties(historicDecisionInputInstance, event);
+ event.setType(formatString(historicDecisionInputInstance.getTypeName()));
+ event.setValue(String.valueOf(historicDecisionInputInstance.getTypedValue().getValue()));
+ event.setCreateTime(formatDate(historicDecisionInputInstance.getCreateTime()));
+
+ return event;
+ }
+
+ String formatDate(Date date) {
+
+ SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+ return apiDateFormat.format(date);
+
+ }
+
+ String formatString(String string) {
+ return string.substring(0,1).toUpperCase() + string.substring(1);
+ }
+
+ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDecisionOutputInstance historicDecisionOutputInstance) {
+
+ DecisionInstanceOutputEvent event = new DecisionInstanceOutputEvent();
+ BeanUtils.copyProperties(historicDecisionOutputInstance, event);
+ event.setType(formatString(historicDecisionOutputInstance.getTypeName()));
+ event.setValue(String.valueOf(historicDecisionOutputInstance.getTypedValue().getValue()));
+ event.setCreateTime(formatDate(historicDecisionOutputInstance.getCreateTime()));
+
+ return event;
+ }
+
private DecisionDefinitionEvent createDecisionDefinitionEvent(Deployment d, DecisionDefinition dd) {
DecisionDefinitionEvent event = new DecisionDefinitionEvent();
BeanUtils.copyProperties(d, event);
From 48514b18c2110c27a884b33f9eef27cfb4898222 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:28:00 +0200
Subject: [PATCH 34/47] Add REST polling of decision instances
---
.../rest/CamundaRestPollingServiceImpl.java | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index f74928c..d93088c 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -234,6 +234,41 @@ public Iterable pollUnfinishedActivities(String processIn
}
}
+ @Override
+ public Iterable pollDecisionInstances(String activityInstanceId) {
+
+ final String url = camundaProperties.getUrl()
+ + "history/decision-instance?disableCustomObjectDeserialization=true&includeInputs=true&includeOutputs=true&activityInstanceIdIn={activityInstanceId}";
+ try {
+ final Map variables = new HashMap<>();
+ variables.put(ACTIVITY_INSTANCE_ID, activityInstanceId);
+
+ LOGGER.debug("Polling decision instances from {} ({})", url, variables);
+
+ List result = this.restTemplate
+ .exchange(url,
+ HttpMethod.GET,
+ null,
+ new ParameterizedTypeReference>() {
+
+ },
+ variables)
+ .getBody();
+
+ if (result == null) {
+ return new ArrayList<>();
+ }
+
+ LOGGER.debug("Found {} decision instances from {} ({})", result.size(), url, variables);
+
+ return result
+ .stream()
+ .map(this::createDecisionInstanceEvent)::iterator;
+ } catch (RestClientException e) {
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision Instances", e);
+ }
+ }
+
/** {@inheritDoc} */
@Override
public Iterable pollCurrentVariables(String activityInstanceId) {
@@ -618,6 +653,40 @@ private ActivityInstanceEvent createActivityInstanceEvent(
return event;
}
+ private DecisionInstanceEvent createDecisionInstanceEvent(GetHistoricDecisionInstanceResponse getHistoricDecisionInstanceResponse) {
+
+ final DecisionInstanceEvent event = new DecisionInstanceEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceResponse, event);
+
+ event.setInputs(getHistoricDecisionInstanceResponse.getInputs()
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
+
+ event.setOutputs(getHistoricDecisionInstanceResponse.getOutputs()
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
+
+ return event;
+ }
+
+ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(GetHistoricDecisionInstanceInputResponse getHistoricDecisionInstanceInputResponse) {
+
+ final DecisionInstanceInputEvent event = new DecisionInstanceInputEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceInputResponse, event);
+
+ return event;
+ }
+
+ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(GetHistoricDecisionInstanceOutputResponse getHistoricDecisionInstanceOutputResponse) {
+
+ final DecisionInstanceOutputEvent event = new DecisionInstanceOutputEvent();
+ BeanUtils.copyProperties(getHistoricDecisionInstanceOutputResponse, event);
+
+ return event;
+ }
+
private VariableUpdateEvent createVariableUpdateEventFromInstance(
GetHistoricVariableInstancesResponse getHistoricVariableInstancesResponse,
Date pollingTimestamp) {
From f4d3a7241718d6d78fe409c68ab2a000b7fea5ee Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 20 Jun 2022 12:29:53 +0200
Subject: [PATCH 35/47] Add layout classes for decision instance event mapping
Add decision instance class
Add decision instance input and output class
Add decision instance response class
Add decision instance input and output response class
Fix unnecessary blank line
---
.../kafka/event/DecisionInstanceEvent.java | 165 ++++++++++++
.../event/DecisionInstanceInputEvent.java | 106 ++++++++
.../event/DecisionInstanceOutputEvent.java | 134 ++++++++++
...HistoricDecisionInstanceInputResponse.java | 129 +++++++++
...istoricDecisionInstanceOutputResponse.java | 160 +++++++++++
.../GetHistoricDecisionInstanceResponse.java | 251 ++++++++++++++++++
6 files changed, 945 insertions(+)
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
create mode 100644 camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
create mode 100644 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
create mode 100755 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
create mode 100755 camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
new file mode 100644
index 0000000..fba7bb2
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
@@ -0,0 +1,165 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.List;
+
+/**
+ *
+ * DecisionInstanceEvent class.
+ *
+ *
+ *
+ *
+ * @author viadee
+ *
+ * @version $Id: $Id
+ */
+public class DecisionInstanceEvent extends HistoryEvent {
+
+ private String decisionDefinitionId;
+ private String decisionDefinitionKey;
+ private String decisionDefinitionName;
+ private String evaluationTime;
+ private String removalTime;
+ private String activityId;
+ private String activityInstanceId;
+ private String tenantId;
+ private String userId;
+ private String rootDecisionInstanceId;
+ private String rootProcessInstanceId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+ private Double collectResultValue;
+ private List inputs;
+ private List outputs;
+
+ public String getDecisionDefinitionId() {
+ return decisionDefinitionId;
+ }
+
+ public void setDecisionDefinitionId(String decisionDefinitionId) {
+ this.decisionDefinitionId = decisionDefinitionId;
+ }
+
+ public String getDecisionDefinitionKey() {
+ return decisionDefinitionKey;
+ }
+
+ public void setDecisionDefinitionKey(String decisionDefinitionKey) {
+ this.decisionDefinitionKey = decisionDefinitionKey;
+ }
+
+ public String getDecisionDefinitionName() {
+ return decisionDefinitionName;
+ }
+
+ public void setDecisionDefinitionName(String decisionDefinitionName) {
+ this.decisionDefinitionName = decisionDefinitionName;
+ }
+
+ public String getEvaluationTime() {
+ return evaluationTime;
+ }
+
+ public void setEvaluationTime(String evaluationTime) {
+ this.evaluationTime = evaluationTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getActivityId() {
+ return activityId;
+ }
+
+ public void setActivityId(String activityId) {
+ this.activityId = activityId;
+ }
+
+ public String getActivityInstanceId() {
+ return activityInstanceId;
+ }
+
+ public void setActivityInstanceId(String activityInstanceId) {
+ this.activityInstanceId = activityInstanceId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getRootDecisionInstanceId() {
+ return rootDecisionInstanceId;
+ }
+
+ public void setRootDecisionInstanceId(String rootDecisionInstanceId) {
+ this.rootDecisionInstanceId = rootDecisionInstanceId;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ public Double getCollectResultValue() {
+ return collectResultValue;
+ }
+
+ public void setCollectResultValue(Double collectResultValue) {
+ this.collectResultValue = collectResultValue;
+ }
+
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public List getOutputs() {
+ return outputs;
+ }
+
+ public void setOutputs(List outputs) {
+ this.outputs = outputs;
+ }
+
+
+
+}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
new file mode 100644
index 0000000..5bff6a0
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
@@ -0,0 +1,106 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Map;
+
+public class DecisionInstanceInputEvent {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
new file mode 100644
index 0000000..288cf5f
--- /dev/null
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
@@ -0,0 +1,134 @@
+package de.viadee.camunda.kafka.event;
+
+import java.util.Map;
+
+public class DecisionInstanceOutputEvent {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo = null;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
new file mode 100644
index 0000000..212fe72
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
@@ -0,0 +1,129 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Map;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceInputResponse {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceInputResponse{" +
+ "id='" + id + '\'' +
+ ", decisionInstanceId='" + decisionInstanceId + '\'' +
+ ", clauseId='" + clauseId + '\'' +
+ ", clauseName='" + clauseName + '\'' +
+ ", errorMessage='" + errorMessage + '\'' +
+ ", type='" + type + '\'' +
+ ", createTime='" + createTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", value='" + value + '\'' +
+ '}';
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
new file mode 100755
index 0000000..2b35cef
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
@@ -0,0 +1,160 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Map;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceOutputResponse {
+
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
+ return valueInfo;
+ }
+
+ public void setValueInfo(Map valueInfo) {
+ this.valueInfo = valueInfo;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceOutputResponse{" +
+ "id='" + id + '\'' +
+ ", decisionInstanceId='" + decisionInstanceId + '\'' +
+ ", clauseId='" + clauseId + '\'' +
+ ", clauseName='" + clauseName + '\'' +
+ ", ruleId='" + ruleId + '\'' +
+ ", ruleOrder='" + ruleOrder + '\'' +
+ ", errorMessage='" + errorMessage + '\'' +
+ ", variableName='" + variableName + '\'' +
+ ", type='" + type + '\'' +
+ ", createTime='" + createTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", value='" + value + '\'' +
+ '}';
+ }
+}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
new file mode 100755
index 0000000..ec5de20
--- /dev/null
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
@@ -0,0 +1,251 @@
+// Generated by delombok at Fri Jan 04 11:18:40 CET 2019
+package de.viadee.camunda.kafka.pollingclient.service.polling.rest.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Response structure of Camunda REST API GET /history/decision-instance
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class GetHistoricDecisionInstanceResponse {
+
+ private String id;
+ private String decisionDefinitionId;
+ private String decisionDefinitionKey;
+ private String decisionDefinitionName;
+ private String evaluationTime;
+ private String removalTime;
+ private String processDefinitionId;
+ private String processDefinitionKey;
+ private String processInstanceId;
+ private String caseDefinitionId;
+ private String caseDefinitionKey;
+ private String caseInstanceId;
+ private String activityId;
+ private String activityInstanceId;
+ private String tenantId;
+ private String userId;
+ private List inputs;
+ private List outputs;
+ private String collectResultValue;
+ private String rootDecisionInstanceId;
+ private String rootProcessInstanceId;
+ private String decisionRequirementsDefinitionId;
+ private String decisionRequirementsDefinitionKey;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionDefinitionId() {
+ return decisionDefinitionId;
+ }
+
+ public void setDecisionDefinitionId(String decisionDefinitionId) {
+ this.decisionDefinitionId = decisionDefinitionId;
+ }
+
+ public String getDecisionDefinitionKey() {
+ return decisionDefinitionKey;
+ }
+
+ public void setDecisionDefinitionKey(String decisionDefinitionKey) {
+ this.decisionDefinitionKey = decisionDefinitionKey;
+ }
+
+ public String getDecisionDefinitionName() {
+ return decisionDefinitionName;
+ }
+
+ public void setDecisionDefinitionName(String decisionDefinitionName) {
+ this.decisionDefinitionName = decisionDefinitionName;
+ }
+
+ public String getEvaluationTime() {
+ return evaluationTime;
+ }
+
+ public void setEvaluationTime(String evaluationTime) {
+ this.evaluationTime = evaluationTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public String getProcessDefinitionKey() {
+ return processDefinitionKey;
+ }
+
+ public void setProcessDefinitionKey(String processDefinitionKey) {
+ this.processDefinitionKey = processDefinitionKey;
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public String getCaseDefinitionId() {
+ return caseDefinitionId;
+ }
+
+ public void setCaseDefinitionId(String caseDefinitionId) {
+ this.caseDefinitionId = caseDefinitionId;
+ }
+
+ public String getCaseDefinitionKey() {
+ return caseDefinitionKey;
+ }
+
+ public void setCaseDefinitionKey(String caseDefinitionKey) {
+ this.caseDefinitionKey = caseDefinitionKey;
+ }
+
+ public String getCaseInstanceId() {
+ return caseInstanceId;
+ }
+
+ public void setCaseInstanceId(String caseInstanceId) {
+ this.caseInstanceId = caseInstanceId;
+ }
+
+ public String getActivityId() {
+ return activityId;
+ }
+
+ public void setActivityId(String activityId) {
+ this.activityId = activityId;
+ }
+
+ public String getActivityInstanceId() {
+ return activityInstanceId;
+ }
+
+ public void setActivityInstanceId(String activityInstanceId) {
+ this.activityInstanceId = activityInstanceId;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public List getInputs() {
+ return inputs;
+ }
+
+ public void setInputs(List inputs) {
+ this.inputs = inputs;
+ }
+
+ public List getOutputs() {
+ return outputs;
+ }
+
+ public void setOutputs(List ouputs) {
+ this.outputs = ouputs;
+ }
+
+ public String getCollectResultValue() {
+ return collectResultValue;
+ }
+
+ public void setCollectResultValue(String collectResultValue) {
+ this.collectResultValue = collectResultValue;
+ }
+
+ public String getRootDecisionInstanceId() {
+ return rootDecisionInstanceId;
+ }
+
+ public void setRootDecisionInstanceId(String rootDecisionInstanceId) {
+ this.rootDecisionInstanceId = rootDecisionInstanceId;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getDecisionRequirementsDefinitionId() {
+ return decisionRequirementsDefinitionId;
+ }
+
+ public void setDecisionRequirementsDefinitionId(String decisionRequirementsDefinitionId) {
+ this.decisionRequirementsDefinitionId = decisionRequirementsDefinitionId;
+ }
+
+ public String getDecisionRequirementsDefinitionKey() {
+ return decisionRequirementsDefinitionKey;
+ }
+
+ public void setDecisionRequirementsDefinitionKey(String decisionRequirementsDefinitionKey) {
+ this.decisionRequirementsDefinitionKey = decisionRequirementsDefinitionKey;
+ }
+
+ @Override
+ public String toString() {
+ return "GetHistoricDecisionInstanceResponse{" +
+ "id='" + id + '\'' +
+ ", decisionDefinitionId='" + decisionDefinitionId + '\'' +
+ ", decisionDefinitionKey='" + decisionDefinitionKey + '\'' +
+ ", decisionDefinitionName='" + decisionDefinitionName + '\'' +
+ ", evaluationTime='" + evaluationTime + '\'' +
+ ", removalTime='" + removalTime + '\'' +
+ ", processDefinitionId='" + processDefinitionId + '\'' +
+ ", processDefinitionKey='" + processDefinitionKey + '\'' +
+ ", processInstanceId='" + processInstanceId + '\'' +
+ ", caseDefinitionId='" + caseDefinitionId + '\'' +
+ ", caseDefinitionKey='" + caseDefinitionKey + '\'' +
+ ", caseInstanceId='" + caseInstanceId + '\'' +
+ ", activityId='" + activityId + '\'' +
+ ", activityInstanceId='" + activityInstanceId + '\'' +
+ ", tenantId='" + tenantId + '\'' +
+ ", userId='" + userId + '\'' +
+ ", inputs='" + inputs + '\'' +
+ ", outputs='" + outputs + '\'' +
+ ", collectResultValue='" + collectResultValue + '\'' +
+ ", rootDecisionInstanceId='" + rootDecisionInstanceId + '\'' +
+ ", rootProcessInstanceId='" + rootProcessInstanceId + '\'' +
+ ", decisionRequirementsDefinitionId='" + decisionRequirementsDefinitionId + '\'' +
+ ", decisionRequirementsDefinitionKey='" + decisionRequirementsDefinitionKey + '\'' +
+ '}';
+ }
+}
From 8a04da177e7adba01a181e7b3ef934e228a52a19 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Wed, 20 Jul 2022 11:42:25 +0200
Subject: [PATCH 36/47] Add REST polling DMN tests
---
.../RuntimeDataPollingServiceTest.java | 86 ++++++++++++++++---
.../CamundaRestPollingServiceImplTest.java | 57 +++++++++++-
2 files changed, 132 insertions(+), 11 deletions(-)
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index 0a02aeb..943b1b5 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -1,36 +1,44 @@
package de.viadee.camunda.kafka.pollingclient.job.runtime;
-import de.viadee.camunda.kafka.event.ActivityInstanceEvent;
-import de.viadee.camunda.kafka.event.CommentEvent;
-import de.viadee.camunda.kafka.event.IdentityLinkEvent;
-import de.viadee.camunda.kafka.event.HistoryEvent;
-import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
+import de.viadee.camunda.kafka.event.*;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.LastPolledService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.PollingTimeslice;
import de.viadee.camunda.kafka.pollingclient.service.polling.jdbc.CamundaJdbcPollingServiceImpl;
import org.apache.ibatis.logging.LogFactory;
-import org.camunda.bpm.engine.HistoryService;
-import org.camunda.bpm.engine.ProcessEngine;
-import org.camunda.bpm.engine.ProcessEngineConfiguration;
-import org.camunda.bpm.engine.TaskService;
+import org.camunda.bpm.dmn.engine.DmnDecision;
+import org.camunda.bpm.dmn.engine.DmnDecisionTableResult;
+import org.camunda.bpm.dmn.engine.DmnEngine;
+import org.camunda.bpm.dmn.engine.DmnEngineConfiguration;
+import org.camunda.bpm.engine.*;
+import org.camunda.bpm.engine.history.HistoricDecisionInstance;
import org.camunda.bpm.engine.history.HistoricIdentityLinkLog;
import org.camunda.bpm.engine.impl.util.ClockUtil;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.task.Comment;
import org.camunda.bpm.engine.task.Task;
+import org.camunda.bpm.engine.test.Deployment;
+import org.camunda.bpm.engine.variable.VariableMap;
+import org.camunda.bpm.engine.variable.Variables;
import org.camunda.bpm.model.bpmn.Bpmn;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
+import org.camunda.commons.utils.IoUtil;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.ArgumentCaptor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import java.io.InputStream;
+import java.lang.reflect.Method;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
import static de.viadee.camunda.kafka.pollingclient.job.runtime.RuntimeDataPollingServiceTest.PointOfTime.*;
@@ -71,6 +79,10 @@ enum PointOfTime {
private EventService eventSendService;
private ApplicationProperties applicationProperties;
private ProcessEngine processEngine;
+ private DmnEngine dmnEngine;
+ private DmnEngineConfiguration dmnEngineConfiguration;
+
+
@BeforeEach
void setup() {
@@ -95,6 +107,8 @@ void setup() {
pollingService = new RuntimeDataPollingService(pollingApiService, lastPolledService, eventSendService,
applicationProperties);
+
+
}
@AfterEach
@@ -605,7 +619,59 @@ static Stream pollIdentityLinks() {
// @formatter:on
}
- private static void setCurrentTime(PointOfTime time) {
+
+ @DisplayName("Polling of decision Instances")
+ @Test
+ void pollDecisionInstances() {
+
+ //initiate process
+ setCurrentTime(BEFORE_CUTOFF);
+ processEngine.getRepositoryService()
+ .createDeployment()
+ .addClasspathResource("dmn/dmnTest.bpmn")
+ .addClasspathResource("dmn/dmnTest.dmn")
+ .deploy();
+
+ //create input
+ VariableMap variables = Variables.createVariables()
+ .putValue("input", "100");
+
+ // expected output
+ DmnDecisionTableResult result = processEngine.getDecisionService()
+ .evaluateDecisionTableByKey("simple-dmn")
+ .variables(variables)
+ .evaluate();
+
+ Boolean expectedOutput = result.getSingleEntry();
+
+ //start process instance with dmn table
+ setCurrentTime(START_TIME);
+ final ProcessInstance processInstance = processEngine.getRuntimeService()
+ .startProcessInstanceByKey("simpleDmn", variables);
+
+ // retrieve results (start polling)
+ when(lastPolledService.getPollingTimeslice())
+ .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
+ END_TIME.date));
+
+ // perform polling
+ pollingService.run();
+
+ // Verify decision instance event
+ final ArgumentCaptor decisionInstanceEventCaptor = ArgumentCaptor.forClass(HistoryEvent.class);
+ verify(eventSendService, atLeastOnce()).sendEvent(decisionInstanceEventCaptor.capture());
+
+ final Optional> polledOutput = decisionInstanceEventCaptor.getAllValues()
+ .stream()
+ .filter(event -> event instanceof DecisionInstanceEvent)
+ .map(event -> ((DecisionInstanceEvent) event).getOutputs())
+ .findFirst();
+
+ assertEquals(expectedOutput, Boolean.valueOf(polledOutput.get().get(0).getValue()));
+
+ }
+
+ private static void setCurrentTime(PointOfTime time) {
ClockUtil.setCurrentTime(time.date);
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
index e85960b..c8a963a 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
@@ -1,8 +1,9 @@
package de.viadee.camunda.kafka.pollingclient.service.polling.rest;
+import de.viadee.camunda.kafka.event.DecisionInstanceEvent;
import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.CamundaRestPollingProperties;
-import de.viadee.camunda.kafka.pollingclient.service.polling.rest.response.GetHistoricProcessInstanceResponse;
+import de.viadee.camunda.kafka.pollingclient.service.polling.rest.response.*;
import org.junit.jupiter.api.Test;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.ResponseEntity;
@@ -92,6 +93,60 @@ void pollFinishedProcessInstances() {
assertFalse(iter.hasNext());
}
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Test
+ void pollDecisionInstances() {
+
+ // create CamundaRestPollingProperties
+ CamundaRestPollingProperties prop = new CamundaRestPollingProperties();
+ prop.setPassword("XY");
+ prop.setUrl("XY");
+ prop.setUsername("XY");
+
+ Date startTime = parseDate("2009-11-02T09:45:00.000UTC+00:00");
+
+ GetHistoricActivityInstanceRespone a = new GetHistoricActivityInstanceRespone();
+ a.setActivityId("1");
+ a.setStartTime(startTime);
+
+ List inputList = new ArrayList<>();
+ GetHistoricDecisionInstanceInputResponse i = new GetHistoricDecisionInstanceInputResponse();
+ i.setId("1");
+ i.setValue("100");
+ inputList.add(i);
+
+ List outputList = new ArrayList<>();
+ GetHistoricDecisionInstanceOutputResponse o = new GetHistoricDecisionInstanceOutputResponse();
+ o.setId("1");
+ o.setValue("true");
+ outputList.add(o);
+
+ List decisionInstanceList = new ArrayList();
+ GetHistoricDecisionInstanceResponse d = new GetHistoricDecisionInstanceResponse();
+ d.setId("123");
+ d.setActivityId(a.getActivityId());
+ d.setInputs(inputList);
+ d.setOutputs(outputList);
+ decisionInstanceList.add(d);
+
+ // mocking
+ ResponseEntity mockedResponseEntity = mock(ResponseEntity.class);
+ when(mockedResponseEntity.getBody()).thenReturn(decisionInstanceList);
+ when(mockedRestTemplate.exchange(any(), any(), any(), (ParameterizedTypeReference) any(),
+ (Map) any())).thenReturn(mockedResponseEntity);
+
+ // call functions
+ CamundaRestPollingServiceImpl c = new CamundaRestPollingServiceImpl(prop, mockedRestTemplate);
+ Iterable pieIterator = c.pollDecisionInstances(a.getActivityId());
+
+ Iterator iter = pieIterator.iterator();
+
+ assertEquals("123", iter.next().getId());
+ assertFalse(iter.hasNext());
+
+ }
+
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
void diffSourceTimeZone() throws ParseException {
From 260a2189cbcbf78493f272bfe22a16443b8094c2 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Wed, 20 Jul 2022 11:47:08 +0200
Subject: [PATCH 37/47] Add DMN engine dependency
---
camunda-kafka-polling-client/pom.xml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/camunda-kafka-polling-client/pom.xml b/camunda-kafka-polling-client/pom.xml
index 083a900..ccf7bb9 100644
--- a/camunda-kafka-polling-client/pom.xml
+++ b/camunda-kafka-polling-client/pom.xml
@@ -170,6 +170,11 @@
postgresql
runtime
+
+ org.camunda.bpm.dmn
+ camunda-engine-dmn
+ test
+
From 60f47691a38f3add660417aafca2dcc23a8ec566 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Wed, 20 Jul 2022 11:49:44 +0200
Subject: [PATCH 38/47] Add DMN resources for testing
---
.../src/test/resources/dmn/dmnTest.bpmn | 40 +++++++++++
.../src/test/resources/dmn/dmnTest.dmn | 68 +++++++++++++++++++
2 files changed, 108 insertions(+)
create mode 100644 camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
create mode 100644 camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
diff --git a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
new file mode 100644
index 0000000..036ccbb
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.bpmn
@@ -0,0 +1,40 @@
+
+
+
+
+ Flow_1vt00hy
+
+
+ Flow_0xfqpdc
+
+
+
+
+
+ Flow_1vt00hy
+ Flow_0xfqpdc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
new file mode 100644
index 0000000..8a3e316
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+ input
+
+
+
+
+
+ [0..100[
+
+
+ true
+
+
+
+
+ [100..200[
+
+
+ true
+
+
+
+
+ [200..300[
+
+
+ true
+
+
+
+
+ [400..500[
+
+
+ false
+
+
+
+
+ [600..700[
+
+
+ false
+
+
+
+
+ > 700
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From f7c805dc8aba651791a0d6e5bd717fb6de5ce9ec Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 28 Jun 2022 02:13:02 +0200
Subject: [PATCH 39/47] Add REST polling DMN tests
---
.../kafka/event/DecisionInstanceEvent.java | 2 -
.../event/DecisionInstanceInputEvent.java | 188 +++++++-------
.../event/DecisionInstanceOutputEvent.java | 236 +++++++++---------
.../runtime/RuntimeDataPollingService.java | 4 +-
.../jdbc/CamundaJdbcPollingServiceImpl.java | 34 +--
.../rest/CamundaRestPollingServiceImpl.java | 30 +--
.../RuntimeDataPollingServiceTest.java | 42 ++--
.../CamundaRestPollingServiceImplTest.java | 3 +-
8 files changed, 266 insertions(+), 273 deletions(-)
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
index fba7bb2..223cb4e 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
@@ -160,6 +160,4 @@ public void setOutputs(List outputs) {
this.outputs = outputs;
}
-
-
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
index 5bff6a0..dd4710f 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
@@ -4,103 +4,103 @@
public class DecisionInstanceInputEvent {
- private String id;
- private String decisionInstanceId;
- private String clauseId;
- private String clauseName;
- private String errorMessage;
- private String type;
- private String createTime;
- private String removalTime;
- private String rootProcessInstanceId;
- private String value;
- private Map valueInfo;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDecisionInstanceId() {
- return decisionInstanceId;
- }
-
- public void setDecisionInstanceId(String decisionInstanceId) {
- this.decisionInstanceId = decisionInstanceId;
- }
-
- public String getClauseId() {
- return clauseId;
- }
-
- public void setClauseId(String clauseId) {
- this.clauseId = clauseId;
- }
-
- public String getClauseName() {
- return clauseName;
- }
-
- public void setClauseName(String clauseName) {
- this.clauseName = clauseName;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public String getRemovalTime() {
- return removalTime;
- }
-
- public void setRemovalTime(String removalTime) {
- this.removalTime = removalTime;
- }
-
- public String getRootProcessInstanceId() {
- return rootProcessInstanceId;
- }
-
- public void setRootProcessInstanceId(String rootProcessInstanceId) {
- this.rootProcessInstanceId = rootProcessInstanceId;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public Map getValueInfo() {
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String errorMessage;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+ private Map valueInfo;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
+
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public Map getValueInfo() {
return valueInfo;
}
- public void setValueInfo(Map valueInfo) {
+ public void setValueInfo(Map valueInfo) {
this.valueInfo = valueInfo;
}
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
index 288cf5f..fa33532 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
@@ -4,131 +4,131 @@
public class DecisionInstanceOutputEvent {
- private String id;
- private String decisionInstanceId;
- private String clauseId;
- private String clauseName;
- private String ruleId;
- private String ruleOrder;
- private String errorMessage;
- private String variableName;
- private String type;
- private String createTime;
- private String removalTime;
- private String rootProcessInstanceId;
- private String value;
-
- private Map valueInfo = null;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getDecisionInstanceId() {
- return decisionInstanceId;
- }
-
- public void setDecisionInstanceId(String decisionInstanceId) {
- this.decisionInstanceId = decisionInstanceId;
- }
-
- public String getClauseId() {
- return clauseId;
- }
-
- public void setClauseId(String clauseId) {
- this.clauseId = clauseId;
- }
-
- public String getClauseName() {
- return clauseName;
- }
-
- public void setClauseName(String clauseName) {
- this.clauseName = clauseName;
- }
-
- public String getRuleId() {
- return ruleId;
- }
-
- public void setRuleId(String ruleId) {
- this.ruleId = ruleId;
- }
-
- public String getRuleOrder() {
- return ruleOrder;
- }
-
- public void setRuleOrder(String ruleOrder) {
- this.ruleOrder = ruleOrder;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- public void setErrorMessage(String errorMessage) {
- this.errorMessage = errorMessage;
- }
-
- public String getVariableName() {
- return variableName;
- }
-
- public void setVariableName(String variableName) {
- this.variableName = variableName;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public String getRemovalTime() {
- return removalTime;
- }
-
- public void setRemovalTime(String removalTime) {
- this.removalTime = removalTime;
- }
-
- public String getRootProcessInstanceId() {
- return rootProcessInstanceId;
- }
+ private String id;
+ private String decisionInstanceId;
+ private String clauseId;
+ private String clauseName;
+ private String ruleId;
+ private String ruleOrder;
+ private String errorMessage;
+ private String variableName;
+ private String type;
+ private String createTime;
+ private String removalTime;
+ private String rootProcessInstanceId;
+ private String value;
+
+ private Map valueInfo = null;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDecisionInstanceId() {
+ return decisionInstanceId;
+ }
+
+ public void setDecisionInstanceId(String decisionInstanceId) {
+ this.decisionInstanceId = decisionInstanceId;
+ }
+
+ public String getClauseId() {
+ return clauseId;
+ }
+
+ public void setClauseId(String clauseId) {
+ this.clauseId = clauseId;
+ }
+
+ public String getClauseName() {
+ return clauseName;
+ }
+
+ public void setClauseName(String clauseName) {
+ this.clauseName = clauseName;
+ }
+
+ public String getRuleId() {
+ return ruleId;
+ }
+
+ public void setRuleId(String ruleId) {
+ this.ruleId = ruleId;
+ }
+
+ public String getRuleOrder() {
+ return ruleOrder;
+ }
+
+ public void setRuleOrder(String ruleOrder) {
+ this.ruleOrder = ruleOrder;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public String getVariableName() {
+ return variableName;
+ }
+
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getRemovalTime() {
+ return removalTime;
+ }
+
+ public void setRemovalTime(String removalTime) {
+ this.removalTime = removalTime;
+ }
+
+ public String getRootProcessInstanceId() {
+ return rootProcessInstanceId;
+ }
- public void setRootProcessInstanceId(String rootProcessInstanceId) {
- this.rootProcessInstanceId = rootProcessInstanceId;
- }
+ public void setRootProcessInstanceId(String rootProcessInstanceId) {
+ this.rootProcessInstanceId = rootProcessInstanceId;
+ }
- public String getValue() {
- return value;
- }
+ public String getValue() {
+ return value;
+ }
- public void setValue(String value) {
- this.value = value;
- }
+ public void setValue(String value) {
+ this.value = value;
+ }
- public Map getValueInfo() {
+ public Map getValueInfo() {
return valueInfo;
}
- public void setValueInfo(Map valueInfo) {
+ public void setValueInfo(Map valueInfo) {
this.valueInfo = valueInfo;
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
index e79547a..5444c3a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingService.java
@@ -186,7 +186,7 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
}
if (properties.getPollingEvents()
- .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
+ .contains(ApplicationProperties.PollingEvents.DECISION_INSTANCE)
&& activityInstanceEvent.getActivityType().equals("businessRuleTask")) {
pollDecisionInstances(activityInstanceEvent.getActivityInstanceId());
}
@@ -196,7 +196,7 @@ private void pollFinishedActivities(final String processInstanceId, final Pollin
private void pollDecisionInstances(final String activityInstanceId) {
for (final DecisionInstanceEvent decisionInstanceEvent : pollingService
- .pollDecisionInstances(activityInstanceId)) {
+ .pollDecisionInstances(activityInstanceId)) {
eventService.sendEvent(decisionInstanceEvent);
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 08892a5..8e7d46d 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -275,16 +275,16 @@ public Iterable pollDecisionDefinitions(Date deployment
@Override
public Iterable pollDecisionInstances(String activityInstanceId) {
return historyService.createHistoricDecisionInstanceQuery()
- .activityInstanceIdIn(activityInstanceId)
- .includeInputs()
- .includeOutputs()
- //.disableCustomObjectDeserialization()
- .list()
- .stream()
- // selected as <= by
- // Camunda - thus add
- // filter
- .map(this::createDecisionInstanceEvent)::iterator;
+ .activityInstanceIdIn(activityInstanceId)
+ .includeInputs()
+ .includeOutputs()
+ // .disableCustomObjectDeserialization()
+ .list()
+ .stream()
+ // selected as <= by
+ // Camunda - thus add
+ // filter
+ .map(this::createDecisionInstanceEvent)::iterator;
}
private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstance historicDecisionInstance) {
@@ -293,14 +293,14 @@ private DecisionInstanceEvent createDecisionInstanceEvent(HistoricDecisionInstan
BeanUtils.copyProperties(historicDecisionInstance, event);
event.setInputs(historicDecisionInstance.getInputs()
- .stream()
- .map(this::createDecisionInstanceInputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
event.setOutputs(historicDecisionInstance.getOutputs()
- .stream()
- .map(this::createDecisionInstanceOutputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
return event;
}
@@ -324,7 +324,7 @@ String formatDate(Date date) {
}
String formatString(String string) {
- return string.substring(0,1).toUpperCase() + string.substring(1);
+ return string.substring(0, 1).toUpperCase() + string.substring(1);
}
private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDecisionOutputInstance historicDecisionOutputInstance) {
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index d93088c..9e949c6 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -246,14 +246,14 @@ public Iterable pollDecisionInstances(String activityInst
LOGGER.debug("Polling decision instances from {} ({})", url, variables);
List result = this.restTemplate
- .exchange(url,
- HttpMethod.GET,
- null,
- new ParameterizedTypeReference>() {
+ .exchange(url,
+ HttpMethod.GET,
+ null,
+ new ParameterizedTypeReference>() {
- },
- variables)
- .getBody();
+ },
+ variables)
+ .getBody();
if (result == null) {
return new ArrayList<>();
@@ -262,8 +262,8 @@ public Iterable pollDecisionInstances(String activityInst
LOGGER.debug("Found {} decision instances from {} ({})", result.size(), url, variables);
return result
- .stream()
- .map(this::createDecisionInstanceEvent)::iterator;
+ .stream()
+ .map(this::createDecisionInstanceEvent)::iterator;
} catch (RestClientException e) {
throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision Instances", e);
}
@@ -659,14 +659,14 @@ private DecisionInstanceEvent createDecisionInstanceEvent(GetHistoricDecisionIns
BeanUtils.copyProperties(getHistoricDecisionInstanceResponse, event);
event.setInputs(getHistoricDecisionInstanceResponse.getInputs()
- .stream()
- .map(this::createDecisionInstanceInputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceInputEvent)
+ .collect(Collectors.toList()));
event.setOutputs(getHistoricDecisionInstanceResponse.getOutputs()
- .stream()
- .map(this::createDecisionInstanceOutputEvent)
- .collect(Collectors.toList()));
+ .stream()
+ .map(this::createDecisionInstanceOutputEvent)
+ .collect(Collectors.toList()));
return event;
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index 943b1b5..e074a4e 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -82,8 +82,6 @@ enum PointOfTime {
private DmnEngine dmnEngine;
private DmnEngineConfiguration dmnEngineConfiguration;
-
-
@BeforeEach
void setup() {
LogFactory.useSlf4jLogging();
@@ -108,7 +106,6 @@ void setup() {
pollingService = new RuntimeDataPollingService(pollingApiService, lastPolledService, eventSendService,
applicationProperties);
-
}
@AfterEach
@@ -619,40 +616,39 @@ static Stream pollIdentityLinks() {
// @formatter:on
}
-
@DisplayName("Polling of decision Instances")
@Test
void pollDecisionInstances() {
- //initiate process
+ // initiate process
setCurrentTime(BEFORE_CUTOFF);
processEngine.getRepositoryService()
- .createDeployment()
- .addClasspathResource("dmn/dmnTest.bpmn")
- .addClasspathResource("dmn/dmnTest.dmn")
- .deploy();
+ .createDeployment()
+ .addClasspathResource("dmn/dmnTest.bpmn")
+ .addClasspathResource("dmn/dmnTest.dmn")
+ .deploy();
- //create input
+ // create input
VariableMap variables = Variables.createVariables()
- .putValue("input", "100");
+ .putValue("input", "100");
// expected output
DmnDecisionTableResult result = processEngine.getDecisionService()
- .evaluateDecisionTableByKey("simple-dmn")
- .variables(variables)
- .evaluate();
+ .evaluateDecisionTableByKey("simple-dmn")
+ .variables(variables)
+ .evaluate();
Boolean expectedOutput = result.getSingleEntry();
- //start process instance with dmn table
+ // start process instance with dmn table
setCurrentTime(START_TIME);
final ProcessInstance processInstance = processEngine.getRuntimeService()
- .startProcessInstanceByKey("simpleDmn", variables);
+ .startProcessInstanceByKey("simpleDmn", variables);
// retrieve results (start polling)
when(lastPolledService.getPollingTimeslice())
- .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
- END_TIME.date));
+ .thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
+ END_TIME.date));
// perform polling
pollingService.run();
@@ -662,16 +658,16 @@ void pollDecisionInstances() {
verify(eventSendService, atLeastOnce()).sendEvent(decisionInstanceEventCaptor.capture());
final Optional> polledOutput = decisionInstanceEventCaptor.getAllValues()
- .stream()
- .filter(event -> event instanceof DecisionInstanceEvent)
- .map(event -> ((DecisionInstanceEvent) event).getOutputs())
- .findFirst();
+ .stream()
+ .filter(event -> event instanceof DecisionInstanceEvent)
+ .map(event -> ((DecisionInstanceEvent) event).getOutputs())
+ .findFirst();
assertEquals(expectedOutput, Boolean.valueOf(polledOutput.get().get(0).getValue()));
}
- private static void setCurrentTime(PointOfTime time) {
+ private static void setCurrentTime(PointOfTime time) {
ClockUtil.setCurrentTime(time.date);
}
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
index c8a963a..d170f97 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImplTest.java
@@ -93,7 +93,6 @@ void pollFinishedProcessInstances() {
assertFalse(iter.hasNext());
}
-
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
void pollDecisionInstances() {
@@ -134,7 +133,7 @@ void pollDecisionInstances() {
ResponseEntity mockedResponseEntity = mock(ResponseEntity.class);
when(mockedResponseEntity.getBody()).thenReturn(decisionInstanceList);
when(mockedRestTemplate.exchange(any(), any(), any(), (ParameterizedTypeReference) any(),
- (Map) any())).thenReturn(mockedResponseEntity);
+ (Map) any())).thenReturn(mockedResponseEntity);
// call functions
CamundaRestPollingServiceImpl c = new CamundaRestPollingServiceImpl(prop, mockedRestTemplate);
From d4b0c412dd5501eacbc7018cb37fb5459e0b6f71 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Wed, 20 Jul 2022 12:46:16 +0200
Subject: [PATCH 40/47] Add explanation for formatString method
---
.../jdbc/CamundaJdbcPollingServiceImpl.java | 31 ++++++++++---------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 8e7d46d..916268e 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -278,12 +278,9 @@ public Iterable pollDecisionInstances(String activityInst
.activityInstanceIdIn(activityInstanceId)
.includeInputs()
.includeOutputs()
- // .disableCustomObjectDeserialization()
+ .disableCustomObjectDeserialization()
.list()
.stream()
- // selected as <= by
- // Camunda - thus add
- // filter
.map(this::createDecisionInstanceEvent)::iterator;
}
@@ -309,6 +306,8 @@ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(HistoricDeci
DecisionInstanceInputEvent event = new DecisionInstanceInputEvent();
BeanUtils.copyProperties(historicDecisionInputInstance, event);
+ // Since camunda returns strings in lowercase for this attribute, the type string is formatted to match
+ // the REST responses
event.setType(formatString(historicDecisionInputInstance.getTypeName()));
event.setValue(String.valueOf(historicDecisionInputInstance.getTypedValue().getValue()));
event.setCreateTime(formatDate(historicDecisionInputInstance.getCreateTime()));
@@ -316,21 +315,12 @@ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(HistoricDeci
return event;
}
- String formatDate(Date date) {
-
- SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
- return apiDateFormat.format(date);
-
- }
-
- String formatString(String string) {
- return string.substring(0, 1).toUpperCase() + string.substring(1);
- }
-
private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDecisionOutputInstance historicDecisionOutputInstance) {
DecisionInstanceOutputEvent event = new DecisionInstanceOutputEvent();
BeanUtils.copyProperties(historicDecisionOutputInstance, event);
+ // Since camunda returns strings in lowercase for this attribute, the type string is formatted to match
+ // the REST responses
event.setType(formatString(historicDecisionOutputInstance.getTypeName()));
event.setValue(String.valueOf(historicDecisionOutputInstance.getTypedValue().getValue()));
event.setCreateTime(formatDate(historicDecisionOutputInstance.getCreateTime()));
@@ -338,6 +328,17 @@ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDe
return event;
}
+ private String formatDate(Date date) {
+
+ SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
+ return apiDateFormat.format(date);
+
+ }
+
+ private String formatString(String string) {
+ return string.substring(0, 1).toUpperCase() + string.substring(1);
+ }
+
private DecisionDefinitionEvent createDecisionDefinitionEvent(Deployment d, DecisionDefinition dd) {
DecisionDefinitionEvent event = new DecisionDefinitionEvent();
BeanUtils.copyProperties(d, event);
From 927f673b9cfbf5853ad993f4d718e1926a3f695f Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Mon, 25 Jul 2022 19:03:56 +0200
Subject: [PATCH 41/47] Add complex object test
---
.../RuntimeDataPollingServiceTest.java | 92 +++++++++++--------
.../src/test/resources/dmn/dmnTest.dmn | 12 +--
2 files changed, 58 insertions(+), 46 deletions(-)
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index e074a4e..2e74edf 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -1,44 +1,45 @@
package de.viadee.camunda.kafka.pollingclient.job.runtime;
-import de.viadee.camunda.kafka.event.*;
+import de.viadee.camunda.kafka.event.ActivityInstanceEvent;
+import de.viadee.camunda.kafka.event.CommentEvent;
+import de.viadee.camunda.kafka.event.DecisionInstanceEvent;
+import de.viadee.camunda.kafka.event.DecisionInstanceInputEvent;
+import de.viadee.camunda.kafka.event.DecisionInstanceOutputEvent;
+import de.viadee.camunda.kafka.event.HistoryEvent;
+import de.viadee.camunda.kafka.event.IdentityLinkEvent;
+import de.viadee.camunda.kafka.event.ProcessInstanceEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
+import de.viadee.camunda.kafka.pollingclient.model.Car;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.LastPolledService;
import de.viadee.camunda.kafka.pollingclient.service.lastpolled.PollingTimeslice;
import de.viadee.camunda.kafka.pollingclient.service.polling.jdbc.CamundaJdbcPollingServiceImpl;
import org.apache.ibatis.logging.LogFactory;
-import org.camunda.bpm.dmn.engine.DmnDecision;
-import org.camunda.bpm.dmn.engine.DmnDecisionTableResult;
-import org.camunda.bpm.dmn.engine.DmnEngine;
-import org.camunda.bpm.dmn.engine.DmnEngineConfiguration;
-import org.camunda.bpm.engine.*;
+import org.camunda.bpm.engine.HistoryService;
+import org.camunda.bpm.engine.ProcessEngine;
+import org.camunda.bpm.engine.ProcessEngines;
+import org.camunda.bpm.engine.TaskService;
+import org.camunda.bpm.engine.history.HistoricDecisionInputInstance;
import org.camunda.bpm.engine.history.HistoricDecisionInstance;
+import org.camunda.bpm.engine.history.HistoricDecisionOutputInstance;
import org.camunda.bpm.engine.history.HistoricIdentityLinkLog;
import org.camunda.bpm.engine.impl.util.ClockUtil;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.task.Comment;
import org.camunda.bpm.engine.task.Task;
-import org.camunda.bpm.engine.test.Deployment;
import org.camunda.bpm.engine.variable.VariableMap;
import org.camunda.bpm.engine.variable.Variables;
import org.camunda.bpm.model.bpmn.Bpmn;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
-import org.camunda.commons.utils.IoUtil;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.ArgumentCaptor;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import java.io.InputStream;
-import java.lang.reflect.Method;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
import static de.viadee.camunda.kafka.pollingclient.job.runtime.RuntimeDataPollingServiceTest.PointOfTime.*;
@@ -79,18 +80,11 @@ enum PointOfTime {
private EventService eventSendService;
private ApplicationProperties applicationProperties;
private ProcessEngine processEngine;
- private DmnEngine dmnEngine;
- private DmnEngineConfiguration dmnEngineConfiguration;
@BeforeEach
void setup() {
LogFactory.useSlf4jLogging();
- processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration()
- .setJobExecutorActivate(false)
- .setHistory(ProcessEngineConfiguration.HISTORY_FULL)
- .setDatabaseSchemaUpdate(
- ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP)
- .buildProcessEngine();
+ processEngine = ProcessEngines.getDefaultProcessEngine();
lastPolledService = mock(LastPolledService.class);
eventSendService = mock(EventService.class);
@@ -110,7 +104,7 @@ void setup() {
@AfterEach
void cleanup() {
- processEngine.close();
+ ProcessEngines.destroy(); //closes all process engines. This method should be called when the server shuts down.
ClockUtil.reset();
}
@@ -616,7 +610,7 @@ static Stream pollIdentityLinks() {
// @formatter:on
}
- @DisplayName("Polling of decision Instances")
+ @DisplayName("Polling of decision instances")
@Test
void pollDecisionInstances() {
@@ -628,23 +622,31 @@ void pollDecisionInstances() {
.addClasspathResource("dmn/dmnTest.dmn")
.deploy();
+ // create object
+ Car car = new Car("Twingo",200);
+
// create input
VariableMap variables = Variables.createVariables()
- .putValue("input", "100");
-
- // expected output
- DmnDecisionTableResult result = processEngine.getDecisionService()
- .evaluateDecisionTableByKey("simple-dmn")
- .variables(variables)
- .evaluate();
-
- Boolean expectedOutput = result.getSingleEntry();
+ .putValue("car", car);
// start process instance with dmn table
setCurrentTime(START_TIME);
- final ProcessInstance processInstance = processEngine.getRuntimeService()
+ processEngine.getRuntimeService()
.startProcessInstanceByKey("simpleDmn", variables);
+ // expected result
+ HistoryService historyService = processEngine.getHistoryService();
+ List expectedDecisionInstances = historyService
+ .createHistoricDecisionInstanceQuery()
+ .includeOutputs()
+ .includeInputs()
+ .disableCustomObjectDeserialization()
+ .list();
+
+ HistoricDecisionInputInstance expectedDecisionInputInstance = expectedDecisionInstances.get(0).getInputs().get(0);
+ HistoricDecisionOutputInstance expectedDecisionOutputInstance = expectedDecisionInstances.get(0).getOutputs()
+ .get(0);
+
// retrieve results (start polling)
when(lastPolledService.getPollingTimeslice())
.thenReturn(new PollingTimeslice(CUTOFF_TIME.date, START_TIME.date,
@@ -657,14 +659,24 @@ void pollDecisionInstances() {
final ArgumentCaptor decisionInstanceEventCaptor = ArgumentCaptor.forClass(HistoryEvent.class);
verify(eventSendService, atLeastOnce()).sendEvent(decisionInstanceEventCaptor.capture());
- final Optional> polledOutput = decisionInstanceEventCaptor.getAllValues()
- .stream()
- .filter(event -> event instanceof DecisionInstanceEvent)
- .map(event -> ((DecisionInstanceEvent) event).getOutputs())
- .findFirst();
+ final List polledDecisionInstances = decisionInstanceEventCaptor.getAllValues()
+ .stream()
+ .filter(event -> event instanceof DecisionInstanceEvent)
+ .map(event -> ((DecisionInstanceEvent) event))
+ .collect(toList());
+
+ DecisionInstanceEvent polledDecisionInstance = polledDecisionInstances.get(0);
+ DecisionInstanceInputEvent polledDecisionInputInstance = polledDecisionInstance.getInputs().get(0);
+ DecisionInstanceOutputEvent polledDecisionOutputInstance = polledDecisionInstance.getOutputs().get(0);
- assertEquals(expectedOutput, Boolean.valueOf(polledOutput.get().get(0).getValue()));
+ // assert formatting
+ assert Character.isLowerCase(expectedDecisionOutputInstance.getTypeName().charAt(0));
+ assert Character.isUpperCase(polledDecisionOutputInstance.getType().charAt(0));
+ assert Character.isLowerCase(expectedDecisionInputInstance.getTypeName().charAt(0));
+ assert Character.isUpperCase(polledDecisionInputInstance.getType().charAt(0));
+ // assert polling
+ assertEquals(expectedDecisionOutputInstance.getValue(), Boolean.valueOf(polledDecisionOutputInstance.getValue()));
}
private static void setCurrentTime(PointOfTime time) {
diff --git a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
index 8a3e316..a84f9d1 100644
--- a/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
+++ b/camunda-kafka-polling-client/src/test/resources/dmn/dmnTest.dmn
@@ -1,13 +1,13 @@
-
+
-
-
- input
+
+
+ car.value
-
+
[0..100[
@@ -65,4 +65,4 @@
-
\ No newline at end of file
+
From e038fb211ed930f8be448f0303109fbdf6cf3b20 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 2 Aug 2022 12:06:15 +0200
Subject: [PATCH 42/47] Add config file to pass the spin plugin to process
engine
---
.../src/test/resources/camunda.cfg.xml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
create mode 100644 camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
diff --git a/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml b/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
new file mode 100644
index 0000000..bc66ea4
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From a3e8589f1c44dfa722f4777e6d2a098cd002a2a2 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 2 Aug 2022 12:06:58 +0200
Subject: [PATCH 43/47] Add model for testing
---
.../kafka/pollingclient/model/Car.java | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
new file mode 100644
index 0000000..0043391
--- /dev/null
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
@@ -0,0 +1,30 @@
+package de.viadee.camunda.kafka.pollingclient.model;
+
+import java.util.Calendar;
+
+public class Car {
+
+ private String model;
+ private int value;
+
+ public Car(String model, int value) {
+ this.model = model;
+ this.value = value;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public void setValue(int value) {
+ this.value = value;
+ }
+}
From 0ed833d4dd3372f37e1de1000e10c9e29697e955 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 2 Aug 2022 13:29:15 +0200
Subject: [PATCH 44/47] Fix missing serializable
---
.../java/de/viadee/camunda/kafka/pollingclient/model/Car.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
index 0043391..8b63098 100644
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
@@ -1,8 +1,8 @@
package de.viadee.camunda.kafka.pollingclient.model;
-import java.util.Calendar;
+import java.io.Serializable;
-public class Car {
+public class Car implements Serializable {
private String model;
private int value;
From 38a45f60f8382d3a1200554fce52e2ba5189710b Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 2 Aug 2022 13:36:45 +0200
Subject: [PATCH 45/47] Fix formatting
---
camunda-kafka-polling-client/pom.xml | 23 -------
.../RepositoryDataPollingService.java | 3 +-
.../event/kafka/KafkaEventServiceImpl.java | 7 +--
.../jdbc/CamundaJdbcPollingServiceImpl.java | 26 ++++----
.../rest/CamundaRestPollingServiceImpl.java | 22 ++++---
.../RuntimeDataPollingServiceTest.java | 31 ++++++----
.../kafka/pollingclient/model/Car.java | 60 +++++++++----------
7 files changed, 82 insertions(+), 90 deletions(-)
diff --git a/camunda-kafka-polling-client/pom.xml b/camunda-kafka-polling-client/pom.xml
index 1546dc9..05b34c0 100644
--- a/camunda-kafka-polling-client/pom.xml
+++ b/camunda-kafka-polling-client/pom.xml
@@ -170,11 +170,6 @@
postgresql
runtime
-
- org.camunda.bpm.dmn
- camunda-engine-dmn
- test
-
@@ -242,24 +237,6 @@
h2
test
-
- de.viadee.camunda
- camunda-kafka-model
- 2.1.0
- test
-
-
- de.viadee.camunda
- camunda-kafka-model
- 2.1.0
- compile
-
-
- org.camunda.bpm.dmn
- camunda-engine-dmn
- ${camunda.version}
- test
-
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
index dfd7a4c..13c077c 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/job/repository/RepositoryDataPollingService.java
@@ -66,7 +66,8 @@ public void run() {
private void pollDecisionDefinitions(PollingTimeslice pollingTimeslice) {
if (properties.getPollingEvents().contains(ApplicationProperties.PollingEvents.DECISION_DEFINITION)) {
- for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),pollingTimeslice.getEndTime())) {
+ for (final DecisionDefinitionEvent decisionDefinitionEvent : pollingService.pollDecisionDefinitions(pollingTimeslice.getStartTime(),
+ pollingTimeslice.getEndTime())) {
eventService.sendEvent(decisionDefinitionEvent);
}
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
index 367083a..0169aeb 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/event/kafka/KafkaEventServiceImpl.java
@@ -6,18 +6,16 @@
import de.viadee.camunda.kafka.event.HistoryEvent;
import de.viadee.camunda.kafka.pollingclient.config.properties.ApplicationProperties;
import de.viadee.camunda.kafka.pollingclient.service.event.EventService;
-import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
-import java.io.*;
-import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import static org.apache.commons.lang3.StringUtils.*;
+import static org.apache.commons.lang3.StringUtils.removeEnd;
+import static org.apache.commons.lang3.StringUtils.uncapitalize;
/**
*
@@ -97,5 +95,4 @@ private String getTopicName(HistoryEvent event) {
return properties.getEventTopics().getOrDefault(eventName, eventName);
}
-
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 916268e..75e9b90 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.TimeZone;
import java.util.stream.Collectors;
/**
@@ -244,27 +243,32 @@ public Iterable pollIdentityLinks(ActivityInstanceEvent activ
public Iterable pollDecisionDefinitions(Date deploymentAfter, Date deploymentBefore) {
deploymentAfter = new Date(deploymentAfter.getTime() - 1);
- //query deployments
+ // query deployments
List deployments = repositoryService.createDeploymentQuery()
- .deploymentAfter(deploymentAfter)
- .deploymentBefore(deploymentBefore)
- .list();
+ .deploymentAfter(deploymentAfter)
+ .deploymentBefore(deploymentBefore)
+ .list();
List result = new ArrayList<>();
for (Deployment deployment : deployments) {
- List decisionDefinitions = repositoryService.createDecisionDefinitionQuery().deploymentId(deployment.getId()).list();
+ List decisionDefinitions = repositoryService.createDecisionDefinitionQuery()
+ .deploymentId(deployment.getId())
+ .list();
- //query decision definitions
+ // query decision definitions
for (DecisionDefinition decisionDefinition : decisionDefinitions) {
- DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment, decisionDefinition);
+ DecisionDefinitionEvent decisionDefinitionEvent = createDecisionDefinitionEvent(deployment,
+ decisionDefinition);
- //query xml
+ // query xml
try {
- String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),decisionDefinition.getResourceName()));
+ String xml = IOUtils.toString(repositoryService.getResourceAsStream(decisionDefinition.getDeploymentId(),
+ decisionDefinition.getResourceName()));
decisionDefinitionEvent.setXml(xml);
} catch (IOException e) {
- throw new RuntimeException("error while reading xml for decision definition" + decisionDefinition.getId(),e);
+ throw new RuntimeException("error while reading xml for decision definition"
+ + decisionDefinition.getId(), e);
}
result.add(decisionDefinitionEvent);
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
index 7ec423e..6ae8bc2 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/CamundaRestPollingServiceImpl.java
@@ -264,7 +264,7 @@ public Iterable pollDecisionInstances(String activityInst
.stream()
.map(this::createDecisionInstanceEvent)::iterator;
} catch (RestClientException e) {
- throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision Instances", e);
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision instances", e);
}
}
@@ -474,8 +474,10 @@ private List getDecisionDefinitions(GetDeploymentRespon
variables.put("deploymentId", deploymentResponse.getId());
LOGGER.debug("Polling decision definitions from {} ({})", url, variables);
- decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference>() {
- }, variables).getBody();
+ decisionDefinitions = this.restTemplate.exchange(url, HttpMethod.GET, null,
+ new ParameterizedTypeReference>() {
+ }, variables)
+ .getBody();
if (decisionDefinitions == null) {
decisionDefinitions = new ArrayList<>();
@@ -486,10 +488,13 @@ private List getDecisionDefinitions(GetDeploymentRespon
throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definitions", e);
}
- return decisionDefinitions.stream().map(response -> createDecisionDefinitionEvent(response, deploymentResponse)).collect(Collectors.toList());
+ return decisionDefinitions.stream()
+ .map(response -> createDecisionDefinitionEvent(response, deploymentResponse))
+ .collect(Collectors.toList());
}
- private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp, final GetDeploymentResponse deploymentResponse) {
+ private DecisionDefinitionEvent createDecisionDefinitionEvent(GetDecisionDefinitionResponse resp,
+ final GetDeploymentResponse deploymentResponse) {
final DecisionDefinitionEvent event = new DecisionDefinitionEvent();
BeanUtils.copyProperties(deploymentResponse, event);
BeanUtils.copyProperties(resp, event);
@@ -506,7 +511,9 @@ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisio
LOGGER.debug("Polling decision definition xml from {} ({})", url, variables);
- resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class, variables).getBody();
+ resp = this.restTemplate.exchange(url, HttpMethod.GET, null, GetDecisionDefinitionXmlResponse.class,
+ variables)
+ .getBody();
if (resp != null) {
LOGGER.debug("Found decision definition xml from {} ({})", url, variables);
@@ -514,7 +521,8 @@ private GetDecisionDefinitionXmlResponse getDecisionDefinitionXml(String decisio
LOGGER.debug("No decision definition xml found from {} ({})", url, variables);
}
} catch (RestClientException e) {
- throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml", e);
+ throw new RuntimeException("Error requesting Camunda REST API (" + url + ") for decision definition xml",
+ e);
}
return resp;
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index 9bcd539..ff8c248 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -103,7 +103,8 @@ void setup() {
@AfterEach
void cleanup() {
- ProcessEngines.destroy(); //closes all process engines. This method should be called when the server shuts down.
+ // closes all process engines
+ ProcessEngines.destroy();
ClockUtil.reset();
}
@@ -622,28 +623,31 @@ void pollDecisionInstances() {
.deploy();
// create object
- Car car = new Car("Twingo",200);
+ Car car = new Car("Twingo", 200);
// create input
VariableMap variables = Variables.createVariables()
- .putValue("car", car);
+ .putValue("car", car);
// start process instance with dmn table
setCurrentTime(START_TIME);
processEngine.getRuntimeService()
- .startProcessInstanceByKey("simpleDmn", variables);
+ .startProcessInstanceByKey("simpleDmn", variables);
// expected result
HistoryService historyService = processEngine.getHistoryService();
List expectedDecisionInstances = historyService
- .createHistoricDecisionInstanceQuery()
- .includeOutputs()
- .includeInputs()
- .disableCustomObjectDeserialization()
- .list();
-
- HistoricDecisionInputInstance expectedDecisionInputInstance = expectedDecisionInstances.get(0).getInputs().get(0);
- HistoricDecisionOutputInstance expectedDecisionOutputInstance = expectedDecisionInstances.get(0).getOutputs()
+ .createHistoricDecisionInstanceQuery()
+ .includeOutputs()
+ .includeInputs()
+ .disableCustomObjectDeserialization()
+ .list();
+
+ HistoricDecisionInputInstance expectedDecisionInputInstance = expectedDecisionInstances.get(0)
+ .getInputs()
+ .get(0);
+ HistoricDecisionOutputInstance expectedDecisionOutputInstance = expectedDecisionInstances.get(0)
+ .getOutputs()
.get(0);
// retrieve results (start polling)
@@ -675,7 +679,8 @@ void pollDecisionInstances() {
assert Character.isUpperCase(polledDecisionInputInstance.getType().charAt(0));
// assert polling
- assertEquals(expectedDecisionOutputInstance.getValue(), Boolean.valueOf(polledDecisionOutputInstance.getValue()));
+ assertEquals(expectedDecisionOutputInstance.getValue(),
+ Boolean.valueOf(polledDecisionOutputInstance.getValue()));
}
private static void setCurrentTime(PointOfTime time) {
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
index 8b63098..a231f82 100644
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/model/Car.java
@@ -1,30 +1,30 @@
-package de.viadee.camunda.kafka.pollingclient.model;
-
-import java.io.Serializable;
-
-public class Car implements Serializable {
-
- private String model;
- private int value;
-
- public Car(String model, int value) {
- this.model = model;
- this.value = value;
- }
-
- public String getModel() {
- return model;
- }
-
- public void setModel(String model) {
- this.model = model;
- }
-
- public int getValue() {
- return value;
- }
-
- public void setValue(int value) {
- this.value = value;
- }
-}
+package de.viadee.camunda.kafka.pollingclient.model;
+
+import java.io.Serializable;
+
+public class Car implements Serializable {
+
+ private String model;
+ private int value;
+
+ public Car(String model, int value) {
+ this.model = model;
+ this.value = value;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public void setValue(int value) {
+ this.value = value;
+ }
+}
From 291898fd663ec71d348f2dce2bd289fbc57ef4d1 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Tue, 16 Aug 2022 13:59:27 +0200
Subject: [PATCH 46/47] Fix configuration of process engine without
camunda.cfg.xml
---
.../RuntimeDataPollingServiceTest.java | 21 ++++++++++++++++---
.../src/test/resources/camunda.cfg.xml | 15 -------------
2 files changed, 18 insertions(+), 18 deletions(-)
delete mode 100644 camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
diff --git a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
index ff8c248..c63efca 100755
--- a/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
+++ b/camunda-kafka-polling-client/src/test/java/de/viadee/camunda/kafka/pollingclient/job/runtime/RuntimeDataPollingServiceTest.java
@@ -17,12 +17,15 @@
import org.apache.ibatis.logging.LogFactory;
import org.camunda.bpm.engine.HistoryService;
import org.camunda.bpm.engine.ProcessEngine;
+import org.camunda.bpm.engine.ProcessEngineConfiguration;
import org.camunda.bpm.engine.ProcessEngines;
import org.camunda.bpm.engine.TaskService;
import org.camunda.bpm.engine.history.HistoricDecisionInputInstance;
import org.camunda.bpm.engine.history.HistoricDecisionInstance;
import org.camunda.bpm.engine.history.HistoricDecisionOutputInstance;
import org.camunda.bpm.engine.history.HistoricIdentityLinkLog;
+import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
+import org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin;
import org.camunda.bpm.engine.impl.util.ClockUtil;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import org.camunda.bpm.engine.task.Comment;
@@ -31,6 +34,7 @@
import org.camunda.bpm.engine.variable.Variables;
import org.camunda.bpm.model.bpmn.Bpmn;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
+import org.camunda.spin.plugin.impl.SpinProcessEnginePlugin;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
@@ -84,7 +88,19 @@ enum PointOfTime {
@BeforeEach
void setup() {
LogFactory.useSlf4jLogging();
- processEngine = ProcessEngines.getDefaultProcessEngine();
+ SpinProcessEnginePlugin spinProcessEnginePlugin = new SpinProcessEnginePlugin();
+
+ ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration()
+ .setJobExecutorActivate(false)
+ .setHistory(ProcessEngineConfiguration.HISTORY_FULL)
+ .setDatabaseSchemaUpdate(
+ ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP);
+
+ spinProcessEnginePlugin.preInit((ProcessEngineConfigurationImpl) configuration);
+
+ processEngine = configuration.buildProcessEngine();
+
+ spinProcessEnginePlugin.postInit((ProcessEngineConfigurationImpl) configuration);
lastPolledService = mock(LastPolledService.class);
eventSendService = mock(EventService.class);
@@ -103,8 +119,7 @@ void setup() {
@AfterEach
void cleanup() {
- // closes all process engines
- ProcessEngines.destroy();
+ processEngine.close();
ClockUtil.reset();
}
diff --git a/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml b/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
deleted file mode 100644
index bc66ea4..0000000
--- a/camunda-kafka-polling-client/src/test/resources/camunda.cfg.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
From 44e882def076f20e40bdf1ca7fa4f207f4895116 Mon Sep 17 00:00:00 2001
From: Daniel Alile <12607126+tDalile@users.noreply.github.com>
Date: Thu, 25 Aug 2022 12:37:41 +0200
Subject: [PATCH 47/47] Fix string -> date as required in the pipeline
---
.../camunda/kafka/event/DecisionInstanceEvent.java | 13 +++++++------
.../kafka/event/DecisionInstanceInputEvent.java | 13 +++++++------
.../kafka/event/DecisionInstanceOutputEvent.java | 13 +++++++------
.../polling/jdbc/CamundaJdbcPollingServiceImpl.java | 9 ---------
.../GetHistoricDecisionInstanceInputResponse.java | 13 +++++++------
.../GetHistoricDecisionInstanceOutputResponse.java | 13 +++++++------
.../GetHistoricDecisionInstanceResponse.java | 12 ++++++------
7 files changed, 41 insertions(+), 45 deletions(-)
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
index 223cb4e..4a1cd21 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceEvent.java
@@ -1,5 +1,6 @@
package de.viadee.camunda.kafka.event;
+import java.util.Date;
import java.util.List;
/**
@@ -18,8 +19,8 @@ public class DecisionInstanceEvent extends HistoryEvent {
private String decisionDefinitionId;
private String decisionDefinitionKey;
private String decisionDefinitionName;
- private String evaluationTime;
- private String removalTime;
+ private Date evaluationTime;
+ private Date removalTime;
private String activityId;
private String activityInstanceId;
private String tenantId;
@@ -56,19 +57,19 @@ public void setDecisionDefinitionName(String decisionDefinitionName) {
this.decisionDefinitionName = decisionDefinitionName;
}
- public String getEvaluationTime() {
+ public Date getEvaluationTime() {
return evaluationTime;
}
- public void setEvaluationTime(String evaluationTime) {
+ public void setEvaluationTime(Date evaluationTime) {
this.evaluationTime = evaluationTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
index dd4710f..00b29b7 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceInputEvent.java
@@ -1,5 +1,6 @@
package de.viadee.camunda.kafka.event;
+import java.util.Date;
import java.util.Map;
public class DecisionInstanceInputEvent {
@@ -10,8 +11,8 @@ public class DecisionInstanceInputEvent {
private String clauseName;
private String errorMessage;
private String type;
- private String createTime;
- private String removalTime;
+ private Date createTime;
+ private Date removalTime;
private String rootProcessInstanceId;
private String value;
private Map valueInfo;
@@ -64,19 +65,19 @@ public void setType(String type) {
this.type = type;
}
- public String getCreateTime() {
+ public Date getCreateTime() {
return createTime;
}
- public void setCreateTime(String createTime) {
+ public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}
diff --git a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
index fa33532..46043c3 100644
--- a/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
+++ b/camunda-kafka-model/src/main/java/de/viadee/camunda/kafka/event/DecisionInstanceOutputEvent.java
@@ -1,5 +1,6 @@
package de.viadee.camunda.kafka.event;
+import java.util.Date;
import java.util.Map;
public class DecisionInstanceOutputEvent {
@@ -13,8 +14,8 @@ public class DecisionInstanceOutputEvent {
private String errorMessage;
private String variableName;
private String type;
- private String createTime;
- private String removalTime;
+ private Date createTime;
+ private Date removalTime;
private String rootProcessInstanceId;
private String value;
@@ -92,19 +93,19 @@ public void setType(String type) {
this.type = type;
}
- public String getCreateTime() {
+ public Date getCreateTime() {
return createTime;
}
- public void setCreateTime(String createTime) {
+ public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
index 75e9b90..8bc0b7f 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/jdbc/CamundaJdbcPollingServiceImpl.java
@@ -314,7 +314,6 @@ private DecisionInstanceInputEvent createDecisionInstanceInputEvent(HistoricDeci
// the REST responses
event.setType(formatString(historicDecisionInputInstance.getTypeName()));
event.setValue(String.valueOf(historicDecisionInputInstance.getTypedValue().getValue()));
- event.setCreateTime(formatDate(historicDecisionInputInstance.getCreateTime()));
return event;
}
@@ -327,18 +326,10 @@ private DecisionInstanceOutputEvent createDecisionInstanceOutputEvent(HistoricDe
// the REST responses
event.setType(formatString(historicDecisionOutputInstance.getTypeName()));
event.setValue(String.valueOf(historicDecisionOutputInstance.getTypedValue().getValue()));
- event.setCreateTime(formatDate(historicDecisionOutputInstance.getCreateTime()));
return event;
}
- private String formatDate(Date date) {
-
- SimpleDateFormat apiDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
- return apiDateFormat.format(date);
-
- }
-
private String formatString(String string) {
return string.substring(0, 1).toUpperCase() + string.substring(1);
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
index 212fe72..af044b7 100644
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceInputResponse.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import java.util.Date;
import java.util.Map;
/**
@@ -17,8 +18,8 @@ public class GetHistoricDecisionInstanceInputResponse {
private String clauseName;
private String errorMessage;
private String type;
- private String createTime;
- private String removalTime;
+ private Date createTime;
+ private Date removalTime;
private String rootProcessInstanceId;
private String value;
private Map valueInfo;
@@ -71,19 +72,19 @@ public void setType(String type) {
this.type = type;
}
- public String getCreateTime() {
+ public Date getCreateTime() {
return createTime;
}
- public void setCreateTime(String createTime) {
+ public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
index 2b35cef..3d20e41 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceOutputResponse.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import java.util.Date;
import java.util.Map;
/**
@@ -20,8 +21,8 @@ public class GetHistoricDecisionInstanceOutputResponse {
private String errorMessage;
private String variableName;
private String type;
- private String createTime;
- private String removalTime;
+ private Date createTime;
+ private Date removalTime;
private String rootProcessInstanceId;
private String value;
@@ -99,19 +100,19 @@ public void setType(String type) {
this.type = type;
}
- public String getCreateTime() {
+ public Date getCreateTime() {
return createTime;
}
- public void setCreateTime(String createTime) {
+ public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}
diff --git a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
index ec5de20..daec55a 100755
--- a/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
+++ b/camunda-kafka-polling-client/src/main/java/de/viadee/camunda/kafka/pollingclient/service/polling/rest/response/GetHistoricDecisionInstanceResponse.java
@@ -16,8 +16,8 @@ public class GetHistoricDecisionInstanceResponse {
private String decisionDefinitionId;
private String decisionDefinitionKey;
private String decisionDefinitionName;
- private String evaluationTime;
- private String removalTime;
+ private Date evaluationTime;
+ private Date removalTime;
private String processDefinitionId;
private String processDefinitionKey;
private String processInstanceId;
@@ -68,19 +68,19 @@ public void setDecisionDefinitionName(String decisionDefinitionName) {
this.decisionDefinitionName = decisionDefinitionName;
}
- public String getEvaluationTime() {
+ public Date getEvaluationTime() {
return evaluationTime;
}
- public void setEvaluationTime(String evaluationTime) {
+ public void setEvaluationTime(Date evaluationTime) {
this.evaluationTime = evaluationTime;
}
- public String getRemovalTime() {
+ public Date getRemovalTime() {
return removalTime;
}
- public void setRemovalTime(String removalTime) {
+ public void setRemovalTime(Date removalTime) {
this.removalTime = removalTime;
}