package net.thucydides.core.requirements.model; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import net.thucydides.core.ThucydidesSystemProperty; import net.thucydides.core.util.EnvironmentVariables; import org.apache.commons.lang3.StringUtils; import java.util.Iterator; import java.util.List; public class RequirementsConfiguration { public final static List<String> DEFAULT_CAPABILITY_TYPES = ImmutableList.of("capability", "feature"); protected static final String DEFAULT_ROOT_DIRECTORY = "stories"; private EnvironmentVariables environmentVariables; public RequirementsConfiguration(EnvironmentVariables environmentVariables) { this.environmentVariables = environmentVariables; } public List<String> getRequirementTypes() { String requirementTypes = ThucydidesSystemProperty.THUCYDIDES_REQUIREMENT_TYPES.from(environmentVariables); if (StringUtils.isNotEmpty(requirementTypes)) { Iterator<String> types = Splitter.on(",").trimResults().split(requirementTypes).iterator(); return Lists.newArrayList(types); } else { return DEFAULT_CAPABILITY_TYPES; } } public String getDefaultRootDirectory() { if (ThucydidesSystemProperty.THUCYDIDES_ANNOTATED_REQUIREMENTS_DIR.isDefinedIn(environmentVariables)) { return ThucydidesSystemProperty.THUCYDIDES_ANNOTATED_REQUIREMENTS_DIR.from(environmentVariables); } return DEFAULT_ROOT_DIRECTORY; } }