Map<Integer, Folder> data = new HashMap<Integer, Folder>(); ... loop through your result set getting folder data... Folder newFolder = new Folder(nameString, id, parentId); data.put(newFolder.getId(), newFolder);
Workspace earlsWorkspace = SmartsheetConnector.getInstance().getSmartsheet().workspaces().getWorkspace(*****); List<Folder> folders = earlsWorkspace.getFolders(); for (Folder folder : folders) { List<Sheet> folderSheets = SmartsheetConnector.getInstance().getSmartsheet().folders().getFolder(folder.getId()).getSheets(); for (Sheet sheet : folderSheets) { System.out.println(sheet.getName()); } }
private String createFolderInRepository(String fileName, String parentFolderId) { Folder parentFolder; String id = null; if (null == parentFolderId) { parentFolder = session.getRootFolder(); } else { parentFolder = (Folder) session.getObject(parentFolderId); } Map<String, Object> properties = new HashMap<String, Object>(); File f = new File(fileName); properties.put(PropertyIds.NAME, f.getName().replaceAll(" ", "_")); properties.put(PropertyIds.OBJECT_TYPE_ID, CFG.getDefaultFolderType()); try { Folder folder = parentFolder.createFolder(properties); id = folder.getId(); LOG.debug("New folder created with id: " + folder.getId() + ", path: " + folder.getPaths().get(0)); } catch (Exception e) { LOG.error("Failed to create CMIS document.", e); } LOG.info("New folder created with id: " + id + ", name: " + properties.get(PropertyIds.NAME) + " in parent folder: " + parentFolder.getId()); return id; }
/** * Gets or creates a folder named folderName in the parentFolder. * @param cmisSession * @param parentFolder * @param folderName * @return */ public Folder createFolder(Session cmisSession, Folder parentFolder, String folderName) { Folder subFolder = null; try { // Making an assumption here that you probably wouldn't normally do subFolder = (Folder) cmisSession.getObjectByPath(parentFolder.getPath() + "/" + folderName); System.out.println("Folder already existed!"); } catch (CmisObjectNotFoundException onfe) { Map<String, Object> props = new HashMap<String, Object>(); props.put("cmis:objectTypeId", "cmis:folder"); props.put("cmis:name", folderName); subFolder = parentFolder.createFolder(props); String subFolderId = subFolder.getId(); System.out.println("Created new folder: " + subFolderId); } return subFolder; }
/** * Use the CMIS API to get a handle to the root folder of the * target site, then create a new folder, then create * a new document in the new folder * @param cmisSession * @param parentFolderId * @param folderName * @return Folder */ public Folder createFolder(Session cmisSession, String parentFolderId, String folderName) { Folder rootFolder = (Folder) cmisSession.getObject(parentFolderId); Folder subFolder = null; try { // Making an assumption here that you probably wouldn't normally do subFolder = (Folder) cmisSession.getObjectByPath(rootFolder.getPath() + "/" + folderName); System.out.println("Folder already existed!"); } catch (CmisObjectNotFoundException onfe) { Map<String, Object> props = new HashMap<String, Object>(); props.put("cmis:objectTypeId", "cmis:folder"); props.put("cmis:name", folderName); subFolder = rootFolder.createFolder(props); String subFolderId = subFolder.getId(); System.out.println("Created new folder: " + subFolderId); } return subFolder; }
props.put("cmis:name", folderName); subFolder = rootFolder.createFolder(props); String subFolderId = subFolder.getId(); System.out.println("Created new folder: " + subFolderId);
public void doExample() { try { // Find the root folder of our target site String rootFolderId = getRootFolderId(getSite()); // Create a new folder in the root folder Folder subFolder = createFolder(rootFolderId, getFolderName()); // Like the folder like(subFolder.getId()); } catch (IOException ioe) { ioe.printStackTrace(); } }
public ObjectId createFolder(String folderName, String parentObjectId) { ObjectId returnId = null; Session session = this.getSession(this.connectionParameters); if (session != null) { if (StringUtils.isEmpty(parentObjectId)) { parentObjectId = session.getRootFolder().getId(); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.NAME, folderName); properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); try { returnId = session.createFolder(properties, session.getObject(session.createObjectId(parentObjectId))); } catch (CmisContentAlreadyExistsException e) { logger.debug("CMIS Content Already Exists ", e); CmisObject object = session.getObject(session.createObjectId(parentObjectId)); if (!(object instanceof Folder)) { throw new IllegalArgumentException(parentObjectId + " is not a folder"); } Folder folder = (Folder) object; for (CmisObject o : folder.getChildren()) { if (o.getName().equals(folderName)) { return session.createObjectId(o.getId()); } } } } return returnId; // End createFolder }
Folder workflowDefinitionFolder = (Folder) cmisSession.getObjectByPath(WORKFLOW_DEFINITION_FOLDER); String query = "select t.cm:description, d." + PropertyIds.NAME + ", d." + PropertyIds.CREATION_DATE + " from cmis:document as d join cm:titled as t on d.cmis:objectId = t.cmis:objectId where in_folder(d, '" + workflowDefinitionFolder.getId() + "') and d.cmis:name LIKE '%.bpmn20.xml' order by d.cmis:name"; LOGGER.info("Executing CMIS query '" + query + "'");
@Override public void loadData(BpmTask task) { sessionFacade = new CmisAtomSessionFacade(repositoryUser, repositoryPassword, repositoryAtomUrl, repositoryId); mainFolder = sessionFacade.createFolderIfNecessary(newFolderPrefix + task.getProcessInstance().getInternalId(), rootFolderPath); if (StringUtil.hasText(subFolder)) mainFolder = sessionFacade.createFolderIfNecessary(subFolder, mainFolder.getPath()); folderId = mainFolder.getId(); }
case CMIS_FOLDER: params.put(PropertyIds.PATH, path); return ObjectId.toString(ObjectId.Type.OBJECT, parent.createFolder(params).getId()); case CMIS_DOCUMENT: return ObjectId.toString(ObjectId.Type.OBJECT, parent.createDocument(params, null, VersioningState.NONE).getId());
f = createResult(FAILURE, "Folder still exists but should have been deleted. Id: " + testFolder.getId()); addResult(assertIsFalse(exists(testFolder), null, f));
topLevelFolders.add(newFolder.getId());
String folderId = qr.getPropertyValueByQueryName("folderId"); if (rootFolder.getId().equals(folderId)) { found = true;
public void runFolderQuery(Session session, Folder testFolder) { if (!Boolean.TRUE.equals(testFolder.getType().isQueryable())) { addResult(createResult(SKIPPED, "Folder type '" + testFolder.getType().getId() + "' is not queryable. Folder query test skipped!")); return; } CmisTestResult f; QueryStatement[] statements = new QueryStatement[] { session.createQueryStatement("SELECT * FROM ? WHERE ? = ?"), session.createQueryStatement("SELECT * FROM ? WHERE ? IN (?)") }; for (QueryStatement statement : statements) { statement.setType(1, testFolder.getType()); statement.setProperty(2, testFolder.getType().getPropertyDefinitions().get(PropertyIds.OBJECT_ID)); statement.setString(3, testFolder.getId()); addResult(createInfoResult("Folder query: " + statement.toQueryString())); int count = 0; for (QueryResult qr : statement.query(false)) { count++; String objectId = qr.getPropertyValueByQueryName("cmis:objectId"); f = createResult(FAILURE, "Folder query returned unexpected object. Id: " + objectId); addResult(assertEquals(testFolder.getId(), objectId, null, f)); } f = createResult(FAILURE, "Folder query should return exactly one hit, but returned " + count + "."); addResult(assertEquals(1, count, null, f)); } }
addResult(assertEquals(folder.getId(), newId.getId(), null, f));
/** * Translates CMIS folder object to JCR node * * @param cmisObject CMIS folder object * @return JCR node document. */ private Document cmisFolder( CmisObject cmisObject ) { Folder folder = (Folder)cmisObject; DocumentWriter writer = newDocument(ObjectId.toString(ObjectId.Type.OBJECT, folder.getId())); ObjectType objectType = cmisObject.getType(); if (objectType.isBaseType()) { writer.setPrimaryType(NodeType.NT_FOLDER); } else { writer.setPrimaryType(objectType.getId()); } writer.setParent(folder.getParentId()); writer.addMixinType(NodeType.MIX_REFERENCEABLE); writer.addMixinType(NodeType.MIX_LAST_MODIFIED); cmisProperties(folder, writer); cmisChildren(folder, writer); writer.addMixinType("mode:accessControllable"); writer.addChild(ObjectId.toString(ObjectId.Type.ACL, folder.getId()), "mode:acl"); // append repository information to the root node if (folder.isRootFolder()) { writer.addChild(ObjectId.toString(ObjectId.Type.REPOSITORY_INFO, ""), REPOSITORY_INFO_NODE_NAME); } return writer.document(); }
ArrayList<String> parentIds = new ArrayList<String>(); for (Folder f : parents) { parentIds.add(ObjectId.toString(ObjectId.Type.OBJECT, f.getId()));
addResult(assertEquals(ri.getRootFolderId(), rootFolder.getId(), null, failure));