websaleプロセス定義の表示とカスタマイズ
まず、「Project Explorer → websale → src/main/jpdl → processdefinition.xml」を選択してください。表示された「Convert To 3.1.x Format」のダイアログで「Convert And Open」を選択します。
これでwebsaleプロセスのプロセス定義が確認でき、SourceタブをクリックするとjPDLのプロセス定義がソース表示できます。
では次に、websaleプロセスのカスタマイズをしていきましょう。今回は商品のラッピングを行うwrap itemタスクノードを、商品配送(ship item)タスクノードの直前で追加するカスタマイズをしてみましょう。このタスクノードで定義されるタスクはshipperユーザにアサインすることにし、注文データで入力した商品名の表示とラッピングの色を入力するフォーム画面を表示させます。

図2:Generate Task Formダイアログ
(画像をクリックすると別ウィンドウに拡大図を表示します)
wrap itemタスクの追加とフォームの作成
タスクを追加する前に、まずプロセス定義にタスクノードを追加します。ship itemノードに向かう「shippingの矢印(Transition)」を右クリックし、Deleteで削除します。左ペインから「Task Node」をクリックしてプロセス定義上でクリックし、タスクノード「Task-node1」を作成します。次に「Task-node1」をクリックして、ノード名を「wrap item」に変更してください。
では次に、wrap itemノードにTransitionを追加します。左ペインからTransitionをクリックします。<<Fork>>ノードをクリックして、wrap itemノードをクリックしてください。すると<<Fork>>からwrap itemに向かう矢印が生成されます。同様にwrap itemノードをクリックして、ship itemノードをクリックすると、wrap itemからship itemに向かう矢印が生成されます。Propertiesビューで、今生成されたTransitionのNameに「ship item」を設定してください。
あとでフォームを作成する際に次の遷移先を明示的に指定する必要があるため、あらかじめTransitionに名前を指定しておきます。
それではwrap itemタスクノードにwrap itemタスクを追加しましょう。wrap itemタスクノードをクリックして、PropertiesビューでTasksをクリックします。Tasksの右側で右クリックしてNew Taskを選択してください。するとTaskが生成されます。TaskのGeneralを選択し、Namewrap itemを入力してください。「Assignment → Swimlane」を選択しshipperを入力します。
最後にwrap itemタスク用のフォームを作成します。「Details → Generate Form...」を選択します。表示された画面で「Define the form fields → Add」を選択して、item(読込み専用)とcolor(読み書き可能)フィールドを追加してください。次に「Define the form buttons → Add」を選択し、Transition Nameにship itemを入力します。File nameにform.wrap.item.xhtmlを入力してOKを押してください(図2)。
次のページ