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

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


    /**
     * r/s/t&#47** should match r/s/t and all its descendants
     */
    @Test
    public void matchSuffix() {
        Filter filter = new GlobbingPathFilter("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


            try {
                FilterProvider provider = filterProvider.get();
                // FIXME don't rely on toString for session id
                if (provider.includeCommit(contentSession.toString(), info)) {
                    String basePath = provider.getPath();
                    Filter userFilter = provider.getFilter(previousRoot, root);
                    Filter acFilter = new ACFilter(previousRoot, root, permissionProvider, basePath);
                    ImmutableTree beforeTree = getTree(previousRoot, basePath);
                    ImmutableTree afterTree = getTree(root, basePath);
                    EventIterator<Event> events = new EventIterator<Event>(
                            beforeTree.getNodeState(), afterTree.getNodeState(),
                            Filters.all(userFilter, acFilter),
View Full Code Here

        if (checkNotNull(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 (checkNotNull(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

    /**
     * An empty path pattern should match no path
     */
    @Test
    public void emptyMatchesNothing() {
        Filter rootFilter = new GlobbingPathFilter(tree, tree, "");
        NodeState a = tree.getChild("a").getNodeState();
        assertFalse(rootFilter.includeAdd("a", a));
        assertNull(rootFilter.create("a", a, a));
    }
View Full Code Here

    /**
     * q should match q
     */
    @Test
    public void singleMatchesSingle() {
        Filter filter = new GlobbingPathFilter(tree, tree, "q");
        ImmutableTree t = tree;

        assertTrue(filter.includeAdd("q", t.getNodeState()));
    }
View Full Code Here

    /**
     * * should match q
     */
    @Test
    public void starMatchesSingle() {
        Filter filter = new GlobbingPathFilter(tree, tree, STAR);
        ImmutableTree t = tree;

        assertTrue(filter.includeAdd("q", t.getNodeState()));
    }
View Full Code Here

    /**
     * ** should match every path
     */
    @Test
    public void all() {
        Filter filter = new GlobbingPathFilter(tree, tree, STAR_STAR);
        ImmutableTree t = tree;

        for(String name : elements("a/b/c/d")) {
            t = t.getChild(name);
            assertTrue(filter.includeAdd(name, t.getNodeState()));
            filter = filter.create(name, t.getNodeState(), t.getNodeState());
            assertNotNull(filter);
        }
    }
View Full Code Here

    /**
     * a/b/c should match a/b/c
     */
    @Test
    public void literal() {
        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));

        assertNull(bFilter.create("c", c, c));
    }
View Full Code Here

    /**
     * a/*&#47c should match a/b/c
     */
    @Test
    public void starGlob() {
        Filter rootFilter = new GlobbingPathFilter(tree, tree, "a/*/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));

        assertNull(bFilter.create("c", c, c));
    }
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.