]> source.dussan.org Git - vaadin-framework.git/commitdiff
New ticket testcase for #1506
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 1 Apr 2008 07:18:47 +0000 (07:18 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Tue, 1 Apr 2008 07:18:47 +0000 (07:18 +0000)
svn changeset:4101/svn branch:trunk

src/com/itmill/toolkit/tests/tickets/Ticket1506.java [new file with mode: 0644]
src/com/itmill/toolkit/tests/tickets/Ticket1506_Panel.java [new file with mode: 0644]
src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer.java [new file with mode: 0644]
src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer2.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1506.java b/src/com/itmill/toolkit/tests/tickets/Ticket1506.java
new file mode 100644 (file)
index 0000000..6f25a53
--- /dev/null
@@ -0,0 +1,15 @@
+package com.itmill.toolkit.tests.tickets;
+
+import com.itmill.toolkit.ui.CustomComponent;
+import com.itmill.toolkit.ui.Panel;
+
+public class Ticket1506 extends CustomComponent {
+    
+    Panel p;
+    
+    public Ticket1506() {
+        p = new Ticket1506_Panel();
+        setCompositionRoot(p);
+    }
+
+}
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1506_Panel.java b/src/com/itmill/toolkit/tests/tickets/Ticket1506_Panel.java
new file mode 100644 (file)
index 0000000..a8446fb
--- /dev/null
@@ -0,0 +1,44 @@
+package com.itmill.toolkit.tests.tickets;\r
+\r
+import com.itmill.toolkit.data.util.ObjectProperty;\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.ui.Component;\r
+import com.itmill.toolkit.ui.Panel;\r
+import com.itmill.toolkit.ui.Select;\r
+import com.itmill.toolkit.ui.Button;\r
+\r
+/**\r
+ * @author Efecte R&D\r
+ * @version $Revision$, $Date$\r
+ */\r
+public class Ticket1506_Panel extends Panel {\r
+\r
+    public Ticket1506_Panel() {\r
+        ObjectProperty property1 = new ObjectProperty(null, String.class);\r
+        addComponent(initSelect(new Ticket1506_TestContainer(), "Test select", property1));\r
+        addComponent(initButton(property1));\r
+        addComponent(initSelect(new Ticket1506_TestContainer2(), "Test select 2", new ObjectProperty(null, String.class)));\r
+    }\r
+\r
+    private Component initButton(final ObjectProperty property) {\r
+        Button button = new Button("Clear select");\r
+        button.addListener(new Button.ClickListener() {\r
+            public void buttonClick(Button.ClickEvent event) {\r
+                property.setValue(null);\r
+            }\r
+        });\r
+        return button;\r
+    }\r
+\r
+    private Component initSelect(Container containerDataSource, String caption, ObjectProperty property) {\r
+        Select select = new Select(caption);\r
+        select.setFilteringMode(Select.FILTERINGMODE_CONTAINS);\r
+        select.setImmediate(true);\r
+        select.setNullSelectionAllowed(false);\r
+        select.setItemCaptionPropertyId(Ticket1506_TestContainer.PROPERTY_2_ID);\r
+\r
+        select.setContainerDataSource(containerDataSource);\r
+        select.setPropertyDataSource(property);\r
+        return select;\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer.java b/src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer.java
new file mode 100644 (file)
index 0000000..329f301
--- /dev/null
@@ -0,0 +1,116 @@
+package com.itmill.toolkit.tests.tickets;\r
+\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.data.Item;\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.util.PropertysetItem;\r
+import com.itmill.toolkit.data.util.ObjectProperty;\r
+\r
+import java.util.*;\r
+\r
+/**\r
+ * @author Efecte R&D\r
+ * @version $Revision$, $Date$\r
+ */\r
+public class Ticket1506_TestContainer implements Container {\r
+    private Map items = new HashMap();\r
+    public static final String ITEM_1_ID = "1";\r
+    public static final String ITEM_2_ID = "2";\r
+    public static final String PROPERTY_1_ID = "property 1";\r
+    public static final String PROPERTY_2_ID = "property 2";\r
+\r
+    private void loadItems() {\r
+        final PropertysetItem item1 = new PropertysetItem();\r
+        item1.addItemProperty(PROPERTY_1_ID, new ObjectProperty("value 1", String.class));\r
+        item1.addItemProperty(PROPERTY_2_ID, new ObjectProperty("name 1", String.class));\r
+        this.items.put(ITEM_1_ID, item1);\r
+\r
+        final PropertysetItem item2 = new PropertysetItem();\r
+        item2.addItemProperty(PROPERTY_1_ID, new ObjectProperty("value 2", String.class));\r
+        item2.addItemProperty(PROPERTY_2_ID, new ObjectProperty("name 2", String.class));\r
+        this.items.put(ITEM_2_ID, item2);\r
+    }\r
+\r
+    public Item getItem(Object itemId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return (Item) items.get(itemId);\r
+    }\r
+\r
+    public Collection getContainerPropertyIds() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        ArrayList a = new ArrayList();\r
+        a.add(PROPERTY_1_ID);\r
+        a.add(PROPERTY_2_ID);\r
+        return a;\r
+    }\r
+\r
+    public Collection getItemIds() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        ArrayList a = new ArrayList();\r
+        a.add(ITEM_1_ID);\r
+        a.add(ITEM_2_ID);\r
+        return a;\r
+    }\r
+\r
+    public Property getContainerProperty(Object itemId, Object propertyId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        Item item = (Item) items.get(itemId);\r
+        if (item != null) {\r
+            return item.getItemProperty(propertyId);\r
+        }\r
+        return null;\r
+    }\r
+\r
+    public Class getType(Object propertyId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return String.class;\r
+    }\r
+\r
+    public int size() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return items.size();\r
+    }\r
+\r
+    public boolean containsId(Object itemId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return items.containsKey(itemId);\r
+    }\r
+\r
+    public Item addItem(Object itemId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public Object addItem() throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeItem(Object itemId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean addContainerProperty(Object propertyId, Class type, Object defaultValue) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeAllItems() throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer2.java b/src/com/itmill/toolkit/tests/tickets/Ticket1506_TestContainer2.java
new file mode 100644 (file)
index 0000000..dda5bb2
--- /dev/null
@@ -0,0 +1,110 @@
+package com.itmill.toolkit.tests.tickets;\r
+\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.data.Item;\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.util.PropertysetItem;\r
+import com.itmill.toolkit.data.util.ObjectProperty;\r
+\r
+import java.util.*;\r
+\r
+/**\r
+ * @author Efecte R&D\r
+ * @version $Revision$, $Date$\r
+ */\r
+public class Ticket1506_TestContainer2 implements Container {\r
+    private Map items = new HashMap();\r
+    public static final String ITEM_1_ID = "1";\r
+    public static final String ITEM_2_ID = "2";\r
+    public static final String PROPERTY_1_ID = "property 1";\r
+    public static final String PROPERTY_2_ID = "property 2";\r
+\r
+    private void loadItems() {\r
+        for (int i = 1; i < 15; i++) {\r
+            final PropertysetItem item = new PropertysetItem();\r
+            item.addItemProperty(PROPERTY_1_ID, new ObjectProperty("value " + i, String.class));\r
+            item.addItemProperty(PROPERTY_2_ID, new ObjectProperty("name " + i, String.class));\r
+            this.items.put(String.valueOf(i), item);\r
+        }\r
+    }\r
+\r
+    public Item getItem(Object itemId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return (Item) items.get(itemId);\r
+    }\r
+\r
+    public Collection getContainerPropertyIds() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        ArrayList a = new ArrayList();\r
+        a.add(PROPERTY_1_ID);\r
+        a.add(PROPERTY_2_ID);\r
+        return a;\r
+    }\r
+\r
+    public Collection getItemIds() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return items.keySet();\r
+    }\r
+\r
+    public Property getContainerProperty(Object itemId, Object propertyId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        Item item = (Item) items.get(itemId);\r
+        if (item != null) {\r
+            return item.getItemProperty(propertyId);\r
+        }\r
+        return null;\r
+    }\r
+\r
+    public Class getType(Object propertyId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return String.class;\r
+    }\r
+\r
+    public int size() {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return items.size();\r
+    }\r
+\r
+    public boolean containsId(Object itemId) {\r
+        if (items.isEmpty()) {\r
+            loadItems();\r
+        }\r
+        return items.containsKey(itemId);\r
+    }\r
+\r
+    public Item addItem(Object itemId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public Object addItem() throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeItem(Object itemId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean addContainerProperty(Object propertyId, Class type, Object defaultValue) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+\r
+    public boolean removeAllItems() throws UnsupportedOperationException {\r
+        throw new UnsupportedOperationException("Not implemented");\r
+    }\r
+}
\ No newline at end of file