En este caso de ejemplo se muestra cómo crear una instancia de una plantilla de tarea que define una tarea de usuario e inicia la instancia de tarea.
Este paso es opcional si ya conoce el nombre de la tarea.
TaskTemplate[] taskTemplates = task.queryTaskTemplates ("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_HUMAN", "TASK_TEMPL.NAME", new Integer(50), null);
El resultado se clasifica por nombre. La consulta devuelve una matriz que contiene las 50 primeras plantillas de tareas de usuario clasificadas.
TaskTemplate template = taskTemplates[0]; // crear un mensaje para la tarea seleccionada ClientObjectWrapper input = task.createInputMessage( template.getID()); DataObject myMessage = null ; if ( input.getObject()!= null && input.getObject() instanceof DataObject ) { myMessage = (DataObject)input.getObject(); //establecer las partes del mensaje, por ejemplo, un nombre de cliente myMessage.setString("CustomerName", "Smith"); }
En el ejemplo se utiliza el método createAndStartTask para crear e iniciar la tarea.
TKIID tkiid = task.createAndStartTask( template.getName(), template.getNamespace(), input null);
Se crearán elementos de trabajo de los usuarios a los que les interesa la instancia de tarea. Por ejemplo, un propietario potencial puede reclamar la nueva instancia de tarea.
ClientObjectWrapper input2 = task.claim(tkiid); DataObject taskInput = null ; if ( input2.getObject()!= null && input2.getObject() instanceof DataObject ) { taskInput = (DataObject)input2.getObject(); // leer los valores ... }
Cuando se reclama la instancia de tarea, se devuelve el mensaje de entrada de la tarea.