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;
}