aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-web/src/test/java/tools
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/language-web/src/test/java/tools')
-rw-r--r--subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java18
-rw-r--r--subprojects/language-web/src/test/java/tools/refinery/language/web/tests/AwaitTerminationExecutorServiceProvider.java9
-rw-r--r--subprojects/language-web/src/test/java/tools/refinery/language/web/tests/RestartableCachedThreadPool.java31
-rw-r--r--subprojects/language-web/src/test/java/tools/refinery/language/web/tests/WebSocketIntegrationTestClient.java10
4 files changed, 33 insertions, 35 deletions
diff --git a/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java b/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java
index 652fc13b..6dfce780 100644
--- a/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java
+++ b/subprojects/language-web/src/test/java/tools/refinery/language/web/ProblemWebSocketServletIntegrationTest.java
@@ -1,17 +1,17 @@
1package tools.refinery.language.web; 1package tools.refinery.language.web;
2 2
3import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
4import org.eclipse.jetty.ee10.servlet.ServletHolder;
5import org.eclipse.jetty.ee10.websocket.api.Session;
6import org.eclipse.jetty.ee10.websocket.api.StatusCode;
7import org.eclipse.jetty.ee10.websocket.api.annotations.WebSocket;
8import org.eclipse.jetty.ee10.websocket.api.exceptions.UpgradeException;
9import org.eclipse.jetty.ee10.websocket.client.ClientUpgradeRequest;
10import org.eclipse.jetty.ee10.websocket.client.WebSocketClient;
11import org.eclipse.jetty.ee10.websocket.server.config.JettyWebSocketServletContainerInitializer;
3import org.eclipse.jetty.http.HttpHeader; 12import org.eclipse.jetty.http.HttpHeader;
4import org.eclipse.jetty.http.HttpStatus; 13import org.eclipse.jetty.http.HttpStatus;
5import org.eclipse.jetty.server.Server; 14import org.eclipse.jetty.server.Server;
6import org.eclipse.jetty.servlet.ServletContextHandler;
7import org.eclipse.jetty.servlet.ServletHolder;
8import org.eclipse.jetty.websocket.api.Session;
9import org.eclipse.jetty.websocket.api.StatusCode;
10import org.eclipse.jetty.websocket.api.annotations.WebSocket;
11import org.eclipse.jetty.websocket.api.exceptions.UpgradeException;
12import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
13import org.eclipse.jetty.websocket.client.WebSocketClient;
14import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
15import org.eclipse.xtext.testing.GlobalRegistries; 15import org.eclipse.xtext.testing.GlobalRegistries;
16import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento; 16import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
17import org.junit.jupiter.api.AfterEach; 17import org.junit.jupiter.api.AfterEach;
diff --git a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/AwaitTerminationExecutorServiceProvider.java b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/AwaitTerminationExecutorServiceProvider.java
index b70d0ed5..ebf36f13 100644
--- a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/AwaitTerminationExecutorServiceProvider.java
+++ b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/AwaitTerminationExecutorServiceProvider.java
@@ -1,16 +1,15 @@
1package tools.refinery.language.web.tests; 1package tools.refinery.language.web.tests;
2 2
3import com.google.inject.Singleton;
4import org.eclipse.xtext.ide.ExecutorServiceProvider;
5
3import java.util.ArrayList; 6import java.util.ArrayList;
4import java.util.List; 7import java.util.List;
5import java.util.concurrent.ExecutorService; 8import java.util.concurrent.ExecutorService;
6 9
7import org.eclipse.xtext.ide.ExecutorServiceProvider;
8
9import com.google.inject.Singleton;
10
11@Singleton 10@Singleton
12public class AwaitTerminationExecutorServiceProvider extends ExecutorServiceProvider { 11public class AwaitTerminationExecutorServiceProvider extends ExecutorServiceProvider {
13 private List<RestartableCachedThreadPool> servicesToShutDown = new ArrayList<>(); 12 private final List<RestartableCachedThreadPool> servicesToShutDown = new ArrayList<>();
14 13
15 @Override 14 @Override
16 protected ExecutorService createInstance(String key) { 15 protected ExecutorService createInstance(String key) {
diff --git a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/RestartableCachedThreadPool.java b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/RestartableCachedThreadPool.java
index 1468273d..8e5038ae 100644
--- a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/RestartableCachedThreadPool.java
+++ b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/RestartableCachedThreadPool.java
@@ -1,45 +1,44 @@
1package tools.refinery.language.web.tests; 1package tools.refinery.language.web.tests;
2 2
3import java.util.Collection;
4import java.util.List;
5import java.util.concurrent.Callable;
6import java.util.concurrent.ExecutionException;
7import java.util.concurrent.ExecutorService;
8import java.util.concurrent.Executors;
9import java.util.concurrent.Future;
10import java.util.concurrent.TimeUnit;
11import java.util.concurrent.TimeoutException;
12
13import org.slf4j.Logger; 3import org.slf4j.Logger;
14import org.slf4j.LoggerFactory; 4import org.slf4j.LoggerFactory;
15 5
6import java.util.Collection;
7import java.util.List;
8import java.util.concurrent.*;
9
10@SuppressWarnings("NullableProblems")
16public class RestartableCachedThreadPool implements ExecutorService { 11public class RestartableCachedThreadPool implements ExecutorService {
17 private static final Logger LOG = LoggerFactory.getLogger(RestartableCachedThreadPool.class); 12 private static final Logger LOG = LoggerFactory.getLogger(RestartableCachedThreadPool.class);
18 13
19 private ExecutorService delegate; 14 private ExecutorService delegate;
20 15
21 public RestartableCachedThreadPool() { 16 public RestartableCachedThreadPool() {
22 delegate = createExecutorService(); 17 delegate = createExecutorService();
23 } 18 }
24 19
25 public void waitForAllTasksToFinish() { 20 public void waitForAllTasksToFinish() {
26 delegate.shutdown(); 21 delegate.shutdown();
27 waitForTermination(); 22 waitForTermination();
28 delegate = createExecutorService(); 23 delegate = createExecutorService();
29 } 24 }
30 25
31 public void waitForTermination() { 26 public void waitForTermination() {
27 boolean result = false;
32 try { 28 try {
33 delegate.awaitTermination(1, TimeUnit.SECONDS); 29 result = delegate.awaitTermination(1, TimeUnit.SECONDS);
34 } catch (InterruptedException e) { 30 } catch (InterruptedException e) {
35 LOG.warn("Interrupted while waiting for delegate executor to stop", e); 31 LOG.warn("Interrupted while waiting for delegate executor to stop", e);
36 } 32 }
33 if (!result) {
34 throw new IllegalStateException("Failed to shut down Xtext thread pool");
35 }
37 } 36 }
38 37
39 protected ExecutorService createExecutorService() { 38 protected ExecutorService createExecutorService() {
40 return Executors.newCachedThreadPool(); 39 return Executors.newCachedThreadPool();
41 } 40 }
42 41
43 @Override 42 @Override
44 public boolean awaitTermination(long arg0, TimeUnit arg1) throws InterruptedException { 43 public boolean awaitTermination(long arg0, TimeUnit arg1) throws InterruptedException {
45 return delegate.awaitTermination(arg0, arg1); 44 return delegate.awaitTermination(arg0, arg1);
diff --git a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/WebSocketIntegrationTestClient.java b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/WebSocketIntegrationTestClient.java
index 74695c9a..f19c10ca 100644
--- a/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/WebSocketIntegrationTestClient.java
+++ b/subprojects/language-web/src/test/java/tools/refinery/language/web/tests/WebSocketIntegrationTestClient.java
@@ -1,10 +1,10 @@
1package tools.refinery.language.web.tests; 1package tools.refinery.language.web.tests;
2 2
3import org.eclipse.jetty.websocket.api.Session; 3import org.eclipse.jetty.ee10.websocket.api.Session;
4import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; 4import org.eclipse.jetty.ee10.websocket.api.annotations.OnWebSocketClose;
5import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; 5import org.eclipse.jetty.ee10.websocket.api.annotations.OnWebSocketConnect;
6import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError; 6import org.eclipse.jetty.ee10.websocket.api.annotations.OnWebSocketError;
7import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; 7import org.eclipse.jetty.ee10.websocket.api.annotations.OnWebSocketMessage;
8 8
9import java.io.IOException; 9import java.io.IOException;
10import java.time.Duration; 10import java.time.Duration;