diff --git a/java/src/main/java/io/cucumber/junitxmlformatter/Query.java b/java/src/main/java/io/cucumber/junitxmlformatter/Query.java index c1c9840..3e009c7 100644 --- a/java/src/main/java/io/cucumber/junitxmlformatter/Query.java +++ b/java/src/main/java/io/cucumber/junitxmlformatter/Query.java @@ -43,6 +43,12 @@ /** * Given one Cucumber Message, find another. *

+ * This class is effectively a simple in memory database. It can be updated in + * real time through the {@link #update(Envelope)} method. Queries can be made + * while the test run is incomplete - and this will of-course return incomplete + * results. + *

+ * It is safe to query and update concurrently. * * @see Cucumber Messages - Message Overview */ @@ -61,6 +67,7 @@ class Query { private TestRunFinished testRunFinished; public List findAllTestCaseStarted() { + // Concurrency return new ArrayList<>(testCaseStarted); } @@ -160,6 +167,7 @@ public List findTestStepsFinishedBy(TestCaseStarted testCaseSt requireNonNull(testCaseStarted); List testStepsFinished = testStepsFinishedByTestCaseStartedId. getOrDefault(testCaseStarted.getId(), emptyList()); + // Concurrency return new ArrayList<>(testStepsFinished); }