You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2020/07/09 08:59:33 UTC
[myfaces-tobago] 09/09: Tobago-1999: SelectItemIterator iterates
only once
This is an automated email from the ASF dual-hosted git repository.
weber pushed a commit to branch TOBAGO-1999_Select2
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
commit 7e404c8c80dee74a3a72dff4908c2297b9d54f71
Author: Volker Weber <v....@inexso.de>
AuthorDate: Tue Apr 28 14:22:41 2020 +0200
Tobago-1999: SelectItemIterator iterates only once
---
.../tobago/internal/util/UISelect2ComponentUtil.java | 20 +++++---------------
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/UISelect2ComponentUtil.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/UISelect2ComponentUtil.java
index 758e05a..de43bd7 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/UISelect2ComponentUtil.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/UISelect2ComponentUtil.java
@@ -140,8 +140,10 @@ public class UISelect2ComponentUtil {
return items;
}
Converter converter = component.getConverter();
+ List<javax.faces.model.SelectItem> itemsToRender = new ArrayList<javax.faces.model.SelectItem>();
Map<String, javax.faces.model.SelectItem> optionValues = new HashMap<String, javax.faces.model.SelectItem>();
for (javax.faces.model.SelectItem item : items) {
+ itemsToRender.add(item);
if (converter != null) {
optionValues.put(converter.getAsString(facesContext, component, item.getValue()), item);
} else {
@@ -149,24 +151,12 @@ public class UISelect2ComponentUtil {
}
}
-
- List<javax.faces.model.SelectItem> itemsToRender = new ArrayList<javax.faces.model.SelectItem>();
for (String submittedValue : submittedValues) {
- if (optionValues.keySet().contains(submittedValue)) {
- optionValues.remove(submittedValue);
- } else {
+ if (!optionValues.keySet().contains(submittedValue)) {
itemsToRender.add(new SubmittedItem(submittedValue));
}
}
- if (itemsToRender.isEmpty()) {
- return items;
- } else {
- for (javax.faces.model.SelectItem item : items) {
- if (optionValues.values().contains(item)) {
- itemsToRender.add(item);
- }
- }
- return itemsToRender;
- }
+
+ return itemsToRender;
}
}