TOP設計・移行・活用> はじめに




Eclipse BIRT
Eclipseが提供するBIとレポーティングツール

第4回:スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
著者:ビーブレイクシステムズ  川本 博之   2006/3/23
1   2  3  次のページ
はじめに

   こんにちは、ビーブレイクシステムズの川本です。

   今回はスクリプティング機能、Tomcatを使用したプレビュー、レポートエンジンを使用したJavaクラスからのレポート出力機能を紹介していきます。
スクリプティング機能

   まずEclipse BIRTの持つ多彩なスクリプティング機能を紹介します。

   Eclipse BIRTではレポートファイル/レポート内の要素/データソース/データセットが持つイベントハンドルメソッド内にスクリプトを記述することにより、独自の処理を登録することができます。スクリプト言語はMozillaの「Rhino」により、JavaコードとJavaScriptコードのどちらの記述も可能です。

   今回は、前回作成した「店舗一覧」レポートに、グローバル情報の登録、SQLの表示、行背景色の変更をスクリプティング機能によって行っていきます。

   またMozillaの「Rhino」の使用方法については以下のURLに詳しく掲載されていますので、参考にしてください。



メソッドの種類

   定義できるメソッドと対象要素の一覧を表1に示します。

定義できるメソッド 対象要素
レポートファイル initialize、beforeFactory、afterFactory、beforeRender、afterRender
レポート内エレメント onPrepare、onCreate、onRender
データソース afterClose、afterOpen、beforeColse、beforeOpen、Open(注)、Close(注)
データセット afterClose、afterOpen、beforeColse、beforeOpen、onFetch、describe(注)、open(注)、close(注)、fetch(注)

表1:定義できるメソッドと対象要素

※注: データソースが「スクリプト記述済みデータソース」の場合

   レポート生成時におけるメソッドの呼び出し順は以下のようになります。

  1. レポートのinitialize
  2. 各要素(テーブル、ロウ、セル、データ)のonPrepare
  3. レポートのboforeFactory
  4. データセットのbeforeOpen、afterOpen、onFetch
  5. 各要素(テーブル、ロウ、セル、データ)のonCreate
  6. データセットのbeforeClose、afterClose
  7. レポートのafterFactory

表2:メソッドの呼び出し順


レポートファイルへのメソッド

   まずinitializeメソッドにレポート内で使用するグローバルな値などを定義します。今回はタイトルの文字列、背景色を格納したMapオブジェクトを登録します。

   「レポートファイル → レポートエディタのスクリプトタブ → メソッドinitialize」を選択しスクリプトを定義します。メソッド内で使用する式や値はPalletより選択できます。

initializeメソッド
// レポートコンテキストにキーと値を登録
reportContext.setPersistentGlobalVariable("title", "店舗一覧");

// アプリケーションコンテキストにMapを登録
appContext = reportContext.getAppContext();
importPackage(Packages.java.util)
colorMap = new HashMap();
colorMap.put("color1", "#FAFAD2");
colorMap.put("color2", "#FAEBD7");
appContext.put("colors", colorMap);

   同様にbeforeFactoryにスクリプトを記述し、実行SQLをレポート内の「sql」というフィールドに表示してみます。

beforeFactoryメソッド
// sqlの取得
query = this.getDataSet("StoreListDataSet").queryText;
// ダイナミックテキストにセット
this.getDynamicText("sql").valueExpr = "query;";

   続いて、行の背景色を「店舗区分」で色分けします。

行のonCreateメソッド
// 指定カラムの値によって行の背景色を設定
if (this.rowData.getExpressionValue(3) == "0") {
   this.getStyle().backgroundColor = reportContext.getAppContext().get("colors").get("color1")
} else {
   this.getStyle().backgroundColor = reportContext.getAppContext().get("colors").get("color2")
}

   スクリプトの定義が終わったらプレビューで確認してみましょう。

スクリプト定義後のプレビュー画面
図1:スクリプト定義後のプレビュー画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

   また作成したJavaクラスを「%ECLIPSE%\plugins\org.eclipse.birt.report.viewer\birt\WEB-INF\lib」の下におくことにより、スクリプト内で使用可能となります。

1   2  3  次のページ


株式会社ビーブレイクシステムズ  川本 博之
著者プロフィール
株式会社ビーブレイクシステムズ  川本 博之
Javaスペシャリスト。前職ではJava専業ソフトウェアハウスにおいてプロジェクトリーダーとして活躍。現職ではオープンソースに関する技術の研究活動を日々行なう。常に、ビジネス設計を意識したユーザが使いやすいシステム構築を心掛けている。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。

INDEX
第4回:スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
はじめに
  Tomcatでのプレビュー
  レポートエンジンを使用してのレポート出力
Eclipseが提供するBIとレポーティングツール
第1回 インストールからはじめるEclipse BIRT
第2回 データベースのデータをレポートに出力しよう
第3回 レポートを作成しよう
第4回 スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
Eclipse3ではじめるJava Webアプリケーション開発
第1回 Eclipse3の概要とインストール
第2回 Eclipse3の基本機能
第3回 Eclipse3の基本操作を憶えよう
第4回 Eclipseの便利な機能
第5回 Webアプリケーションの開発(1)〜JSP作成〜
第6回 Webアプリケーションの開発(2)〜サーブレットの作成〜
第7回 データベースの利用
第8回 フレームワークの利用
第9回 O/Rマッパーの利用
第10回 JUnitの利用
第11回 Antの利用
第12回 CVSの利用(1)
第13回 CVSの利用(2)
Eclipse実践プラグイン開発
第1回 Eclipseとプラグイン
第2回 プラグインの配布とインストール
第3回 基本的なGUIコンポーネントの利用
第4回 JFaceのGUIコンポーネント
第5回 メニューとポップアップ・メニューの拡張
第6回 ビューの拡張
第7回 エディタの拡張
第8回 パースペクティブの拡張
第9回 プロパティと設定の拡張
Eclipse WTPによる標準開発ツールの提供
第1回 Eclipse WTPの概要とインストール
第2回 Eclipse WTPでHello World
第3回 Eclipse WTPのDB系ツールを使う
第4回 Eclipse WTPのエディタとその他のツール