You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2006/10/19 07:49:07 UTC

svn commit: r465502 - in /myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter: ./ enumeration/ enumeration/EnumConverter.java

Author: imario
Date: Wed Oct 18 22:49:06 2006
New Revision: 465502

URL: http://svn.apache.org/viewvc?view=rev&rev=465502
Log:
moved to a "public" package, adjusted conversion from ordinal to Enum as pointed out by Michael Matz

Added:
    myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/
    myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/
    myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java   (contents, props changed)
      - copied, changed from r465168, myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/dynaForm/jsfext/EnumConverter.java

Copied: myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java (from r465168, myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/dynaForm/jsfext/EnumConverter.java)
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java?view=diff&rev=465502&p1=myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/dynaForm/jsfext/EnumConverter.java&r1=465168&p2=myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java&r2=465502
==============================================================================
--- myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/dynaForm/jsfext/EnumConverter.java (original)
+++ myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java Wed Oct 18 22:49:06 2006
@@ -13,14 +13,15 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package org.apache.myfaces.custom.dynaForm.jsfext;
+package org.apache.myfaces.custom.converter.enumeration;
+
+import org.apache.myfaces.shared_tomahawk.util.ClassUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.ConverterException;
-import java.util.EnumSet;
 
 /**
  * converts an enum in a way that makes the conversion reversible (sometimes)
@@ -50,10 +51,10 @@
 
 		try
 		{
-			Enum e = ordinalToEnum(Class.forName(clazz), ordinal);
-			if (e != null)
+			Enum[] enums = (Enum[]) ClassUtils.classForName(clazz).getEnumConstants();
+			if (enums.length >= ordinal)
 			{
-				return e;
+				return enums[ordinal];
 			}
 		}
 		catch (ClassNotFoundException e1)
@@ -79,21 +80,5 @@
 		}
 
 		return e.toString();
-	}
-
-	@SuppressWarnings("unchecked")
-	protected Enum ordinalToEnum(Class type, int ordinal)
-	{
-		EnumSet es = EnumSet.allOf(type);
-        for (Object e1 : es)
-        {
-            Enum e = (Enum) e1;
-            if (e.ordinal() == ordinal)
-            {
-                return e;
-            }
-        }
-
-        return null;
 	}
 }

Propchange: myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: myfaces/tomahawk/trunk/sandbox15/core/src/main/java/org/apache/myfaces/custom/converter/enumeration/EnumConverter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain