Package org.apache.jackrabbit.oak.plugins.observation.filter.EventGenerator

Examples of org.apache.jackrabbit.oak.plugins.observation.filter.EventGenerator.Filter


    /**
     * **&#47/y/z should match x/y/x/y/z
     */
    @Test
    public void starStarGlob() {
        Filter rootFilter = new GlobbingPathFilter(tree, tree, "**/y/z");
        NodeState x1 = tree.getChild("x").getNodeState();
        assertFalse(rootFilter.includeAdd("x", x1));

        Filter x1Filter = rootFilter.create("x", x1, x1);
        assertNotNull(x1Filter);
        NodeState y1 = x1.getChildNode("y");
        assertFalse(x1Filter.includeAdd("y", y1));

        Filter y1Filter = x1Filter.create("y", y1, y1);
        assertNotNull(y1Filter);
        NodeState x2 = y1.getChildNode("x");
        assertFalse(y1Filter.includeAdd("x", x2));

        Filter x2Filter = y1Filter.create("x", x2, x2);
        assertNotNull(x2Filter);
        NodeState y2 = x2.getChildNode("y");
        assertFalse(x2Filter.includeAdd("y", y2));

        Filter y2Filter = x2Filter.create("y", y2, y2);
        assertNotNull(y2Filter);
        NodeState z = y2.getChildNode("z");
        assertTrue(y2Filter.includeAdd("z", z));

        Filter zFilter = (y2Filter.create("z", z, z));
        assertFalse(zFilter.includeAdd("x", EMPTY_NODE));
    }
View Full Code Here


    /**
     * **&#47a/b/c should match a/b/c
     */
    @Test
    public void matchAtStart() {
        Filter rootFilter = new GlobbingPathFilter(tree, tree, "**/a/b/c");
        NodeState a = tree.getChild("a").getNodeState();
        assertFalse(rootFilter.includeAdd("a", a));

        Filter aFilter = rootFilter.create("a", a, a);
        assertNotNull(aFilter);
        NodeState b = a.getChildNode("b");
        assertFalse(aFilter.includeAdd("b", b));

        Filter bFilter = aFilter.create("b", b, b);
        assertNotNull(bFilter);
        NodeState c = b.getChildNode("c");
        assertTrue(bFilter.includeAdd("c", b));
        assertFalse(bFilter.includeAdd("x", b));
    }
View Full Code Here

    /**
     * **&#47r/s/t/u/v should match r/s/t/u/v and r/s/t/u/v/r/s/t/u/v and r/s/t/u/v/r/s/t/u/v/r/s/t/u/v
     */
    @Test
    public void multipleMatches() {
        Filter filter = new GlobbingPathFilter(tree, tree, "**/r/s/t/u/v");
        ImmutableTree t = tree;

        for(int c = 0; c < 2; c++) {
            for(String name : elements("r/s/t/u")) {
                t = t.getChild(name);
                assertFalse(filter.includeAdd(name, t.getNodeState()));
                filter = filter.create(name, t.getNodeState(), t.getNodeState());
                assertNotNull(filter);
            }

            t = t.getChild("v");
            assertTrue(filter.includeAdd("v", t.getNodeState()));
            filter = filter.create("v", t.getNodeState(), t.getNodeState());
            assertNotNull(filter);
        }
    }
View Full Code Here

    /**
     * **&#47r/s/t/u/v/w should match r/s/t/u/v/r/s/t/u/v/r/s/t/u/v/w
     */
    @Test
    public void matchAtEnd() {
        Filter filter = new GlobbingPathFilter(tree, tree, "**/r/s/t/u/v/w");
        ImmutableTree t = tree;

        for(String name : elements("r/s/t/u/v/r/s/t/u/v/r/s/t/u/v")) {
            t = t.getChild(name);
            assertFalse(filter.includeAdd(name, t.getNodeState()));
            filter = filter.create(name, t.getNodeState(), t.getNodeState());
            assertNotNull(filter);
        }

        t = t.getChild("w");
        assertTrue(filter.includeAdd("w", t.getNodeState()));
        filter = filter.create("w", t.getNodeState(), t.getNodeState());
        assertNotNull(filter);
    }
View Full Code Here

    /**
     * r/s/t&#47** should match r/s/t and all its descendants
     */
    @Test
    public void matchSuffix() {
        Filter filter = new GlobbingPathFilter(tree, tree, "r/s/t/**");
        ImmutableTree t = tree;

        for(String name : elements("r/s")) {
            t = t.getChild(name);
            assertFalse(filter.includeAdd(name, t.getNodeState()));
            filter = filter.create(name, t.getNodeState(), t.getNodeState());
            assertNotNull(filter);
        }

        for (String name: elements("t/u/v/r/s/t/u/v/r/s/t/u/v/w")) {
            t = t.getChild(name);
            assertTrue(filter.includeAdd(name, t.getNodeState()));
            filter = filter.create(name, t.getNodeState(), t.getNodeState());
            assertNotNull(filter);
        }
    }
