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

        }

        //-------------------------------------------------< TreePermission >---
        @Override
        public TreePermission getChildPermission(String childName, NodeState childState) {
            ImmutableTree childTree = new ImmutableTree(tree, childName, childState);
            return getTreePermission(childTree, this);
        }
View Full Code Here

    //--------------------------------------------------< ValidatorProvider >---
    @Nonnull
    @Override
    public Validator getRootValidator(
            NodeState before, NodeState after, CommitInfo info) {
        ImmutableTree rootAfter = new ImmutableTree(after);

        RestrictionProvider restrictionProvider = getConfig(AuthorizationConfiguration.class).getRestrictionProvider();

        Root root = new ImmutableRoot(before);
        PrivilegeManager privilegeManager = getConfig(PrivilegeConfiguration.class).getPrivilegeManager(root, NamePathMapper.DEFAULT);
View Full Code Here

        // nothing to do: mandatory properties will be enforced by node type validator
    }

    @Override
    public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException {
        ImmutableTree treeAfter = checkNotNull(parentAfter.getChild(name));

        checkValidTree(parentAfter, treeAfter, after);
        return new AccessControlValidator(this, treeAfter);
    }
View Full Code Here

        return new AccessControlValidator(this, treeAfter);
    }

    @Override
    public Validator childNodeChanged(String name, NodeState before, NodeState after) throws CommitFailedException {
        ImmutableTree treeAfter = checkNotNull(parentAfter.getChild(name));

        checkValidTree(parentAfter, treeAfter, after);
        return new AccessControlValidator(this, treeAfter);
    }
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 @Nonnull
    public Validator getRootValidator(
            NodeState before, NodeState after, CommitInfo info) {
        membershipProvider = new MembershipProvider(new ImmutableRoot(after), config);
        return new UserValidator(new ImmutableTree(before), new ImmutableTree(after), this);
    }
View Full Code Here

    @Override @Nonnull
    public Validator getRootValidator(
            NodeState before, NodeState after, CommitInfo info) {
        PermissionProvider pp = acConfig.getPermissionProvider(new ImmutableRoot(before), workspaceName, principals);

        ImmutableTree rootBefore = new ImmutableTree(before);
        ImmutableTree rootAfter = new ImmutableTree(after);
        if (moveTracker.isEmpty()) {
            return new PermissionValidator(rootBefore, rootAfter, pp, this);
        } else {
            return new MoveAwarePermissionValidator(rootBefore, rootAfter, pp, this, moveTracker);
        }
View Full Code Here

                    return EMPTY;
                }
                if (VersionConstants.VERSION_STORE_NT_NAMES.contains(ntName) || VersionConstants.NT_ACTIVITY.equals(ntName)) {
                    return new TreePermissionImpl(tree, TreeTypeProvider.TYPE_VERSION, parentPermission);
                } else {
                    ImmutableTree versionableTree = getVersionableTree(tree);
                    if (versionableTree == null) {
                        log.warn("Cannot retrieve versionable node for " + tree.getPath());
                        return EMPTY;
                    } else {
                        /**
                         * NOTE: may return wrong results in case of restrictions
                         * that would match the path of the versionable node
                         * (or item in the subtree) but that item no longer exists
                         * -> evaluation by path might be more accurate (-> see #isGranted)
                         */
                        while (!versionableTree.exists()) {
                            versionableTree = versionableTree.getParent();
                        }
                        TreePermission pp = getParentPermission(versionableTree, TreeTypeProvider.TYPE_VERSION);
                        return new TreePermissionImpl(versionableTree, TreeTypeProvider.TYPE_VERSION, pp);
                    }
                }
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.