RepositoryCapabilities interface provides
'getChangesCapability' method to check the level of change log support by the
repository. Following table summarizes the possible values.
Value
|
Description
|
none
|
The repository does not support the change log feature.
|
objectidsonly
|
The change log can return only the object ids for changed
objects in the repository and an indication of the type of change, not details
of the actual change.
|
properties
|
The change log can return properties and the object id
for the changed objects.
|
all
|
The change log can return the object ids for changed
objects in the repository and more information about the actual change.
|
Example
CapabilityChanges
capabilityChanges = repoInfo.getCapabilities().getChangesCapability();
if(capabilityChanges
== null){
System.out.println("Repository
is not providing this value");
}else
if(capabilityChanges == CapabilityChanges.NONE){
System.out.println("The
repository does not support the change log feature");
}else
if(capabilityChanges == CapabilityChanges.OBJECTIDSONLY){
System.out.println("The
change log can return only the object ids for changed objects in the repository
and an indication of the type of change, not details of the actual
change.");
}else
if(capabilityChanges == CapabilityChanges.PROPERTIES){
System.out.println("The
change log can return properties and the object id for the changed
objects.");
}else
if(capabilityChanges == CapabilityChanges.ALL){
System.out.println("The
change log can return the object ids for changed objects in the repository and
more information about the actual change.");
}
TestCmis.java
package com.sample.util; import java.util.HashMap; import java.util.Map; import org.apache.chemistry.opencmis.client.api.Session; import org.apache.chemistry.opencmis.client.api.SessionFactory; import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl; import org.apache.chemistry.opencmis.commons.SessionParameter; import org.apache.chemistry.opencmis.commons.data.RepositoryInfo; import org.apache.chemistry.opencmis.commons.enums.BindingType; import org.apache.chemistry.opencmis.commons.enums.CapabilityChanges; public class TestCmis { private static String serverURL = "http://localhost:8080/chemistry-opencmis-server-inmemory-1.1.0/browser"; private static String repositoryId = "A1"; public static Session getSession() { Map<String, String> parameters = new HashMap<>(); parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value()); parameters.put(SessionParameter.USER, ""); parameters.put(SessionParameter.PASSWORD, ""); parameters.put(SessionParameter.REPOSITORY_ID, repositoryId); parameters.put(SessionParameter.BROWSER_URL, serverURL); SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); return sessionFactory.createSession(parameters); } public static void main(String args[]) { Session session = getSession(); RepositoryInfo repoInfo = session.getRepositoryInfo(); CapabilityChanges capabilityChanges = repoInfo.getCapabilities().getChangesCapability(); if(capabilityChanges == null){ System.out.println("Repository is not providing this value"); }else if(capabilityChanges == CapabilityChanges.NONE){ System.out.println("The repository does not support the change log feature"); }else if(capabilityChanges == CapabilityChanges.OBJECTIDSONLY){ System.out.println("The change log can return only the object ids for changed objects in the repository and an indication of the type of change, not details of the actual change."); }else if(capabilityChanges == CapabilityChanges.PROPERTIES){ System.out.println("The change log can return properties and the object id for the changed objects."); }else if(capabilityChanges == CapabilityChanges.ALL){ System.out.println("The change log can return the object ids for changed objects in the repository and more information about the actual change."); } } }
Output
The change log can return only the object ids for changed
objects in the repository and an indication of the type of change, not details
of the actual change.
No comments:
Post a Comment