From 411b8dedb02be7ed1a9332fc1f965e583bd313cc Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Fri, 25 Nov 2016 13:56:36 +0200 Subject: Type Listing for DataProvider to allow custom filter types Listing has been moved from AbstractListing to each individual Component. ComboBox is now typed to String filter. Fixes issues with declarative read of items. Change-Id: I6918f9f8c426dcbd81546150c2cf9ed49a02bf50 --- .../tests/design/DeclarativeTestBaseBase.java | 4 ++-- .../AbstractListingDeclarativeTest.java | 7 ++++--- .../AbstractMultiSelectDeclarativeTest.java | 9 +++++---- .../AbstractSingleSelectDeclarativeTest.java | 5 +++-- .../CheckBoxGroupDeclarativeTest.java | 4 ++-- .../combobox/ComboBoxDeclarativeTest.java | 4 ++-- .../java/com/vaadin/ui/AbstractListingTest.java | 18 +++++++++++++++-- .../com/vaadin/ui/AbstractMultiSelectTest.java | 9 +++++---- .../com/vaadin/ui/AbstractSingleSelectTest.java | 23 +++++++++++++++++++--- 9 files changed, 59 insertions(+), 24 deletions(-) (limited to 'server/src/test/java') diff --git a/server/src/test/java/com/vaadin/tests/design/DeclarativeTestBaseBase.java b/server/src/test/java/com/vaadin/tests/design/DeclarativeTestBaseBase.java index 161d053cca..5d91415193 100644 --- a/server/src/test/java/com/vaadin/tests/design/DeclarativeTestBaseBase.java +++ b/server/src/test/java/com/vaadin/tests/design/DeclarativeTestBaseBase.java @@ -102,11 +102,11 @@ public abstract class DeclarativeTestBaseBase { protected void assertEquals(String message, Object o1, Object o2) { if (o1 == null) { - Assert.assertEquals(message, null, o2); + Assert.assertNull(message, o2); return; } if (o2 == null) { - Assert.assertEquals(message, null, o1); + Assert.assertNull(message, o1); return; } diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractlisting/AbstractListingDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractlisting/AbstractListingDeclarativeTest.java index c056836dc0..590d7ec8ea 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractlisting/AbstractListingDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/abstractlisting/AbstractListingDeclarativeTest.java @@ -23,6 +23,7 @@ import java.util.List; import org.junit.Test; +import com.vaadin.data.Listing; import com.vaadin.server.ExternalResource; import com.vaadin.server.FileResource; import com.vaadin.server.Resource; @@ -45,9 +46,9 @@ import com.vaadin.ui.ItemCaptionGenerator; *

* Common {@link AbstractComponent} properties are tested in * {@link AbstractComponentDeclarativeTestBase} - * + * * @see AbstractComponentDeclarativeTestBase - * + * * @author Vaadin Ltd * * @@ -55,7 +56,7 @@ import com.vaadin.ui.ItemCaptionGenerator; * a component type */ @SuppressWarnings({ "unchecked", "rawtypes" }) -public abstract class AbstractListingDeclarativeTest +public abstract class AbstractListingDeclarativeTest extends AbstractComponentDeclarativeTestBase { private static final String EXTERNAL_URL = "http://example.com/example.gif"; diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractmultiselect/AbstractMultiSelectDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractmultiselect/AbstractMultiSelectDeclarativeTest.java index da8127ea8d..53d826592b 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractmultiselect/AbstractMultiSelectDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/abstractmultiselect/AbstractMultiSelectDeclarativeTest.java @@ -22,6 +22,7 @@ import java.util.List; import org.junit.Test; +import com.vaadin.data.Listing; import com.vaadin.tests.server.component.abstractlisting.AbstractListingDeclarativeTest; import com.vaadin.ui.AbstractMultiSelect; @@ -30,17 +31,17 @@ import com.vaadin.ui.AbstractMultiSelect; *

* Test inherits test methods from a {@link AbstractListingDeclarativeTest} * class providing here only common cases for {@link AbstractMultiSelect}s. - * + * * @see AbstractListingDeclarativeTest - * + * * @author Vaadin Ltd * * * @param * a component type */ -@SuppressWarnings({ "unchecked", "rawtypes" }) -public abstract class AbstractMultiSelectDeclarativeTest +@SuppressWarnings({ "rawtypes", "unchecked" }) +public abstract class AbstractMultiSelectDeclarativeTest extends AbstractListingDeclarativeTest { @Override diff --git a/server/src/test/java/com/vaadin/tests/server/component/abstractsingleselect/AbstractSingleSelectDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/abstractsingleselect/AbstractSingleSelectDeclarativeTest.java index 48b71ffcf1..1ef1f7addf 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/abstractsingleselect/AbstractSingleSelectDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/abstractsingleselect/AbstractSingleSelectDeclarativeTest.java @@ -22,6 +22,7 @@ import java.util.List; import org.junit.Test; +import com.vaadin.data.Listing; import com.vaadin.tests.server.component.abstractlisting.AbstractListingDeclarativeTest; import com.vaadin.ui.AbstractSingleSelect; import com.vaadin.ui.ItemCaptionGenerator; @@ -31,7 +32,7 @@ import com.vaadin.ui.ItemCaptionGenerator; *

* Test inherits test methods from a {@link AbstractListingDeclarativeTest} * class providing here only common cases for {@link AbstractSingleSelect}s. - * + * * @author Vaadin Ltd * * @@ -39,7 +40,7 @@ import com.vaadin.ui.ItemCaptionGenerator; * a component type */ @SuppressWarnings({ "unchecked", "rawtypes" }) -public abstract class AbstractSingleSelectDeclarativeTest +public abstract class AbstractSingleSelectDeclarativeTest extends AbstractListingDeclarativeTest { @Override diff --git a/server/src/test/java/com/vaadin/tests/server/component/checkboxgroup/CheckBoxGroupDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/checkboxgroup/CheckBoxGroupDeclarativeTest.java index c28776f0dc..f94938b765 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/checkboxgroup/CheckBoxGroupDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/checkboxgroup/CheckBoxGroupDeclarativeTest.java @@ -29,9 +29,9 @@ import com.vaadin.ui.CheckBoxGroup; * Only {@link CheckBoxGroup#setHtmlContentAllowed(boolean)} is tested here * explicitly. All other tests are in the super class ( * {@link AbstractMultiSelectDeclarativeTest}). - * + * * @see AbstractMultiSelectDeclarativeTest - * + * * @author Vaadin Ltd * */ diff --git a/server/src/test/java/com/vaadin/tests/server/component/combobox/ComboBoxDeclarativeTest.java b/server/src/test/java/com/vaadin/tests/server/component/combobox/ComboBoxDeclarativeTest.java index d0ec56e0a7..c35af4a6a2 100644 --- a/server/src/test/java/com/vaadin/tests/server/component/combobox/ComboBoxDeclarativeTest.java +++ b/server/src/test/java/com/vaadin/tests/server/component/combobox/ComboBoxDeclarativeTest.java @@ -31,9 +31,9 @@ import com.vaadin.ui.StyleGenerator; *

* There are only ComboBox specific properties explicit tests. All other tests * are in the super class ( {@link AbstractSingleSelectDeclarativeTest}). - * + * * @see AbstractSingleSelectDeclarativeTest - * + * * @author Vaadin Ltd * */ diff --git a/server/src/test/java/com/vaadin/ui/AbstractListingTest.java b/server/src/test/java/com/vaadin/ui/AbstractListingTest.java index b2f303ae24..369efd6e89 100644 --- a/server/src/test/java/com/vaadin/ui/AbstractListingTest.java +++ b/server/src/test/java/com/vaadin/ui/AbstractListingTest.java @@ -11,6 +11,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import com.vaadin.data.Listing; import com.vaadin.server.data.BackEndDataProvider; import com.vaadin.server.data.DataProvider; import com.vaadin.server.data.ListDataProvider; @@ -22,7 +23,8 @@ import elemental.json.JsonObject; public class AbstractListingTest { - private final class TestListing extends AbstractSingleSelect { + private final class TestListing extends AbstractSingleSelect + implements Listing> { /** * Used to execute data generation @@ -38,7 +40,19 @@ public class AbstractListingTest { } @Override - protected void readItems(Element design, DesignContext context) { + protected List readItems(Element design, + DesignContext context) { + return null; + } + + @Override + public DataProvider getDataProvider() { + return internalGetDataProvider(); + } + + @Override + public void setDataProvider(DataProvider dataProvider) { + internalSetDataProvider(dataProvider); } } diff --git a/server/src/test/java/com/vaadin/ui/AbstractMultiSelectTest.java b/server/src/test/java/com/vaadin/ui/AbstractMultiSelectTest.java index e31e6e28db..ff8d1fcead 100644 --- a/server/src/test/java/com/vaadin/ui/AbstractMultiSelectTest.java +++ b/server/src/test/java/com/vaadin/ui/AbstractMultiSelectTest.java @@ -26,7 +26,6 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import java.util.stream.Stream; -import com.vaadin.server.data.DataProvider; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -38,22 +37,24 @@ import org.junit.runners.Parameterized.Parameters; import org.mockito.Mockito; import com.vaadin.data.HasValue.ValueChangeEvent; +import com.vaadin.data.Listing; import com.vaadin.event.selection.MultiSelectionEvent; import com.vaadin.event.selection.MultiSelectionListener; +import com.vaadin.server.data.DataProvider; import com.vaadin.shared.Registration; import com.vaadin.shared.data.selection.MultiSelectServerRpc; @RunWith(Parameterized.class) -public class AbstractMultiSelectTest { +public class AbstractMultiSelectTest & Listing>> { @Parameters(name = "{0}") - public static Iterable> multiSelects() { + public static Iterable multiSelects() { return Arrays.asList(new CheckBoxGroup<>(), new TwinColSelect<>(), new ListSelect<>()); } @Parameter - public AbstractMultiSelect selectToTest; + public S selectToTest; private MultiSelectServerRpc rpc; diff --git a/server/src/test/java/com/vaadin/ui/AbstractSingleSelectTest.java b/server/src/test/java/com/vaadin/ui/AbstractSingleSelectTest.java index 4ea3fdcfa0..ee129d0e0a 100644 --- a/server/src/test/java/com/vaadin/ui/AbstractSingleSelectTest.java +++ b/server/src/test/java/com/vaadin/ui/AbstractSingleSelectTest.java @@ -32,8 +32,10 @@ import org.junit.Test; import org.mockito.Mockito; import com.vaadin.data.HasValue.ValueChangeEvent; +import com.vaadin.data.Listing; import com.vaadin.event.selection.SingleSelectionEvent; import com.vaadin.event.selection.SingleSelectionListener; +import com.vaadin.server.data.DataProvider; import com.vaadin.server.data.provider.bov.Person; import com.vaadin.shared.Registration; import com.vaadin.shared.data.DataCommunicatorClientRpc; @@ -48,7 +50,8 @@ public class AbstractSingleSelectTest { private List selectionChanges; - private static class PersonListing extends AbstractSingleSelect { + private static class PersonListing extends AbstractSingleSelect + implements Listing> { @Override protected Element writeItem(Element design, Person item, @@ -57,7 +60,19 @@ public class AbstractSingleSelectTest { } @Override - protected void readItems(Element design, DesignContext context) { + protected List readItems(Element design, + DesignContext context) { + return null; + } + + @Override + public DataProvider getDataProvider() { + return internalGetDataProvider(); + } + + @Override + public void setDataProvider(DataProvider dataProvider) { + internalSetDataProvider(dataProvider); } } @@ -240,7 +255,9 @@ public class AbstractSingleSelectTest { } @Override - protected void readItems(Element design, DesignContext context) { + protected List readItems(Element design, + DesignContext context) { + return null; } }; -- cgit v1.2.3