package com.oreilly.springdata.roo.web; import org.springframework.core.convert.converter.Converter; import org.springframework.format.FormatterRegistry; import org.springframework.format.support.FormattingConversionServiceFactoryBean; import org.springframework.roo.addon.web.mvc.controller.converter.RooConversionService; import com.oreilly.springdata.roo.domain.EmailAddress; /** * A central place to register application converters and formatters. */ @RooConversionService public class ApplicationConversionServiceFactoryBean extends FormattingConversionServiceFactoryBean { @Override protected void installFormatters(FormatterRegistry registry) { super.installFormatters(registry); // Register application converters and formatters registry.addConverter(getStringToEmailAddressConverter()); registry.addConverter(getEmailAddressConverterToString()); } public Converter<String, EmailAddress> getStringToEmailAddressConverter() { return new Converter<String, EmailAddress>() { @Override public EmailAddress convert(String source) { EmailAddress emailAddress = new EmailAddress(); emailAddress.setAddress(source); return emailAddress; } }; } public Converter<EmailAddress, String> getEmailAddressConverterToString() { return new Converter<EmailAddress, String>() { @Override public String convert(EmailAddress source) { return source.getAddress(); } }; } }