summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/data/util/BeanItemContainer.java
diff options
context:
space:
mode:
authorHenri Sara <henri.sara@itmill.com>2010-11-24 13:26:59 +0000
committerHenri Sara <henri.sara@itmill.com>2010-11-24 13:26:59 +0000
commit3f543a9585ec2f2f5622bb61b0474d2dac61806a (patch)
treea26dfa96c267548a81da230a5286a5e7f9bbe665 /src/com/vaadin/data/util/BeanItemContainer.java
parent1a8d370b2cf8a349e5b59112c92a149f67aaef3a (diff)
downloadvaadin-framework-3f543a9585ec2f2f5622bb61b0474d2dac61806a.tar.gz
vaadin-framework-3f543a9585ec2f2f5622bb61b0474d2dac61806a.zip
#6049 do not re-filter BeanItemContainer if removing non-existing filters
svn changeset:16128/svn branch:6.5
Diffstat (limited to 'src/com/vaadin/data/util/BeanItemContainer.java')
-rw-r--r--src/com/vaadin/data/util/BeanItemContainer.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/com/vaadin/data/util/BeanItemContainer.java b/src/com/vaadin/data/util/BeanItemContainer.java
index dcf7f0bf6f..abfb3bc9a9 100644
--- a/src/com/vaadin/data/util/BeanItemContainer.java
+++ b/src/com/vaadin/data/util/BeanItemContainer.java
@@ -786,18 +786,22 @@ public class BeanItemContainer<BT> implements Indexed, Sortable, Filterable,
*/
public void removeContainerFilters(Object propertyId) {
if (!filters.isEmpty()) {
+ boolean filteringChanged = false;
for (Iterator<Filter> iterator = filters.iterator(); iterator
.hasNext();) {
Filter f = iterator.next();
if (f.propertyId.equals(propertyId)) {
iterator.remove();
+ filteringChanged = true;
}
}
- // stop listening to change events for the property
- for (BeanItem<BT> item : beanToItem.values()) {
- removeValueChangeListener(item, propertyId);
+ if (filteringChanged) {
+ // stop listening to change events for the property
+ for (BeanItem<BT> item : beanToItem.values()) {
+ removeValueChangeListener(item, propertyId);
+ }
+ filterAll();
}
- filterAll();
}
}