Ir al contenido
Otras versiones

Cargando…

Ejemplos de creación de objetos

Mediante CMIS, el usuario solo puede crear carpetas (Folders) y documentos (Documents) en OpenKM.

Ejemplo de creación de una carpeta en OpenKM mediante CMIS.

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

Ejemplo de creación de un documento mediante CMIS.

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

Ejemplo de copia de un documento existente de OpenKM a una carpeta de OpenKM.

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