]> source.dussan.org Git - vaadin-framework.git/commitdiff
Revert "Update selection after changes in underlying data source
authorLeif Åstrand <leif@vaadin.com>
Thu, 18 Dec 2014 16:49:22 +0000 (18:49 +0200)
committerLeif Åstrand <leif@vaadin.com>
Thu, 18 Dec 2014 16:49:22 +0000 (18:49 +0200)
(#13580)."

This reverts commit f4d1383b20da01f9fc43c32d7541a7816f8a9a9b.

Change-Id: I5911f63ae35bef54f01477b14e5feffdf952aa6d

server/src/com/vaadin/ui/AbstractSelect.java
server/tests/src/com/vaadin/tests/server/component/abstractselect/TestAbstractSelectValueUpdate.java [deleted file]
uitest/src/com/vaadin/tests/components/table/TableClickAndDragOnIconAndComponents.java
uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRow.java [deleted file]
uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRowTest.java [deleted file]

index d5e47b22863740cbc589fbd6699372e69c740392..423ebcb46a6e34c835814fe2c92fa46ec1becf7f 100644 (file)
@@ -1688,8 +1688,6 @@ public abstract class AbstractSelect extends AbstractField<Object> implements
         // Clears the item id mapping table
         itemIdMapper.removeAll();
 
-        adjustSelection();
-
         // Notify all listeners
         fireItemSetChange();
     }
@@ -1727,25 +1725,6 @@ public abstract class AbstractSelect extends AbstractField<Object> implements
         markAsDirty();
     }
 
-    /**
-     * Removes orphaned ids from selection.
-     * 
-     * @since 7.4
-     */
-    protected void adjustSelection() {
-        Object value = getValue();
-        if (isMultiSelect() && (value instanceof Collection)) {
-            Collection<?> collection = (Collection<?>) value;
-            for (Object id : collection) {
-                if (!containsId(id)) {
-                    unselect(id);
-                }
-            }
-        } else if (!containsId(value)) {
-            unselect(value);
-        }
-    }
-
     /**
      * Implementation of item set change event.
      */
diff --git a/server/tests/src/com/vaadin/tests/server/component/abstractselect/TestAbstractSelectValueUpdate.java b/server/tests/src/com/vaadin/tests/server/component/abstractselect/TestAbstractSelectValueUpdate.java
deleted file mode 100644 (file)
index e81f6e0..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2000-2014 Vaadin Ltd.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.tests.server.component.abstractselect;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.vaadin.data.util.BeanItemContainer;
-import com.vaadin.ui.AbstractSelect;
-
-public class TestAbstractSelectValueUpdate {
-
-    @Test
-    public void removeItem_deleteItemFromUnderlyingContainer_selectValueIsUpdated() {
-        BeanItemContainer<Object> container = new BeanItemContainer<Object>(
-                Object.class);
-        Object item1 = new Object();
-        Object item2 = new Object();
-        container.addBean(item1);
-        container.addBean(item2);
-        TestSelect select = new TestSelect();
-        select.setContainerDataSource(container);
-
-        select.setValue(item1);
-
-        Assert.assertNotNull("Value is null after selection", select.getValue());
-
-        container.removeItem(item1);
-
-        Assert.assertNull("Value is not null after removal", select.getValue());
-    }
-
-    @Test
-    public void removeItem_multiselectSectionDeleteItemFromUnderlyingContainer_selectValueIsUpdated() {
-        BeanItemContainer<Object> container = new BeanItemContainer<Object>(
-                Object.class);
-        Object item1 = new Object();
-        Object item2 = new Object();
-        container.addBean(item1);
-        container.addBean(item2);
-        TestSelect select = new TestSelect();
-        select.setMultiSelect(true);
-        select.setContainerDataSource(container);
-
-        select.setValue(Collections.singletonList(item1));
-
-        checkSelectedItemsCount(select, 1);
-
-        container.removeItem(item1);
-
-        checkSelectedItemsCount(select, 0);
-    }
-
-    private void checkSelectedItemsCount(TestSelect select, int count) {
-        Assert.assertNotNull("Selected value is null", select.getValue());
-        Assert.assertTrue("Selected value is not a collection",
-                select.getValue() instanceof Collection);
-        Assert.assertEquals("Wrong number of selected items",
-                ((Collection<?>) select.getValue()).size(), count);
-    }
-
-    private class TestSelect extends AbstractSelect {
-
-    }
-}
index 4bdec81ccf724582cbef1fc464e9bcca7981ddc9..64f1a64558a055f446a7472470aaeb7c89127fc8 100644 (file)
@@ -38,7 +38,7 @@ public class TableClickAndDragOnIconAndComponents extends AbstractTestUI {
         table.setId("testable-table");
         addComponent(table);
         for (int i = 0; i < 5; i++) {
-            addItemAfter(i + "foo", null, false);
+            addItemAfter(i + "foo", null);
         }
 
         table.addGeneratedColumn("Label", new ColumnGenerator() {
@@ -118,15 +118,14 @@ public class TableClickAndDragOnIconAndComponents extends AbstractTestUI {
 
                 IndexedContainer container = (IndexedContainer) table
                         .getContainerDataSource();
-                boolean selected = table.getValue().equals(dragged);
                 container.removeItem(dragged);
-                addItemAfter(dragged, target, selected);
+                addItemAfter(dragged, target);
             }
         });
     }
 
     @SuppressWarnings("unchecked")
