Ir al contenido
Otras versiones

Cargando…

Repository samples

Primero debe crear el objeto webservice:

OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto webservice “ws”, tal y como se muestra a continuación:

ws.login(user, password);

Llegados a este punto puede usar todos los métodos de Repository desde la clase “repository”, tal y como se muestra a continuación:

ws.repository.getAppVersion();

Descripción:

Método Valores de retorno Descripción
getRootFolder() Folder Devuelve el objeto Folder del nodo “/okm:root”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getRootFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getTrashFolder() Folder Devuelve el objeto Folder del nodo “/okm:trash/{userId}”.
  • La carpeta devuelta será la papelera del usuario.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getTrashFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getTrashFolderBase() Folder Devuelve el objeto Folder del nodo “/okm:trash”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getTrashFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getTemplatesFolder() Folder Devuelve el objeto Folder del nodo “/okm:templates”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getTemplatesFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getPersonalFolder() Folder Devuelve el objeto Folder del nodo “/okm:personal/{userId}”.
  • La carpeta devuelta será la carpeta personal del usuario.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getPersonalFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getPersonalFolderBase() Folder Devuelve el objeto Folder del nodo “/okm:personal”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getPersonalFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getMailFolder() Folder Devuelve el objeto Folder del nodo “/okm:mail/{userId}”.
  • La carpeta devuelta será la carpeta de correo del usuario.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getMailFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getMailFolderBase() Folder Devuelve el objeto Folder del nodo “/okm:mail”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getMailFolderBase());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getCategoriesFolder() Folder Devuelve el objeto Folder del nodo “/okm:categories”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getCategoriesFolder());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
purgeTrash() void Elimina permanentemente del repositorio todos los nodos de “/okm:trash/{userId}”.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.repository.purgeTrash();
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUpdateMessage() String Recupera un mensaje cuando hay una nueva versión de OpenKM disponible.
  • Existe un servicio oficial de mensajes de actualización de OpenKM basado en su versión local de OpenKM.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getUpdateMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getRepositoryUuid() String Recupera el identificador único de la instalación.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getRepositoryUuid());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
