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 bc365598 EMPIREDB-431 ObjectUtils: listToArray fix
bc365598 is described below
commit bc36559890f22e3df7084b145b0a98a7d1f1e337
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Dec 5 20:46:14 2024 +0100
EMPIREDB-431
ObjectUtils: listToArray fix
---
.../empire/jakarta/components/SelectTag.java | 38 ++++++++--------------
.../apache/empire/jsf2/components/SelectTag.java | 16 ++-------
.../org/apache/empire/commons/ObjectUtils.java | 2 +-
.../main/java/org/apache/empire/db/DBRowSet.java | 9 +++++
4 files changed, 27 insertions(+), 38 deletions(-)
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
index 726c1fd0..ca947745 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
@@ -22,16 +22,6 @@ import java.io.IOException;
import java.util.Locale;
import java.util.Map;
-import jakarta.el.ValueExpression;
-import jakarta.faces.component.NamingContainer;
-import jakarta.faces.component.UIInput;
-import jakarta.faces.component.UISelectOne;
-import jakarta.faces.component.html.HtmlSelectOneListbox;
-import jakarta.faces.component.html.HtmlSelectOneMenu;
-import jakarta.faces.component.visit.VisitCallback;
-import jakarta.faces.component.visit.VisitContext;
-import jakarta.faces.context.FacesContext;
-
import org.apache.empire.commons.ObjectUtils;
import org.apache.empire.commons.OptionEntry;
import org.apache.empire.commons.Options;
@@ -43,15 +33,24 @@ import org.apache.empire.jakarta.app.FacesUtils;
import org.apache.empire.jakarta.app.TextResolver;
import org.apache.empire.jakarta.controls.InputAttachedObjectsHandler;
import org.apache.empire.jakarta.controls.InputControl;
-import org.apache.empire.jakarta.controls.InputControlManager;
-import org.apache.empire.jakarta.controls.SelectInputControl;
import org.apache.empire.jakarta.controls.InputControl.DisabledType;
import org.apache.empire.jakarta.controls.InputControl.InputInfo;
+import org.apache.empire.jakarta.controls.InputControlManager;
+import org.apache.empire.jakarta.controls.SelectInputControl;
import org.apache.empire.jakarta.utils.TagEncodingHelper;
import org.apache.empire.jakarta.utils.TagStyleClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import jakarta.faces.component.NamingContainer;
+import jakarta.faces.component.UIInput;
+import jakarta.faces.component.UISelectOne;
+import jakarta.faces.component.html.HtmlSelectOneListbox;
+import jakarta.faces.component.html.HtmlSelectOneMenu;
+import jakarta.faces.component.visit.VisitCallback;
+import jakarta.faces.component.visit.VisitContext;
+import jakarta.faces.context.FacesContext;
+
public class SelectTag extends UIInput implements NamingContainer
{
// Logger
@@ -180,25 +179,16 @@ public class SelectTag extends UIInput implements
NamingContainer
@Override
public Object getAttribute(String name)
{
- return null;
+ Object value = SelectTag.this.getAttributes().get(name);
+ return value;
}
@Override
public Object getAttributeEx(String name)
{
- Object value = SelectTag.this.getAttributes().get(name);
- if (value==null)
- { // try value expression
- ValueExpression ve = SelectTag.this.getValueExpression(name);
- if (ve!=null)
- { // It's a value expression
- FacesContext ctx = FacesContext.getCurrentInstance();
- value = ve.getValue(ctx.getELContext());
- }
- }
+ Object value = getAttribute(name);
return value;
}
-
}
private SelectInputInfo selectInputInfo = new SelectInputInfo();
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
index 8bf76e7e..06331bb2 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
@@ -22,7 +22,6 @@ import java.io.IOException;
import java.util.Locale;
import java.util.Map;
-import javax.el.ValueExpression;
import javax.faces.component.NamingContainer;
import javax.faces.component.UIInput;
import javax.faces.component.UISelectOne;
@@ -180,25 +179,16 @@ public class SelectTag extends UIInput implements
NamingContainer
@Override
public Object getAttribute(String name)
{
- return null;
+ Object value = SelectTag.this.getAttributes().get(name);
+ return value;
}
@Override
public Object getAttributeEx(String name)
{
- Object value = SelectTag.this.getAttributes().get(name);
- if (value==null)
- { // try value expression
- ValueExpression ve = SelectTag.this.getValueExpression(name);
- if (ve!=null)
- { // It's a value expression
- FacesContext ctx = FacesContext.getCurrentInstance();
- value = ve.getValue(ctx.getELContext());
- }
- }
+ Object value = getAttribute(name);
return value;
}
-
}
private SelectInputInfo selectInputInfo = new SelectInputInfo();
diff --git a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
index 79f8187d..48eea049 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java
@@ -728,7 +728,7 @@ public final class ObjectUtils
* @return the array
*/
@SuppressWarnings("unchecked")
- public static <T> T[] listToArray(Class<? extends T[]> type, List<T> list)
+ public static <T> T[] listToArray(Class<? extends T[]> type, List<?
extends T> list)
{
if (list==null)
return null;
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
index 564c730c..b87cb26d 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
@@ -409,6 +409,15 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
return Collections.unmodifiableList(columns);
}
+ /**
+ * Gets all columns of this rowset as an array
+ * @return all columns of this rowset
+ */
+ public DBColumn[] getAllColumns()
+ {
+ return ObjectUtils.listToArray(DBColumn[].class, columns);
+ }
+
/**
* Gets the index of a particular column expression.
* @param column column the DBColumn to get the index for