/** * Creates a child folder with the name specified of the type specified. If * type is null then will default to cmis:folder. * * @param parentFolder * the parent folder * @param name * the folder name * @param type * the folder type (defaults to <code>cmis:folder</code>) * @return the newly created folder * * @throws CmisBaseException * if something go wrong, for example the parent folder doesn't * exist */ public static Folder createFolder(Folder parentFolder, String name, String type) { if (type == null) { type = BaseTypeId.CMIS_FOLDER.value(); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.OBJECT_TYPE_ID, type); properties.put(PropertyIds.NAME, name); return parentFolder.createFolder(properties); }
/** * Creates a child folder with the name specified of the type specified. If * type is null then will default to cmis:folder. * * @param parentFolder * the parent folder * @param name * the folder name * @param type * the folder type (defaults to <code>cmis:folder</code>) * @return the newly created folder * * @throws CmisBaseException * if something go wrong, for example the parent folder doesn't * exist */ public static Folder createFolder(Folder parentFolder, String name, String type) { if (type == null) { type = BaseTypeId.CMIS_FOLDER.value(); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.OBJECT_TYPE_ID, type); properties.put(PropertyIds.NAME, name); return parentFolder.createFolder(properties); }
/** * look for a child folder of the parent folder, if not found, create it and return it. */ private static Folder getOrCreateFolder(final Folder parentFolder, final String folderName) throws IOException { Folder childFolder = null; // get existing if any ItemIterable<CmisObject> children = parentFolder.getChildren(); if (children.iterator().hasNext()) { for (CmisObject cmisObject : children) { if (cmisObject instanceof Folder && cmisObject.getName().equals(folderName)) { log.debug("Found '{}' folder.", folderName); return childFolder = (Folder)cmisObject; } } } // Create new folder (requires at least type id and name of the folder) log.debug("'{}' folder not found, about to create...", folderName); Map<String, String> folderProps = new HashMap<String, String>(); folderProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); folderProps.put(PropertyIds.NAME, folderName); childFolder = parentFolder.createFolder(folderProps); log.info("'{}' folder created!", folderName); return childFolder; }
/** * Creates a folder using a String identifier. * * @param parentIdOrPath * the id or path of the parent folder * @param name * the folder name * @param type * the folder type (defaults to <code>cmis:folder</code>) * @param session * the session * @return the newly created folder * * @throws CmisBaseException * if something go wrong, for example the parent folder doesn't * exist */ public static Folder createFolder(String parentIdOrPath, String name, String type, Session session) { Folder parentFolder = getFolder(parentIdOrPath, session); if (type == null) { type = BaseTypeId.CMIS_FOLDER.value(); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.OBJECT_TYPE_ID, type); properties.put(PropertyIds.NAME, name); return parentFolder.createFolder(properties); }
/** * 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; }
/** * Creates a folder using a String identifier. * * @param parentIdOrPath * the id or path of the parent folder * @param name * the folder name * @param type * the folder type (defaults to <code>cmis:folder</code>) * @param session * the session * @return the newly created folder * * @throws CmisBaseException * if something go wrong, for example the parent folder doesn't * exist */ public static Folder createFolder(String parentIdOrPath, String name, String type, Session session) { Folder parentFolder = getFolder(parentIdOrPath, session); if (type == null) { type = BaseTypeId.CMIS_FOLDER.value(); } Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.OBJECT_TYPE_ID, type); properties.put(PropertyIds.NAME, name); return parentFolder.createFolder(properties); }
try { newFolder = root.createFolder(properties); root = newFolder; } catch (CmisContentAlreadyExistsException e) {
props.put(PropertyIds.NAME, name); props.put(PropertyIds.OBJECT_TYPE_ID, ObjectType.FOLDER_BASETYPE_ID); folder = parent.createFolder(props);
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; }
/** * 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:objectTypeId", "cmis:folder"); props.put("cmis:name", folderName); subFolder = rootFolder.createFolder(props); String subFolderId = subFolder.getId(); System.out.println("Created new folder: " + subFolderId);
properties.put(PropertyIds.OBJECT_TYPE_ID, getDocumentTestTypeId()); testFolder.createFolder(properties);
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());
try { result = parent.createFolder(properties, null, null, null, SELECT_ALL_NO_CACHE_OC); } catch (CmisBaseException e) { addResult(createResult(UNEXPECTED_EXCEPTION, "Folder could not be created! Exception: " + e.getMessage(), e,
public void DISABLED_testBasicFileOps() { Repository repository = getRepository("admin", "admin"); Session session = repository.createSession(); Folder rootFolder = session.getRootFolder(); // create folder Map<String,String> folderProps = new HashMap<String, String>(); { folderProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder"); folderProps.put(PropertyIds.NAME, getName() + "-" + GUID.generate()); } Folder folder = rootFolder.createFolder(folderProps, null, null, null, session.getDefaultContext()); Map<String, String> fileProps = new HashMap<String, String>(); { fileProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document"); fileProps.put(PropertyIds.NAME, "mydoc-" + GUID.generate() + ".txt"); } ContentStreamImpl fileContent = new ContentStreamImpl(); { ContentWriter writer = new FileContentWriter(TempFileProvider.createTempFile(getName(), ".txt")); writer.putContent("Ipsum and so on"); ContentReader reader = writer.getReader(); fileContent.setMimeType(MimetypeMap.MIMETYPE_TEXT_PLAIN); fileContent.setStream(reader.getContentInputStream()); } folder.createDocument(fileProps, fileContent, VersioningState.MAJOR); }