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

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


        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

    private TreePermission getTreePermission() {
        if (treePermission == null
                || rootPermission != rootBuilder.treePermission) {
            NodeState base = builder.getBaseState();
            if (parent == null) {
                ImmutableTree baseTree = new ImmutableTree(base);
                treePermission = permissionProvider.get().getTreePermission(baseTree, TreePermission.EMPTY);
                rootPermission = treePermission;
            } else {
                treePermission = parent.getTreePermission().getChildPermission(name, base);
                rootPermission = parent.rootPermission;
View Full Code Here

    }

    @Test
    public void testGetTreePermission() {
        for (String path : paths) {
            ImmutableTree tree = new ImmutableRoot(root).getTree(path);
            assertTrue(tree.exists());

            assertSame(TreePermission.ALL, all.getTreePermission(tree, TreePermission.EMPTY));
            for (Tree child : tree.getChildren()) {
                assertSame(TreePermission.ALL, all.getTreePermission((ImmutableTree) child, TreePermission.EMPTY));
            }
        }
    }
View Full Code Here

    }

    @Test
    public void testIsGranted() {
        for (String path : paths) {
            ImmutableTree tree = new ImmutableRoot(root).getTree(path);
            assertTrue(tree.exists());

            assertTrue(all.isGranted(tree, null, Permissions.ALL));
            for (PropertyState prop : tree.getProperties()) {
                assertTrue(all.isGranted(tree, prop, Permissions.ALL));
            }
            for (Tree child : tree.getChildren()) {
                assertTrue(all.isGranted((ImmutableTree) child, null, Permissions.ALL));
            }
        }
    }
View Full Code Here

        }
        modified = true;
    }

    private static boolean containsValue(NodeState namespaces, String value) {
        return safeGet(new ImmutableTree(namespaces.getChildNode(REP_NSDATA)),
                REP_URIS).contains(value);
    }
View Full Code Here

    }

    private static TreePermission getTreePermission(PermissionProvider permissionProvider,
            NodeState root, String basePath) {
        TreePermission treePermission = permissionProvider.getTreePermission(
                new ImmutableTree(root), TreePermission.EMPTY);

        for (String name : PathUtils.elements(basePath)) {
            root = root.getChildNode(name);
            treePermission = treePermission.getChildPermission(name, root);
        }
View Full Code Here

        root = null;
    }

    @Test
    public void testGetPath() {
        ImmutableTree immutable = new ImmutableTree(mutableTree.getNodeState());
        assertEquals("/", immutable.getPath());

        immutable = immutable.getChild("x");
        assertEquals("/x", immutable.getPath());

        immutable = immutable.getChild("y");
        assertEquals("/x/y", immutable.getPath());

        immutable = immutable.getChild("z");
        assertEquals("/x/y/z", immutable.getPath());
    }
View Full Code Here

        assertEquals("/x/y/z", immutable.getPath());
    }

    @Test
    public void testGetNodeState() {
        ImmutableTree tree = new ImmutableTree(mutableTree.getNodeState());
        assertNotNull(tree.getNodeState());

        for (Tree child : tree.getChildren()) {
            assertTrue(child instanceof ImmutableTree);
            assertNotNull(((ImmutableTree) child).getNodeState());
        }
    }
View Full Code Here

        }
    }

    @Test
    public void testRoot() {
        ImmutableTree tree = new ImmutableTree(mutableTree.getNodeState());
        assertTrue(tree.isRoot());
        try {
            tree.getParent();
            fail();
        }
        catch (IllegalStateException expected) { }
        assertEquals("", tree.getName());
    }
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.