Workflow samples
Para la mayoría de los ejemplos se ha usado el Purchase workflow sample.
Métodos
Sección titulada «Métodos»registerProcessDefinition
Sección titulada «registerProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| registerProcessDefinition(InputStream is) | void | Registra un nuevo flujo de trabajo. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { InputStream is = new FileInputStream("/opt/files/Purchase.par"); ws.registerProcessDefinition(is); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessDefinition
Sección titulada «deleteProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteProcessDefinition(long pdId) | void | Elimina un flujo de trabajo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 5; // Valid workflow process definition ws.deleteProcessDefinition(pdId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinition
Sección titulada «getProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessDefinition(long pdId) | void | Devuelve una definición de proceso de flujo de trabajo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 5; // Valid workflow process definition ProcessDefinition pd = ws.getProcessDefinition(pdId); System.out.println(pd); } catch (Exception e) { e.printStackTrace(); } }}runProcessDefinition
Sección titulada «runProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| runProcessDefinition(long pdId, String uuid, List |
ProcessInstance | Ejecuta un flujo de trabajo sobre un nodo. |
- El valor del parámetro pdId es una definición de proceso de flujo de trabajo válida.
- El parámetro uuid puede ser cualquier UUID de documento, correo, carpeta o expediente.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el flujo de trabajo (no todos los flujos de trabajo necesitan valores de formulario para iniciarse).
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.FormElement;import com.openkm.sdk4j.bean.form.Input;import com.openkm.sdk4j.bean.form.TextArea;import java.util.*;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long pdId = 8041; // Some valid workflow process definition id List<FormElement> feList = new ArrayList<>(); // Case as part of starting workflow are required form parameter Input price = new Input(); price.setName("price"); price.setValue("1000"); feList.add(price); TextArea textArea = new TextArea(); textArea.setName("description"); textArea.setValue("some description here"); feList.add(textArea); ws.runProcessDefinition(pdId, "f86cc22d-9b50-434f-a940-b04cea9c0048", feList); } catch (Exception e) { e.printStackTrace(); } }}findProcessInstances
Sección titulada «findProcessInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findProcessInstances(long pdId) | List |
Recupera una lista con todas las instancias de proceso de algunas definiciones de flujo de trabajo registradas. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessDefinition;import com.openkm.sdk4j.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all workflow definitions for (ProcessDefinition pd : ws.findAllProcessDefinitions()) { System.out.println("WF definition: "+pd); // Get all process of some workflow definition for (ProcessInstance pi : ws.findProcessInstances(pd.getId())) { System.out.println("PI: "+pi); } } } catch (Exception e) { e.printStackTrace(); } }}findAllProcessDefinitions
Sección titulada «findAllProcessDefinitions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findAllProcessDefinitions() | List |
Recupera una lista con todas las definiciones de flujo de trabajo registradas. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { for (ProcessDefinition pd : ws.findAllProcessDefinitions()) { System.out.println(pd); } } catch (Exception e) { e.printStackTrace(); } }}findLatestProcessDefinitions
Sección titulada «findLatestProcessDefinitions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findLatestProcessDefinitions() | List |
Recupera una lista con las últimas definiciones de flujo de trabajo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all latest workflow definitions for (ProcessDefinition pd : ws.findLatestProcessDefinitions()) { System.out.println("WF definition: " + pd); } } catch (Exception e) { e.printStackTrace(); } }}findLastProcessDefinition
Sección titulada «findLastProcessDefinition»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findLastProcessDefinition(String name) | ProcessDefinition | Recupera la última definición de un flujo de trabajo concreto. |
- El parámetro name identifica un grupo concreto de definiciones de flujo de trabajo.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ProcessDefinition pd = ws.findLastProcessDefinition("purchase"); System.out.println("WF definition: " + pd); } catch (Exception e) { e.printStackTrace(); } }}getProcessInstance
Sección titulada «getProcessInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessInstance(long piId) | ProcessInstance | Devuelve la instancia de proceso. |
- El parámetro piId es un id de instancia de proceso válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long piId = 8108; // Some valid process instance id ProcessInstance pi = ws.getProcessInstance(piId); System.out.println("PI: " + pi); } catch (Exception e) { e.printStackTrace(); } }}findUserTaskInstances
Sección titulada «findUserTaskInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findUserTaskInstances() | List |
Recupera una lista de instancias de tarea asignadas al usuario. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all user task intances for (TaskInstance ti : ws.findUserTaskInstances()) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findTaskInstances
Sección titulada «findTaskInstances»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findTaskInstances(long piId) | List |
Recupera una lista de instancias de tarea para un id de instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Get all task instances of some process instance long piId = 8108; // Some valid process instance id for (TaskInstance ti : ws.findTaskInstances(piId)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceValues
Sección titulada «setTaskInstanceValues»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setTaskInstanceValues(long tiId, String transName, List |
void | Establece los valores de una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro transName es la transacción elegida.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el flujo de trabajo (no todas las tareas de flujo de trabajo necesitan valores de formulario).
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.TaskInstance;import java.util.*;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id List<FormElement> feList = new ArrayList<>(); ws.setTaskInstanceValues(tiId, "approve", feList); } catch (Exception e) { e.printStackTrace(); } }}getTaskInstance
Sección titulada «getTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getTaskInstance(long tiId) | TaskInstance | Devuelve una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id TaskInstance ti = ws.getTaskInstance(tiId); System.out.println(ti); } catch (Exception e) { e.printStackTrace(); } }}startTaskInstance
Sección titulada «startTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| startTaskInstance(long tiId) | void | Inicia una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.startTaskInstance(tiId); } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceActorId
Sección titulada «setTaskInstanceActorId»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setTaskInstanceActorId(long tiId, String actorId) | void | Establece el actor de una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro actorId debe ser un id de usuario de OpenKM válido.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.setTaskInstanceActorId(tiId, "okmAdmin"); } catch (Exception e) { e.printStackTrace(); } }}endTaskInstance
Sección titulada «endTaskInstance»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| endTaskInstance(long tiId, String transName) | void | Finaliza una instancia de tarea. |
- El parámetro tiId es un id de instancia de tarea válido.
- El parámetro transName es un nombre de transacción.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { long tiId = 8110; // Some valid task instance id ws.endTaskInstance(tiId, "end"); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionForms
Sección titulada «getProcessDefinitionForms»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProcessDefinitionForms(long pdId) | Map<String, List |
Devuelve un mapa con todos los formularios de la definición de proceso. |
Ejemplo:
package com.openkm;
import java.util.List;import java.util.Map;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.form.FormElement;
public class Test2 { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { Map<String, List<FormElement>> forms = ws.getProcessDefinitionForms(12); for (String key : forms.keySet()) { System.out.println("Key:"+key); for (FormElement fe : forms.get(key)) { System.out.println("Fe:"+fe); } } } catch (Exception e) { e.printStackTrace(); } }}