You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/11/20 23:35:46 UTC

svn commit: r882747 - in /myfaces/core/trunk/api/src: main/java/javax/faces/convert/EnumConverter.java test/java/javax/faces/convert/EnumConverterTest.java

Author: lu4242
Date: Fri Nov 20 22:35:44 2009
New Revision: 882747

URL: http://svn.apache.org/viewvc?rev=882747&view=rev
Log:
MYFACES-2415 EnumConverter should only conver to String valid enum values

Modified:
    myfaces/core/trunk/api/src/main/java/javax/faces/convert/EnumConverter.java
    myfaces/core/trunk/api/src/test/java/javax/faces/convert/EnumConverterTest.java

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/convert/EnumConverter.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/convert/EnumConverter.java?rev=882747&r1=882746&r2=882747&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/convert/EnumConverter.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/convert/EnumConverter.java Fri Nov 20 22:35:44 2009
@@ -74,8 +74,11 @@
             if (enumConstant == value)
                 return enumConstant.toString();
         }
+        
+        Object[] params =
+            new Object[] { value, firstConstantOfEnum(), _MessageUtils.getLabel(facesContext, uiComponent) };
 
-        return value.toString();
+        throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, ENUM_ID, params));
     }
 
     public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String value)

Modified: myfaces/core/trunk/api/src/test/java/javax/faces/convert/EnumConverterTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/test/java/javax/faces/convert/EnumConverterTest.java?rev=882747&r1=882746&r2=882747&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/test/java/javax/faces/convert/EnumConverterTest.java (original)
+++ myfaces/core/trunk/api/src/test/java/javax/faces/convert/EnumConverterTest.java Fri Nov 20 22:35:44 2009
@@ -146,8 +146,15 @@
     public void testGetAsStringNoEnum()
     {
         UIInput input = new UIInput();
-        String convertedStr = converter.getAsString(FacesContext.getCurrentInstance(), input, "HALLO");
-        assertEquals(convertedStr, "HALLO");
+        try
+        {
+            String convertedStr = converter.getAsString(FacesContext.getCurrentInstance(), input, "HALLO");
+            fail("Converter exception should be thrown");
+        }
+        catch (ConverterException e)
+        {
+            // should be thrown
+        }
     }
 
     /**