From 84099ee2b8363c12a813157f9752981add5db113 Mon Sep 17 00:00:00 2001 From: Henri Sara Date: Fri, 30 Nov 2012 14:49:04 +0200 Subject: [PATCH] Return null as non-existing property for IndexedContainer (#10445) Change-Id: I9829173dda84d5f496114b7d08204648bf86fc77 --- server/src/com/vaadin/data/util/IndexedContainer.java | 4 +++- .../src/com/vaadin/data/util/TestIndexedContainer.java | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server/src/com/vaadin/data/util/IndexedContainer.java b/server/src/com/vaadin/data/util/IndexedContainer.java index 81ee4ae2a0..aeb0ca96eb 100644 --- a/server/src/com/vaadin/data/util/IndexedContainer.java +++ b/server/src/com/vaadin/data/util/IndexedContainer.java @@ -164,7 +164,9 @@ public class IndexedContainer extends */ @Override public Property getContainerProperty(Object itemId, Object propertyId) { - if (!containsId(itemId)) { + // map lookup more efficient than propertyIds if there are many + // properties + if (!containsId(itemId) || !types.containsKey(propertyId)) { return null; } diff --git a/server/tests/src/com/vaadin/data/util/TestIndexedContainer.java b/server/tests/src/com/vaadin/data/util/TestIndexedContainer.java index 20aadfcb8b..971cdb5f62 100644 --- a/server/tests/src/com/vaadin/data/util/TestIndexedContainer.java +++ b/server/tests/src/com/vaadin/data/util/TestIndexedContainer.java @@ -376,4 +376,12 @@ public class TestIndexedContainer extends AbstractInMemoryContainerTest { } } + // test getting non-existing property (#10445) + public void testNonExistingProperty() { + IndexedContainer ic = new IndexedContainer(); + String object1 = new String("Obj1"); + ic.addItem(object1); + assertNull(ic.getContainerProperty(object1, "xyz")); + } + } -- 2.39.5