aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/ResourceManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/ResourceManager.java')
-rw-r--r--src/main/java/io/trygvis/esper/testing/ResourceManager.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/ResourceManager.java b/src/main/java/io/trygvis/esper/testing/ResourceManager.java
new file mode 100644
index 0000000..e9a0068
--- /dev/null
+++ b/src/main/java/io/trygvis/esper/testing/ResourceManager.java
@@ -0,0 +1,31 @@
+package io.trygvis.esper.testing;
+
+import fj.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+public class ResourceManager<K, V> {
+ private final Equal<K> equal;
+ private final Callable<List<K>> discoverer;
+ private Map<K, V> map = Collections.emptyMap();
+
+ public ResourceManager(Equal<K> equal, ScheduledExecutorService executorService, int delay, Callable<List<K>> discoverer) {
+ this.equal = equal;
+ this.discoverer = discoverer;
+
+ executorService.scheduleWithFixedDelay(new Runnable() {
+ public void run() {
+ work();
+ }
+ }, delay, delay, TimeUnit.MILLISECONDS);
+ }
+
+ private void work() {
+ try {
+ List<K> keys = discoverer.call();
+ } catch (Exception e) {
+ return;
+ }
+ }
+}