OKMWorkflow
En todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de SOAP, el proceso de inicio de sesión devuelve un token que se utiliza para identificar al usuario en todos los métodos expuestos. Desde el contexto de ejecución por defecto de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión del usuario”.
Métodos
Sección titulada «Métodos»registerProcessDefinition
Sección titulada «registerProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| registerProcessDefinition(String token, InputStream is) | void | Registra un nuevo workflow. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { InputStream is = new FileInputStream("/opt/files/Purchase.par"); OKMWorkflow.getInstance().registerProcessDefinition(null, is); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessDefinition
Sección titulada «deleteProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| deleteProcessDefinition(String token, long processDefinitionId) | void | Elimina un workflow. |
- El valor del parámetro processDefinitionId es una definición de proceso de workflow válida**.**
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition OKMWorkflow.getInstance().deleteProcessDefinition(null, pdId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinition
Sección titulada «getProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProcessDefinition(String token, long processDefinitionId) | ProcessDefinition | Devuelve la definición de proceso identificada por processDefinitionId. |
Ejemplo:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long processDefinitionId = 1; ProcessDefinition process = OKMWorkflow.getInstance().getProcessDefinition(null, processDefinitionId); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionImage
Sección titulada «getProcessDefinitionImage»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProcessDefinitionImage(String token, long processDefinitionId, String node) | byte[] | Devuelve la imagen de la definición de proceso de un workflow. |
- El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
- El parámetro node es un nodo con un workflow en ejecución.
Ejemplo:
package com.openkm;
import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition byte[] img = OKMWorkflow.getInstance().getProcessDefinitionImage(null, pdId, "/okm:root/sample.pdf"); ByteArrayInputStream in = new ByteArrayInputStream(img); FileOutputStream out = new FileOutputStream(new File("/home/test/img.jpg")); IOUtils.copy(in, out); IOUtils.closeQuietly(in); IOUtils.closeQuietly(out); } catch (Exception e) { e.printStackTrace(); } }}getProcessDefinitionForms
Sección titulada «getProcessDefinitionForms»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| Map<String, List |
Map<String, List |
Devuelve un mapa con todas las definiciones de formulario del workflow. |
- El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
Ejemplo:
package com.openkm;
import java.util.List;import java.util.Map;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;
public class Test { public static void main(String[] args) { try { long pdId = 5; // Valid workflow process definition Map<String,List<FormElement>> map = OKMWorkflow.getInstance().getProcessDefinitionForms(null, pdId); for (String key : map.keySet()) { System.out.println("group:"+key); for (FormElement fe : map.get(key)) { System.out.println(fe); } } } catch (Exception e) { e.printStackTrace(); } }}runProcessDefinition
Sección titulada «runProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| runProcessDefinition(String token, long processDefinitionId, String uuid, List |
ProcessInstance | Ejecuta un workflow sobre un nodo. |
- El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
- El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o registro.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el workflow (no todos los workflows necesitan valores de formulario para iniciarse).
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;import com.openkm.bean.form.Input;import com.openkm.bean.form.TextArea;
public class Test { public static void main(String[] args) { 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); OKMWorkflow.getInstance().runProcessDefinition(null, pdId, "f86cc22d-9b50-434f-a940-b04cea9c0048", feList); } catch (Exception e) { e.printStackTrace(); } }}sendProcessInstanceSignal
Sección titulada «sendProcessInstanceSignal»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| sendProcessInstanceSignal(String token, long processInstanceId, String transitionName) | ProcessInstance | Envía una señal a un id de instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de workflow válida.
- El parámetro uuid puede ser el UUID de cualquier documento, correo, carpeta o registro.
- El parámetro transactionName es la transición elegida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().sendProcessInstanceSignal(null, pId, "jump2"); } catch (Exception e) { e.printStackTrace(); } }}endProcessInstance
Sección titulada «endProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| endProcessInstance(String token, long processInstanceId) | void | Finaliza un id de instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de workflow válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().endProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}deleteProcessInstance
Sección titulada «deleteProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| deleteProcessInstance(String token, long processInstanceId) | void | Elimina un id de instancia de proceso. |
- El valor del parámetro processInstanceId es una instancia de proceso de workflow válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long pId = 1046; // Some valid process instance id OKMWorkflow.getInstance().deleteProcessInstance(null, pId); } catch (Exception e) { e.printStackTrace(); } }}findProcessInstances
Sección titulada «findProcessInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findProcessInstances(String token, long processDefinitionId) | List |
Recupera una lista de todas las instancias de proceso de una definición de workflow registrada. |
- El valor del parámetro processDefinitionId es una definición de proceso de workflow válida.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findAllProcessDefinitions(null)) { System.out.println("WF definition: "+pd);
// Get all process of some workflow definition for (ProcessInstance pi : OKMWorkflow.getInstance().findProcessInstances(null, pd.getId())) { System.out.println("PI: "+pi); } } } catch (Exception e) { e.printStackTrace(); } }}findAllProcessDefinitions
Sección titulada «findAllProcessDefinitions»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findAllProcessDefinitions(String token, long processDefinitionId) | List |
Recupera una lista de todas las definiciones de workflow registradas. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findAllProcessDefinitions(null)) { System.out.println("WF definition: "+pd); } } catch (Exception e) { e.printStackTrace(); } }}findLatestProcessDefinitions
Sección titulada «findLatestProcessDefinitions»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findLatestProcessDefinitions(String token) | List |
Recupera una lista de las últimas definiciones de workflow. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { // Get all workflow definitions for (ProcessDefinition pd : OKMWorkflow.getInstance().findLatestProcessDefinitions(null)) { System.out.println("WF definition: "+pd); } } catch (Exception e) { e.printStackTrace(); } }}findLastProcessDefinition
Sección titulada «findLastProcessDefinition»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findLastProcessDefinition(String token, String name) | ProcessDefinition | Recupera la última definición de un workflow concreto. |
- El parámetro name identifica un grupo concreto de definiciones de workflow.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessDefinition;
public class Test { public static void main(String[] args) { try { ProcessDefinition pd = OKMWorkflow.getInstance().findLastProcessDefinition(null, "purchase"); System.out.println("WF definition: " + pd); } catch (Exception e) { e.printStackTrace(); } }}getProcessInstance
Sección titulada «getProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProcessInstance(String token, long processInstanceId) | ProcessInstance | Devuelve la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id ProcessInstance pi = OKMWorkflow.getInstance().getProcessInstance(null, piId); System.out.println("PI: " + pi); } catch (Exception e) { e.printStackTrace(); } }}suspendProcessInstance
Sección titulada «suspendProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| suspendProcessInstance(String token, long processInstanceId) | void | Suspende la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id OKMWorkflow.getInstance().suspendProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}resumeProcessInstance
Sección titulada «resumeProcessInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| resumeProcessInstance(String token, long processInstanceId) | void | Reanuda la instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.ProcessInstance;
public class Test { public static void main(String[] args) { try { long piId = 8108; // Some valid process instance id OKMWorkflow.getInstance().resumeProcessInstance(null, piId); } catch (Exception e) { e.printStackTrace(); } }}findUserTaskInstances
Sección titulada «findUserTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findUserTaskInstances(String token) | List |
Recupera una lista de las instancias de tarea asignadas al usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances for (TaskInstance ti : OKMWorkflow.getInstance().findUserTaskInstances(null)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findPooledTaskInstances
Sección titulada «findPooledTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findPooledTaskInstances(String token) | List |
Recupera una lista de las instancias de tarea compartidas (pooled) asignadas al usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances for (TaskInstance ti : OKMWorkflow.getInstance().findPooledTaskInstances(null)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}findTaskInstances
Sección titulada «findTaskInstances»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| findTaskInstances(String token, long processInstanceId) | List |
Recupera una lista de instancias de tarea por instancia de proceso. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { // Get all user task intances long piId = 8108; // Some valid process instance id for (TaskInstance ti : OKMWorkflow.getInstance().findTaskInstances(null, piId)) { System.out.println(ti); } } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceValues
Sección titulada «setTaskInstanceValues»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setTaskInstanceValues(String token, long taskInstanceId, String transitionName, List |
void | Establece los valores de una instancia de tarea. |
- El valor del parámetro taskInstanceId es un id de instancia de tarea válido.
- El parámetro transitionName es la transición elegida.
- El parámetro values son los valores de los elementos de formulario necesarios para iniciar el workflow (no todas las tareas del workflow necesitan valores de formulario).
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.form.FormElement;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id List<FormElement> feList = new ArrayList<>(); OKMWorkflow.getInstance().setTaskInstanceValues(null, tiId, "approve", feList); } catch (Exception e) { e.printStackTrace(); } }}getTaskInstance
Sección titulada «getTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getTaskInstance(String token, long taskInstanceId) | TaskInstance | Devuelve una instancia de tarea. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.TaskInstance;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id TaskInstance ti = OKMWorkflow.getInstance().getTaskInstance(null, tiId); System.out.println(ti); } catch (Exception e) { e.printStackTrace(); } }}setTaskInstanceActorId
Sección titulada «setTaskInstanceActorId»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setTaskInstanceActorId(String token, long taskInstanceId, String actorId) | void | Establece el actor de una instancia de tarea. |
- El valor del parámetro taskInstanceId es un id de instancia de tarea válido.
- El parámetro actorId debe ser un userId válido de OpenKM.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().setTaskInstanceActorId(null, tiId, "okmAdmin"); } catch (Exception e) { e.printStackTrace(); } }}startTaskInstance
Sección titulada «startTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| startTaskInstance(String token, long taskInstanceId) | void | Inicia una instancia de tarea. |
- El valor del parámetro taskInstanceId es un id de instancia de tarea válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().startTaskInstance(null, tiId); } catch (Exception e) { e.printStackTrace(); } }}endTaskInstance
Sección titulada «endTaskInstance»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| endTaskInstance(String token, long taskInstanceId, String transitionName) | void | Finaliza una instancia de tarea. |
- El valor del parámetro taskInstanceId es un id de instancia de tarea válido.
- El parámetro transitionName es el nombre de una transición.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;
public class Test { public static void main(String[] args) { try { long tiId = 8110; // Some valid task instance id OKMWorkflow.getInstance().endTaskInstance(null, tiId, "end"); } catch (Exception e) { e.printStackTrace(); } }}getToken
Sección titulada «getToken»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getToken(String token, long tokenId) | Token | Devuelve un objeto token. |
- El valor del parámetro tokenId es un id de token válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;
public class Test { public static void main(String[] args) { try { long tkId = 8110; // Some valid token id Token tk = OKMWorkflow.getInstance().getToken(null, tkId); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}sendTokenSignal
Sección titulada «sendTokenSignal»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| sendTokenSignal(String token, long tokenId, String transitionName) | Token | Envía una señal. |
- El valor del parámetro tokenId es un id de token válido.
- El parámetro transitionName es el nombre de una transición.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMWorkflow;import com.openkm.bean.workflow.Token;
public class Test { public static void main(String[] args) { try { long tkId = 8110; // Some valid token id Token tk = OKMWorkflow.getInstance().sendTokenSignal(null, tkId, "end"); System.out.println(tk); } catch (Exception e) { e.printStackTrace(); } }}