Creación e inicio de una instancia de tarea

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.

  1. Opcional: Liste las plantillas de tarea para encontrar el nombre de la tarea originadora que desea ejecutar.

    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.

  2. Cree un mensaje de entrada del tipo adecuado.
    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");
    }
  3. Cree e inicie la tarea de usuario; en este ejemplo no se especifica un manejador de respuestas.

    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.

  4. Reclame la 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.


Condiciones de uso |

Última actualización: Wed Apr 19 21:34:07 2006

(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)