Search in sources :

Example 1 with Folder

use of org.apache.chemistry.opencmis.client.api.Folder in project camel by apache.

the class RecursiveTreeWalker method processFolderRecursively.

int processFolderRecursively(Folder folder) throws Exception {
    processFolderNode(folder);
    OperationContext operationContext = cmisConsumer.createOperationContext();
    operationContext.setMaxItemsPerPage(pageSize);
    int count = 0;
    int pageNumber = 0;
    boolean finished = false;
    ItemIterable<CmisObject> itemIterable = folder.getChildren(operationContext);
    while (!finished) {
        ItemIterable<CmisObject> currentPage = itemIterable.skipTo(count).getPage();
        LOG.debug("Processing page {}", pageNumber);
        for (CmisObject child : currentPage) {
            if (CMISHelper.isFolder(child)) {
                Folder childFolder = (Folder) child;
                processFolderRecursively(childFolder);
            } else {
                processNonFolderNode(child, folder);
            }
            count++;
            if (totalPolled == readCount) {
                finished = true;
                break;
            }
        }
        pageNumber++;
        if (!currentPage.getHasMoreItems()) {
            finished = true;
        }
    }
    return totalPolled;
}
Also used : OperationContext(org.apache.chemistry.opencmis.client.api.OperationContext) CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) Folder(org.apache.chemistry.opencmis.client.api.Folder)

Example 2 with Folder

use of org.apache.chemistry.opencmis.client.api.Folder in project camel by apache.

the class CMISProducerTest method emptyBodyAndMissingObjectTypeHeaderCreatesFolderNode.

@Test
public void emptyBodyAndMissingObjectTypeHeaderCreatesFolderNode() throws Exception {
    Exchange exchange = createExchangeWithInBody(null);
    exchange.getIn().getHeaders().put(PropertyIds.NAME, "testFolder");
    template.send(exchange);
    String newNodeId = exchange.getOut().getBody(String.class);
    assertNotNull(newNodeId);
    CmisObject newNode = retrieveCMISObjectByIdFromServer(newNodeId);
    assertEquals("cmis:folder", newNode.getType().getId());
    assertTrue(newNode instanceof Folder);
}
Also used : Exchange(org.apache.camel.Exchange) CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) Folder(org.apache.chemistry.opencmis.client.api.Folder) Test(org.junit.Test)

Example 3 with Folder

use of org.apache.chemistry.opencmis.client.api.Folder in project camel by apache.

the class CMISProducerTest method createDocumentAtSpecificPath.

@Test
public void createDocumentAtSpecificPath() throws Exception {
    Folder folder1 = createFolderWithName("Folder1");
    createChildFolderWithName(folder1, "Folder2");
    String existingFolderStructure = "/Folder1/Folder2";
    Exchange exchange = createExchangeWithInBody("Some content to be stored");
    exchange.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "text/plain; charset=UTF-8");
    exchange.getIn().getHeaders().put(PropertyIds.NAME, "test.file");
    exchange.getIn().getHeaders().put(CamelCMISConstants.CMIS_FOLDER_PATH, existingFolderStructure);
    template.send(exchange);
    String newNodeId = exchange.getOut().getBody(String.class);
    Document document = (Document) retrieveCMISObjectByIdFromServer(newNodeId);
    String documentFullPath = document.getPaths().get(0);
    assertEquals(existingFolderStructure + "/test.file", documentFullPath);
}
Also used : Exchange(org.apache.camel.Exchange) Folder(org.apache.chemistry.opencmis.client.api.Folder) Document(org.apache.chemistry.opencmis.client.api.Document) Test(org.junit.Test)

Example 4 with Folder

use of org.apache.chemistry.opencmis.client.api.Folder in project camel by apache.

the class CMISQueryProducerTest method populateServerWithContent.

private void populateServerWithContent() throws UnsupportedEncodingException {
    Folder newFolder = createFolderWithName("CamelCmisTestFolder");
    createTextDocument(newFolder, "This is the first Camel test content.", "test1.txt");
    createTextDocument(newFolder, "This is the second Camel test content.", "test2.txt");
}
Also used : Folder(org.apache.chemistry.opencmis.client.api.Folder)

Example 5 with Folder

use of org.apache.chemistry.opencmis.client.api.Folder in project camel by apache.

the class CMISTestSupport method deleteAllContent.

protected void deleteAllContent() {
    Session session = createSession();
    Folder rootFolder = session.getRootFolder();
    ItemIterable<CmisObject> children = rootFolder.getChildren();
    for (CmisObject cmisObject : children) {
        if ("cmis:folder".equals(cmisObject.getPropertyValue(PropertyIds.OBJECT_TYPE_ID))) {
            List<String> notDeltedIdList = ((Folder) cmisObject).deleteTree(true, UnfileObject.DELETE, true);
            if (notDeltedIdList != null && notDeltedIdList.size() > 0) {
                throw new RuntimeException("Cannot empty repo");
            }
        } else {
            cmisObject.delete(true);
        }
    }
    session.getBinding().close();
}
Also used : CmisObject(org.apache.chemistry.opencmis.client.api.CmisObject) Folder(org.apache.chemistry.opencmis.client.api.Folder) Session(org.apache.chemistry.opencmis.client.api.Session)

Aggregations

Folder (org.apache.chemistry.opencmis.client.api.Folder)75 Document (org.apache.chemistry.opencmis.client.api.Document)40 HashMap (java.util.HashMap)38 CmisObject (org.apache.chemistry.opencmis.client.api.CmisObject)34 CmisTestResult (org.apache.chemistry.opencmis.tck.CmisTestResult)33 Test (org.junit.Test)17 FileableCmisObject (org.apache.chemistry.opencmis.client.api.FileableCmisObject)16 ContentStreamImpl (org.apache.chemistry.opencmis.commons.impl.dataobjects.ContentStreamImpl)16 ArrayList (java.util.ArrayList)15 ContentStream (org.apache.chemistry.opencmis.commons.data.ContentStream)15 CmisObjectNotFoundException (org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException)15 ObjectId (org.apache.chemistry.opencmis.client.api.ObjectId)14 CmisConstraintException (org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException)13 CmisInvalidArgumentException (org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException)13 AlfrescoDocument (org.alfresco.cmis.client.AlfrescoDocument)12 AlfrescoFolder (org.alfresco.cmis.client.AlfrescoFolder)12 VersionableAspectTest (org.alfresco.repo.version.VersionableAspectTest)12 TestNetwork (org.alfresco.rest.api.tests.RepoService.TestNetwork)12 CmisSession (org.alfresco.rest.api.tests.client.PublicApiClient.CmisSession)12 RequestContext (org.alfresco.rest.api.tests.client.RequestContext)12