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)
         {

Reply via email to