commit bc23d586fd693415004e1ab567bb54feb8e8116d Author: Mauro Talevi <mauro.tal...@aquilonia.org> AuthorDate: Tue Apr 24 21:38:36 2012 +0200 Commit: Mauro Talevi <mauro.tal...@aquilonia.org> CommitDate: Tue Apr 24 21:38:36 2012 +0200
JBEHAVE-718: Updated docs. diff --git a/distribution/src/site/content/tabular-parameters.html b/distribution/src/site/content/tabular-parameters.html index 2571908..b9f1a23 100755 --- a/distribution/src/site/content/tabular-parameters.html +++ b/distribution/src/site/content/tabular-parameters.html @@ -175,8 +175,48 @@ can specify an optional parsing property:</p> !-- Another commented row --! !value m1!value m2! .... !value mn! </pre> +</p> + +<h2>Using table transformers</h2> +<p> +Table transformers allow the table to be transformed via an inlined property. E.g. to transform from a landscape table form we can to use the pre-registered transformer: +<pre class="brush: plain"> +{transformer=FROM_LANDSCAPE} +|header 1|value 11| ... | value m1| +... +|header n|value 1n| .... !value mn! +</pre> +Or one can define our own custom transformer +<pre class="brush: plain"> +{transformer=FROM_MY_FORMAT} +... +</pre> +In this case the custom transformer needs to be registered by name with the <a + href="javadoc/core/org/jbehave/core/model/TableTransformers.html">TableTransformers</a> via the <a + href="javadoc/core/org/jbehave/core/model/ExamplesTableFactory.html">ExamplesTableFactory</a>: </p> +<script type="syntaxhighlighter" class="brush: java"> +<![CDATA[ + TableTransformers tableTransformers = new TableTransformers(); + tableTransformers.useTransformer("FROM_MY_FORMAT", new TableTransformer(){ + + public String transform(String tableAsString, Properties properties) { + return ...; // transform as required + } + + }); + ExamplesTableFactory tableFactory = new ExamplesTableFactory(tableTransformers); +]]> +</script> +<p>The custom table factory then needs to be configured to used by the parameter converters and the story parser:</p> +<script type="syntaxhighlighter" class="brush: java"> +<![CDATA[ + new MostUsefulConfiguration() + .useParameterConverters(new ParameterConverters().addConverters(new ExamplesTableConverter(tableFactory))) + .useStoryParser(new RegexStoryParser(tableFactory)) +]]> +</script> <h2>Loading tabular parameter from an external resource</h2> diff --git a/jbehave-core/src/main/java/org/jbehave/core/model/ExamplesTable.java b/jbehave-core/src/main/java/org/jbehave/core/model/ExamplesTable.java index e660a1b..101271e 100755 --- a/jbehave-core/src/main/java/org/jbehave/core/model/ExamplesTable.java +++ b/jbehave-core/src/main/java/org/jbehave/core/model/ExamplesTable.java @@ -111,6 +111,7 @@ import static java.util.regex.Pattern.compile; * * The transformer needs to be registered by name via the * {@link TableTransformers#useTransformer(String, TableTransformer)}. + * A few transformers are already registered by default in {@link TableTransformers}. * </p> * * <p>