package opencmistest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.chemistry.opencmis.client.api.*;
import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl;
import org.apache.chemistry.opencmis.commons.SessionParameter;
import org.apache.chemistry.opencmis.commons.data.PropertyData;
import org.apache.chemistry.opencmis.commons.enums.BindingType;
/**
*
* @author subwiz
*/
public class Main {
private static String getType(ObjectType o) {
if(o instanceof FolderType) {
return "Folder";
}
else if(o instanceof DocumentType) {
return "Document";
}
return o.toString();
}
public static void main(String[] arg) throws Exception {
Map<String, String> parameter = new HashMap<String, String>();
// Set the user credentials
parameter.put(SessionParameter.USER, "admin");
parameter.put(SessionParameter.PASSWORD, "admin");
// Specify the connection settings
parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/cmisatom");
parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
// Set the alfresco object factory
parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");
// Create a session
SessionFactory factory = SessionFactoryImpl.newInstance();
List<Repository> repositories = factory.getRepositories(parameter);
for(Repository r: repositories) {
System.out.println("Id: " + r.getId());
System.out.println("Name: " + r.getName());
System.out.println("Description: " + r.getDescription());
}
System.out.println();
Session session = repositories.get(0).createSession();
// Folder browsing example:
Folder folder = session.getRootFolder();
for(CmisObject obj: folder.getChildren()) {
System.out.println("Name: " + obj.getName());
System.out.println("Id: " + obj.getId());
System.out.println("Type: " + getType(obj.getType()));
System.out.println();
}
// Query example:
for(QueryResult result: session.query("SELECT cmis:name, cmis:objectId AS MyId from cmis:document where cmis:name = 'myfile.ext'", false)) {
System.out.println(result.getProperties());
for(PropertyData data: result.getProperties()) {
System.out.println(data.getQueryName());
System.out.println(data.getValues());
}
}
}
}
|
|