Evaluation
最初のチュートリアルと同じサンプル。Human Task と Gateway を使ったシンプルなプロセス。
EvaluationExampleはプロセスをスタートするだけで、あとはタスククライアントとして使える「Human Task View」を操作してタスク実行します。 http://d.hatena.ne.jp/tokobayashi/20120409 を参考。
EvaluationExample2のほうはAPIでタスクの処理を行います。
まず TaskClient で Human Task Service へ接続。これは MinaTaskClientConnector だが、HornetQTaskClientConnector もある。
TaskClient taskClient = new TaskClient(new MinaTaskClientConnector("MinaConnector", new MinaTaskClientHandler(SystemEventListenerFactory.getSystemEventListener()))); taskClient.connect("127.0.0.1", 9123);
TaskClient から処理を行うときは ResponseHandler を渡して結果をもらう。処理によって ResponseHandler の実装クラスは違う。
BlockingTaskSummaryResponseHandler taskSummaryHandler = new BlockingTaskSummaryResponseHandler(); taskClient.getTasksAssignedAsPotentialOwner("krisv", "en-UK", taskSummaryHandler); TaskSummary task1 = taskSummaryHandler.getResults().get(0);
BlockingTaskOperationResponseHandler taskOperationHandler = new BlockingTaskOperationResponseHandler(); taskClient.start(task1.getId(), "krisv", taskOperationHandler); taskOperationHandler.waitTillDone(1000);
あとなぜか Mary が タスクを Krisv に delegate して、 Administrator がそれを Mary に付け直すという小芝居が入る。
Krisv executing task Performance Evaluation(7: Please perform a self-evalutation.) John executing task Performance Evaluation(8: You need to evaluate krisv.) Mary delegating task Performance Evaluation(9: You need to evaluate krisv.) to krisv Administrator delegating task back to mary Mary executing task Performance Evaluation(9: You need to evaluate krisv.)