This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new affcba5a EMPIREDB-431 SelectInputControl: fix for Enums which 
implement EnumValue
affcba5a is described below

commit affcba5ae3066766153119119225069b2cba8ad8
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Nov 7 16:56:04 2024 +0100

    EMPIREDB-431
    SelectInputControl: fix for Enums which implement EnumValue
---
 .../org/apache/empire/jakarta/controls/RadioInputControl.java    | 4 ++--
 .../org/apache/empire/jakarta/controls/SelectInputControl.java   | 9 ++++-----
 .../java/org/apache/empire/jsf2/controls/RadioInputControl.java  | 4 ++--
 .../java/org/apache/empire/jsf2/controls/SelectInputControl.java | 9 ++++-----
 4 files changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
index 7cfa0d4d..b153f3c1 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
@@ -311,7 +311,7 @@ public class RadioInputControl extends InputControl
     {
         // the enum Value
         if (value instanceof Enum<?>)
-            return ((Enum<?>) value).name();
+            return ObjectUtils.getString(value);
         // the value
         return value;
     }
@@ -322,7 +322,7 @@ public class RadioInputControl extends InputControl
         Class<Enum<?>> enumType = ii.getColumn().getEnumType();
         if (enumType!=null)
         {   // convert to enum
-            return ObjectUtils.getEnumByName(enumType, value);
+            return ObjectUtils.getEnum(enumType, value);
         }
         return value;
     }
diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
index af925718..f97e05d6 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
@@ -421,9 +421,8 @@ public class SelectInputControl extends InputControl
         {   // Check whether it's an Enum
             Class<Enum<?>> enumType = ii.getColumn().getEnumType();
             if (enumType!=null) 
-            {   // Convert ordinal to name
-                Enum<?> enumVal = ObjectUtils.getEnum(enumType, value);
-                value = enumVal.name();
+            {   // Convert ordinal to enum
+                value = ObjectUtils.getEnum(enumType, value);
             } 
         }
         // the value
@@ -434,7 +433,7 @@ public class SelectInputControl extends InputControl
     {
         // the enum Value
         if ((value instanceof Enum<?>) && !targetClass.isEnum())
-            return ((Enum<?>) value).name();
+            return ObjectUtils.getString(value);
         // the value
         return value;
     }
@@ -445,7 +444,7 @@ public class SelectInputControl extends InputControl
         Class<Enum<?>> enumType = ii.getColumn().getEnumType();
         if (enumType!=null)
         {   // convert to enum
-            return ObjectUtils.getEnumByName(enumType, value);
+            return ObjectUtils.getEnum(enumType, value);
         }
         return value;
     }
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
index ff045d8c..fb6c6702 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
@@ -311,7 +311,7 @@ public class RadioInputControl extends InputControl
     {
         // the enum Value
         if (value instanceof Enum<?>)
-            return ((Enum<?>) value).name();
+            return ObjectUtils.getString(value);
         // the value
         return value;
     }
@@ -322,7 +322,7 @@ public class RadioInputControl extends InputControl
         Class<Enum<?>> enumType = ii.getColumn().getEnumType();
         if (enumType!=null)
         {   // convert to enum
-            return ObjectUtils.getEnumByName(enumType, value);
+            return ObjectUtils.getEnum(enumType, value);
         }
         return value;
     }
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
index ab04e73b..92c9964a 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
@@ -421,9 +421,8 @@ public class SelectInputControl extends InputControl
         {   // Check whether it's an Enum
             Class<Enum<?>> enumType = ii.getColumn().getEnumType();
             if (enumType!=null) 
-            {   // Convert ordinal to name
-                Enum<?> enumVal = ObjectUtils.getEnum(enumType, value);
-                value = enumVal.name();
+            {   // Convert ordinal to enum
+                value = ObjectUtils.getEnum(enumType, value);
             } 
         }
         // the value
@@ -434,7 +433,7 @@ public class SelectInputControl extends InputControl
     {
         // the enum Value
         if ((value instanceof Enum<?>) && !targetClass.isEnum())
-            return ((Enum<?>) value).name();
+            return ObjectUtils.getString(value);
         // the value
         return value;
     }
@@ -445,7 +444,7 @@ public class SelectInputControl extends InputControl
         Class<Enum<?>> enumType = ii.getColumn().getEnumType();
         if (enumType!=null)
         {   // convert to enum
-            return ObjectUtils.getEnumByName(enumType, value);
+            return ObjectUtils.getEnum(enumType, value);
         }
         return value;
     }

Reply via email to