Create object samples
Using CMIS the user can only create Folders and Documents into OpenKM.
Create folder
Section titled “Create folder”Sample for creating a folder in OpenKM using CMIS.
// default factory implementationSessionFactory factory = SessionFactoryImpl.newInstance();Map<String, String> parameters = new HashMap<String, String>();
// user credentialsparameters.put(SessionParameter.USER, "okmAdmin");parameters.put(SessionParameter.PASSWORD, "admin");
// connection settingsparameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create sessionList<Repository> list= factory.getRepositories(parameters);
// List every repository foundfor (Repository repository: list) { System.out.println("New repository found: " + repository.getId()); System.out.println("Capabilities: "); System.out.println(repository.getCapabilities()); // Create session Session session = repository.createSession();
// Get the folder Folder folder = session.getRootFolder();
// Set properties Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.NAME, "my_folder"); properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
// Create folder Folder newFolder = folder.createFolder(properties);}Create document
Section titled “Create document”Sample for creating a document using CMIS.
// default factory implementationSessionFactory factory = SessionFactoryImpl.newInstance();Map<String, String> parameters = new HashMap<String, String>();
// user credentialsparameters.put(SessionParameter.USER, "okmAdmin");parameters.put(SessionParameter.PASSWORD, "admin");
// connection settingsparameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create sessionList<Repository> list= factory.getRepositories(parameters);
// List every repository foundfor (Repository repository: list) { System.out.println("New repository found: " + repository.getId()); System.out.println("Capabilities: "); System.out.println(repository.getCapabilities()); // Create session Session session = repository.createSession();
// Get the folder Folder folder = session.getRootFolder();
// Create a txt file String content = "Hello World!"; String filename = "hello_world.txt"; String mimetype = "text/plain; charset=UTF-8"; byte[] contentBytes = content.getBytes("UTF-8"); ByteArrayInputStream stream = new ByteArrayInputStream(contentBytes);
// Create content stream ContentStream contentStream = session.getObjectFactory().createContentStream(filename, contentBytes.length, mimetype, stream);
// Create properties object Map<String, Object> properties = new HashMap<String, Object>(); properties.put(PropertyIds.NAME, filename); properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document"); // Create document Document newDocument = folder.createDocument(properties, contentStream, VersioningState.NONE);}Copy a document to a folder
Section titled “ Copy a document to a folder”Sample for copying an existing OpenKM document into a OpenKM folder.
// default factory implementationSessionFactory factory = SessionFactoryImpl.newInstance();Map<String, String> parameters = new HashMap<String, String>();
// user credentialsparameters.put(SessionParameter.USER, "okmAdmin");parameters.put(SessionParameter.PASSWORD, "admin");
// connection settingsparameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create sessionList<Repository> list= factory.getRepositories(parameters);
// List every repository foundfor (Repository repository: list) { System.out.println("New repository found: " + repository.getId()); System.out.println("Capabilities: "); System.out.println(repository.getCapabilities()); // Create session Session session = repository.createSession();
// Get the folder Folder folder = session.getRootFolder();
// Get the document CmisObject cmisObject = session.getObject("3864027b-f181-4291-8e63-d602ee850a8f");
// Copy the document to the folder if (cmisObject instanceof Document) { Document document = (Document) cmisObject; document.copy(folder); }}