From e408cbeecd43542d7f9af2f68e483fcd2092b3b0 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 25 Sep 2009 10:57:40 +0000 Subject: [PATCH] moved converter initialization code to constructor --- .../support/DefaultConversionService.java | 6 --- .../support/GenericConversionService.java | 39 ++++++++----------- 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/DefaultConversionService.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/DefaultConversionService.java index 8b3c3208498..0af53dd94bd 100644 --- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/DefaultConversionService.java +++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/DefaultConversionService.java @@ -31,12 +31,6 @@ public class DefaultConversionService extends GenericConversionService { * Create a new default conversion service, installing the default converters. */ public DefaultConversionService() { - initDefaultConverters(); - } - - // subclassing hooks - - protected void initDefaultConverters() { addConverter(new StringToBooleanConverter()); addConverter(new StringToCharacterConverter()); addConverter(new StringToLocaleConverter()); diff --git a/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java b/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java index d90a458cec4..b06dd9a1969 100644 --- a/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java +++ b/org.springframework.core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java @@ -63,10 +63,26 @@ public class GenericConversionService implements ConversionService, ConverterReg } }; + public GenericConversionService() { - initGenericConverters(); + addGenericConverter(Object[].class, Object[].class, new ArrayToArrayGenericConverter(this)); + addGenericConverter(Object[].class, Collection.class, new ArrayToCollectionGenericConverter(this)); + addGenericConverter(Object[].class, Map.class, new ArrayToMapGenericConverter(this)); + addGenericConverter(Object[].class, Object.class, new ArrayToObjectGenericConverter(this)); + addGenericConverter(Collection.class, Collection.class, new CollectionToCollectionGenericConverter(this)); + addGenericConverter(Collection.class, Object[].class, new CollectionToArrayGenericConverter(this)); + addGenericConverter(Collection.class, Map.class, new CollectionToMapGenericConverter(this)); + addGenericConverter(Collection.class, Object.class, new CollectionToObjectGenericConverter(this)); + addGenericConverter(Map.class, Map.class, new MapToMapGenericConverter(this)); + addGenericConverter(Map.class, Object[].class, new MapToArrayGenericConverter(this)); + addGenericConverter(Map.class, Collection.class, new MapToCollectionGenericConverter(this)); + addGenericConverter(Map.class, Object.class, new MapToObjectGenericConverter(this)); + addGenericConverter(Object.class, Object[].class, new ObjectToArrayGenericConverter(this)); + addGenericConverter(Object.class, Collection.class, new ObjectToCollectionGenericConverter(this)); + addGenericConverter(Object.class, Map.class, new ObjectToMapGenericConverter(this)); } + /** * Registers the converters in the set provided. * JavaBean-friendly alternative to calling {@link #addConverter(Converter)}. @@ -175,27 +191,6 @@ public class GenericConversionService implements ConversionService, ConverterReg // subclassing hooks - /** - * Hook to initialize the "generic" converters that require the full TypeDescriptor context to perform their conversion operations. - */ - protected void initGenericConverters() { - addGenericConverter(Object[].class, Object[].class, new ArrayToArrayGenericConverter(this)); - addGenericConverter(Object[].class, Collection.class, new ArrayToCollectionGenericConverter(this)); - addGenericConverter(Object[].class, Map.class, new ArrayToMapGenericConverter(this)); - addGenericConverter(Object[].class, Object.class, new ArrayToObjectGenericConverter(this)); - addGenericConverter(Collection.class, Collection.class, new CollectionToCollectionGenericConverter(this)); - addGenericConverter(Collection.class, Object[].class, new CollectionToArrayGenericConverter(this)); - addGenericConverter(Collection.class, Map.class, new CollectionToMapGenericConverter(this)); - addGenericConverter(Collection.class, Object.class, new CollectionToObjectGenericConverter(this)); - addGenericConverter(Map.class, Map.class, new MapToMapGenericConverter(this)); - addGenericConverter(Map.class, Object[].class, new MapToArrayGenericConverter(this)); - addGenericConverter(Map.class, Collection.class, new MapToCollectionGenericConverter(this)); - addGenericConverter(Map.class, Object.class, new MapToObjectGenericConverter(this)); - addGenericConverter(Object.class, Object[].class, new ObjectToArrayGenericConverter(this)); - addGenericConverter(Object.class, Collection.class, new ObjectToCollectionGenericConverter(this)); - addGenericConverter(Object.class, Map.class, new ObjectToMapGenericConverter(this)); - } - /** * Registers a GenericConverter. * @param sourceType the source type to convert from