diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 486e29f119..ec879d84c3 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -18,7 +18,7 @@ jobs:
- name: Set up JDK
uses: actions/setup-java@v4
with:
- java-version: '8'
+ java-version: '17'
java-package: 'jdk+fx'
distribution: 'zulu'
diff --git a/.gitignore b/.gitignore
index 9dcfd64acf..e6887efded 100644
--- a/.gitignore
+++ b/.gitignore
@@ -107,8 +107,13 @@ Desktop.ini
donkey/donkey-src
donkey/donkey-test
.sonar
+# Unit Tests:
**/junit-reports
+**/junit-html
**/code-coverage-reports
+/exports/
+/MapUtilTestDB/
+/testconf/
# /client/
/client/logs
diff --git a/.sdkmanrc b/.sdkmanrc
index 4f6817d132..1ef2f89fe4 100644
--- a/.sdkmanrc
+++ b/.sdkmanrc
@@ -1,4 +1,4 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
-java=8.0.442.fx-zulu
+java=17.0.17.fx-zulu
ant=1.10.14
diff --git a/client/ant-build.xml b/client/ant-build.xml
index d9df97ff3f..6385a80eed 100644
--- a/client/ant-build.xml
+++ b/client/ant-build.xml
@@ -332,11 +332,23 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -347,6 +359,8 @@
+
+
diff --git a/client/lib/commons-vfs2-2.10.0.jar b/client/lib/commons-vfs2-2.10.0.jar
new file mode 100644
index 0000000000..cf5182ed13
Binary files /dev/null and b/client/lib/commons-vfs2-2.10.0.jar differ
diff --git a/client/lib/commons-vfs2-2.9.0.jar b/client/lib/commons-vfs2-2.9.0.jar
deleted file mode 100644
index 5e047d54b1..0000000000
Binary files a/client/lib/commons-vfs2-2.9.0.jar and /dev/null differ
diff --git a/client/lib/guava-28.2-jre.jar b/client/lib/guava-28.2-jre.jar
deleted file mode 100644
index 822b37bd4c..0000000000
Binary files a/client/lib/guava-28.2-jre.jar and /dev/null differ
diff --git a/client/lib/guava-32.0.1-jre.jar b/client/lib/guava-32.0.1-jre.jar
new file mode 100644
index 0000000000..5f3a1eee94
Binary files /dev/null and b/client/lib/guava-32.0.1-jre.jar differ
diff --git a/command/lib/jetty-util-9.4.53.v20231009.jar b/client/lib/jetty-util-9.4.57.v20241219.jar
similarity index 74%
rename from command/lib/jetty-util-9.4.53.v20231009.jar
rename to client/lib/jetty-util-9.4.57.v20241219.jar
index 1cebfa06a4..caeda5de3e 100644
Binary files a/command/lib/jetty-util-9.4.53.v20231009.jar and b/client/lib/jetty-util-9.4.57.v20241219.jar differ
diff --git a/command/build.xml b/command/build.xml
index 77d1c91a09..0582b82103 100644
--- a/command/build.xml
+++ b/command/build.xml
@@ -71,11 +71,23 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -86,6 +98,8 @@
+
+
@@ -99,4 +113,4 @@
-
\ No newline at end of file
+
diff --git a/command/lib/commons-vfs2-2.10.0.jar b/command/lib/commons-vfs2-2.10.0.jar
new file mode 100644
index 0000000000..cf5182ed13
Binary files /dev/null and b/command/lib/commons-vfs2-2.10.0.jar differ
diff --git a/command/lib/commons-vfs2-2.9.0.jar b/command/lib/commons-vfs2-2.9.0.jar
deleted file mode 100644
index 5e047d54b1..0000000000
Binary files a/command/lib/commons-vfs2-2.9.0.jar and /dev/null differ
diff --git a/command/lib/guava-28.2-jre.jar b/command/lib/guava-28.2-jre.jar
deleted file mode 100644
index 822b37bd4c..0000000000
Binary files a/command/lib/guava-28.2-jre.jar and /dev/null differ
diff --git a/command/lib/guava-32.0.1-jre.jar b/command/lib/guava-32.0.1-jre.jar
new file mode 100644
index 0000000000..5f3a1eee94
Binary files /dev/null and b/command/lib/guava-32.0.1-jre.jar differ
diff --git a/client/lib/jetty-util-9.4.53.v20231009.jar b/command/lib/jetty-util-9.4.57.v20241219.jar
similarity index 74%
rename from client/lib/jetty-util-9.4.53.v20231009.jar
rename to command/lib/jetty-util-9.4.57.v20241219.jar
index 1cebfa06a4..caeda5de3e 100644
Binary files a/client/lib/jetty-util-9.4.53.v20231009.jar and b/command/lib/jetty-util-9.4.57.v20241219.jar differ
diff --git a/donkey/build.xml b/donkey/build.xml
index 110c1a8168..861849bf59 100644
--- a/donkey/build.xml
+++ b/donkey/build.xml
@@ -70,10 +70,22 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -85,6 +97,8 @@
+
+
diff --git a/donkey/lib/database/mysql-connector-j-8.2.0.jar b/donkey/lib/database/mysql-connector-j-8.2.0.jar
deleted file mode 100644
index 96fae380c2..0000000000
Binary files a/donkey/lib/database/mysql-connector-j-8.2.0.jar and /dev/null differ
diff --git a/donkey/lib/database/mysql-connector-j-8.4.0.jar b/donkey/lib/database/mysql-connector-j-8.4.0.jar
new file mode 100644
index 0000000000..8294fe0b40
Binary files /dev/null and b/donkey/lib/database/mysql-connector-j-8.4.0.jar differ
diff --git a/donkey/lib/guava/guava-28.2-jre.jar b/donkey/lib/guava/guava-28.2-jre.jar
deleted file mode 100644
index 822b37bd4c..0000000000
Binary files a/donkey/lib/guava/guava-28.2-jre.jar and /dev/null differ
diff --git a/donkey/lib/guava/guava-32.0.1-jre.jar b/donkey/lib/guava/guava-32.0.1-jre.jar
new file mode 100644
index 0000000000..5f3a1eee94
Binary files /dev/null and b/donkey/lib/guava/guava-32.0.1-jre.jar differ
diff --git a/donkey/testlib/byte-buddy-1.14.13.jar b/donkey/testlib/byte-buddy-1.14.13.jar
new file mode 100644
index 0000000000..791db5e61f
Binary files /dev/null and b/donkey/testlib/byte-buddy-1.14.13.jar differ
diff --git a/donkey/testlib/byte-buddy-1.8.8.jar b/donkey/testlib/byte-buddy-1.8.8.jar
deleted file mode 100644
index 7b964f6055..0000000000
Binary files a/donkey/testlib/byte-buddy-1.8.8.jar and /dev/null differ
diff --git a/donkey/testlib/byte-buddy-agent-1.14.13.jar b/donkey/testlib/byte-buddy-agent-1.14.13.jar
new file mode 100644
index 0000000000..3223ba8933
Binary files /dev/null and b/donkey/testlib/byte-buddy-agent-1.14.13.jar differ
diff --git a/donkey/testlib/byte-buddy-agent-1.8.8.jar b/donkey/testlib/byte-buddy-agent-1.8.8.jar
deleted file mode 100644
index 1d32e2ef73..0000000000
Binary files a/donkey/testlib/byte-buddy-agent-1.8.8.jar and /dev/null differ
diff --git a/donkey/testlib/mockito-core-2.7.9.jar b/donkey/testlib/mockito-core-2.7.9.jar
deleted file mode 100644
index 926872f2ae..0000000000
Binary files a/donkey/testlib/mockito-core-2.7.9.jar and /dev/null differ
diff --git a/donkey/testlib/mockito-core-5.1.1.jar b/donkey/testlib/mockito-core-5.1.1.jar
new file mode 100644
index 0000000000..234bea1474
Binary files /dev/null and b/donkey/testlib/mockito-core-5.1.1.jar differ
diff --git a/manager/lib/guava-28.2-jre.jar b/manager/lib/guava-28.2-jre.jar
deleted file mode 100644
index 822b37bd4c..0000000000
Binary files a/manager/lib/guava-28.2-jre.jar and /dev/null differ
diff --git a/manager/lib/guava-32.0.1-jre.jar b/manager/lib/guava-32.0.1-jre.jar
new file mode 100644
index 0000000000..5f3a1eee94
Binary files /dev/null and b/manager/lib/guava-32.0.1-jre.jar differ
diff --git a/server/build.xml b/server/build.xml
index 4608b2ec6f..1e66e78173 100644
--- a/server/build.xml
+++ b/server/build.xml
@@ -1198,13 +1198,11 @@
-
+
-
+
+
+
@@ -1266,12 +1264,10 @@
-
+
+
+
+
@@ -1285,30 +1281,55 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1321,6 +1342,14 @@
+
+
+
+
+
+
+
+
diff --git a/server/lib/ant/ant-header.jar b/server/lib/ant/ant-header.jar
deleted file mode 100644
index 6620ffe685..0000000000
Binary files a/server/lib/ant/ant-header.jar and /dev/null differ
diff --git a/server/lib/ant/asm-9.2.jar b/server/lib/ant/asm-9.2.jar
new file mode 100644
index 0000000000..3557ae4140
Binary files /dev/null and b/server/lib/ant/asm-9.2.jar differ
diff --git a/server/lib/ant/asm-commons-9.2.jar b/server/lib/ant/asm-commons-9.2.jar
new file mode 100644
index 0000000000..01028a0035
Binary files /dev/null and b/server/lib/ant/asm-commons-9.2.jar differ
diff --git a/server/lib/ant/asm-tree-9.2.jar b/server/lib/ant/asm-tree-9.2.jar
new file mode 100644
index 0000000000..0a6833a688
Binary files /dev/null and b/server/lib/ant/asm-tree-9.2.jar differ
diff --git a/server/lib/ant/jacocoant.jar b/server/lib/ant/jacocoant.jar
deleted file mode 100644
index bf9968d908..0000000000
Binary files a/server/lib/ant/jacocoant.jar and /dev/null differ
diff --git a/server/lib/ant/org.jacoco.agent-0.8.8.jar b/server/lib/ant/org.jacoco.agent-0.8.8.jar
new file mode 100644
index 0000000000..f21efca71b
Binary files /dev/null and b/server/lib/ant/org.jacoco.agent-0.8.8.jar differ
diff --git a/server/lib/ant/org.jacoco.ant-0.8.8.jar b/server/lib/ant/org.jacoco.ant-0.8.8.jar
new file mode 100644
index 0000000000..3769c01c28
Binary files /dev/null and b/server/lib/ant/org.jacoco.ant-0.8.8.jar differ
diff --git a/server/lib/ant/org.jacoco.core-0.8.8.jar b/server/lib/ant/org.jacoco.core-0.8.8.jar
new file mode 100644
index 0000000000..bbccce107f
Binary files /dev/null and b/server/lib/ant/org.jacoco.core-0.8.8.jar differ
diff --git a/server/lib/ant/org.jacoco.report-0.8.8.jar b/server/lib/ant/org.jacoco.report-0.8.8.jar
new file mode 100644
index 0000000000..ccb60c8ebc
Binary files /dev/null and b/server/lib/ant/org.jacoco.report-0.8.8.jar differ
diff --git a/server/lib/aws/ext/netty/netty-buffer-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-buffer-4.1.119.Final.jar
similarity index 52%
rename from server/lib/aws/ext/netty/netty-buffer-4.1.97.Final.jar
rename to server/lib/aws/ext/netty/netty-buffer-4.1.119.Final.jar
index 47a6651b82..2453c4c290 100644
Binary files a/server/lib/aws/ext/netty/netty-buffer-4.1.97.Final.jar and b/server/lib/aws/ext/netty/netty-buffer-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-codec-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-codec-4.1.119.Final.jar
similarity index 72%
rename from server/lib/aws/ext/netty/netty-codec-4.1.97.Final.jar
rename to server/lib/aws/ext/netty/netty-codec-4.1.119.Final.jar
index b0988adfeb..fc85ca90f5 100644
Binary files a/server/lib/aws/ext/netty/netty-codec-4.1.97.Final.jar and b/server/lib/aws/ext/netty/netty-codec-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-codec-http-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-codec-http-4.1.119.Final.jar
similarity index 55%
rename from server/lib/aws/ext/netty/netty-codec-http-4.1.97.Final.jar
rename to server/lib/aws/ext/netty/netty-codec-http-4.1.119.Final.jar
index 17163dc11f..0275c9c211 100644
Binary files a/server/lib/aws/ext/netty/netty-codec-http-4.1.97.Final.jar and b/server/lib/aws/ext/netty/netty-codec-http-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-codec-http2-4.1.119.Final.jar b/server/lib/aws/ext/netty/netty-codec-http2-4.1.119.Final.jar
new file mode 100644
index 0000000000..0f9a0d6b88
Binary files /dev/null and b/server/lib/aws/ext/netty/netty-codec-http2-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-codec-http2-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-codec-http2-4.1.97.Final.jar
deleted file mode 100644
index 2ae5f6edbf..0000000000
Binary files a/server/lib/aws/ext/netty/netty-codec-http2-4.1.97.Final.jar and /dev/null differ
diff --git a/server/lib/aws/ext/netty/netty-common-4.1.119.Final.jar b/server/lib/aws/ext/netty/netty-common-4.1.119.Final.jar
new file mode 100644
index 0000000000..c3fffb3940
Binary files /dev/null and b/server/lib/aws/ext/netty/netty-common-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-common-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-common-4.1.97.Final.jar
deleted file mode 100644
index b35e108bf2..0000000000
Binary files a/server/lib/aws/ext/netty/netty-common-4.1.97.Final.jar and /dev/null differ
diff --git a/server/lib/aws/ext/netty/netty-handler-4.1.119.Final.jar b/server/lib/aws/ext/netty/netty-handler-4.1.119.Final.jar
new file mode 100644
index 0000000000..fc2700f36d
Binary files /dev/null and b/server/lib/aws/ext/netty/netty-handler-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-handler-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-handler-4.1.97.Final.jar
deleted file mode 100644
index 222edb11b8..0000000000
Binary files a/server/lib/aws/ext/netty/netty-handler-4.1.97.Final.jar and /dev/null differ
diff --git a/server/lib/aws/ext/netty/netty-resolver-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-resolver-4.1.119.Final.jar
similarity index 79%
rename from server/lib/aws/ext/netty/netty-resolver-4.1.97.Final.jar
rename to server/lib/aws/ext/netty/netty-resolver-4.1.119.Final.jar
index 301c04e6fd..ebaee0e2b9 100644
Binary files a/server/lib/aws/ext/netty/netty-resolver-4.1.97.Final.jar and b/server/lib/aws/ext/netty/netty-resolver-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-transport-4.1.119.Final.jar b/server/lib/aws/ext/netty/netty-transport-4.1.119.Final.jar
new file mode 100644
index 0000000000..49779c9502
Binary files /dev/null and b/server/lib/aws/ext/netty/netty-transport-4.1.119.Final.jar differ
diff --git a/server/lib/aws/ext/netty/netty-transport-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-transport-4.1.97.Final.jar
deleted file mode 100644
index bf0a5a7c46..0000000000
Binary files a/server/lib/aws/ext/netty/netty-transport-4.1.97.Final.jar and /dev/null differ
diff --git a/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.119.Final-linux-x86_64.jar b/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.119.Final-linux-x86_64.jar
new file mode 100644
index 0000000000..11ee9f24f7
Binary files /dev/null and b/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.119.Final-linux-x86_64.jar differ
diff --git a/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar b/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar
deleted file mode 100644
index 0a600b60f1..0000000000
Binary files a/server/lib/aws/ext/netty/netty-transport-native-epoll-4.1.97.Final-linux-x86_64.jar and /dev/null differ
diff --git a/server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.97.Final.jar b/server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.119.Final.jar
similarity index 72%
rename from server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.97.Final.jar
rename to server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.119.Final.jar
index 7347eb1e00..844f5047bd 100644
Binary files a/server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.97.Final.jar and b/server/lib/aws/ext/netty/netty-transport-native-unix-common-4.1.119.Final.jar differ
diff --git a/server/lib/classgraph-4.8.179.jar b/server/lib/classgraph-4.8.179.jar
new file mode 100644
index 0000000000..b8d3c14c3b
Binary files /dev/null and b/server/lib/classgraph-4.8.179.jar differ
diff --git a/server/lib/classgraph-4.8.53.jar b/server/lib/classgraph-4.8.53.jar
deleted file mode 100644
index 4c390e2719..0000000000
Binary files a/server/lib/classgraph-4.8.53.jar and /dev/null differ
diff --git a/server/lib/commons/commons-email-1.3.1.jar b/server/lib/commons/commons-email-1.3.1.jar
deleted file mode 100644
index d717dc4158..0000000000
Binary files a/server/lib/commons/commons-email-1.3.1.jar and /dev/null differ
diff --git a/server/lib/commons/commons-email-1.6.0.jar b/server/lib/commons/commons-email-1.6.0.jar
new file mode 100644
index 0000000000..c520d58430
Binary files /dev/null and b/server/lib/commons/commons-email-1.6.0.jar differ
diff --git a/server/lib/commons/commons-net-3.3.jar b/server/lib/commons/commons-net-3.3.jar
deleted file mode 100644
index f4f19a902a..0000000000
Binary files a/server/lib/commons/commons-net-3.3.jar and /dev/null differ
diff --git a/server/lib/commons/commons-net-3.9.0.jar b/server/lib/commons/commons-net-3.9.0.jar
new file mode 100644
index 0000000000..e64cd8aa86
Binary files /dev/null and b/server/lib/commons/commons-net-3.9.0.jar differ
diff --git a/server/lib/commons/commons-vfs2-2.10.0.jar b/server/lib/commons/commons-vfs2-2.10.0.jar
new file mode 100644
index 0000000000..cf5182ed13
Binary files /dev/null and b/server/lib/commons/commons-vfs2-2.10.0.jar differ
diff --git a/server/lib/commons/commons-vfs2-2.9.0.jar b/server/lib/commons/commons-vfs2-2.9.0.jar
deleted file mode 100644
index 5e047d54b1..0000000000
Binary files a/server/lib/commons/commons-vfs2-2.9.0.jar and /dev/null differ
diff --git a/server/lib/database/mysql-connector-j-8.2.0.jar b/server/lib/database/mysql-connector-j-8.2.0.jar
deleted file mode 100644
index 96fae380c2..0000000000
Binary files a/server/lib/database/mysql-connector-j-8.2.0.jar and /dev/null differ
diff --git a/server/lib/database/mysql-connector-j-8.4.0.jar b/server/lib/database/mysql-connector-j-8.4.0.jar
new file mode 100644
index 0000000000..8294fe0b40
Binary files /dev/null and b/server/lib/database/mysql-connector-j-8.4.0.jar differ
diff --git a/server/lib/jetty/jetty-annotations-9.4.53.v20231009.jar b/server/lib/jetty/jetty-annotations-9.4.57.v20241219.jar
similarity index 78%
rename from server/lib/jetty/jetty-annotations-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-annotations-9.4.57.v20241219.jar
index bd8d78e43d..b9810d6787 100644
Binary files a/server/lib/jetty/jetty-annotations-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-annotations-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-continuation-9.4.53.v20231009.jar b/server/lib/jetty/jetty-continuation-9.4.57.v20241219.jar
similarity index 75%
rename from server/lib/jetty/jetty-continuation-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-continuation-9.4.57.v20241219.jar
index 0f98c6795a..69b33290b9 100644
Binary files a/server/lib/jetty/jetty-continuation-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-continuation-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-http-9.4.53.v20231009.jar b/server/lib/jetty/jetty-http-9.4.57.v20241219.jar
similarity index 72%
rename from server/lib/jetty/jetty-http-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-http-9.4.57.v20241219.jar
index 3cc40d9b32..58106c5e1a 100644
Binary files a/server/lib/jetty/jetty-http-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-http-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-io-9.4.53.v20231009.jar b/server/lib/jetty/jetty-io-9.4.57.v20241219.jar
similarity index 77%
rename from server/lib/jetty/jetty-io-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-io-9.4.57.v20241219.jar
index 20d9436dc8..bfcd6dd13b 100644
Binary files a/server/lib/jetty/jetty-io-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-io-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-jndi-9.4.53.v20231009.jar b/server/lib/jetty/jetty-jndi-9.4.57.v20241219.jar
similarity index 78%
rename from server/lib/jetty/jetty-jndi-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-jndi-9.4.57.v20241219.jar
index 3dffa0ee69..8f590c64b0 100644
Binary files a/server/lib/jetty/jetty-jndi-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-jndi-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-plus-9.4.53.v20231009.jar b/server/lib/jetty/jetty-plus-9.4.57.v20241219.jar
similarity index 78%
rename from server/lib/jetty/jetty-plus-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-plus-9.4.57.v20241219.jar
index 7cde2203e0..2d5b1114d1 100644
Binary files a/server/lib/jetty/jetty-plus-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-plus-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-rewrite-9.4.53.v20231009.jar b/server/lib/jetty/jetty-rewrite-9.4.57.v20241219.jar
similarity index 70%
rename from server/lib/jetty/jetty-rewrite-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-rewrite-9.4.57.v20241219.jar
index a16a2199d4..c4f7eeefa9 100644
Binary files a/server/lib/jetty/jetty-rewrite-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-rewrite-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-security-9.4.53.v20231009.jar b/server/lib/jetty/jetty-security-9.4.57.v20241219.jar
similarity index 73%
rename from server/lib/jetty/jetty-security-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-security-9.4.57.v20241219.jar
index 8788727e0b..425717e637 100644
Binary files a/server/lib/jetty/jetty-security-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-security-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-server-9.4.53.v20231009.jar b/server/lib/jetty/jetty-server-9.4.57.v20241219.jar
similarity index 77%
rename from server/lib/jetty/jetty-server-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-server-9.4.57.v20241219.jar
index ad98c80386..b06058476e 100644
Binary files a/server/lib/jetty/jetty-server-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-server-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-servlet-9.4.53.v20231009.jar b/server/lib/jetty/jetty-servlet-9.4.57.v20241219.jar
similarity index 77%
rename from server/lib/jetty/jetty-servlet-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-servlet-9.4.57.v20241219.jar
index ae94f171e4..d80c631158 100644
Binary files a/server/lib/jetty/jetty-servlet-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-servlet-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-util-9.4.53.v20231009.jar b/server/lib/jetty/jetty-util-9.4.57.v20241219.jar
similarity index 74%
rename from server/lib/jetty/jetty-util-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-util-9.4.57.v20241219.jar
index 1cebfa06a4..caeda5de3e 100644
Binary files a/server/lib/jetty/jetty-util-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-util-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-util-ajax-9.4.53.v20231009.jar b/server/lib/jetty/jetty-util-ajax-9.4.57.v20241219.jar
similarity index 75%
rename from server/lib/jetty/jetty-util-ajax-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-util-ajax-9.4.57.v20241219.jar
index 6075002315..1c064c3001 100644
Binary files a/server/lib/jetty/jetty-util-ajax-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-util-ajax-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-webapp-9.4.53.v20231009.jar b/server/lib/jetty/jetty-webapp-9.4.57.v20241219.jar
similarity index 80%
rename from server/lib/jetty/jetty-webapp-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-webapp-9.4.57.v20241219.jar
index dcf50d7177..eed14c494b 100644
Binary files a/server/lib/jetty/jetty-webapp-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-webapp-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jetty-xml-9.4.53.v20231009.jar b/server/lib/jetty/jetty-xml-9.4.57.v20241219.jar
similarity index 73%
rename from server/lib/jetty/jetty-xml-9.4.53.v20231009.jar
rename to server/lib/jetty/jetty-xml-9.4.57.v20241219.jar
index 34dcbafa64..0df6472e71 100644
Binary files a/server/lib/jetty/jetty-xml-9.4.53.v20231009.jar and b/server/lib/jetty/jetty-xml-9.4.57.v20241219.jar differ
diff --git a/server/lib/jetty/jsp/apache-jsp-9.4.53.v20231009.jar b/server/lib/jetty/jsp/apache-jsp-9.4.53.v20231009.jar
deleted file mode 100644
index 62056a8557..0000000000
Binary files a/server/lib/jetty/jsp/apache-jsp-9.4.53.v20231009.jar and /dev/null differ
diff --git a/server/lib/jetty/jsp/apache-jsp-9.4.57.v20241219-sources.jar b/server/lib/jetty/jsp/apache-jsp-9.4.57.v20241219-sources.jar
new file mode 100644
index 0000000000..f64957721e
Binary files /dev/null and b/server/lib/jetty/jsp/apache-jsp-9.4.57.v20241219-sources.jar differ
diff --git a/server/test/com/mirth/commons/encryption/test/KeyEncryptorTest.java b/server/test/com/mirth/commons/encryption/test/KeyEncryptorTest.java
index bf8dae9089..a2d0f12763 100644
--- a/server/test/com/mirth/commons/encryption/test/KeyEncryptorTest.java
+++ b/server/test/com/mirth/commons/encryption/test/KeyEncryptorTest.java
@@ -644,9 +644,9 @@ private void testMalformedInput(EncryptionSettings encryptionSettings, Object me
// Incorrect algorithm
try {
- String wrongAlgorithm = "AES/GCM/NoPadding";
+ String wrongAlgorithm = "FOO/BAR/BAZ";
if (wrongAlgorithm.equals(encryptionSettings.getEncryptionAlgorithm())) {
- wrongAlgorithm = "AES/CBC/PKCS5Padding";
+ wrongAlgorithm = "FOO/BAR/BAZ";
}
decryptMalformedInput(encryptor, "{alg=" + wrongAlgorithm + ",cs=UTF-8,iv=" + correctIV + "}", encrypted);
fail("Should have thrown an exception");
diff --git a/server/test/com/mirth/connect/connectors/dimse/DICOMDispatcherTest.java b/server/test/com/mirth/connect/connectors/dimse/DICOMDispatcherTest.java
index 19500c1add..1869f38c06 100644
--- a/server/test/com/mirth/connect/connectors/dimse/DICOMDispatcherTest.java
+++ b/server/test/com/mirth/connect/connectors/dimse/DICOMDispatcherTest.java
@@ -100,7 +100,7 @@ public void testResponseData() throws DonkeyElementException {
Response response = dispatcher.send(props, message);
String responseData = response.getMessage();
- String expectedResponseString = "\n" + "0\n" + "\n" + "";
+ String expectedResponseString = "0";
DonkeyElement dicom = new DonkeyElement(expectedResponseString);
assertEquals(dicom.toXml(), responseData);
}
diff --git a/server/test/com/mirth/connect/connectors/tcp/TcpDispatcherTest.java b/server/test/com/mirth/connect/connectors/tcp/TcpDispatcherTest.java
index 1d733b1243..ae37500313 100644
--- a/server/test/com/mirth/connect/connectors/tcp/TcpDispatcherTest.java
+++ b/server/test/com/mirth/connect/connectors/tcp/TcpDispatcherTest.java
@@ -5,6 +5,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Calendar;
@@ -95,7 +96,7 @@ public void tearDown() throws Exception {
dispatcher.stop();
log("Undeploying TCP Dispatcher...");
dispatcher.onUndeploy();
- Thread.sleep(1000);
+ Thread.sleep(3000);
}
}
@@ -122,7 +123,7 @@ private void setupDispatcher(TcpDispatcherProperties props) throws Exception {
Thread.sleep(1000);
}
- private TcpDispatcherProperties createTcpDispatcherProperties() {
+ private TcpDispatcherProperties createTcpDispatcherProperties() throws IOException {
TcpDispatcherProperties dispatcherProps = new TcpDispatcherProperties();
dispatcherProps.getTransmissionModeProperties().setPluginPointName("Basic");
FrameModeProperties frameProps = new FrameModeProperties();
@@ -682,7 +683,7 @@ private static void log(Object message) {
private static void logError(String message) {
if (PRINT_DEBUG_MESSAGES) {
- logError(message);
+ System.out.println(message);
}
}
diff --git a/server/test/com/mirth/connect/server/DatabaseConnectionPoolTests.java b/server/test/com/mirth/connect/server/DatabaseConnectionPoolTests.java
index e1ceffbf22..9c2a60fc19 100644
--- a/server/test/com/mirth/connect/server/DatabaseConnectionPoolTests.java
+++ b/server/test/com/mirth/connect/server/DatabaseConnectionPoolTests.java
@@ -22,7 +22,7 @@
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import java.sql.Connection;
@@ -447,7 +447,7 @@ private void assertReadOnly() {
verify(donkey, times(0)).getDaoFactory();
verify(sqlConfig, times(0)).getSqlSessionManager();
if (connection != null) {
- verifyZeroInteractions(connection);
+ verifyNoInteractions(connection);
}
int count = 0;
@@ -469,7 +469,7 @@ private void assertWriteOnly() {
verify(donkey, times(0)).getReadOnlyDaoFactory();
verify(sqlConfig, times(0)).getReadOnlySqlSessionManager();
if (readOnlyConnection != null) {
- verifyZeroInteractions(readOnlyConnection);
+ verifyNoInteractions(readOnlyConnection);
}
int count = 0;
diff --git a/server/test/com/mirth/connect/server/attachments/MirthAttachmentHandlerProviderTest.java b/server/test/com/mirth/connect/server/attachments/MirthAttachmentHandlerProviderTest.java
index e5d98c5ec5..c1bd710494 100644
--- a/server/test/com/mirth/connect/server/attachments/MirthAttachmentHandlerProviderTest.java
+++ b/server/test/com/mirth/connect/server/attachments/MirthAttachmentHandlerProviderTest.java
@@ -14,7 +14,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import java.util.Collections;
@@ -94,7 +94,7 @@ public void testReAttachMessage2() throws Exception {
String result = new String(attachmentHandlerProvider.reAttachMessage(encoded, connectorMessage, CHARSET, false, false), CHARSET);
- verifyZeroInteractions(messageController);
+ verifyNoInteractions(messageController);
String expected = new StringBuilder("test1${ATTACH:").append(channelId1).append(':').append(messageId1).append(':').append(attachment1.getId()).append("}test2").toString();
@@ -152,7 +152,7 @@ public void testReAttachMessage5() throws Exception {
String result = new String(attachmentHandlerProvider.reAttachMessage(encoded, connectorMessage, CHARSET, false, false), CHARSET);
- verifyZeroInteractions(messageController);
+ verifyNoInteractions(messageController);
String expected = encoded;
@@ -210,7 +210,7 @@ public void testReAttachMessage8() throws Exception {
String result = new String(attachmentHandlerProvider.reAttachMessage(encoded, connectorMessage, CHARSET, false, true), CHARSET);
- verifyZeroInteractions(messageController);
+ verifyNoInteractions(messageController);
String expected = encoded;
@@ -229,7 +229,7 @@ public void testReAttachMessage9() throws Exception {
String result = new String(attachmentHandlerProvider.reAttachMessage(encoded, connectorMessage, CHARSET, false, true), CHARSET);
- verifyZeroInteractions(messageController);
+ verifyNoInteractions(messageController);
String expected = encoded;
diff --git a/server/test/com/mirth/connect/server/controllers/ServerConfigurationRestorerTest.java b/server/test/com/mirth/connect/server/controllers/ServerConfigurationRestorerTest.java
index d7fdf8b37b..2449524f5b 100644
--- a/server/test/com/mirth/connect/server/controllers/ServerConfigurationRestorerTest.java
+++ b/server/test/com/mirth/connect/server/controllers/ServerConfigurationRestorerTest.java
@@ -275,7 +275,7 @@ public void testUndeployChannels() throws Exception {
verify(restorer.getEngineController(), times(1)).undeployChannels(channelIds, ServerEventContext.SYSTEM_USER_EVENT_CONTEXT, null);
EngineController engineController = restorer.getEngineController();
- doThrow(ControllerException.class).when(engineController).undeployChannels(any(), any(), any());
+ doThrow(new RuntimeException(new ControllerException("exception"))).when(engineController).undeployChannels(any(), any(), any());
MultiException multiException = new MultiException();
restorer.undeployChannels(multiException);
assertEquals(1, multiException.size());
@@ -717,7 +717,7 @@ public void testRestorePluginProperties1() throws Exception {
}
assertEquals(0, multiException.size());
- doThrow(ControllerException.class).when(restorer).restorePluginProperties(anyString(), any(), any());
+ doThrow(new RuntimeException(new ControllerException("exception"))).when(restorer).restorePluginProperties(anyString(), any(), any());
restorer.restorePluginProperties(config, multiException);
assertEquals(2, multiException.size());
}
@@ -800,7 +800,7 @@ public void testRestoreChannelDependencies() throws Exception {
verify(restorer.getConfigurationController(), times(1)).setChannelDependencies(config.getChannelDependencies());
ConfigurationController configurationController = restorer.getConfigurationController();
- doThrow(ControllerException.class).when(configurationController).setChannelDependencies(any());
+ doThrow(new RuntimeException(new ControllerException("exception"))).when(configurationController).setChannelDependencies(any());
restorer.restoreChannelDependencies(config, multiException);
assertEquals(1, multiException.size());
}
@@ -820,7 +820,7 @@ public void testRestoreChannelTags() throws Exception {
verify(restorer.getConfigurationController(), times(1)).setChannelTags(config.getChannelTags());
ConfigurationController configurationController = restorer.getConfigurationController();
- doThrow(ControllerException.class).when(configurationController).setChannelTags(any());
+ doThrow(new RuntimeException(new ControllerException("exception"))).when(configurationController).setChannelTags(any());
restorer.restoreChannelTags(config, multiException);
assertEquals(1, multiException.size());
}
@@ -863,7 +863,7 @@ public void testDeployAllChannels() throws Exception {
verify(restorer.getEngineController(), times(1)).deployChannels(eq(channelIds), eq(ServerEventContext.SYSTEM_USER_EVENT_CONTEXT), isNull(), any());
EngineController engineController = restorer.getEngineController();
- doThrow(ControllerException.class).when(engineController).deployChannels(any(), any(), any(), any());
+ doThrow(new RuntimeException(new ControllerException("exception"))).when(engineController).deployChannels(any(), any(), any(), any());
restorer.deployAllChannels(deploy, multiException);
assertEquals(1, multiException.size());
}
diff --git a/server/test/com/mirth/connect/server/servlets/WebStartServletTest.java b/server/test/com/mirth/connect/server/servlets/WebStartServletTest.java
index a73cf81dd9..be3c9b31eb 100644
--- a/server/test/com/mirth/connect/server/servlets/WebStartServletTest.java
+++ b/server/test/com/mirth/connect/server/servlets/WebStartServletTest.java
@@ -54,7 +54,7 @@ public void testDoGetCore() throws Exception {
webStartServlet.doGet(request, response);
- assertEquals(CORE_JNLP.trim(), response.getResponseString().trim());
+ assertEquals(normalizeWhitespace(CORE_JNLP), normalizeWhitespace(response.getResponseString()));
assertEquals("application/x-java-jnlp-file", response.getContentType());
assertEquals("no-cache", response.getHeader("Pragma"));
assertEquals("nosniff", response.getHeader("X-Content-Type-Options"));
@@ -70,7 +70,7 @@ public void testDoGetCore() throws Exception {
webStartServlet.doGet(request, response);
- assertEquals(CORE_JNLP.trim(), response.getResponseString().trim());
+ assertEquals(normalizeWhitespace(CORE_JNLP), normalizeWhitespace(response.getResponseString()));
assertEquals("application/x-java-jnlp-file", response.getContentType());
assertEquals("no-cache", response.getHeader("Pragma"));
assertEquals("nosniff", response.getHeader("X-Content-Type-Options"));
@@ -100,7 +100,7 @@ public String answer(InvocationOnMock invocation) throws Throwable {
webStartServlet.doGet(request, response);
- assertEquals(CORE_JNLP.trim(), response.getResponseString().trim());
+ assertEquals(normalizeWhitespace(CORE_JNLP), normalizeWhitespace(response.getResponseString()));
assertEquals("application/x-java-jnlp-file", response.getContentType());
assertEquals("attachment; filename = \"webstart.jnlp\"", response.getHeader("Content-Disposition"));
}
@@ -216,7 +216,7 @@ public void testDoGetExtension() throws Exception {
webStartServlet.doGet(request, response);
- assertEquals(EXTENSION_JNLP.trim(), response.getResponseString().trim());
+ assertEquals(normalizeWhitespace(EXTENSION_JNLP), normalizeWhitespace(response.getResponseString()));
assertEquals("application/x-java-jnlp-file", response.getContentType());
assertEquals("no-cache", response.getHeader("Pragma"));
assertEquals("nosniff", response.getHeader("X-Content-Type-Options"));
@@ -233,7 +233,7 @@ public void testDoGetExtension() throws Exception {
webStartServlet.doGet(request, response);
- assertEquals(EXTENSION_JNLP.trim(), response.getResponseString().trim());
+ assertEquals(normalizeWhitespace(EXTENSION_JNLP), normalizeWhitespace(response.getResponseString()));
assertEquals("application/x-java-jnlp-file", response.getContentType());
assertEquals("no-cache", response.getHeader("Pragma"));
assertEquals("nosniff", response.getHeader("X-Content-Type-Options"));
@@ -536,6 +536,12 @@ private static DocumentBuilderFactory getSecureDocumentBuilderFactory() throws E
return dbf;
}
+ private static String normalizeWhitespace(String input) {
+ // normalize whitespace (including new lines) to a single space
+ // (the round-trip munges newlines depending on OS and on the phase of the moon)
+ return input.trim().replaceAll("[\\s\\r\\n ]+", " ");
+ }
+
private static String CORE_JNLP = "\n"
+ " \n" + " Mirth Connect Administrator 4.5.2\n"
+ " NextGen Healthcare\n" + " \n"
diff --git a/server/test/com/mirth/connect/userutil/HashUtilTest.java b/server/test/com/mirth/connect/userutil/HashUtilTest.java
index 89d73a9c29..a4a09e2a59 100644
--- a/server/test/com/mirth/connect/userutil/HashUtilTest.java
+++ b/server/test/com/mirth/connect/userutil/HashUtilTest.java
@@ -61,11 +61,9 @@ public void generateHashForByteAndAlgo() throws Exception {
@Test
public void generateHashBadAlgo() throws Exception {
-
String data = "testdata";
thrown.expect(NoSuchAlgorithmException.class);
- HashUtil.generate(data.getBytes(), "SHA256");
-
+ HashUtil.generate(data.getBytes(), "BAD-ALGO");
}
@Test
@@ -81,11 +79,10 @@ public void generateHashForEncodeStringAndAlgo() throws Exception {
@Test
public void generateHashForEncodeStringAndBadAlgo() throws Exception {
-
String data = "testdata";
String encoding = "UTF-8";
thrown.expect(NoSuchAlgorithmException.class);
- HashUtil.generate(data, encoding, "SHA256");
+ HashUtil.generate(data, encoding, "BAD-ALGO");
}
@Test
diff --git a/server/testlib/byte-buddy-1.14.13.jar b/server/testlib/byte-buddy-1.14.13.jar
new file mode 100644
index 0000000000..791db5e61f
Binary files /dev/null and b/server/testlib/byte-buddy-1.14.13.jar differ
diff --git a/server/testlib/byte-buddy-1.8.8.jar b/server/testlib/byte-buddy-1.8.8.jar
deleted file mode 100644
index 7b964f6055..0000000000
Binary files a/server/testlib/byte-buddy-1.8.8.jar and /dev/null differ
diff --git a/server/testlib/byte-buddy-agent-1.14.13.jar b/server/testlib/byte-buddy-agent-1.14.13.jar
new file mode 100644
index 0000000000..3223ba8933
Binary files /dev/null and b/server/testlib/byte-buddy-agent-1.14.13.jar differ
diff --git a/server/testlib/byte-buddy-agent-1.8.8.jar b/server/testlib/byte-buddy-agent-1.8.8.jar
deleted file mode 100644
index 1d32e2ef73..0000000000
Binary files a/server/testlib/byte-buddy-agent-1.8.8.jar and /dev/null differ
diff --git a/server/testlib/hamcrest-2.2.jar b/server/testlib/hamcrest-2.2.jar
new file mode 100644
index 0000000000..71065788d5
Binary files /dev/null and b/server/testlib/hamcrest-2.2.jar differ
diff --git a/server/testlib/junit-4.13.1.jar b/server/testlib/junit-4.13.1.jar
new file mode 100644
index 0000000000..b376ffc16f
Binary files /dev/null and b/server/testlib/junit-4.13.1.jar differ
diff --git a/server/testlib/junit-4.8.1.jar b/server/testlib/junit-4.8.1.jar
deleted file mode 100644
index 524cd65ce5..0000000000
Binary files a/server/testlib/junit-4.8.1.jar and /dev/null differ
diff --git a/server/testlib/mockito-core-2.7.9.jar b/server/testlib/mockito-core-2.7.9.jar
deleted file mode 100644
index 926872f2ae..0000000000
Binary files a/server/testlib/mockito-core-2.7.9.jar and /dev/null differ
diff --git a/server/testlib/mockito-core-5.1.1.jar b/server/testlib/mockito-core-5.1.1.jar
new file mode 100644
index 0000000000..234bea1474
Binary files /dev/null and b/server/testlib/mockito-core-5.1.1.jar differ
diff --git a/server/testlib/mockito-inline-5.1.1.jar b/server/testlib/mockito-inline-5.1.1.jar
new file mode 100644
index 0000000000..33dd71b507
Binary files /dev/null and b/server/testlib/mockito-inline-5.1.1.jar differ