Ir al contenido
Otras versiones

Cargando…

Workflow samples

Para la mayoría de los ejemplos se ha usado el Purchase workflow sample.

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();
}
}
}

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();
}
}
}

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
runProcessDefinition(long pdId, String uuid, List values) 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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setTaskInstanceValues(long tiId, String transName, List values) 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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}