*Pierpaolo *Lombardi [*http://Comunidad.*jboss.*org/Personas/*pierx83] creó la discusión
"*Re: cliente de tarea Humana en un GUI de usuario diferente"
para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/626166#626166
--------------------------------------------------------------
Sí era.
Utilizo el *TaskClient utilidades. Aquí mi código para empezar y para completar una tarea (el método de inicio lee los parámetros de entrada y el completo uno escribe los parámetros de producción). Espero que esto te puede ayudar
inicio de Objeto público(usuario de Cadena,tarea de Tarea) echa Excepción
#prn.*taskClient.Inicio(tarea.*getId(),usuario, *null);
*BlockingGetTaskResponseHandler *handlerT = nuevo *BlockingGetTaskResponseHandler();
esto.*taskClient.*getTask(*id, *handlerT);
*org.*jbpm.Tarea.Tarea *t = *handlerT.*getTask();
*TaskData *taskData = *t.*getTaskData();
// Sistema.Fuera.*println("*TaskData = "+*taskData);
*BlockingGetContentResponseHandler *handlerC = Nuevo *BlockingGetContentResponseHandler();
esto.*taskClient.*getContent(*taskData.*getDocumentContentId(), *handlerC);
contenido de Contenido = *handlerC.*getContent();
// Sistema.Fuera.*println("Contenido= "+de contenido);
*ByteArrayInputStream *bais = nuevo *ByteArrayInputStream(contenido.*getContent());
*ObjectInputStream *ois = Nuevo *ObjectInputStream(*bais);
//parámetro *può *essere *un *parametro *di *tipo *primitivo *o *un *oggetto
//un *seconda *del tarea *che *esegue *il parámetro
de Objeto del reparto =*ois.*readObject();
// Sistema.Fuera.*println("Parámetro = "+de parámetro);
parámetro de regreso; //parámetro de entrada de la tarea
}
/**
* Completa la ejecución de tarea
*/
pública *void completo(usuario de Cadena,tarea de Tarea,Cadena<de Mapa,parámetros> de Cadena)
#unknown{^*ContentData *contentData = *null;
si (parámetros != *null)
#unknown{^*ByteArrayOutputStream *bos = Nuevo *ByteArrayOutputStream();
*ObjectOutputStream fuera;
prueba
#pr{^fuera de = nuevo *ObjectOutputStream(*bos);
fuera.*writeObject(Parámetros);
fuera.Cercano();
*contentData = nuevo *ContentData();
*contentData.*setContent(*bos.*toByteArray());
*contentData.*setAccessType(*AccessType.*Inline);
} Coge (*IOException *e)
#unknown{^*e.*printStackTrace();
}
}
*BlockingTaskOperationResponseHandler *responseHandler = Nuevo *BlockingTaskOperationResponseHandler();
esto.*taskClient.Completo(tarea.*getId(), usuario, *contentData, *responseHandler);
*responseHandler.*waitTillDone(5000);
}
--------------------------------------------------------------
Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/626166#626166]
Empieza una discusión nueva en *jBPM en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2034]
| Pierpaolo Lombardi [http://community.jboss.org/people/pierx83] created the discussion
"Re: Human task client on a different user GUI"
To view the discussion, visit: http://community.jboss.org/message/626166#626166
--------------------------------------------------------------
Yes I was.
I use the TaskClient utilities. Here my code to start and to complete a task (the start method reads the input parameters and the complete one write the output parameters). I hope this can help you
public Object start(String user,Task task) throws Exception {
this.taskClient.start(task.getId(),user, null);
BlockingGetTaskResponseHandler handlerT = new BlockingGetTaskResponseHandler();
this.taskClient.getTask(id, handlerT);
org.jbpm.task.Task t = handlerT.getTask();
TaskData taskData = t.getTaskData();
// System.out.println("TaskData = "+taskData);
BlockingGetContentResponseHandler handlerC = new BlockingGetContentResponseHandler();
this.taskClient.getContent(taskData.getDocumentContentId(), handlerC);
Content content = handlerC.getContent();
// System.out.println("Content= "+content);
ByteArrayInputStream bais = new ByteArrayInputStream(content.getContent());
ObjectInputStream ois = new ObjectInputStream(bais);
//parameter può essere un parametro di tipo primitivo o un oggetto
//a seconda del task che esegue il cast
Object parameter =ois.readObject();
// System.out.println("parameter = "+parameter);
return parameter; //input parameter of the task
}
/**
* Complete the task execution
*/
public void complete(String user,Task task,Map<String,String> parameters){
ContentData contentData = null;
if (parameters != null) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out;
try {
out = new ObjectOutputStream(bos);
out.writeObject(parameters);
out.close();
contentData = new ContentData();
contentData.setContent(bos.toByteArray());
contentData.setAccessType(AccessType.Inline);
} catch (IOException e) {
e.printStackTrace();
}
}
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
this.taskClient.complete(task.getId(), user, contentData, responseHandler);
responseHandler.waitTillDone(5000);
}
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/626166#626166]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
|