private final ExecutorService threadPool = ThreadPoolManager.getPool(getClass().getSimpleName());
- /** holds the local instance of the MapDB database */
+ /**
+ * holds the local instance of the MapDB database
+ */
private @NonNullByDefault({}) DB db;
private @NonNullByDefault({}) Map<String, String> map;
mItem.setName(localAlias);
mItem.setState(state);
mItem.setTimestamp(new Date());
- String json = serialize(mItem);
- map.put(localAlias, json);
- commit();
- if (logger.isDebugEnabled()) {
+ threadPool.submit(() -> {
+ String json = serialize(mItem);
+ map.put(localAlias, json);
+ db.commit();
logger.debug("Stored '{}' with state '{}' as '{}' in MapDB database", localAlias, state, json);
- }
+ });
}
@Override
return Optional.of(item);
}
- private void commit() {
- threadPool.submit(() -> db.commit());
- }
-
private static <T> Stream<T> streamOptional(Optional<T> opt) {
return opt.isPresent() ? Stream.of(opt.get()) : Stream.empty();
}
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.stream.Stream;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
private static void removeDirRecursive(final String dir) throws IOException {
final Path path = Paths.get(dir);
if (Files.exists(path)) {
- Files.walk(path).map(Path::toFile).sorted().forEach(File::delete);
+ try (Stream<Path> stream = Files.walk(path)) {
+ stream.map(Path::toFile).sorted().forEach(File::delete);
+ }
}
}
persistenceService.store(item);
- assertThat(persistenceService.getItemInfo(), hasItem(hasProperty("name", equalTo(name))));
+ waitForAssert(() -> assertThat(persistenceService.getItemInfo(), hasItem(hasProperty("name", equalTo(name)))));
persistenceService.store(item, alias);
- assertThat(persistenceService.getItemInfo(),
- hasItems(hasProperty("name", equalTo(name)), hasProperty("name", equalTo(alias))));
+ waitForAssert(() -> assertThat(persistenceService.getItemInfo(),
+ hasItems(hasProperty("name", equalTo(name)), hasProperty("name", equalTo(alias)))));
}
@Test
persistenceService.store(item);
- assertThat(persistenceService.query(filter),
- contains(allOf(hasProperty("name", equalTo(name)), hasProperty("state", equalTo(state)))));
+ waitForAssert(() -> assertThat(persistenceService.query(filter),
+ contains(allOf(hasProperty("name", equalTo(name)), hasProperty("state", equalTo(state))))));
}
@Test
persistenceService.store(item, alias);
assertThat(persistenceService.query(filterByName), is(emptyIterable()));
- assertThat(persistenceService.query(filterByAlias),
- contains(allOf(hasProperty("name", equalTo(alias)), hasProperty("state", equalTo(state)))));
+ waitForAssert(() -> assertThat(persistenceService.query(filterByAlias),
+ contains(allOf(hasProperty("name", equalTo(alias)), hasProperty("state", equalTo(state))))));
}
}