*/
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);
}
* 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;
}
* @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);
}
}
/**
- * 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
}
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));
+ }
}
}
}
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;
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")) {