From 9b2b19366c77f164dbb54d057373713a02447984 Mon Sep 17 00:00:00 2001 From: Denis Anisimov Date: Thu, 18 Aug 2016 16:24:17 +0300 Subject: CustomField migration to new AbstractField (#61). Change-Id: I33dd7aa2cf91ba2606a602c8ba612bcc30b02622 --- .../tests/components/customfield/BooleanField.java | 30 ++++++++---------- .../components/customfield/CustomFieldSize.java | 37 ++++++++++++++-------- .../components/grid/GridEditorCustomField.java | 8 ++--- 3 files changed, 41 insertions(+), 34 deletions(-) (limited to 'uitest/src/main') diff --git a/uitest/src/main/java/com/vaadin/tests/components/customfield/BooleanField.java b/uitest/src/main/java/com/vaadin/tests/components/customfield/BooleanField.java index 20c004c068..355ba50143 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/customfield/BooleanField.java +++ b/uitest/src/main/java/com/vaadin/tests/components/customfield/BooleanField.java @@ -1,8 +1,6 @@ package com.vaadin.tests.components.customfield; import com.vaadin.ui.Button; -import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.Component; import com.vaadin.ui.CustomField; import com.vaadin.ui.Label; @@ -13,7 +11,9 @@ import com.vaadin.ui.VerticalLayout; * composed of multiple components, and could also edit a more complex data * structures. Here, the commit etc. logic is not overridden. */ -public class BooleanField extends CustomField { +public class BooleanField extends CustomField { + + private boolean value; @Override protected Component initContent() { @@ -22,25 +22,23 @@ public class BooleanField extends CustomField { layout.addComponent(new Label("Please click the button")); final Button button = new Button("Click me"); - button.addListener(new ClickListener() { - @Override - public void buttonClick(ClickEvent event) { - Object value = getValue(); - boolean newValue = true; - if ((value instanceof Boolean) && ((Boolean) value)) { - newValue = false; - } - setValue(newValue); - button.setCaption(newValue ? "On" : "Off"); - } + button.addClickListener(event -> { + setValue(!getValue()); + button.setCaption(getValue() ? "On" : "Off"); }); layout.addComponent(button); return layout; + + } + + @Override + public Boolean getValue() { + return value; } @Override - public Class getType() { - return Boolean.class; + protected void doSetValue(Boolean value) { + this.value = value; } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/customfield/CustomFieldSize.java b/uitest/src/main/java/com/vaadin/tests/components/customfield/CustomFieldSize.java index efc842c767..b26f00b5a4 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/customfield/CustomFieldSize.java +++ b/uitest/src/main/java/com/vaadin/tests/components/customfield/CustomFieldSize.java @@ -19,6 +19,7 @@ import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Component; import com.vaadin.ui.CustomField; +import com.vaadin.ui.TextField; import com.vaadin.ui.VerticalLayout; import com.vaadin.v7.ui.LegacyTextField; @@ -35,21 +36,9 @@ public class CustomFieldSize extends AbstractTestUI { setContent(layout); layout.setWidth("50px"); - layout.addComponent(new LegacyTextField()); + layout.addComponent(new TextField()); - layout.addComponent(new CustomField() { - - @Override - protected Component initContent() { - return new LegacyTextField(); - } - - @Override - public Class getType() { - return String.class; - } - - }); + layout.addComponent(new TestCustomField()); } @Override @@ -62,4 +51,24 @@ public class CustomFieldSize extends AbstractTestUI { return 12482; } + private static class TestCustomField extends CustomField { + + private TextField field = new TextField(); + + @Override + protected Component initContent() { + return field; + } + + @Override + public String getValue() { + return field.getValue(); + } + + @Override + protected void doSetValue(String value) { + field.setValue(value); + } + } + } diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorCustomField.java b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorCustomField.java index 7483e4e11c..40f4b81245 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorCustomField.java +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/GridEditorCustomField.java @@ -19,15 +19,15 @@ import java.util.HashSet; import java.util.Set; import com.vaadin.annotations.Theme; +import com.vaadin.legacy.ui.LegacyCustomField; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUIWithLog; import com.vaadin.tests.fieldgroup.ComplexPerson; import com.vaadin.ui.Button; import com.vaadin.ui.ComboBox; import com.vaadin.ui.Component; -import com.vaadin.ui.CustomField; -import com.vaadin.ui.LegacyGrid; import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.LegacyGrid; @Theme("valo") public class GridEditorCustomField extends AbstractTestUIWithLog { @@ -38,7 +38,7 @@ public class GridEditorCustomField extends AbstractTestUIWithLog { grid.setWidth("800px"); grid.setColumns("firstName", "lastName", "address.city"); grid.setEditorEnabled(true); - Set cities = new HashSet(); + Set cities = new HashSet<>(); for (Object o : grid.getContainerDataSource().getItemIds()) { ComplexPerson p = (ComplexPerson) o; cities.add(p.getAddress().getCity()); @@ -49,7 +49,7 @@ public class GridEditorCustomField extends AbstractTestUIWithLog { addComponent(grid); } - public static class CustomCitySelect extends CustomField { + public static class CustomCitySelect extends LegacyCustomField { private HorizontalLayout fieldLayout; private String[] values; private ComboBox cityComboBox; -- cgit v1.2.3