Fix Java 17 compilation and test issues (#12353)

* Adds --add-opens to the surefire-maven-plugin config required for deserialization using Gson/XStream
* Upgrades plugin dependencies to JDK 17 compatible versions
* Replaces some reflection that no longer works on JDK 17
* Fixes issues when mocking Random
* Run Nashorn dependant tests only on JDK < 15

Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
Wouter Born
2022-02-23 16:13:56 +01:00
committed by GitHub
parent 223c9f929b
commit c028deefbe
9 changed files with 62 additions and 39 deletions

View File

@@ -53,7 +53,6 @@ public final class CreateBridgeServlet extends AbstractRedirectionServlet {
private static final String DEFAULT_LOCALE = "en";
private static final long ONLINE_WAIT_TIMEOUT_IN_MILLISECONDS = 5000;
private static final long DISCOVERY_COMPLETION_TIMEOUT_IN_MILLISECONDS = 5000;
private static final long CHECK_INTERVAL_IN_MILLISECONDS = 100;
@@ -62,6 +61,8 @@ public final class CreateBridgeServlet extends AbstractRedirectionServlet {
private final Inbox inbox;
private final ThingRegistry thingRegistry;
private long onlineWaitTimeoutInMilliseconds = 5000;
/**
* Creates a new {@link CreateBridgeServlet}.
*
@@ -73,6 +74,10 @@ public final class CreateBridgeServlet extends AbstractRedirectionServlet {
this.thingRegistry = thingRegistry;
}
public void setOnlineWaitTimeoutInMilliseconds(long onlineWaitTimeoutInMilliseconds) {
this.onlineWaitTimeoutInMilliseconds = onlineWaitTimeoutInMilliseconds;
}
@Override
protected String getRedirectionDestination(HttpServletRequest request) {
String bridgeUidString = request.getParameter(BRIDGE_UID_PARAMETER_NAME);
@@ -175,7 +180,7 @@ public final class CreateBridgeServlet extends AbstractRedirectionServlet {
private void waitForBridgeToComeOnline(Thing bridge) {
try {
waitForConditionWithTimeout(() -> bridge.getStatus() == ThingStatus.ONLINE,
ONLINE_WAIT_TIMEOUT_IN_MILLISECONDS);
onlineWaitTimeoutInMilliseconds);
waitForConditionWithTimeout(new DiscoveryResultCountDoesNotChangeCondition(),
DISCOVERY_COMPLETION_TIMEOUT_IN_MILLISECONDS);
} catch (InterruptedException e) {