Retrieve object samples
This is a list with a bunch of examples about how to retrieve objects in OpenKM using CMIS. For a full specification of CMIS services please visit CMIS documentation
Get root folder
Demonstrate how to get the root folder of the repository.
// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();
// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");
// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create session
List<Repository> list= factory.getRepositories(parameters);
// List every repository found
for (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 folder and show path
Folder folder = session.getRootFolder();
System.out.println(folder.getPath());
}
Get object by ID
Every object in the repository have an unique id. This unique id - uuid - is used for retrieving this object.
The "7f5f5726-953b-480a-af9a-24379810dff6" is the unique id - uuid - of the object in the OpenKM repository.
// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();
// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");
// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create session
List<Repository> list= factory.getRepositories(parameters);
// List every repository found
for (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 object by id
CmisObject cmisObject = session.getObject("7f5f5726-953b-480a-af9a-24379810dff6");
System.out.println(cmisObject.getName());
}
Get object by path
This code shows how to get an object using the object path.
The "/okm:root/path" must be a valid OpenKM path and the user have grants for accessing it.
// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();
// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");
// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create session
List<Repository> list= factory.getRepositories(parameters);
// List every repository found
for (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 object by path
CmisObject cmisObject = session.getObjectByPath("/okm:root/path");
System.out.println(cmisObject.getName());
}
Get folder children
Getting the children of a folder.
// default factory implementation
SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameters = new HashMap<String, String>();
// user credentials
parameters.put(SessionParameter.USER, "okmAdmin");
parameters.put(SessionParameter.PASSWORD, "admin");
// connection settings
parameters.put(SessionParameter.BROWSER_URL, "http://localhost:8080/OpenKM/cmis/browser");
parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());
// create session
List<Repository> list= factory.getRepositories(parameters);
// List every repository found
for (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();
Folder folder = session.getRootFolder();
ItemIterable<CmisObject> children = folder.getChildren();
for (CmisObject cmisObject: children) {
System.out.println(cmisObject.getName());
}
}