2012-04-18 4 views
0

JRules Studioを使用して非常に単純なルールを作成しています。ルールはIN_OUTパラメータを設定します。テストが終了したら、IN_OUTオブジェクトの値を問い合わせる方法がありますか?JRules Studio - テスト中にIN_OUTパラメータの値を表示する

最初はデバッガで質問したいと思いますが、他のアイデアは歓迎されます。

+0

をすることができ役に立てば幸いあなたはもう少し詳細を追加しますか?ルール実行後、正確に何をしたいですか? – sdfx

答えて

0

私は質問を理解することを確認していない:

Javaコードは、このようなものです:
IlrSessionFactory factory = new IlrJ2SESessionFactory();
IlrStatelessSession session = factory.createStatelessSession();
IlrSessionRequest sessionRequest = factory.createRequest();
sessionRequest.setRulesetPath(“/RuleAppName/rulesetName”);
sessionRequest.setTraceEnabled(true);
sessionRequest.getTraceFilter().setInfoAllFilters(true);
Map inputParameters = new HashMap();
Report in_report = new Report(); // no-arg constructor
// ... populate the Object ...
inputParameters.put("report", in_report);
sessionRequest.setInputParameters(inputParameters);
IlrSessionResponse sessionResponse = session.execute(sessionRequest);
Report out_report = (Report)sessionResponse.getOutputParameters().get("report“);


そして、あなたはあなたの「アウト」パラメータで遊ぶ...あなたがどんなJAVAで行うようにオブジェクト

デバッグ時にそれらを見たい場合は、私が言う:

1 /は(テストしていない)、デバッガで「ワーキングメモリタブ」の表情を持っています視点
私はわからないが、これはそれがここに

2 /、追加ルールフローの出発点の初期アクションで(テスト)表示されている場合は、それらを見つけるための最も簡単な方法です:
context.insert (パラメータの技術名称);
"ビジネス名"ではありません。とにかくルールフロー、IRLルールなどの技術的な成果物にBALを使用しないでください!

このようにすると、エンジンが強制的にパラメータをワーキングメモリに挿入します。
ノー重複(それが魅力のように動作しますが、心配しないでください)しかし、私の知る限り、これを覚えることができるようJRulesの

にEclipseのデバッガでそれらを見えるようにする最短の方法です、それは

+0

BTW:ルール自体の中にブレークポイントを追加できます。しかし、アクションの部分だけ。これは、エンジンがどんな条件テストがどのルールのためであるかを必ずしも知っているわけではないという事実による。 つまり、エンジンは(user.age)のような質問をして、ユーザーの質問に対する応答を保持することができます。エンジンが速く走るようにして、常に同じ質問を常に受け​​ているわけではありません。例えば、 – Damien

+0

のようなデシジョンテーブルです。ヒント:条件部の変数の値を知りたい場合は、簡単です。ブール値を返すメソッドをBOMに作成し、単にメソッド本体にパラメータを出力します。 :) – Damien

関連する問題