-    private void addItemAfter(Object itemId, Object afterItemId, boolean select) {
+    private void addItemAfter(Object itemId, Object afterItemId) {
         Item item;
         if (afterItemId != null) {
             item = table.addItemAfter(afterItemId, itemId);
@@ -137,9 +136,6 @@ public class TableClickAndDragOnIconAndComponents extends AbstractTestUI {
         item.getItemProperty("red").setValue("red " + itemId);
         item.getItemProperty("icon").setValue(
                 new ThemeResource("../runo/icons/16/ok.png"));
-        if (select) {
-            table.select(itemId);
-        }
     }
 
     @Override
diff --git a/uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRow.java b/uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRow.java
deleted file mode 100644 (file)
index 349fbc7..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 2000-2014 Vaadin Ltd.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.tests.components.table;
-
-import java.util.Collection;
-
-import com.vaadin.data.util.BeanItemContainer;
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.shared.ui.MultiSelectMode;
-import com.vaadin.tests.components.AbstractTestUI;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Button.ClickListener;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Table;
-
-/**
- * Test UI for delete rows operation in multiselect table.
- * 
- * @author Vaadin Ltd
- */
-public class TableDeleteSelectedRow extends AbstractTestUI {
-
-    @Override
-    protected void setup(VaadinRequest request) {
-        final Table table = new Table();
-        table.setSelectable(true);
-        table.setImmediate(true);
-
-        BeanItemContainer<TableBean> container = createContainer();
-
-        table.setContainerDataSource(container);
-
-        final Label selectedSize = new Label();
-        selectedSize.addStyleName("selected-rows");
-
-        Button changeMode = new Button("Set multiselect", new ClickListener() {
-
-            @Override
-            public void buttonClick(ClickEvent event) {
-                table.setMultiSelect(true);
-                table.setMultiSelectMode(MultiSelectMode.SIMPLE);
-
-                BeanItemContainer<TableBean> container = createContainer();
-
-                table.setContainerDataSource(container);
-            }
-        });
-        changeMode.addStyleName("multiselect");
-
-        Button delete = new Button("Delete selected", new ClickListener() {
-
-            @Override
-            public void buttonClick(ClickEvent event) {
-                if (table.getValue() instanceof Collection) {
-                    Collection<?> rows = (Collection<?>) table.getValue();
-                    for (Object row : rows) {
-                        table.getContainerDataSource().removeItem(row);
-                    }
-                    rows = (Collection<?>) table.getValue();
-                    selectedSize.setValue(String.valueOf(rows.size()));
-                } else {
-                    table.getContainerDataSource().removeItem(table.getValue());
-                    selectedSize.setValue(table.getValue() == null ? "0" : "1");
-                }
-            }
-        });
-        delete.addStyleName("delete");
-
-        addComponents(delete, changeMode, selectedSize, table);
-    }
-
-    @Override
-    protected String getTestDescription() {
-        return "Items deleted via container data source should not be available as selected in the table.";
-    }
-
-    @Override
-    protected Integer getTicketNumber() {
-        return 13580;
-    }
-
-    private BeanItemContainer<TableBean> createContainer() {
-        BeanItemContainer<TableBean> container = new BeanItemContainer<TableBean>(
-                TableBean.class);
-        container.addBean(new TableBean("first"));
-        container.addBean(new TableBean("second"));
-        container.addBean(new TableBean("third"));
-        return container;
-    }
-
-    public static class TableBean {
-
-        TableBean(String name) {
-            this.name = name;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        private String name;
-    }
-}
diff --git a/uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRowTest.java b/uitest/src/com/vaadin/tests/components/table/TableDeleteSelectedRowTest.java
deleted file mode 100644 (file)
index 0e807ed..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2000-2014 Vaadin Ltd.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.tests.components.table;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-
-import com.vaadin.tests.tb3.MultiBrowserTest;
-
-/**
- * Test to check selected rows in multiselect table after deletion.
- * 
- * @author Vaadin Ltd
- */
-public class TableDeleteSelectedRowTest extends MultiBrowserTest {
-
-    @Test
-    public void deleteSelectedRows() {
-        openTestURL();
-
-        // Select row in the table
-        findElement(By.className("v-table-row-odd")).click();
-
-        // Delete selected row
-        findElement(By.className("delete")).click();
-
-        WebElement selectedSize = findElement(By.className("selected-rows"));
-        int size = Integer.parseInt(selectedSize.getText());
-
-        Assert.assertEquals(
-                "Non empty collection of selected rows after remove via container",
-                0, size);
-
-        // Reset table and set multiselect mode
-        findElement(By.className("multiselect")).click();
-
-        // Select row in the table
-        findElement(By.className("v-table-row-odd")).click();
-
-        // Delete selected row
-        findElement(By.className("delete")).click();
-
-        selectedSize = findElement(By.className("selected-rows"));
-        size = Integer.parseInt(selectedSize.getText());
-
-        Assert.assertEquals(
-                "Non empty collection of selected rows after remove via container",
-                0, size);
-    }
-}