]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge #2687 to 6.0
authorHenri Sara <henri.sara@itmill.com>
Tue, 24 Mar 2009 14:11:18 +0000 (14:11 +0000)
committerHenri Sara <henri.sara@itmill.com>
Tue, 24 Mar 2009 14:11:18 +0000 (14:11 +0000)
svn changeset:7162/svn branch:6.0

src/com/itmill/toolkit/data/util/IndexedContainer.java
src/com/itmill/toolkit/ui/Table.java
src/com/itmill/toolkit/ui/Tree.java

index f8ba1f13b8c91e9f8e7a8e3bd34b890f427c13f9..27af4f5178e9350190d263cead44985c6e5caf16 100644 (file)
@@ -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 <code>event</code> object specifying the Propery in a list whose value
-     * has changed.
+     * An <code>event</code> object specifying the Property in a list whose
+     * value has changed.
      * 
      * @author IT Mill Ltd.
      * @version
index 2b528780ca452b9011913078554c66eae5492899..fe3b6080aac4eb809f914bcb45dc0caa3f376945 100644 (file)
@@ -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));
+                }
             }
         }
     }
index 010e481896b99be59cb52a53c5167bea73ecc503..36b34ac50aa241aa9d46a4d1f9b73df7a9198d7a 100644 (file)
@@ -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")) {