From: Henri Sara Date: Tue, 24 Mar 2009 14:11:18 +0000 (+0000) Subject: Merge #2687 to 6.0 X-Git-Tag: 6.7.0.beta1~3057 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0183cb5036e1bf0ff69321c32c18fe7190e13800;p=vaadin-framework.git Merge #2687 to 6.0 svn changeset:7162/svn branch:6.0 --- diff --git a/src/com/itmill/toolkit/data/util/IndexedContainer.java b/src/com/itmill/toolkit/data/util/IndexedContainer.java index f8ba1f13b8..27af4f5178 100644 --- a/src/com/itmill/toolkit/data/util/IndexedContainer.java +++ b/src/com/itmill/toolkit/data/util/IndexedContainer.java @@ -144,12 +144,8 @@ public class IndexedContainer implements Container.Indexed, */ public Item getItem(Object itemId) { - // Null ids are not accepted - if (itemId == null) { - throw new NullPointerException("Container item id can not be null"); - } - - if (items.containsKey(itemId) + if (itemId != null + && items.containsKey(itemId) && (filteredItemIds == null || filteredItemIds.contains(itemId))) { return new IndexedContainerItem(itemId); } @@ -196,7 +192,9 @@ public class IndexedContainer implements Container.Indexed, * java.lang.Object) */ public Property getContainerProperty(Object itemId, Object propertyId) { - if (filteredItemIds == null) { + if (itemId == null) { + return null; + } else if (filteredItemIds == null) { if (!items.containsKey(itemId)) { return null; } @@ -225,6 +223,9 @@ public class IndexedContainer implements Container.Indexed, * @see com.itmill.toolkit.data.Container#containsId(java.lang.Object) */ public boolean containsId(Object itemId) { + if (itemId == null) { + return false; + } if (filteredItemIds != null) { return filteredItemIds.contains(itemId); } @@ -766,8 +767,8 @@ public class IndexedContainer implements Container.Indexed, } /** - * An event object specifying the Propery in a list whose value - * has changed. + * An event object specifying the Property in a list whose + * value has changed. * * @author IT Mill Ltd. * @version diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 2b528780ca..fe3b6080aa 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -1767,8 +1767,11 @@ public class Table extends AbstractSelect implements Action.Container, } MouseEventDetails evt = MouseEventDetails .deSerialize((String) variables.get("clickEvent")); - fireEvent(new ItemClickEvent(this, getItem(itemId), itemId, - propertyId, evt)); + Item item = getItem(itemId); + if (item != null) { + fireEvent(new ItemClickEvent(this, item, itemId, + propertyId, evt)); + } } } } diff --git a/src/com/itmill/toolkit/ui/Tree.java b/src/com/itmill/toolkit/ui/Tree.java index 010e481896..36b34ac50a 100644 --- a/src/com/itmill/toolkit/ui/Tree.java +++ b/src/com/itmill/toolkit/ui/Tree.java @@ -18,6 +18,7 @@ import java.util.Stack; import java.util.StringTokenizer; import com.itmill.toolkit.data.Container; +import com.itmill.toolkit.data.Item; import com.itmill.toolkit.data.util.ContainerHierarchicalWrapper; import com.itmill.toolkit.data.util.IndexedContainer; import com.itmill.toolkit.event.Action; @@ -342,7 +343,10 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, Object id = itemIdMapper.get(key); MouseEventDetails details = MouseEventDetails .deSerialize((String) variables.get("clickEvent")); - fireEvent(new ItemClickEvent(this, getItem(id), id, null, details)); + Item item = getItem(id); + if (item != null) { + fireEvent(new ItemClickEvent(this, item, id, null, details)); + } } if (!isSelectable() && variables.containsKey("selected")) {