From 1e8a4199fd40641b38c056bc391c98c6fcb2917b Mon Sep 17 00:00:00 2001 From: Markus Koivisto Date: Thu, 28 Aug 2014 15:46:04 +0300 Subject: [PATCH] Revert "Make getMouseEvent() method available in the TargetDetailsImpl (#13416)." This reverts commit 9ea4409bbe7079887a5a3c497494d4986ddabefd. The commit fails its own tests on IE and Firefox. Change-Id: I443f8d1b9ce322124b19d74bbeb2e6780bbff201 --- .../vaadin/event/dd/TargetDetailsImpl.java | 10 -- server/src/com/vaadin/ui/Calendar.java | 3 +- .../src/com/vaadin/ui/DragAndDropWrapper.java | 9 ++ .../calendar/DndCalendarTargetDetails.java | 47 ------- .../DndCalendarTargetDetailsTest.java | 37 ----- .../table/DndTableTargetDetails.java | 129 ------------------ .../table/DndTableTargetDetailsTest.java | 70 ---------- .../components/tree/DndTreeTargetDetails.java | 48 ------- .../tree/DndTreeTargetDetailsTest.java | 37 ----- 9 files changed, 10 insertions(+), 380 deletions(-) delete mode 100644 uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetails.java delete mode 100644 uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetailsTest.java delete mode 100644 uitest/src/com/vaadin/tests/components/table/DndTableTargetDetails.java delete mode 100644 uitest/src/com/vaadin/tests/components/table/DndTableTargetDetailsTest.java delete mode 100644 uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetails.java delete mode 100644 uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetailsTest.java diff --git a/server/src/com/vaadin/event/dd/TargetDetailsImpl.java b/server/src/com/vaadin/event/dd/TargetDetailsImpl.java index 8a6ec506ba..1138215f3f 100644 --- a/server/src/com/vaadin/event/dd/TargetDetailsImpl.java +++ b/server/src/com/vaadin/event/dd/TargetDetailsImpl.java @@ -18,8 +18,6 @@ package com.vaadin.event.dd; import java.util.HashMap; import java.util.Map; -import com.vaadin.shared.MouseEventDetails; - /** * A HashMap backed implementation of {@link TargetDetails} for terminal * implementation and for extension. @@ -43,14 +41,6 @@ public class TargetDetailsImpl implements TargetDetails { this.dropTarget = dropTarget; } - /** - * @return details about the actual event that caused the event details. - * Practically mouse move or mouse up. - */ - public MouseEventDetails getMouseEvent() { - return MouseEventDetails.deSerialize((String) getData("mouseEvent")); - } - @Override public Object getData(String key) { return data.get(key); diff --git a/server/src/com/vaadin/ui/Calendar.java b/server/src/com/vaadin/ui/Calendar.java index 888a443be3..59dfceec9b 100644 --- a/server/src/com/vaadin/ui/Calendar.java +++ b/server/src/com/vaadin/ui/Calendar.java @@ -1430,7 +1430,7 @@ public class Calendar extends AbstractComponent implements @Override public TargetDetails translateDropTargetDetails( Map clientVariables) { - Map serverVariables = new HashMap(); + Map serverVariables = new HashMap(1); if (clientVariables.containsKey("dropSlotIndex")) { int slotIndex = (Integer) clientVariables.get("dropSlotIndex"); @@ -1450,7 +1450,6 @@ public class Calendar extends AbstractComponent implements currentCalendar.add(java.util.Calendar.DATE, dayIndex); serverVariables.put("dropDay", currentCalendar.getTime()); } - serverVariables.put("mouseEvent", clientVariables.get("mouseEvent")); CalendarTargetDetails td = new CalendarTargetDetails(serverVariables, this); diff --git a/server/src/com/vaadin/ui/DragAndDropWrapper.java b/server/src/com/vaadin/ui/DragAndDropWrapper.java index 6e4ec903d2..0e2e8f6d2f 100644 --- a/server/src/com/vaadin/ui/DragAndDropWrapper.java +++ b/server/src/com/vaadin/ui/DragAndDropWrapper.java @@ -131,6 +131,15 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget, return (Integer) getData("absoluteTop"); } + /** + * @return details about the actual event that caused the event details. + * Practically mouse move or mouse up. + */ + public MouseEventDetails getMouseEvent() { + return MouseEventDetails + .deSerialize((String) getData("mouseEvent")); + } + /** * @return a detail about the drags vertical position over the wrapper. */ diff --git a/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetails.java b/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetails.java deleted file mode 100644 index f96a04c5a3..0000000000 --- a/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetails.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2000-2013 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.calendar; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.tests.components.table.DndTableTargetDetails; -import com.vaadin.ui.Calendar; - -/** - * Test UI for calendar as a drop target: CalendarTargetDetails should provide - * getMouseEvent() method. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndCalendarTargetDetails extends DndTableTargetDetails { - - @Override - protected void setup(VaadinRequest request) { - createSourceTable(); - - Calendar calendar = new Calendar(); - calendar.addStyleName("target"); - calendar.setDropHandler(new TestDropHandler()); - calendar.setWidth(100, Unit.PERCENTAGE); - addComponent(calendar); - } - - @Override - protected String getTestDescription() { - return "Mouse details should be available for CalendarTargetDetails DnD when calendar is a target"; - } - -} diff --git a/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetailsTest.java b/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetailsTest.java deleted file mode 100644 index 19413e678f..0000000000 --- a/uitest/src/com/vaadin/tests/components/calendar/DndCalendarTargetDetailsTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2013 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.calendar; - -import org.openqa.selenium.WebElement; - -import com.vaadin.testbench.By; -import com.vaadin.tests.components.table.DndTableTargetDetailsTest; - -/** - * Test for mouse details in CalendarTargetDetails class when DnD target is a - * calendar. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndCalendarTargetDetailsTest extends DndTableTargetDetailsTest { - - @Override - protected WebElement getTarget() { - return driver.findElement(By.className("v-datecellslot-even")); - } - -} diff --git a/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetails.java b/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetails.java deleted file mode 100644 index cdac8d1da0..0000000000 --- a/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetails.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 2000-2013 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 com.vaadin.data.util.BeanItemContainer; -import com.vaadin.event.dd.DragAndDropEvent; -import com.vaadin.event.dd.DropHandler; -import com.vaadin.event.dd.TargetDetailsImpl; -import com.vaadin.event.dd.acceptcriteria.AcceptAll; -import com.vaadin.event.dd.acceptcriteria.AcceptCriterion; -import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.MouseEventDetails; -import com.vaadin.tests.components.AbstractTestUI; -import com.vaadin.ui.Label; -import com.vaadin.ui.Table; -import com.vaadin.ui.Table.TableDragMode; -import com.vaadin.ui.VerticalLayout; - -/** - * Test UI for table as a drop target: AbstractSelectTargetDetails should - * provide getMouseEvent() method. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndTableTargetDetails extends AbstractTestUI { - - @Override - protected void setup(VaadinRequest request) { - createSourceTable(); - - Table target = new Table(); - BeanItemContainer container = new BeanItemContainer( - TestBean.class); - container.addBean(new TestBean("target-item")); - target.setContainerDataSource(container); - target.setPageLength(1); - target.addStyleName("target"); - target.setWidth(100, Unit.PERCENTAGE); - target.setDropHandler(new TestDropHandler()); - addComponent(target); - } - - protected void createSourceTable() { - Table table = new Table(); - table.setPageLength(1); - table.setDragMode(TableDragMode.ROW); - table.setWidth(100, Unit.PERCENTAGE); - BeanItemContainer container = new BeanItemContainer( - TestBean.class); - container.addBean(new TestBean("item")); - table.setContainerDataSource(container); - addComponent(table); - } - - @Override - protected String getTestDescription() { - return "Mouse details should be available for AbstractSelectTargetDetails DnD when table is a target"; - } - - @Override - protected Integer getTicketNumber() { - return 13416; - } - - protected static class TestDropHandler implements DropHandler { - - public TestDropHandler() { - } - - @Override - public void drop(DragAndDropEvent event) { - TargetDetailsImpl details = (TargetDetailsImpl) event - .getTargetDetails(); - MouseEventDetails mouseDetails = details.getMouseEvent(); - - VerticalLayout layout = (VerticalLayout) details.getTarget() - .getUI().getContent(); - - Label name = new Label("Button name=" - + mouseDetails.getButtonName()); - name.addStyleName("dnd-button-name"); - layout.addComponent(name); - if (mouseDetails.isCtrlKey()) { - name.addStyleName("ctrl"); - } - if (mouseDetails.isAltKey()) { - name.addStyleName("alt"); - } - if (mouseDetails.isShiftKey()) { - name.addStyleName("shift"); - } - - layout.addComponent(name); - } - - @Override - public AcceptCriterion getAcceptCriterion() { - return AcceptAll.get(); - } - - } - - public static class TestBean { - private String name; - - public TestBean(String name) { - this.name = name; - } - - public String getName() { - return name; - } - } - -} diff --git a/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetailsTest.java b/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetailsTest.java deleted file mode 100644 index 36b2a82688..0000000000 --- a/uitest/src/com/vaadin/tests/components/table/DndTableTargetDetailsTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2000-2013 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.io.IOException; - -import org.junit.Assert; -import org.junit.Test; -import org.openqa.selenium.Keys; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; - -import com.vaadin.testbench.By; -import com.vaadin.tests.tb3.MultiBrowserTest; - -/** - * Test for mouse details in AbstractSelectTargetDetails class when DnD target - * is a table. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndTableTargetDetailsTest extends MultiBrowserTest { - - @Test - public void testMouseDetails() throws IOException, InterruptedException { - openTestURL(); - - WebElement row = driver.findElement(By - .className("v-table-cell-wrapper")); - - Actions actions = new Actions(driver); - actions.moveToElement(row); - pressKeys(actions); - actions.clickAndHold(); - actions.release(getTarget()); - actions.build().perform(); - - WebElement label = driver.findElement(By.className("dnd-button-name")); - Assert.assertEquals("Button name=left", label.getText()); - checkPressedKeys(); - } - - protected WebElement getTarget() { - return driver.findElement(By.className("target")).findElement( - By.className("v-table-row-spacer")); - } - - protected void pressKeys(Actions actions) { - actions.keyDown(Keys.CONTROL); - } - - protected void checkPressedKeys() { - Assert.assertTrue(isElementPresent(By.className("ctrl"))); - } - -} diff --git a/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetails.java b/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetails.java deleted file mode 100644 index 853e6fe35e..0000000000 --- a/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetails.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2000-2013 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.tree; - -import com.vaadin.server.VaadinRequest; -import com.vaadin.tests.components.table.DndTableTargetDetails; -import com.vaadin.ui.Tree; - -/** - * Test UI for tree as a drop target: AbstractSelectTargetDetails should provide - * getMouseEvent() method. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndTreeTargetDetails extends DndTableTargetDetails { - - @Override - protected void setup(VaadinRequest request) { - createSourceTable(); - - Tree target = new Tree(); - target.addStyleName("target"); - target.setWidth(100, Unit.PERCENTAGE); - target.addItem("treeItem"); - target.setDropHandler(new TestDropHandler()); - addComponent(target); - } - - @Override - protected String getTestDescription() { - return "Mouse details should be available for AbstractSelectTargetDetails DnD when tree is a target"; - } - -} diff --git a/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetailsTest.java b/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetailsTest.java deleted file mode 100644 index 384034b70f..0000000000 --- a/uitest/src/com/vaadin/tests/components/tree/DndTreeTargetDetailsTest.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2013 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.tree; - -import org.openqa.selenium.WebElement; - -import com.vaadin.testbench.By; -import com.vaadin.tests.components.table.DndTableTargetDetailsTest; - -/** - * Test for mouse details in AbstractSelectTargetDetails class when DnD target - * is a tree. - * - * @since 7.3 - * @author Vaadin Ltd - */ -public class DndTreeTargetDetailsTest extends DndTableTargetDetailsTest { - - @Override - protected WebElement getTarget() { - return driver.findElement(By.className("target")); - } - -} -- 2.39.5