Package org.apache.jackrabbit.oak.plugins.tree

Examples of org.apache.jackrabbit.oak.plugins.tree.ImmutableTree


     * **&#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() {
        EventFilter filter = new GlobbingPathFilter("**/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() {
        EventFilter 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

            this.index = index;

            principalName = Text.escapeIllegalJcrChars(node.getString(REP_PRINCIPAL_NAME));
            privilegeBits = bitsProvider.getBits(node.getNames(REP_PRIVILEGES));
            isAllow = isGrantACE.apply(node);
            restrictions = restrictionProvider.readRestrictions(Strings.emptyToNull(accessControlledPath), new ImmutableTree(node));
        }
View Full Code Here

        }
    }

    @Override
    public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException {
        ImmutableTree child = checkNotNull(parentAfter.getChild(name));
        if (isVersionstorageTree(child)) {
            child = getVersionHistoryTree(child);
            if (child == null) {
                throw new CommitFailedException(
                        ACCESS, 21, "New version storage node without version history: cannot verify permissions.");
View Full Code Here

    }


    @Override
    public Validator childNodeChanged(String name, NodeState before, NodeState after) throws CommitFailedException {
        ImmutableTree childBefore = parentBefore.getChild(name);
        ImmutableTree childAfter = parentAfter.getChild(name);
        return nextValidator(childBefore, childAfter, parentPermission.getChildPermission(name, before));
    }
View Full Code Here

        return nextValidator(childBefore, childAfter, parentPermission.getChildPermission(name, before));
    }

    @Override
    public Validator childNodeDeleted(String name, NodeState before) throws CommitFailedException {
        ImmutableTree child = parentBefore.getChild(name);
        if (isVersionstorageTree(child)) {
            throw new CommitFailedException(
                    ACCESS, 22, "Attempt to remove versionstorage node: Fail to verify delete permission.");
        }
        return checkPermissions(child, true, Permissions.REMOVE_NODE);
View Full Code Here

public final class ImmutableRoot implements Root {

    private final ImmutableTree rootTree;

    public ImmutableRoot(@Nonnull NodeState rootState) {
        this(new ImmutableTree(rootState));
    }
View Full Code Here

        this(new ImmutableTree(rootState));
    }

    public ImmutableRoot(@Nonnull Root root) {
        if (root instanceof MutableRoot) {
            rootTree = new ImmutableTree(((MutableRoot) root).getBaseState());
        } else if (root instanceof ImmutableRoot) {
            rootTree = ((ImmutableRoot) root).getTree("/");
        } else {
            throw new IllegalArgumentException("Unsupported Root implementation: " + root.getClass());
        }
View Full Code Here

    @Nonnull
    @Override
    public ImmutableTree getTree(@Nonnull String path) {
        checkArgument(PathUtils.isAbsolute(path));
        ImmutableTree child = rootTree;
        for (String name : elements(path)) {
            child = child.getChild(name);
        }
        return child;
    }
View Full Code Here

    public RepositoryPermission getRepositoryPermission() {
        throw new UnsupportedOperationException("Not supported");
    }

    public TreePermission getTreePermission(Tree tree, TreePermission parentPermission) {
        ImmutableTree immutableTree = getImmutableTree(tree);
        if (ctx.definesContextRoot(immutableTree)) {
            return TreePermission.EMPTY;
        }
        if (parentPermission instanceof CugTreePermission) {
            if (hasCug(immutableTree)) {
                return createCugPermission(immutableTree);
            } else {
                return new CugTreePermission(immutableTree, ((CugTreePermission) parentPermission).allow);
            }
        } else if (parentPermission == TreePermission.EMPTY && !immutableTree.isRoot()) {
            return TreePermission.EMPTY;
        } else {
            String path = immutableTree.getPath();
            if (includes(path)) {
                return createCugPermission(immutableTree);
            } else if (mayContainCug(path)) {
                return new EmptyCugPermission(immutableTree);
            } else {
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.oak.plugins.tree.ImmutableTree

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.