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.

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.

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

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

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

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.

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

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

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