@@ -339,11 +339,9 @@ scenario's language. For example, localized features about summer solstice may p
339339package com.example.app ;
340340
341341import io.cucumber.java.Before ;
342- import io.cucumber.java.DefaultParameterTransformer ;
343342import io.cucumber.java.ParameterType ;
344343import io.cucumber.java.Scenario ;
345344
346- import java.lang.reflect.Type ;
347345import java.time.LocalDate ;
348346import java.time.format.DateTimeFormatter ;
349347import java.util.Locale ;
@@ -359,16 +357,6 @@ public class TransformerDefinitions {
359357 formatter = DateTimeFormatter . ofPattern(" dd MMMM yyyy" ). withLocale(locale);
360358 }
361359
362- @DefaultParameterTransformer
363- public Object transform (final String value , final Type type )
364- throws Exception {
365- if (LocalDate . class. equals(type)) {
366- return LocalDate . parse(value. toString(), formatter);
367- } else {
368- throw new UnsupportedOperationException (" Can't transform '" + value + " ' to " + type);
369- }
370- }
371-
372360 @ParameterType (name = " date" , value = " \\ d{1,2} \\ w+ \\ d{4}" )
373361 public LocalDate parseLocalDate (String value ) {
374362 return LocalDate . parse(value, formatter);
@@ -377,6 +365,21 @@ public class TransformerDefinitions {
377365}
378366```
379367
368+ Similar, the example ` ObjectMapper ` of the [ aforementioned default transformers] ( #default-transformers ) can be localized
369+ before each scenario.
370+
371+ ``` java
372+ [... ]
373+ @Before
374+ public void updateObjectMapper(final Scenario scenario) {
375+ String language = scenario. getLanguage();
376+ Locale locale = new Locale .Builder (). setLanguage(language). build();
377+ objectMapper. setLocale(locale);
378+ }
379+ [... ]
380+ ```
381+
382+
380383### Empty Cells
381384
382385Data tables in Gherkin cannot represent null or an empty string unambiguously. Cucumber will interpret empty cells as
0 commit comments