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 8b51487a ListPageElement fix for invertSelection
8b51487a is described below
commit 8b51487a551657f76b30fb5a1f08d5a0f0adf45a
Author: Rainer Döbele <[email protected]>
AuthorDate: Tue Sep 24 13:09:14 2024 +0200
ListPageElement fix for invertSelection
---
.../empire/jakarta/pageelements/ListPageElement.java | 18 ++++++++++++++++++
.../empire/jsf2/pageelements/ListPageElement.java | 18 ++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pageelements/ListPageElement.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pageelements/ListPageElement.java
index 87be3059..8e1e50d9 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pageelements/ListPageElement.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pageelements/ListPageElement.java
@@ -19,6 +19,7 @@
package org.apache.empire.jakarta.pageelements;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -95,11 +96,28 @@ public abstract class ListPageElement<T> extends PageElement
@Override
public boolean add(Object[] e)
{
+ if (!singleSelection && isInvertSelection())
+ { // invert
+ if (this.contains(e))
+ put(e);
+ return true;
+ }
+ // normal
if (singleSelection)
return false;
return super.add(e);
}
+ public void put(Object[] key)
+ {
+ fastAdd(key);
+ }
+
+ public void putAll(Collection<Object[]> list)
+ {
+ addAll(list);
+ }
+
@Override
public boolean remove(Object o)
{
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/ListPageElement.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/ListPageElement.java
index 76ee7f89..3a2ea310 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/ListPageElement.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pageelements/ListPageElement.java
@@ -19,6 +19,7 @@
package org.apache.empire.jsf2.pageelements;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -95,11 +96,28 @@ public abstract class ListPageElement<T> extends PageElement
@Override
public boolean add(Object[] e)
{
+ if (!singleSelection && isInvertSelection())
+ { // invert
+ if (this.contains(e))
+ put(e);
+ return true;
+ }
+ // normal
if (singleSelection)
return false;
return super.add(e);
}
+ public void put(Object[] key)
+ {
+ fastAdd(key);
+ }
+
+ public void putAll(Collection<Object[]> list)
+ {
+ addAll(list);
+ }
+
@Override
public boolean remove(Object o)
{