Revision: 925
          http://stripes.svn.sourceforge.net/stripes/?rev=925&view=rev
Author:   bengunter
Date:     2008-05-22 12:14:21 -0700 (Thu, 22 May 2008)

Log Message:
-----------
Fixed STS-572. DefaultTypeConverterFactory now supports custom Enumeration type 
converters.

Modified Paths:
--------------
    
trunk/stripes/src/net/sourceforge/stripes/validation/DefaultTypeConverterFactory.java

Modified: 
trunk/stripes/src/net/sourceforge/stripes/validation/DefaultTypeConverterFactory.java
===================================================================
--- 
trunk/stripes/src/net/sourceforge/stripes/validation/DefaultTypeConverterFactory.java
       2008-05-22 14:24:42 UTC (rev 924)
+++ 
trunk/stripes/src/net/sourceforge/stripes/validation/DefaultTypeConverterFactory.java
       2008-05-22 19:14:21 UTC (rev 925)
@@ -17,6 +17,7 @@
 import net.sourceforge.stripes.config.Configuration;
 import net.sourceforge.stripes.util.Log;
 
+import java.util.Enumeration;
 import java.util.Map;
 import java.util.Date;
 import java.util.Locale;
@@ -69,6 +70,7 @@
         converters.put(Date.class,    DateTypeConverter.class);
         converters.put(BigInteger.class, BigIntegerTypeConverter.class);
         converters.put(BigDecimal.class, BigDecimalTypeConverter.class);
+        converters.put(Enumeration.class, EnumeratedTypeConverter.class);
 
         // Now some less useful, but still helpful converters
         converters.put(String.class, StringTypeConverter.class);
@@ -144,8 +146,13 @@
             return converters.get(targetClass);
         else if (classCache.containsKey(targetClass))
             return classCache.get(targetClass);
-        else if (targetClass.isEnum())
-            return cacheTypeConverterClass(targetClass, 
EnumeratedTypeConverter.class);
+        else if (targetClass.isEnum()) {
+            Class<? extends TypeConverter<?>> converterClass = 
findTypeConverterClass(Enumeration.class);
+            if (converterClass == null)
+                return null;
+            else
+                return cacheTypeConverterClass(targetClass, converterClass);
+        }
         else {
             for (Annotation annotation : targetClass.getAnnotations()) {
                 Class<? extends Annotation> annotationType = 
annotation.annotationType();


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to