From a756a284cfd1193562c7de8ebd64cee990aabb9d Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Wed, 30 Jan 2008 19:07:31 +0000 Subject: [PATCH] SWF-370 - Adding a FacesConversionService to make configuration easier. This conversion service composes the DefaultConversionService and any JSF-specific converters. --- .../converter/FacesConversionService.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java diff --git a/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java b/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java new file mode 100644 index 00000000..ec985b44 --- /dev/null +++ b/spring-faces/src/main/java/org/springframework/faces/model/converter/FacesConversionService.java @@ -0,0 +1,39 @@ +package org.springframework.faces.model.converter; + +import org.springframework.binding.convert.ConversionService; +import org.springframework.binding.convert.support.CompositeConversionService; +import org.springframework.binding.convert.support.DefaultConversionService; +import org.springframework.binding.convert.support.GenericConversionService; + +/** + * Convenient {@link ConversionService} implementation for JSF that composes JSF-specific converters with the standard + * Web Flow converters. + * + * @author Jeremy Grelle + */ +public class FacesConversionService extends CompositeConversionService { + + private static ConversionService[] conversionServices = new ConversionService[] { new DefaultConversionService(), + new InternalFacesConversionService() }; + + public FacesConversionService() { + super(conversionServices); + } + + private static class InternalFacesConversionService extends GenericConversionService { + + /** + * Creates a new default conversion service, installing the default converters. + */ + public InternalFacesConversionService() { + addFacesConverters(); + } + + /** + * Add all default converters to the conversion service. + */ + protected void addFacesConverters() { + addConverter(new DataModelConverter()); + } + } +}