package org.jbehave.examples.core.weld; import static org.jbehave.core.reporters.Format.CONSOLE; import static org.jbehave.core.reporters.Format.HTML; import static org.jbehave.core.reporters.Format.TXT; import static org.jbehave.core.reporters.Format.XML; import java.text.SimpleDateFormat; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.inject.Produces; import org.jbehave.core.annotations.weld.WeldConfiguration; import org.jbehave.core.configuration.Configuration; import org.jbehave.core.configuration.MostUsefulConfiguration; import org.jbehave.core.embedder.StoryControls; import org.jbehave.core.io.LoadFromClasspath; import org.jbehave.core.model.TableTransformers; import org.jbehave.core.parsers.RegexPrefixCapturingPatternParser; import org.jbehave.core.reporters.StoryReporterBuilder; import org.jbehave.core.steps.ParameterConverters; import org.jbehave.core.steps.ParameterConverters.DateConverter; @ApplicationScoped public class ConfigurationProducer { public ConfigurationProducer() {} @Produces @WeldConfiguration public Configuration getConfiguration() { TableTransformers tableTransformers = new TableTransformers(); return new MostUsefulConfiguration() .useStoryControls(new StoryControls() .doDryRun(false) .doSkipScenariosAfterFailure(false)) .useStepPatternParser(new RegexPrefixCapturingPatternParser("%")) .useStoryLoader(new LoadFromClasspath(getClass().getClassLoader())) .useStoryReporterBuilder(new StoryReporterBuilder() .withDefaultFormats() .withFormats(CONSOLE, HTML, TXT, XML)) .useParameterConverters(new ParameterConverters(tableTransformers) .addConverters(new DateConverter(new SimpleDateFormat("yyyy-MM-dd")))) .useTableTransformers(tableTransformers); } }