Ejemplos de Plugin
Conceptos básicos
Sección titulada «Conceptos básicos»Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero, debes crear el objeto de servicio web:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);A continuación debes iniciar sesión usando el método “login”. Puedes acceder al método “login” desde el objeto de servicio web “ws” como se muestra a continuación:
ws.login(user, password);Llegados a este punto puedes usar todos los métodos de Plugin desde la clase “plugin” como se muestra a continuación:
ws.plugin.executePluginPost("com.openkm.plugin.rest.TestRestPlugin", parameters, String.class, null);Métodos
Sección titulada «Métodos»executePluginPost
Sección titulada «executePluginPost»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| executePluginPost(String className, Map<String, String> parameters, Class<?> clazz, InputStream is) | Object | Devuelve el valor Object resultante de la ejecución de una clase que implementa RestPlugin. |
Ejemplo:
package com.openkm;
import java.util.HashMap;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> parameters = new HashMap<>(); parameters.put("param1", "value1"); parameters.put("param2", "value2"); String value = (String) ws.plugin.executePluginPost("com.openkm.plugin.rest.TestRestPlugin", parameters, String.class, null); System.out.println(value); } catch (Exception e) { e.printStackTrace(); } }}executePluginPostReturnFile
Sección titulada «executePluginPostReturnFile»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| executePluginPostReturnFile(String className, Map<String, String> parameters, InputStream is) | InputStream | Devuelve un InputStream resultante de la ejecución de una clase que implementa RestPlugin. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;
import org.apache.commons.io.IOUtils;
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> parameters = new HashMap<>(); parameters.put("docId", "/okm:root/invoices/00000001_001_of_001.pdf"); InputStream is = ws.plugin.executePluginPostReturnFile("com.openkm.plugin.rest.TestGetDocumentRestPlugin", parameters, null); OutputStream fos = new FileOutputStream("/home/user/Desktop/test.pdf"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}executePluginGet
Sección titulada «executePluginGet»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| executePluginGet(String className, Map<String, String> parameters, Class<?> clazz) | Object | Devuelve un InputStream resultante de la ejecución de una clase que implementa RestPlugin. |
Ejemplo:
package com.openkm;
import java.util.HashMap;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); // Browser URL // http://localhost:8080/OpenKM/services/rest/plugin/executeGetPlugin?className=com.openkm.plugin.rest.TestGetDocumentRestPlugin¶m={"key":"docId","value":"/okm:root/invoices/00000001_001_of_001.pdf"} Map<String, String> parameters = new HashMap<>(); parameters.put("docId", "/okm:root/invoices/00000001_001_of_001.pdf"); parameters.put("docId2", "/okm:root/invoices/00000001_001_of_001.pdf2"); String value = (String) ws.plugin.executePluginGet("com.openkm.plugin.rest.TestRestPlugin", parameters, String.class); System.out.println(value); } catch (Exception e) { e.printStackTrace(); } }}executePluginGetReturnFile
Sección titulada «executePluginGetReturnFile»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| executePluginGetReturnFile(String className, Map<String, String> parameters) | InputStream | Devuelve el valor Object resultante de la ejecución de una clase que implementa RestPlugin. |
Ejemplo:
package com.openkm;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;
import org.apache.commons.io.IOUtils;
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); // Browser URL // http://localhost:8180/OpenKM/services/rest/plugin/executeGetPluginReturnFile?className=com.openkm.plugin.rest.TestGetDocumentRestPlugin¶m={"key":"docId","value":"/okm:root/invoices/00000001_001_of_001.pdf"} // http://localhost:8180/OpenKM/services/rest/plugin/executeGetPluginReturnFile?className=com.openkm.plugin.rest.TestGetDocumentRestPlugin¶m={"key":"docId","value":"/okm:root/invoices/00000001_001_of_001.pdf"}¶m={"key":"inline","value":"true"} Map<String, String> parameters = new HashMap<>(); parameters.put("docId", "/okm:root/invoices/00000001_001_of_001.pdf"); InputStream is = ws.plugin.executePluginGetReturnFile("com.openkm.plugin.rest.TestGetDocumentRestPlugin", parameters); OutputStream fos = new FileOutputStream("/home/jllort/Escritorio/test.pdf"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}