Examples of ImmutableTree


Examples of org.apache.jackrabbit.oak.core.ImmutableTree

            throws RepositoryException {
        if (property.getName().charAt(0) == ':') {
            // FIXME: handle child order properly
            return OnParentVersionAction.COPY;
        } else {
            return ntMgr.getDefinition(new ImmutableTree(node.getNodeState()),
                    property, false).getOnParentVersion();
        }
    }
View Full Code Here

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        }
        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

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

    }

    private Validator visibleValidator(@Nonnull ImmutableTree source,
                                       @Nonnull ImmutableTree dest) {
        // TODO improve: avoid calculating the 'before' permissions in case the current parent permissions already point to the correct tree.
        ImmutableTree parent = moveCtx.rootBefore.getTree("/");
        TreePermission tp = getPermissionProvider().getTreePermission(parent, TreePermission.EMPTY);
        for (String n : source.getPath().split("/")) {
            tp = tp.getChildPermission(n, parent.getChild(n).getNodeState());
        }
        Validator validator = createValidator(source, dest, tp, this);
        return new VisibleValidator(validator, true, false);
    }
View Full Code Here

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        private boolean processAdd(ImmutableTree child, MoveAwarePermissionValidator validator) throws CommitFailedException {
            // FIXME: respect and properly handle move-operations in the subtree
            String sourcePath = moveTracker.getOriginalSourcePath(child.getPath());
            if (sourcePath != null) {
                ImmutableTree source = rootBefore.getTree(sourcePath);
                if (source.exists()) {
                    // check permissions for adding the moved node at the target location.
                    validator.checkPermissions(child, false, Permissions.ADD_NODE | Permissions.NODE_TYPE_MANAGEMENT);
                    checkPermissions(source, Permissions.REMOVE_NODE);
                    return diff(source, child, validator);
                }
View Full Code Here

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        private boolean processDelete(ImmutableTree child, MoveAwarePermissionValidator validator) throws CommitFailedException {
            // FIXME: respect and properly handle move-operations in the subtree
            String destPath = moveTracker.getDestPath(child.getPath());
            if (destPath != null) {
                ImmutableTree dest = rootAfter.getTree(destPath);
                if (dest.exists()) {
                    // check permissions for removing that node.
                    validator.checkPermissions(child, true, Permissions.REMOVE_NODE);
                    checkPermissions(dest, Permissions.ADD_NODE|Permissions.NODE_TYPE_MANAGEMENT);
                    return diff(child, dest, validator);
                }
View Full Code Here

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        }

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

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

    //--------------------------------------------------< ValidatorProvider >---
    @Nonnull
    @Override
    public Validator getRootValidator(NodeState before, NodeState after) {
        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

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        // 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

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        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

Examples of org.apache.jackrabbit.oak.core.ImmutableTree

        NodeBuilder root = EMPTY_NODE.builder();
        createPath(root, "a/b/c/d");
        createPath(root, "q");
        createPath(root, "x/y/x/y/z");
        createPath(root, "r/s/t/u/v/r/s/t/u/v/r/s/t/u/v/w");
        tree = new ImmutableTree(root.getNodeState());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.