summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/data/util/AbstractBeanContainer.java
diff options
context:
space:
mode:
authorHenri Sara <henri.sara@itmill.com>2011-03-03 11:04:47 +0000
committerHenri Sara <henri.sara@itmill.com>2011-03-03 11:04:47 +0000
commit23291fe0b7b28a7eddcf4fdd83da40586915cd0b (patch)
treed894432d547bb16cb7066ae2efc712e438e2f19f /src/com/vaadin/data/util/AbstractBeanContainer.java
parent885ffd388b36e86dca68d2bb23b364994595065d (diff)
downloadvaadin-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.java11
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 {