CompositeCandidateSteps.java
- package org.jbehave.core.steps;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import org.jbehave.core.annotations.ScenarioType;
- import org.jbehave.core.configuration.Configuration;
- import org.jbehave.core.io.ResourceLoader;
- import org.jbehave.core.model.Composite;
- import org.jbehave.core.parsers.CompositeParser;
- public class CompositeCandidateSteps extends AbstractCandidateSteps {
- private final Set<String> compositePaths;
- public CompositeCandidateSteps(Configuration configuration, Set<String> compositePaths) {
- super(configuration);
- this.compositePaths = compositePaths;
- }
- @Override
- public List<StepCandidate> listCandidates() {
- CompositeParser parser = configuration().compositeParser();
- ResourceLoader resourceLoader = configuration().storyLoader();
- List<StepCandidate> candidates = new ArrayList<>();
- for (String compositePath : compositePaths) {
- List<Composite> composites = parser.parseComposites(resourceLoader.loadResourceAsText(compositePath));
- addCandidatesFromComposites(candidates, composites);
- }
- return candidates;
- }
- private void addCandidatesFromComposites(List<StepCandidate> candidates, List<Composite> composites) {
- for (Composite composite : composites) {
- String[] steps = composite.getSteps().toArray(new String[0]);
- addCandidatesFromVariants(candidates, null, composite.getStepType(),
- composite.getStepWithoutStartingWord(), composite.getPriority(), null, null, steps);
- }
- }
- @Override
- public List<BeforeOrAfterStep> listBeforeStories() {
- return Collections.emptyList();
- }
- @Override
- public List<BeforeOrAfterStep> listAfterStories() {
- return Collections.emptyList();
- }
- @Override
- public List<BeforeOrAfterStep> listBeforeStory(boolean givenStory) {
- return Collections.emptyList();
- }
- @Override
- public List<BeforeOrAfterStep> listAfterStory(boolean givenStory) {
- return Collections.emptyList();
- }
- @Override
- public Map<ScenarioType, List<BeforeOrAfterStep>> listBeforeScenario() {
- return Collections.emptyMap();
- }
- @Override
- public Map<ScenarioType, List<BeforeOrAfterStep>> listAfterScenario() {
- return Collections.emptyMap();
- }
- }