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. |
El parámetro pdId es un id de definición de proceso de flujo de trabajo 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 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. |
El parámetro pdId es un id de definición de proceso de flujo de trabajo válido.
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 parámetro pdId es un id de definición de proceso de flujo de trabajo válido.
El parámetro uuid puede ser el UUID de cualquier 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 requieren 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(); } }}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(); } }}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. |
El parámetro pdId es un id de definición de proceso de flujo de trabajo válido.
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(); } }}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 de definición de flujo de trabajo concreto.
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. |
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.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 requieren 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 el nombre de la 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. |
El parámetro pdId es un id de definición de proceso de flujo de trabajo válido.
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(); } }}