Package org.apache.jackrabbit.spi.commons.name

Examples of org.apache.jackrabbit.spi.commons.name.PathBuilder


            * entry that has been invalidated:
            * Skip all intermediate entries and directly try to load the
            * PropertyState (including building the intermediate entries. If that
            * fails ItemNotFoundException is thrown.
            */
            PathBuilder pb = new PathBuilder(getPathFactory());
            for (int j = i; j < elems.length; j++) {
                pb.addLast(elems[j]);
            }
            Path remainingPath = pb.getPath();

            IdFactory idFactory = getIdFactory();
            NodeId parentId = entry.getWorkspaceId();
            parentId = (remainingPath.getLength() == 1) ? parentId : idFactory.createNodeId(parentId, remainingPath.getAncestor(1));
            PropertyId propId = idFactory.createPropertyId(parentId, remainingPath.getNameElement().getName());
View Full Code Here


        // shortcut for root state
        if (parent == null) {
            return pf.getRootPath();
        }
        // build path otherwise
        PathBuilder builder = new PathBuilder(pf);
        buildPath(builder, this, wspPath);
        return builder.getPath();
    }
View Full Code Here

            removed.put(removedNodePath, removedNodePath);
            Name name = removedNodePath.getNameElement().getName();
            int index = removedNodePath.getNameElement().getNormalizedIndex();
            if (index > Path.INDEX_DEFAULT) {
                Path.Element[] elems = removedNodePath.getElements();
                PathBuilder pb = new PathBuilder();
                for (int i = 0; i <= elems.length - 2; i++) {
                    pb.addLast(elems[i]);
                }
                Path parent = pb.getPath();
                while (index > Path.INDEX_UNDEFINED) {
                    Path siblingP = getPathFactory().create(parent, name, --index, true);
                    if (removed.containsKey(siblingP)) {
                        // as the previous sibling has been remove -> the same index
                        // must be used to remove the node at removedNodePath.
View Full Code Here

                Name ntName = null;
                Node ntAttr = n.getAttributes().getNamedItem("primaryType");
                if (ntAttr != null) {
                    ntName = resolver.getQName(ntAttr.getNodeValue());
                }
                PathBuilder builder = new PathBuilder();
                for (String element : Text.explode(getTextContent(n), '/')) {
                    if (element.equals("*")) {
                        builder.addLast(NameConstants.ANY_NAME);
                    } else {
                        builder.addLast(resolver.getQName(element));
                    }
                }
                includes.add(new NodeInclude(builder.getPath(), ntName));
            }
        }
        return includes.toArray(new NodeInclude[includes.size()]);
    }
View Full Code Here

        List<PropertyInclude> includes = new ArrayList<PropertyInclude>();
        NodeList childNodes = config.getChildNodes();
        for (int i = 0; i < childNodes.getLength(); i++) {
            Node n = childNodes.item(i);
            if (n.getNodeName().equals("include-property")) {
                PathBuilder builder = new PathBuilder();
                for (String element : Text.explode(getTextContent(n), '/')) {
                    if (element.equals("*")) {
                        throw new IllegalNameException("* not supported in include-property");
                    }
                    builder.addLast(resolver.getQName(element));
                }
                includes.add(new PropertyInclude(builder.getPath()));
            }
        }
        return includes.toArray(new PropertyInclude[includes.size()]);
    }
View Full Code Here

        // check existence
        if (!hasNode(srcName.getName(), srcName.getIndex())) {
            String name;
            try {
                Path.Element[] path = new Path.Element[] { srcName };
                name = session.getJCRPath(new PathBuilder(path).getPath());
            } catch (NameException e) {
                name = srcName.toString();
            } catch (NamespaceException e) {
                name = srcName.toString();
            }
            throw new ItemNotFoundException(
                    this + " has no child node with name " + name);
        }
        if (dstName != null && !hasNode(dstName.getName(), dstName.getIndex())) {
            String name;
            try {
                Path.Element[] path = new Path.Element[] { dstName };
                name = session.getJCRPath(new PathBuilder(path).getPath());
            } catch (NameException e) {
                name = dstName.toString();
            } catch (NamespaceException e) {
                name = dstName.toString();
            }
View Full Code Here

        }

        NodeId parentId = getParentId();
        NodeImpl parentNode = (NodeImpl) getParent();
        Path parentPath = parentNode.getPrimaryPath();
        PathBuilder builder = new PathBuilder(parentPath);

        ChildNodeEntry entry = ((NodeState) parentNode.getItemState()).
                getChildNodeEntry(getNodeId());
        if (entry == null) {
            String msg = "failed to build path of " + id + ": "
                    + parentId + " has no child entry for "
                    + id;
            log.debug(msg);
            throw new ItemNotFoundException(msg);
        }
        // add to path
        if (entry.getIndex() == 1) {
            builder.addLast(entry.getName());
        } else {
            builder.addLast(entry.getName(), entry.getIndex());
        }
        return builder.getPath();
    }
View Full Code Here

                Node ntAttr = n.getAttributes().getNamedItem("primaryType");
                if (ntAttr != null) {
                    ntName = resolver.getQName(ntAttr.getNodeValue());
                }
                String[] elements = Text.explode(getTextContent(n), '/');
                PathBuilder builder = new PathBuilder();
                for (int j = 0; j < elements.length; j++) {
                    if (elements[j].equals("*")) {
                        builder.addLast(NameConstants.ANY_NAME);
                    } else {
                        builder.addLast(resolver.getQName(elements[j]));
                    }
                }
                includes.add(new NodeInclude(builder.getPath(), ntName));
            }
        }
        return (NodeInclude[]) includes.toArray(new NodeInclude[includes.size()]);
    }
View Full Code Here

        NodeList childNodes = config.getChildNodes();
        for (int i = 0; i < childNodes.getLength(); i++) {
            Node n = childNodes.item(i);
            if (n.getNodeName().equals("include-property")) {
                String[] elements = Text.explode(getTextContent(n), '/');
                PathBuilder builder = new PathBuilder();
                for (int j = 0; j < elements.length; j++) {
                    if (elements[j].equals("*")) {
                        throw new IllegalNameException("* not supported in include-property");
                    }
                    builder.addLast(resolver.getQName(elements[j]));
                }
                includes.add(new PropertyInclude(builder.getPath()));
            }
        }
        return (PropertyInclude[]) includes.toArray(new PropertyInclude[includes.size()]);
    }
View Full Code Here

            if (p != null) {
                removedNodeIds.add(itemId);
                int index = p.getNameElement().getNormalizedIndex();
                if (index > Path.INDEX_DEFAULT) {
                    Path.Element[] elems = p.getElements();
                    PathBuilder pb = new PathBuilder();
                    for (int i = 0; i <= elems.length - 2; i++) {
                        pb.addLast(elems[i]);
                    }
                    pb.addLast(p.getNameElement().getName(), index - 1);

                    NodeId prevSibling = idFactory.createNodeId(itemId.getUniqueID(), pb.getPath());
                    if (removedNodeIds.contains(prevSibling)) {
                        nodeId = prevSibling;
                    }
                }
            }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.spi.commons.name.PathBuilder

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.