aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/com
diff options
context:
space:
mode:
authorJonatan Kronqvist <jonatan@vaadin.com>2014-04-11 14:15:52 +0300
committerJonatan Kronqvist <jonatan@vaadin.com>2014-04-11 11:16:58 +0000
commit51c2e93172b0132ead54573c74117efac29c1cec (patch)
tree8281be1f7f51cd5d0d40717d9547e81edd7fc2c5 /server/src/com
parentee4ae9fac8342f51ff5152cf878df125a743aef3 (diff)
downloadvaadin-framework-51c2e93172b0132ead54573c74117efac29c1cec.tar.gz
vaadin-framework-51c2e93172b0132ead54573c74117efac29c1cec.zip
Revert "Added ItemSetAddEvent and ItemSetRemoveEvent (#2794)"
This reverts commit 85251833de3bd101d388b20fdb9b02c532a9f1c9. Conflicts: server/src/com/vaadin/data/util/AbstractInMemoryContainer.java server/tests/src/com/vaadin/data/util/TestIndexedContainer.java Change-Id: I49dfdc58ae5841892c6d8e205c520437da9a05e5
Diffstat (limited to 'server/src/com')
-rw-r--r--server/src/com/vaadin/data/Container.java54
-rw-r--r--server/src/com/vaadin/data/util/AbstractBeanContainer.java20
-rw-r--r--server/src/com/vaadin/data/util/AbstractInMemoryContainer.java149
-rw-r--r--server/src/com/vaadin/data/util/IndexedContainer.java7
4 files changed, 18 insertions, 212 deletions
diff --git a/server/src/com/vaadin/data/Container.java b/server/src/com/vaadin/data/Container.java
index 1e053d1091..ef507c5f31 100644
--- a/server/src/com/vaadin/data/Container.java
+++ b/server/src/com/vaadin/data/Container.java
@@ -582,60 +582,6 @@ public interface Container extends Serializable {
public Item addItemAt(int index, Object newItemId)
throws UnsupportedOperationException;
- /**
- * An <code>Event</code> object specifying information about the added
- * items.
- */
- public interface ItemAddEvent extends ItemSetChangeEvent {
-
- /**
- * Gets the item id of the first added item.
- *
- * @return item id of the first added item
- */
- public Object getFirstItemId();
-
- /**
- * Gets the index of the first added item.
- *
- * @return index of the first added item
- */
- public int getFirstIndex();
-
- /**
- * Gets the number of the added items.
- *
- * @return the number of added items.
- */
- public int getAddedItemsCount();
- }
-
- /**
- * An <code>Event</code> object specifying information about the removed
- * items.
- */
- public interface ItemRemoveEvent extends ItemSetChangeEvent {
- /**
- * Gets the item id of the first removed item.
- *
- * @return item id of the first removed item
- */
- public Object getFirstItemId();
-
- /**
- * Gets the index of the first removed item.
- *
- * @return index of the first removed item
- */
- public int getFirstIndex();
-
- /**
- * Gets the number of the removed items.
- *
- * @return the number of removed items
- */
- public int getRemovedItemsCount();
- }
}
/**
diff --git a/server/src/com/vaadin/data/util/AbstractBeanContainer.java b/server/src/com/vaadin/data/util/AbstractBeanContainer.java
index d94588bdc9..b19cdd980c 100644
--- a/server/src/com/vaadin/data/util/AbstractBeanContainer.java
+++ b/server/src/com/vaadin/data/util/AbstractBeanContainer.java
@@ -222,7 +222,6 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
@Override
public boolean removeAllItems() {
int origSize = size();
- IDTYPE firstItem = getFirstVisibleItem();
internalRemoveAllItems();
@@ -235,7 +234,7 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
// fire event only if the visible view changed, regardless of whether
// filtered out items were removed or not
if (origSize != 0) {
- fireItemsRemoved(0, firstItem, origSize);
+ fireItemSetChange();
}
return true;
@@ -680,8 +679,6 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
protected void addAll(Collection<? extends BEANTYPE> collection)
throws IllegalStateException, IllegalArgumentException {
boolean modified = false;
- int origSize = size();
-
for (BEANTYPE bean : collection) {
// TODO skipping invalid beans - should not allow them in javadoc?
if (bean == null
@@ -702,22 +699,13 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
if (modified) {
// Filter the contents when all items have been added
if (isFiltered()) {
- doFilterContainer(!getFilters().isEmpty());
- }
- if (visibleNewItemsWasAdded(origSize)) {
- // fire event about added items
- int firstPosition = origSize;
- IDTYPE firstItemId = getVisibleItemIds().get(firstPosition);
- int affectedItems = size() - origSize;
- fireItemsAdded(firstPosition, firstItemId, affectedItems);
+ filterAll();
+ } else {
+ fireItemSetChange();
}
}
}
- private boolean visibleNewItemsWasAdded(int origSize) {
- return size() > origSize;
- }
-
/**
* Use the bean resolver to get the identifier for a bean.
*
diff --git a/server/src/com/vaadin/data/util/AbstractInMemoryContainer.java b/server/src/com/vaadin/data/util/AbstractInMemoryContainer.java
index cae9f30fc9..84304431bc 100644
--- a/server/src/com/vaadin/data/util/AbstractInMemoryContainer.java
+++ b/server/src/com/vaadin/data/util/AbstractInMemoryContainer.java
@@ -15,10 +15,8 @@
*/
package com.vaadin.data.util;
-import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
-import java.util.EventObject;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
@@ -148,83 +146,6 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
}
}
- private static abstract class BaseItemAddOrRemoveEvent extends EventObject
- implements Serializable {
- protected Object itemId;
- protected int index;
- protected int count;
-
- public BaseItemAddOrRemoveEvent(Container source, Object itemId,
- int index, int count) {
- super(source);
- this.itemId = itemId;
- this.index = index;
- this.count = count;
- }
-
- public Container getContainer() {
- return (Container) getSource();
- }
-
- public Object getFirstItemId() {
- return itemId;
- }
-
- public int getFirstIndex() {
- return index;
- }
-
- public int getAffectedItemsCount() {
- return count;
- }
- }
-
- /**
- * An <code>Event</code> object specifying information about the added
- * items.
- *
- * <p>
- * This class provides information about the first added item and the number
- * of added items.
- * </p>
- */
- protected static class BaseItemAddEvent extends BaseItemAddOrRemoveEvent
- implements Container.Indexed.ItemAddEvent {
-
- public BaseItemAddEvent(Container source, Object itemId, int index,
- int count) {
- super(source, itemId, index, count);
- }
-
- @Override
- public int getAddedItemsCount() {
- return getAffectedItemsCount();
- }
- }
-
- /**
- * An <code>Event</code> object specifying information about the removed
- * items.
- *
- * <p>
- * This class provides information about the first removed item and the
- * number of removed items.
- * </p>
- */
- protected static class BaseItemRemoveEvent extends BaseItemAddOrRemoveEvent
- implements Container.Indexed.ItemRemoveEvent {
-
- public BaseItemRemoveEvent(Container source, Object itemId, int index,
- int count) {
- super(source, itemId, index, count);
- }
-
- @Override
- public int getRemovedItemsCount() {
- return getAffectedItemsCount();
- }
- }
-
/**
* Get an item even if filtered out.
*
@@ -977,69 +898,36 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
* Notify item set change listeners that an item has been added to the
* container.
*
+ * Unless subclasses specify otherwise, the default notification indicates a
+ * full refresh.
+ *
* @param postion
- * position of the added item in the view
+ * position of the added item in the view (if visible)
* @param itemId
* id of the added item
* @param item
* the added item
*/
protected void fireItemAdded(int position, ITEMIDTYPE itemId, ITEMCLASS item) {
- fireItemsAdded(position, itemId, 1);
- }
-
- /**
- * Notify item set change listeners that items has been added to the
- * container.
- *
- * @param firstPosition
- * position of the first visible added item in the view
- * @param firstItemId
- * id of the first visible added item
- * @param numberOfItems
- * the number of visible added items
- */
- protected void fireItemsAdded(int firstPosition, ITEMIDTYPE firstItemId,
- int numberOfItems) {
- BaseItemAddEvent addEvent = new BaseItemAddEvent(this, firstItemId,
- firstPosition, numberOfItems);
- fireItemSetChange(addEvent);
+ fireItemSetChange();
}
/**
* Notify item set change listeners that an item has been removed from the
* container.
*
- * @param position
- * position of the removed item in the view prior to removal
+ * Unless subclasses specify otherwise, the default notification indicates a
+ * full refresh.
*
+ * @param postion
+ * position of the removed item in the view prior to removal (if
+ * was visible)
* @param itemId
* id of the removed item, of type {@link Object} to satisfy
* {@link Container#removeItem(Object)} API
*/
protected void fireItemRemoved(int position, Object itemId) {
- fireItemsRemoved(position, itemId, 1);
- }
-
- /**
- * Notify item set change listeners that items has been removed from the
- * container.
- *
- * @param firstPosition
- * position of the first visible removed item in the view prior
- * to removal
- * @param firstItemId
- * id of the first visible removed item, of type {@link Object}
- * to satisfy {@link Container#removeItem(Object)} API
- * @param numberOfItems
- * the number of removed visible items
- *
- */
- protected void fireItemsRemoved(int firstPosition, Object firstItemId,
- int numberOfItems) {
- BaseItemRemoveEvent removeEvent = new BaseItemRemoveEvent(this,
- firstItemId, firstPosition, numberOfItems);
- fireItemSetChange(removeEvent);
+ fireItemSetChange();
}
// visible and filtered item identifier lists
@@ -1058,21 +946,6 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
}
/**
- * Returns the item id of the first visible item after filtering. 'Null' is
- * returned if there is no visible items.
- *
- * For internal use only.
- *
- * @return item id of the first visible item
- */
- protected ITEMIDTYPE getFirstVisibleItem() {
- if (!getVisibleItemIds().isEmpty()) {
- return getVisibleItemIds().get(0);
- }
- return null;
- }
-
- /**
* Returns true is the container has active filters.
*
* @return true if the container is currently filtered
diff --git a/server/src/com/vaadin/data/util/IndexedContainer.java b/server/src/com/vaadin/data/util/IndexedContainer.java
index 5d20919208..d7bf70caf6 100644
--- a/server/src/com/vaadin/data/util/IndexedContainer.java
+++ b/server/src/com/vaadin/data/util/IndexedContainer.java
@@ -226,7 +226,6 @@ public class IndexedContainer extends
@Override
public boolean removeAllItems() {
int origSize = size();
- Object firstItem = getFirstVisibleItem();
internalRemoveAllItems();
@@ -236,7 +235,7 @@ public class IndexedContainer extends
// filtered out items were removed or not
if (origSize != 0) {
// Sends a change event
- fireItemsRemoved(0, firstItem, origSize);
+ fireItemSetChange();
}
return true;
@@ -621,7 +620,8 @@ public class IndexedContainer extends
@Override
protected void fireItemAdded(int position, Object itemId, Item item) {
if (position >= 0) {
- super.fireItemAdded(position, itemId, item);
+ fireItemSetChange(new IndexedContainer.ItemSetChangeEvent(this,
+ position));
}
}
@@ -1211,5 +1211,4 @@ public class IndexedContainer extends
public Collection<Filter> getContainerFilters() {
return super.getContainerFilters();
}
-
}