Search in sources :

Example 21 with NodeIterator

use of javax.jcr.NodeIterator in project jackrabbit by apache.

the class ExportFileSystem method addFolder.

/**
     * Exports a nt:folder and all its children to the file system
     * @param node
     *        the <code>Node</code>
     * @param file
     *        <code>File</code>
     * @throws CommandException
     *         if the <code>File</code> can't be created
     * @throws RepositoryException
     *         if the current working <code>Repository</code> throws an
     *         <code>Exception</code>
     * @throws IOException
     *         if an IOException occurs
     */
private void addFolder(Node node, File file) throws CommandException, RepositoryException, IOException {
    boolean created = file.mkdir();
    if (!created) {
        throw new CommandException("exception.folder.not.created", new String[] { file.getPath() });
    }
    NodeIterator iter = node.getNodes();
    while (iter.hasNext()) {
        Node child = iter.nextNode();
        // File
        if (child.isNodeType("nt:file")) {
            File childFile = new File(file, child.getName());
            createFile(child, childFile);
        } else if (child.isNodeType("nt:folder")) {
            File childFolder = new File(file, child.getName());
            addFolder(child, childFolder);
        }
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) Node(javax.jcr.Node) CommandException(org.apache.jackrabbit.standalone.cli.CommandException) File(java.io.File)

Example 22 with NodeIterator

use of javax.jcr.NodeIterator in project jackrabbit-oak by apache.

the class OrderedIndexQueryBaseTest method runTest.

@Override
protected void runTest() throws Exception {
    QueryManager qm = session.getWorkspace().getQueryManager();
    Query q = qm.createQuery(getQuery(), Query.JCR_SQL2);
    QueryResult r = q.execute();
    NodeIterator nodes = r.getNodes();
    int counter = 0;
    while (nodes.hasNext() && counter++ < FETCH_NODES) {
        nodes.next();
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) QueryResult(javax.jcr.query.QueryResult) Query(javax.jcr.query.Query) QueryManager(javax.jcr.query.QueryManager)

Example 23 with NodeIterator

use of javax.jcr.NodeIterator in project jackrabbit-oak by apache.

the class DescendantSearchTest method runTest.

@Override
public void runTest() throws Exception {
    QueryManager manager = session.getWorkspace().getQueryManager();
    for (int i = 0; i < NODE_COUNT; i++) {
        Query query = createQuery(manager, i);
        NodeIterator iterator = query.execute().getNodes();
        while (iterator.hasNext()) {
            Node node = iterator.nextNode();
            if (node.getProperty("testcount").getLong() != i) {
                throw new Exception("Invalid test result: " + node.getPath());
            }
        }
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) Query(javax.jcr.query.Query) Node(javax.jcr.Node) QueryManager(javax.jcr.query.QueryManager) RepositoryException(javax.jcr.RepositoryException) InvalidItemStateException(javax.jcr.InvalidItemStateException)

Example 24 with NodeIterator

use of javax.jcr.NodeIterator in project jackrabbit by apache.

the class WorkspaceImpl method createWorkspace.

//--------------------------------------------------< new JSR 283 methods >
/**
     * {@inheritDoc}
     */
public void createWorkspace(String name, String srcWorkspace) throws AccessDeniedException, RepositoryException {
    // check state of this instance
    sanityCheck();
    context.getAccessManager().checkRepositoryPermission(Permission.WORKSPACE_MNGMT);
    WorkspaceManager manager = context.getRepositoryContext().getWorkspaceManager();
    manager.createWorkspace(name);
    SessionImpl tmpSession = null;
    try {
        // create a temporary session on new workspace for current subject
        tmpSession = manager.createSession(session.getSubject(), name);
        WorkspaceImpl newWsp = (WorkspaceImpl) tmpSession.getWorkspace();
        // Workspace#clone(String, String, String, boolean) doesn't
        // allow to clone to "/"...
        //newWsp.clone(srcWorkspace, "/", "/", false);
        Node root = getSession().getRootNode();
        for (NodeIterator it = root.getNodes(); it.hasNext(); ) {
            Node child = it.nextNode();
            // skip nodes that already exist in newly created workspace
            if (!tmpSession.nodeExists(child.getPath())) {
                newWsp.clone(srcWorkspace, child.getPath(), child.getPath(), false);
            }
        }
    } finally {
        if (tmpSession != null) {
            // we don't need the temporary session anymore, logout
            tmpSession.logout();
        }
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) Node(javax.jcr.Node)

Example 25 with NodeIterator

use of javax.jcr.NodeIterator in project jackrabbit by apache.

the class ItemStateHierarchyManagerDeadlockTest method retrieveNodesUnderInvRootNode.

public void retrieveNodesUnderInvRootNode() {
    System.out.println("Start retrieveNodesUnderInvRootNode ");
    Session session = null;
    try {
        session = login();
        // start from the bottom of the tree and move up
        Node inventoryRoot = getInvRootNode(session);
        NodeIterator nodes = inventoryRoot.getNodes();
        while (nodes.hasNext()) {
            Node node = nodes.nextNode();
            // System.out.println("   Node: " + node.getName());
            PropertyIterator properties = node.getProperties();
            while (properties.hasNext()) {
                Property prop = properties.nextProperty();
            // System.out.println("      Prop: " + prop.getName() + " - " + prop.getString());
            }
        }
        session.save();
        System.out.println("End retrieveNodesUnderInvRootNode");
    } catch (Exception e) {
        System.err.println("Exception in retrieveNodesUnderInvRootNode:" + e.getMessage());
    } finally {
        if (session != null)
            session.logout();
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) Node(javax.jcr.Node) PropertyIterator(javax.jcr.PropertyIterator) Property(javax.jcr.Property) IOException(java.io.IOException) PathNotFoundException(javax.jcr.PathNotFoundException) RepositoryException(javax.jcr.RepositoryException) Session(javax.jcr.Session)

Aggregations

NodeIterator (javax.jcr.NodeIterator)307 Node (javax.jcr.Node)214 Session (javax.jcr.Session)55 QueryResult (javax.jcr.query.QueryResult)52 RepositoryException (javax.jcr.RepositoryException)40 Query (javax.jcr.query.Query)40 Test (org.junit.Test)36 QueryManager (javax.jcr.query.QueryManager)34 PropertyIterator (javax.jcr.PropertyIterator)30 ArrayList (java.util.ArrayList)26 Property (javax.jcr.Property)24 Version (javax.jcr.version.Version)23 NoSuchElementException (java.util.NoSuchElementException)19 Value (javax.jcr.Value)19 NotExecutableException (org.apache.jackrabbit.test.NotExecutableException)19 HashSet (java.util.HashSet)13 PathNotFoundException (javax.jcr.PathNotFoundException)12 JackrabbitSession (org.apache.jackrabbit.api.JackrabbitSession)11 NodeImpl (org.apache.jackrabbit.core.NodeImpl)11 AbstractRepositoryTest (org.apache.jackrabbit.oak.jcr.AbstractRepositoryTest)11