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