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;
}
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);
}
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);
}
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");
}
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();
}
Aggregations