]> source.dussan.org Git - vaadin-framework.git/commitdiff
Replaced Filterable.hasContainerFilters with getContainerFilters (#11234)
authorArtur Signell <artur@vaadin.com>
Wed, 24 Apr 2013 10:17:35 +0000 (13:17 +0300)
committerVaadin Code Review <review@vaadin.com>
Wed, 24 Apr 2013 10:49:12 +0000 (10:49 +0000)
Change-Id: Ie0b05e55c1d8fc8d10d073c508b112da740c3333

server/src/com/vaadin/data/Container.java
server/src/com/vaadin/data/util/AbstractBeanContainer.java
server/src/com/vaadin/data/util/AbstractInMemoryContainer.java
server/src/com/vaadin/data/util/IndexedContainer.java
server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
server/src/com/vaadin/ui/Tree.java
server/tests/src/com/vaadin/data/util/AbstractContainerTest.java

index 4db346a0159f2acde5bca474e87262253cf83239..e93db52a35c1b606f6befd58baa66d64911f6302 100644 (file)
@@ -954,11 +954,14 @@ public interface Container extends Serializable {
         public void removeAllContainerFilters();
 
         /**
-         * Returns true if any filters have been applied to the container
+         * Returns the filters which have been applied to the container
          * 
+         * @return A collection of filters which have been applied to the
+         *         container. An empty collection if no filters have been
+         *         applied.
          * @since 7.1
          */
-        public boolean hasContainerFilters();
+        public Collection<Filter> getContainerFilters();
     }
 
     /**
index c587cf5163fd344860e6386c18ea22983f35435e..35403d641950f5402e91cde55fcf4c768044490a 100644 (file)
@@ -385,11 +385,26 @@ public abstract class AbstractBeanContainer<IDTYPE, BEANTYPE> extends
         removeFilter(filter);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.util.AbstractInMemoryContainer#hasContainerFilters()
+     */
     @Override
     public boolean hasContainerFilters() {
         return super.hasContainerFilters();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.util.AbstractInMemoryContainer#getContainerFilters()
+     */
+    @Override
+    public Collection<Filter> getContainerFilters() {
+        return super.getContainerFilters();
+    }
+
     /**
      * Make this container listen to the given property provided it notifies
      * when its value changes.
index 940f2302f5bdfca50570bd08d41fe609aeec13a5..84304431bcb09a514907c653c6187e95dcd4396e 100644 (file)
@@ -501,12 +501,22 @@ public abstract class AbstractInMemoryContainer<ITEMIDTYPE, PROPERTYIDCLASS, ITE
     }
 
     /**
-     * Checks if the container has filters
+     * Returns true if any filters have been applied to the container.
      * 
-     * @return Returns true if the container has container filters applied
+     * @return true if the container has filters applied, false otherwise
+     * @since 7.1
      */
     protected boolean hasContainerFilters() {
-        return !getFilters().isEmpty();
+        return !getContainerFilters().isEmpty();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.Container.Filterable#getContainerFilters()
+     */
+    protected Collection<Filter> getContainerFilters() {
+        return Collections.unmodifiableCollection(filters);
     }
 
     /**
index 31f37ac2770e82102c4ef91f4701b0361c4d3d46..d7bf70caf60ca4fbdc9846ce94fc8d1d2f0451b4 100644 (file)
@@ -1192,9 +1192,23 @@ public class IndexedContainer extends
         removeFilter(filter);
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.util.AbstractInMemoryContainer#getContainerFilters()
+     */
     @Override
     public boolean hasContainerFilters() {
         return super.hasContainerFilters();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.util.AbstractInMemoryContainer#getContainerFilters()
+     */
+    @Override
+    public Collection<Filter> getContainerFilters() {
+        return super.getContainerFilters();
+    }
 }
index f8efdf0d4f906811af458294116dd0190a1b964b..987466cdb7d95fddd8b21c1cf5463d2d5dbf80d9 100644 (file)
@@ -597,11 +597,23 @@ public class SQLContainer implements Container, Container.Filterable,
     }
 
     /**
-     * {@inheritDoc}
+     * Returns true if any filters have been applied to the container.
+     * 
+     * @return true if the container has filters applied, false otherwise
+     * @since 7.1
      */
-    @Override
     public boolean hasContainerFilters() {
-        return !filters.isEmpty();
+        return !getContainerFilters().isEmpty();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.data.Container.Filterable#getContainerFilters()
+     */
+    @Override
+    public Collection<Filter> getContainerFilters() {
+        return Collections.unmodifiableCollection(filters);
     }
 
     /**********************************************/
@@ -1825,4 +1837,5 @@ public class SQLContainer implements Container, Container.Filterable,
     private static final Logger getLogger() {
         return Logger.getLogger(SQLContainer.class.getName());
     }
+
 }
index a5c3819edd9084531c1781816c56b2a6379d8420..15175b5a8b391f4158aeb7fe611292dccbb59c96 100644 (file)
@@ -939,8 +939,8 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
             com.vaadin.data.Container.ItemSetChangeEvent event) {
         super.containerItemSetChange(event);
         if (getContainerDataSource() instanceof Filterable) {
-            boolean hasFilters = ((Filterable) getContainerDataSource())
-                    .hasContainerFilters();
+            boolean hasFilters = !((Filterable) getContainerDataSource())
+                    .getContainerFilters().isEmpty();
             if (!hasFilters) {
                 /*
                  * If Container is not filtered then the itemsetchange is caused
index 64db805623b373134d4644d72d8ce1326008bef3..81c90ba07bc3af3b86ec0b895adac10c2d02448a 100644 (file)
@@ -314,10 +314,12 @@ public abstract class AbstractContainerTest extends TestCase {
         initializeContainer(container);
 
         // Filter by "contains ab"
-        container.addContainerFilter(new SimpleStringFilter(
-                FULLY_QUALIFIED_NAME, "ab", false, false));
+        SimpleStringFilter filter1 = new SimpleStringFilter(
+                FULLY_QUALIFIED_NAME, "ab", false, false);
+        container.addContainerFilter(filter1);
 
-        assertTrue(container.hasContainerFilters());
+        assertTrue(container.getContainerFilters().size() == 1);
+        assertEquals(filter1, container.getContainerFilters().iterator().next());
 
         validateContainer(container, "com.vaadin.data.BufferedValidatable",
                 "com.vaadin.ui.TabSheet",
@@ -327,12 +329,14 @@ public abstract class AbstractContainerTest extends TestCase {
         // Filter by "contains da" (reversed as ad here)
         container.removeAllContainerFilters();
 
-        assertFalse(container.hasContainerFilters());
+        assertTrue(container.getContainerFilters().isEmpty());
 
-        container.addContainerFilter(new SimpleStringFilter(
-                REVERSE_FULLY_QUALIFIED_NAME, "ad", false, false));
+        SimpleStringFilter filter2 = new SimpleStringFilter(
+                REVERSE_FULLY_QUALIFIED_NAME, "ad", false, false);
+        container.addContainerFilter(filter2);
 
-        assertTrue(container.hasContainerFilters());
+        assertTrue(container.getContainerFilters().size() == 1);
+        assertEquals(filter2, container.getContainerFilters().iterator().next());
 
         validateContainer(container, "com.vaadin.data.Buffered",
                 "com.vaadin.server.ComponentSizeValidator",