Package org.apache.jackrabbit.spi

Examples of org.apache.jackrabbit.spi.ItemInfo


        // deal with all additional ItemInfos that may be present.
        NodeEntry parentEntry = nodeState.getNodeEntry();
        if (parentEntry.getStatus() != Status.INVALIDATED) {
            while (itemInfos.hasNext()) {
                ItemInfo info = (ItemInfo) itemInfos.next();
                if (info.denotesNode()) {
                    createDeepNodeState((NodeInfo) info, parentEntry, infos);
                } else {
                    createDeepPropertyState((PropertyInfo) info, parentEntry, infos);
                }
            }
View Full Code Here


        /**
         * @return <code>true</code> if the next info could be retrieved.
         */
        private boolean prefetch() {
            if (infos.hasNext()) {
                ItemInfo info = (ItemInfo) infos.next();
                prefetchQueue.add(info);
                if (info.denotesNode()) {
                    NodeInfo nodeInfo = (NodeInfo) info;
                    nodeInfos.put(nodeInfo.getId(), nodeInfo);
                }
                return true;
            } else {
View Full Code Here

        // Assuming locality of the itemInfos, we keep an estimate of a parent entry.
        // This reduces the part of the hierarchy to traverse. For large batches this
        // optimization results in about 25% speed up.
        NodeEntry approxParentEntry = nodeState.getNodeEntry();
        while (infos.hasNext()) {
            ItemInfo info = infos.next();
            if (info.denotesNode()) {
                approxParentEntry = createDeepNodeState((NodeInfo) info, approxParentEntry, infos).getNodeEntry();
            } else {
                createDeepPropertyState((PropertyInfo) info, approxParentEntry, infos);
            }
        }
View Full Code Here

         */
        public ItemInfo next() {
            if (prefetchQueue.isEmpty()) {
                throw new NoSuchElementException();
            } else {
                ItemInfo next = prefetchQueue.remove(0);
                if (next instanceof NodeInfo) {
                    nodeInfos.remove(((NodeInfo) next).getId());
                }
                return next;
            }
View Full Code Here

        /**
         * @return <code>true</code> if the next info could be retrieved.
         */
        private boolean prefetch() {
            if (infos.hasNext()) {
                ItemInfo info = infos.next();
                prefetchQueue.add(info);
                if (info.denotesNode()) {
                    NodeInfo nodeInfo = (NodeInfo) info;
                    nodeInfos.put(nodeInfo.getId(), nodeInfo);
                }
                return true;
            } else {
View Full Code Here

     */
    public void testGetItemInfosRootFirst() throws RepositoryException {
        itemInfosProvider = new Iterable() {
            Predicate isRoot = new Predicate() {
                public boolean evaluate(Object object) {
                    ItemInfo itemInfo = (ItemInfo) object;
                    return itemInfo.getPath().denotesRoot();
                }
            };

            @SuppressWarnings("unchecked")
            public Iterator<ItemInfo> iterator() {
View Full Code Here

        final String targetPath = "/node2/node21/node211/node2111/node21111/node211111/node2111111";

        itemInfosProvider = new Iterable() {
            Predicate isTarget = new Predicate() {
                public boolean evaluate(Object object) {
                    ItemInfo itemInfo = (ItemInfo) object;
                    return targetPath.equals(toJCRPath(itemInfo.getPath()));
                }
            };

            @SuppressWarnings("unchecked")
            public Iterator<ItemInfo> iterator() {
View Full Code Here

    }

    private void checkHierarchy() throws PathNotFoundException, RepositoryException, ItemNotFoundException,
            AccessDeniedException {
        for (Iterator<ItemInfo> itemInfos = itemInfosProvider.iterator(); itemInfos.hasNext();) {
            ItemInfo itemInfo = itemInfos.next();
            String jcrPath = toJCRPath(itemInfo.getPath());
            Item item = session.getItem(jcrPath);
            assertEquals(jcrPath, item.getPath());

            if (item.getDepth() > 0) {
                Node parent = item.getParent();
View Full Code Here

                                return info.getId();
                            }});

                Iterator<ItemInfo> childInfos = new TransformIterator(itemInfos.iterator(), new Transformer(){
                    public Object transform(Object input) {
                        ItemInfo info = (ItemInfo) input;
                        Name name = info.getPath().getNameElement().getName();
                        return new ChildInfoImpl(name, null, Path.INDEX_DEFAULT);
                    }});

                nodeInfo = new NodeInfoImpl(path, id, Path.INDEX_DEFAULT, NameConstants.NT_UNSTRUCTURED,
                        Name.EMPTY_ARRAY, EmptyIterator.INSTANCE, propertyIds, childInfos);
View Full Code Here

        rs.submit(b);

        NodeId id = rs.getIdFactory().createNodeId(nid, resolver.getQPath("aNode"));
        Iterator it = rs.getItemInfos(si, id);
        while (it.hasNext()) {
            ItemInfo info = (ItemInfo) it.next();
            if (info.denotesNode()) {
                NodeInfo nInfo = (NodeInfo) info;
                assertEquals(NameConstants.NT_UNSTRUCTURED, nInfo.getNodetype());
                Iterator childIt = nInfo.getChildInfos();
                assertTrue(childIt == null || !childIt.hasNext());
                assertEquals(id, nInfo.getId());
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.spi.ItemInfo

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.