aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2018-02-07 16:08:29 +0200
committerIlia Motornyi <elmot@vaadin.com>2018-02-07 16:08:29 +0200
commitb31167b3e708ce068e3a1a104e613075aa261edb (patch)
tree5e1a4a6a004c33e6d5a4c84b195c82b5f801ef80 /uitest/src/main/java
parentece60ca12e44f930aaea36f35e3d103aec78237c (diff)
downloadvaadin-framework-b31167b3e708ce068e3a1a104e613075aa261edb.tar.gz
vaadin-framework-b31167b3e708ce068e3a1a104e613075aa261edb.zip
Implement NewItemProvider to replace NewItemHandler (#10606)
Diffstat (limited to 'uitest/src/main/java')
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxNewItemProvider.java35
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingNewItemValueChange.java51
2 files changed, 63 insertions, 23 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxNewItemProvider.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxNewItemProvider.java
new file mode 100644
index 0000000000..71f8503216
--- /dev/null
+++ b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxNewItemProvider.java
@@ -0,0 +1,35 @@
+package com.vaadin.tests.components.combobox;
+
+import java.util.Collections;
+import java.util.Optional;
+
+public class ComboBoxNewItemProvider
+ extends ComboBoxSelectingNewItemValueChange {
+
+ @Override
+ protected void configureNewItemHandling() {
+ comboBox.setNewItemProvider(text -> {
+ if (Boolean.TRUE.equals(delay.getValue())) {
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e1) {
+ e1.printStackTrace();
+ }
+ }
+ if (Boolean.TRUE.equals(reject.getValue())) {
+ valueChangeLabel.setValue("item " + text + " discarded");
+ return Optional.empty();
+ } else {
+ items.add(text);
+ Collections.sort(items);
+ valueChangeLabel
+ .setValue("adding new item... count: " + items.size());
+ comboBox.getDataProvider().refreshAll();
+ if (Boolean.TRUE.equals(noSelection.getValue())) {
+ return Optional.empty();
+ }
+ }
+ return Optional.of(text);
+ });
+ }
+}
diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingNewItemValueChange.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingNewItemValueChange.java
index a65e34be63..a6f5e8e297 100644
--- a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingNewItemValueChange.java
+++ b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxSelectingNewItemValueChange.java
@@ -16,7 +16,7 @@ import com.vaadin.ui.Notification;
public class ComboBoxSelectingNewItemValueChange extends ComboBoxSelecting {
- private final class CustomComboBox extends ComboBox<String> {
+ final class CustomComboBox extends ComboBox<String> {
private CustomComboBox(String caption, Collection<String> options) {
super(caption, options);
}
@@ -52,28 +52,7 @@ public class ComboBoxSelectingNewItemValueChange extends ComboBoxSelecting {
}
});
- comboBox.setNewItemHandler(text -> {
- if (Boolean.TRUE.equals(delay.getValue())) {
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e1) {
- e1.printStackTrace();
- }
- }
- if (Boolean.TRUE.equals(reject.getValue())) {
- valueChangeLabel.setValue("item " + text + " discarded");
- comboBox.getComboBoxClientRpc().newItemNotAdded(text);
- } else {
- items.add(text);
- Collections.sort(items);
- valueChangeLabel
- .setValue("adding new item... count: " + items.size());
- if (Boolean.TRUE.equals(noSelection.getValue())) {
- comboBox.getComboBoxClientRpc().newItemNotAdded(text);
- }
- comboBox.getDataProvider().refreshAll();
- }
- });
+ configureNewItemHandling();
comboBox.addValueChangeListener(e -> {
++valueChangeEventCount;
@@ -110,6 +89,32 @@ public class ComboBoxSelectingNewItemValueChange extends ComboBoxSelecting {
resetButton, delay, reject, noSelection);
}
+ @SuppressWarnings("deprecation")
+ protected void configureNewItemHandling() {
+ comboBox.setNewItemHandler(text -> {
+ if (Boolean.TRUE.equals(delay.getValue())) {
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e1) {
+ e1.printStackTrace();
+ }
+ }
+ if (Boolean.TRUE.equals(reject.getValue())) {
+ valueChangeLabel.setValue("item " + text + " discarded");
+ comboBox.getComboBoxClientRpc().newItemNotAdded(text);
+ } else {
+ items.add(text);
+ Collections.sort(items);
+ valueChangeLabel
+ .setValue("adding new item... count: " + items.size());
+ if (Boolean.TRUE.equals(noSelection.getValue())) {
+ comboBox.getComboBoxClientRpc().newItemNotAdded(text);
+ }
+ comboBox.getDataProvider().refreshAll();
+ }
+ });
+ }
+
private void initItems() {
items.clear();
for (char c = 'a'; c <= 'z'; c++) {