Examples of ImmutableTree


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

                String msg = "Failed to register custom privilege: Definition uses reserved namespace: " + name;
                throw new CommitFailedException("Privilege", 1, msg);
            }

            // validate the definition
            Tree tree = new ImmutableTree(ImmutableTree.ParentProvider.UNSUPPORTED, name, after);
            validateDefinition(tree);
        }

        // privilege definitions may not have child nodes (or another type of nodes
        // that is not handled by this validator anyway).
View Full Code Here

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

    }

    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

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

                    return TreePermission.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 TreePermission.EMPTY;
                    } else {
                        // TODO: may return wrong results in case of restrictions
                        // TODO that would match the path of the versionable node
                        // TODO (or item in the subtree) but that item no longer exists
                        // TODO -> evaluation by path would 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

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

                // FIXME don't rely on toString for session id
                if (provider.includeCommit(contentSession.toString(), info)) {
                    String basePath = provider.getPath();
                    EventFilter userFilter = provider.getFilter(previousRoot, root);
                    EventFilter acFilter = new ACFilter(previousRoot, root, permissionProvider, basePath);
                    ImmutableTree beforeTree = getTree(previousRoot, basePath);
                    ImmutableTree afterTree = getTree(root, basePath);
                    EventIterable<Event> events = new EventIterable<Event>(
                            beforeTree.getNodeState(), afterTree.getNodeState(),
                            Filters.all(userFilter, acFilter),
                            new JcrListener(beforeTree, afterTree, namePathMapper, info));
                    Iterator<Event> iterator = events.iterator();
                    if (iterator.hasNext() && runningMonitor.enterIf(running)) {
                        try {
View Full Code Here

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

        for (Entry<String, String> entry : global.entrySet()) {
            namespaces.setProperty(escapePropertyKey(entry.getKey()),
                    entry.getValue());
        }
        buildIndexNode(namespaces);
        return new ImmutableTree(root.getNodeState());
    }
View Full Code Here

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

@Service(EditorProvider.class)
public class ConflictValidatorProvider extends ValidatorProvider {

    @Override
    public Validator getRootValidator(NodeState before, NodeState after) {
        Tree rootAfter = new ImmutableTree(after);
        return new ConflictValidator(rootAfter);
    }
View Full Code Here

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

                Collections.<String>emptyList(), Type.REFERENCES);
    }

    private void resetToDefaultValue(NodeBuilder dest, PropertyState p)
            throws RepositoryException {
        ImmutableTree tree = new ImmutableTree(dest.getNodeState());
        PropertyDefinition def = ntMgr.getDefinition(tree, p, true);
        Value[] values = def.getDefaultValues();
        if (values != null) {
            if (p.isArray()) {
                p = PropertyStates.createProperty(p.getName(), values);
View Full Code Here

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

                throw new CommitFailedException(CommitFailedException.VERSION,
                        VersionExceptionCode.OPV_ABORT_ITEM_PRESENT.ordinal(),
                        "Checkin aborted due to OPV abort in " + name);
            }
            if (opv == OnParentVersionAction.VERSION) {
                if (ntMgr.isNodeType(new ImmutableTree(child.getNodeState()), MIX_VERSIONABLE)) {
                    // create frozen versionable child
                    versionedChild(child, dest.child(name));
                } else {
                    // else copy
                    copy(child, childId, dest.child(name));
View Full Code Here

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

            throws RepositoryException {
        if (!node.hasProperty(JCR_UUID)) {
            // quick check without looking at type hierarchy
            return false;
        }
        ImmutableTree tree = new ImmutableTree(node.getNodeState());
        return ntMgr.isNodeType(tree, MIX_REFERENCEABLE);
    }
View Full Code Here

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

            throws RepositoryException {
        // ignore hidden tree
        if (childName.startsWith(":")) {
            return IGNORE;
        }
        ImmutableTree parentTree = new ImmutableTree(parent.getNodeState());
        NodeState childState;
        if (NT_FROZENNODE.equals(child.getName(JCR_PRIMARYTYPE))) {
            // need to translate into a regular node to get proper OPV value
            NodeBuilder builder = new MemoryNodeBuilder(EmptyNodeState.EMPTY_NODE);
            builder.setProperty(JCR_PRIMARYTYPE, child.getName(JCR_FROZENPRIMARYTYPE), Type.NAME);
            builder.setProperty(JCR_MIXINTYPES, child.getNames(JCR_MIXINTYPES), Type.NAMES);
            childState = builder.getNodeState();
        } else {
            childState = child.getNodeState();
        }
        ImmutableTree childTree = new ImmutableTree(
                parentTree, childName, childState);
        return ntMgr.getDefinition(parentTree, childTree).getOnParentVersion();
    }
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.