diff options
author | Henri Sara <henri.sara@itmill.com> | 2011-03-03 11:04:47 +0000 |
---|---|---|
committer | Henri Sara <henri.sara@itmill.com> | 2011-03-03 11:04:47 +0000 |
commit | 23291fe0b7b28a7eddcf4fdd83da40586915cd0b (patch) | |
tree | d894432d547bb16cb7066ae2efc712e438e2f19f /src/com/vaadin/data/util/AbstractBeanContainer.java | |
parent | 885ffd388b36e86dca68d2bb23b364994595065d (diff) | |
download | vaadin-framework-23291fe0b7b28a7eddcf4fdd83da40586915cd0b.tar.gz vaadin-framework-23291fe0b7b28a7eddcf4fdd83da40586915cd0b.zip |
#6572 Eliminate some extraneous container item set change notifications
svn changeset:17574/svn branch:6.6
Diffstat (limited to 'src/com/vaadin/data/util/AbstractBeanContainer.java')
-rw-r--r-- | src/com/vaadin/data/util/AbstractBeanContainer.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/com/vaadin/data/util/AbstractBeanContainer.java b/src/com/vaadin/data/util/AbstractBeanContainer.java index c71bf565a5..dbd9cbc42c 100644 --- a/src/com/vaadin/data/util/AbstractBeanContainer.java +++ b/src/com/vaadin/data/util/AbstractBeanContainer.java @@ -260,6 +260,8 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends * @see com.vaadin.data.Container#removeAllItems() */ public boolean removeAllItems() { + int origSize = size(); + internalRemoveAllItems(); // detach listeners from all Items @@ -268,7 +270,9 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends } itemIdToItem.clear(); - fireItemSetChange(); + if (origSize != 0) { + fireItemSetChange(); + } return true; } @@ -314,6 +318,7 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends * @see com.vaadin.data.Container#removeItem(java.lang.Object) */ public boolean removeItem(Object itemId) { + int origSize = size(); Item item = getItem(itemId); if (internalRemoveItem(itemId)) { @@ -323,7 +328,9 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends // remove item itemIdToItem.remove(itemId); - fireItemSetChange(); + if (size() != origSize) { + fireItemSetChange(); + } return true; } else { |