Package org.apache.jackrabbit.oak.core

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


            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


                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

                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

            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

            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

            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

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

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

    }

    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

TOP

Related Classes of org.apache.jackrabbit.oak.core.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.