前準備
上記で drools 環境を整えておきます。
プロジェクトの作成
トップページから「プロジェクト」-「MySpace」をクリックします。
「プロジェクトの追加」 をクリックします。
プロジェクト名、説明を入れて「追加」ボタンをクリックします。
プロジェクトが作成されますので、「アセットの追加」ボタンをクリックします。
「データオブジェクト」を選択します。
オブジェクト名とパッケージを入力します。パッケージはデフォルトだと「com」になっていますので、ここを今作成したプロジェクトになるように選択します。
データオブジェクトの作成がされますので、続いて「フィールドを追加」をクリックします。
本のタイトルと値段を入れられるようにします。IDに「Title」、タイプを「String」を選択し、「作成して続行する」ボタンをクリックします。
続いてIDに「Price」、タイプを「Integer」を選択し、「作成」ボタンをクリックします。
以下のように定義されていることが確認できますので、「保存」ボタンをクリックします。
ルールを定義する
パンくずリストのプロジェクト名をクリックし、「アセットの追加」ボタンをクリックします。(ブラウザの戻るボタンとかではうまく移動できず…)
「ガイド付きデシジョンテーブル」をクリックします。
デシジョンテーブルの名前の入力、パッケージをプロジェクト配下になるように選択します。
メニューの「挿入」から「列の挿入」をクリックします。
「条件の追加」を選択します。
「新規ファクトパターンを作成」をクリックします。
ファクトタイプに追加したオブジェクト、バインディングに名前を入力します。
「次へ」ボタンをクリックします。
計算タイプは「固定値」を選択し、「次へ」ボタンをクリックします。
フィールドに「title」を選択し、「次へ」ボタンをクリックします。
オペレータに「は次の値と等しい」を選択し、「次へ」をクリックします。
値オプションはそのままで「次へ」をクリックします。
ヘッダーに説明文を入れ、「完了」ボタンをクリックします。
これで本のタイトルがなんなのかを入力できる列が作成できました。続いて、値段を決定する列を追加します。
「挿入」-「列の挿入」をクリックします。
新規の列は「フィールド値のセット」を選択し、「次へ」ボタンをクリックします。
パターンにはBook[本]を選択し、「次へ」ボタンをクリックします。
フィールドは「price」を選択します。
値オプションはそのままにします。
ヘッダーの説明を入力し、「完了」ボタンをクリックします。
これで本のタイトルから値段を決める、という表が作成されました。赤枠で囲った列が本のタイトルが何であるかを入力する列、右の青枠で囲った列がその値段を入力する列となります。
データを入力してみる
メニューの「挿入」-「行の追加」をクリックします。
すると表に行が追加されますので、本のタイトルと値段を入れます。下記では二つ行を増やして情報を入力しました。(入力後「保存」ボタンをクリックするのを忘れずに!)
このルールだと「入門Java」の値段はいくらか問われた時に「2500」円と返すパターンと「独習C++」がいくらか問われた時に「3000」円と返すパターンが定義されたことになります。
要は二冊分の情報しか返さないルールになっています(使いどころはない…)が、こんな感じでルールを作っていきます。