diff --git a/java/pom.xml b/java/pom.xml index 0e06093..ee8aab8 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -64,7 +64,7 @@ io.cucumber query - [14.0.1,15.0.0) + [14.7.1-SNAPSHOT,15.0.0) diff --git a/java/src/main/java/io/cucumber/jsonformatter/JsonReportWriter.java b/java/src/main/java/io/cucumber/jsonformatter/JsonReportWriter.java index 76ae6e6..200d249 100644 --- a/java/src/main/java/io/cucumber/jsonformatter/JsonReportWriter.java +++ b/java/src/main/java/io/cucumber/jsonformatter/JsonReportWriter.java @@ -34,8 +34,6 @@ import io.cucumber.messages.types.PickleTable; import io.cucumber.messages.types.PickleTableCell; import io.cucumber.messages.types.PickleTag; -import io.cucumber.messages.types.Rule; -import io.cucumber.messages.types.RuleChild; import io.cucumber.messages.types.Scenario; import io.cucumber.messages.types.SourceReference; import io.cucumber.messages.types.Step; @@ -71,7 +69,6 @@ import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collector; -import java.util.stream.Stream; import static io.cucumber.jsonformatter.IdNamingVisitor.formatId; import static java.nio.charset.StandardCharsets.UTF_8; @@ -247,7 +244,7 @@ private List createJvmElement(JvmElementData data) { // Ensure scenarios without steps are also included .orElseGet(Collections::emptyList); JvmElement testCase = createTestCase(data, scenarioTestStepsFinished); - + List elements = new ArrayList<>(2); background.ifPresent(elements::add); elements.add(testCase); @@ -255,9 +252,9 @@ private List createJvmElement(JvmElementData data) { } private Map, List> findStepsByBackGround(JvmElementData data) { - List backgrounds = data.lineage.feature() - .map(this::findBackgroundsBy) - .orElseGet(Collections::emptyList); + List backgrounds = new ArrayList<>(2); + data.lineage.background().ifPresent(backgrounds::add); + data.lineage.ruleBackground().ifPresent(backgrounds::add); Map, List> stepsByBackground = query .findTestStepFinishedAndTestStepBy(data.testCaseStarted) @@ -524,26 +521,6 @@ private String createLocation(TestStep step) { return groupingBy(grouping, LinkedHashMap::new, collectingAndThen(toList(), extractKey)); } - private List findBackgroundsBy(Feature feature) { - return feature.getChildren() - .stream() - .map(featureChild -> { - List backgrounds = new ArrayList<>(); - featureChild.getBackground().ifPresent(backgrounds::add); - featureChild.getRule() - .map(Rule::getChildren) - .map(Collection::stream) - .orElseGet(Stream::empty) - .map(RuleChild::getBackground) - .filter(Optional::isPresent) - .map(Optional::get) - .forEach(backgrounds::add); - return backgrounds; - }) - .flatMap(Collection::stream) - .collect(toList()); - } - private Optional findBackgroundBy(List backgrounds, PickleStep pickleStep) { return backgrounds.stream() .filter(background -> background.getSteps().stream()