hasNode(String nodeId) Boolean Devuelve un valor que indica si un nodo existe o no.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("Exists node:" + ws.repository.hasNode("373bcdd0-c082-4e7b-addd-e10ef813946e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getNodePath(String uuid) String Convierte un UUID de nodo en una ruta.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getNodePath("373bcdd0-c082-4e7b-addd-e10ef813946e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getNodeUuid(String nodePath) String Convierte una ruta de nodo en un UUID.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getNodeUuid("/okm:root/test"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getAppVersion() AppVersion Devuelve información sobre la versión de OpenKM.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getAppVersion());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
copyAttributes(String uuid, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes) void Copia los atributos de un nodo a otro.
  • El valor del parámetro dstId debe ser un UUID de nodo.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.repository.copyAttributes("46762f90-82c6-4886-8d21-ad3017dd78a7", "ac9fe744-8e45-4bf4-a293-85dafe1bfbca", true, true, true, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
executeScript(InputStream is) ScriptExecutionResult Ejecuta un script.
  • El script local - test.bsh - usado en el ejemplo de abajo:

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ScriptExecutionResult;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.bsh");
ScriptExecutionResult result = ws.repository.executeScript(is);
System.out.println(result.getResult());
System.out.println(result.getStdout());
if (!result.getStderr().isEmpty()) {
System.out.println("Error happened");
System.out.println(result.getStderr());
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
executeScript(String script) ScriptExecutionResult Ejecuta un script.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ScriptExecutionResult;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String script = "import com.openkm.util.ContextWrapper;"
+ " import org.springframework.web.context.WebApplicationContext;"
+ " import com.openkm.api.OKMFolder;"
+ " import com.openkm.bean.Folder;"
+ " WebApplicationContext cc = (WebApplicationContext) ContextWrapper.getContext();"
+ " OKMFolder okmFolder = cc.getBean(OKMFolder.class);"
+ " for (Folder fld : okmFolder.getChildren(null,\"/okm:root\")) {"
+ " print(fld.getPath());"
+ "}";
ScriptExecutionResult result = ws.repository.executeScript(script);
System.out.println(result.getResult());
System.out.println(result.getStdout());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
executeSqlQuery(InputStream is) SqlQueryResults Ejecuta sentencias SQL.
  • El script test.sql usado en el ejemplo de abajo:

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.SqlQueryResultColumns;
import com.openkm.sdk4j.bean.SqlQueryResults;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/test.sql");
SqlQueryResults result = ws.repository.executeSqlQuery(is);
for (SqlQueryResultColumns columns : result.getResults()) {
System.out.println("UUID:" + columns.getColumns().get(0));
System.out.println("Context:" + columns.getColumns().get(1));
System.out.println("Name:" + columns.getColumns().get(2));
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

También se puede establecer el InputStream de la siguiente forma:

String sql = "SELECT NBS_UUID, NBS_CONTEXT, NBS_NAME FROM OKM_NODE_BASE LIMIT 10;";
InputStream is = new ByteArrayInputStream(sql.getBytes("UTF-8"));

Descripción:

Método Valores de retorno Descripción
executeSqlQuery(String sql) SqlQueryResults Ejecuta sentencias SQL.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.SqlQueryResultColumns;
import com.openkm.sdk4j.bean.SqlQueryResults;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
SqlQueryResults result = ws.repository.executeSqlQuery("SESELECT NBS_UUID, NBS_CONTEXT, NBS_NAME FROM OKM_NODE_BASE LIMIT 10;");
for (SqlQueryResultColumns columns : result.getResults()) {
System.out.println("UUID:" + columns.getColumns().get(0));
System.out.println("Context:" + columns.getColumns().get(1));
System.out.println("Name:" + columns.getColumns().get(2));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
executeHqlQuery(InputStream is) HqlQueryResults Ejecuta sentencias HQL.
  • El script test.sql usado en el ejemplo de abajo:

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.HqlQueryResultColumns;
import com.openkm.sdk4j.bean.HqlQueryResults;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/test.sql");
HqlQueryResults result = ws.repository.executeHqlQuery(is);
for (HqlQueryResultColumns row : result.getResults()) {
System.out.println("uuid: " + row.getColumns().get(0) + ", name: " + row.getColumns().get(1));
}
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

También se puede establecer el InputStream de la siguiente forma:

String sql = "SELECT uuid, name from NodeBase where name = 'okm:root';";
InputStream is = new ByteArrayInputStream(sql.getBytes("UTF-8"));

Descripción:

Método Valores de retorno Descripción
executeHqlQuery(String hql) HqlQueryResults Ejecuta sentencias HQL.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.HqlQueryResultColumns;
import com.openkm.sdk4j.bean.HqlQueryResults;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
HqlQueryResults result = ws.repository.executeHqlQuery("SELECT uuid, author from NodeBase where name = 'okm:root';");
for (HqlQueryResultColumns row : result.getResults()) {
System.out.println("uuid: " + row.getColumns().get(0) + ", name: " + row.getColumns().get(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getTranslations(String lang, String module) Map<String, String> Recupera las traducciones de un módulo en un Map de valores.

Ejemplo:

package com.openkm;
import java.util.Map;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Map<String, String> translations = ws.repository.getTranslations("en-GB", "frontend");
for (String key : translations.keySet()) {
System.out.println("key:'" + key + "', with translation:'" + translations.get(key) + "'");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getConfiguration(String key) Configuration Recupera el valor de un parámetro de configuración.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Configuration;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Configuration configuration = ws.repository.getConfiguration("system.ocr");
System.out.println(configuration);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getChangeLog(String nodePath, Calendar modificationsFrom) List Devuelve la lista de cambios de una ruta y sus subcarpetas.

Ejemplo:

package com.openkm;
import java.util.Calendar;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ChangeLogged;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Calendar now = Calendar.getInstance();
for (ChangeLogged cl : ws.repository.getChangeLog("/okm:root/synchronized", now)) {
System.out.println(cl);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getServerTime() String Devuelve la hora actual del servidor.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.repository.getServerTime());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getAvailableLocales(String locale) Map<String, String> Devuelve los idiomas disponibles.

Ejemplo:

package com.openkm;
import java.util.Map;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Map<String, String> locales = ws.repository.getAvailableLocales("en-GB");
for (String key : locales.keySet()) {
System.out.println("Language:" + key + "," + locales.get(key));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}