Dieses Szenario veranschaulicht, wie Sie eine Instanz einer Taskschablone erstellen und starten können, die eine Benutzertask definiert.
- Optional: Listen Sie die Taskschablonen auf, um den Namen
der ursprünglichen Task zu finden, die Sie ausführen möchten.
Dieser Schritt
ist optional, wenn Sie den Namen der Task bereits kennen.
TaskTemplate[] taskTemplates = task.queryTaskTemplates
("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_HUMAN",
"TASK_TEMPL.NAME",
new Integer(50),
null);
Die Ergebnisse sind nach dem Namen sortiert.
Die Abfrage gibt eine Matrix mit den ersten 50 sortierten Benutzertaskschablonen zurück.
- Erstellen Sie eine Eingabenachricht des passenden Typs.
TaskTemplate template = taskTemplates[0];
// Erstellen einer Nachricht für die ausgewählte Task
ClientObjectWrapper input = task.createInputMessage( template.getID());
DataObject myMessage = null ;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
// Festlegen der Teile in der Nachricht (z. B. ein Kundenname)
myMessage.setString("Kundenname", "Schmidt");
}
- Erstellen und starten Sie die Benutzertask. Ein Antworthandler ist im vorliegenden Beispiel nicht angegeben.
Das Beispiel verwendet die Methode createAndStartTask, um die Task zu erstellen und zu starten.
TKIID tkiid = task.createAndStartTask( template.getName(),
template.getNamespace(),
input
null);
Für die Mitarbeiter, die von der Taskinstanz betroffen sind, werden Arbeitselemente erstellt.
Ein potenzieller Eigner kann beispielsweise die neue Taskinstanz beanspruchen.
- Beanspruchen Sie die Taskinstanz.
ClientObjectWrapper input2 = task.claim(tkiid);
DataObject taskInput = null ;
if ( input2.getObject()!= null && input2.getObject() instanceof DataObject )
{
taskInput = (DataObject)input2.getObject();
// Lesen der Werte
...
}
Wenn die Taskinstanz beansprucht ist, wird die Eingabenachricht
der Task zurückgegeben.