View Full Code Here

        if (filters.isEmpty()) {
            return EXCLUDE_ALL;
        } else if (filters.size() == 1) {
            return filters.get(0);
        } else {
            return new Filter() {
                @Override
                public boolean includeAdd(PropertyState after) {
                    for (Filter filter : filters) {
                        if (filter.includeAdd(after)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeChange(PropertyState before, PropertyState after) {
                    for (Filter filter : filters) {
                        if (filter.includeChange(before, after)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeDelete(PropertyState before) {
                    for (Filter filter : filters) {
                        if (filter.includeDelete(before)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeAdd(String name, NodeState after) {
                    for (Filter filter : filters) {
                        if (filter.includeAdd(name, after)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeChange(String name, NodeState before, NodeState after) {
                    for (Filter filter : filters) {
                        if (filter.includeChange(name, before, after)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeDelete(String name, NodeState before) {
                    for (Filter filter : filters) {
                        if (filter.includeDelete(name, before)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public boolean includeMove(String sourcePath, String name, NodeState moved) {
                    for (Filter filter : filters) {
                        if (filter.includeMove(sourcePath, name, moved)) {
                            return true;
                        }
                    }
                    return false;
                }

                @Override
                public Filter create(String name, NodeState before, NodeState after) {
                    List<Filter> childFilters = Lists.newArrayList();
                    for (Filter filter : filters) {
                        Filter childFilter = filter.create(name, before, after);
                        if (childFilter != null) {
                            childFilters.add(childFilter);
                        }
                    }
                    return any(childFilters);
View Full Code Here

        if (filters.isEmpty()) {
            return INCLUDE_ALL;
        } else if (filters.size() == 1) {
            return filters.get(0);
        } else {
            return new Filter() {
                @Override
                public boolean includeAdd(PropertyState after) {
                    for (Filter filter : filters) {
                        if (!filter.includeAdd(after)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeChange(PropertyState before, PropertyState after) {
                    for (Filter filter : filters) {
                        if (!filter.includeChange(before, after)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeDelete(PropertyState before) {
                    for (Filter filter : filters) {
                        if (!filter.includeDelete(before)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeAdd(String name, NodeState after) {
                    for (Filter filter : filters) {
                        if (!filter.includeAdd(name, after)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeChange(String name, NodeState before, NodeState after) {
                    for (Filter filter : filters) {
                        if (!filter.includeChange(name, before, after)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeDelete(String name, NodeState before) {
                    for (Filter filter : filters) {
                        if (!filter.includeDelete(name, before)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public boolean includeMove(String sourcePath, String name, NodeState moved) {
                    for (Filter filter : filters) {
                        if (!filter.includeMove(sourcePath, name, moved)) {
                            return false;
                        }
                    }
                    return true;
                }

                @Override
                public Filter create(String name, NodeState before, NodeState after) {
                    List<Filter> childFilters = Lists.newArrayList();
                    for (Filter filter : filters) {
                        Filter childFilter = filter.create(name, before, after);
                        if (childFilter == null) {
                            return null;
                        } else {
                            childFilters.add(childFilter);
                        }
View Full Code Here

    public static Filter excludeAll() {
        return new ConstantFilter(false);
    }

    private static Filter any(final List<Filter> filters) {
        return new Filter() {
            @Override
            public boolean includeAdd(PropertyState after) {
                for (Filter filter : filters) {
                    if (filter.includeAdd(after)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeChange(PropertyState before, PropertyState after) {
                for (Filter filter : filters) {
                    if (filter.includeChange(before, after)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeDelete(PropertyState before) {
                for (Filter filter : filters) {
                    if (filter.includeDelete(before)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeAdd(String name, NodeState after) {
                for (Filter filter : filters) {
                    if (filter.includeAdd(name, after)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeChange(String name, NodeState before, NodeState after) {
                for (Filter filter : filters) {
                    if (filter.includeChange(name, before, after)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeDelete(String name, NodeState before) {
                for (Filter filter : filters) {
                    if (filter.includeDelete(name, before)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public boolean includeMove(String sourcePath, String destPath, NodeState moved) {
                for (Filter filter : filters) {
                    if (filter.includeMove(sourcePath, destPath, moved)) {
                        return true;
                    }
                }
                return false;
            }

            @Override
            public Filter create(String name, NodeState before, NodeState after) {
                List<Filter> childFilters = Lists.newArrayList();
                for (Filter filter : filters) {
                    Filter childFilter = filter.create(name, before, after);
                    if (childFilter != null) {
                        childFilters.add(childFilter);
                    }
                }
                return any(childFilters);
View Full Code Here

            }
        };
    }

    private static Filter all(final List<Filter> filters) {
        return new Filter() {
            @Override
            public boolean includeAdd(PropertyState after) {
                for (Filter filter : filters) {
                    if (!filter.includeAdd(after)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeChange(PropertyState before, PropertyState after) {
                for (Filter filter : filters) {
                    if (!filter.includeChange(before, after)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeDelete(PropertyState before) {
                for (Filter filter : filters) {
                    if (!filter.includeDelete(before)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeAdd(String name, NodeState after) {
                for (Filter filter : filters) {
                    if (!filter.includeAdd(name, after)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeChange(String name, NodeState before, NodeState after) {
                for (Filter filter : filters) {
                    if (!filter.includeChange(name, before, after)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeDelete(String name, NodeState before) {
                for (Filter filter : filters) {
                    if (!filter.includeDelete(name, before)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public boolean includeMove(String sourcePath, String destPath, NodeState moved) {
                for (Filter filter : filters) {
                    if (!filter.includeMove(sourcePath, destPath, moved)) {
                        return false;
                    }
                }
                return true;
            }

            @Override
            public Filter create(String name, NodeState before, NodeState after) {
                List<Filter> childFilters = Lists.newArrayList();
                for (Filter filter : filters) {
                    Filter childFilter = filter.create(name, before, after);
                    if (childFilter == null) {
                        return null;
                    } else {
                        childFilters.add(childFilter);
                    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.oak.plugins.observation.filter.EventGenerator.Filter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.