Eclipseを使ってデータ登録画面を確認する

2011年6月17日(金)
久保田 大輔

メニュー画面の表示

ログインに成功すると、メニューウインドウが表示されます。ここからは、第4回記事で作成したサンプルウインドウが表示される流れを説明します。

ウインドウをキャッシュしない設定

Adempiereのウインドウを表示する流れをデバッグモードで調べるにあたって、ウインドウの表示をキャッシュする設定を解除します。

Adempiereのメニューから ツール > 設定 で設定ウインドウを開き、「ウインドウをキャッシュ」のチェックボックスを外して、ログアウトした後、再びログインしてください。ツリーにある項目をクリックするたびにデータベースにアクセスしてデータを取得するようになります。

DB内のデータの確認方法(pgAdmin3の起動)

これから説明するAdempiereのメニューツリー、ウインドウ、ウインドウ内のタブ、フィールドはどのような項目があるのかという情報が、データベースに保存されていて、画面の描画にはデータベース内の情報を使います。

Adempiereのデータベースに保存されているデータを確認するためにpgAdmin3を使用します。pgAdmin3を起動して、データベースに接続してください。

図6:pgAdmin3を起動して、データベースに接続する

「オブジェクトブラウザ」と表示されているツリーで、 データベース > adempiere > スキーマ > adempiere > テーブル の順にツリーを開くと、Adempiereで使っているテーブルの一覧が表示できます。

pgAdmin3のツールバーにある、「任意のSQLクエリーを実行」というアイコンをクリックするとSQLを実行するためのウインドウを開くことができます。

図7:「任意のSQLクエリーを実行」アイコンをクリック

pgAdmin3に"postgres"ユーザーで接続するとSQL文を発行する時に、テーブル名の前に「adempiere.」というスキーマ名を追加しないとエラーになってしまいます。

これを回避するには、以下のコマンドを「任意のSQLクエリーを実行」で実行してください。

set search_path to "$user",adempiere,public;

ad_windowテーブルが、Adempiereの各ウインドウの情報、ad_tabテーブルがウインドウの内のタブの情報、ad_fieldテーブルがタブ内のフィールドの情報を持っています。

ウインドウ、タブ、フィールドの情報については、AdempiereにSystem Administratorの役割(ロール)でログインして、メニュー > アプリケーション構成 > ウインドウ、タブ & フィールド から確認することもできます。

ウインドウが表示されるまでの流れ

それでは、実際にデバッグモードでコードを確認しつつ処理の流れを説明します。まずは、以下の7箇所にブレークポイントを設定してください。

  • client\src\org\compiere\grid\tree\VTreePanel.java
    576行目(mouseClickedメソッド)
  • client\src\org\compiere\apps\AMenuStartItem.java
    147行目(runメソッド)
  • client\src\org\compiere\apps\APanel.java
    646行目(initPanelメソッド)
  • base\src\org\compiere\model\GridWindowVO.java
    67行目(createメソッド)
  • base\src\org\compiere\model\GridWindowVO.java
    201行目(createTabsメソッド)
  • base\src\org\compiere\model\GridTabVO.java
    53行目(createメソッド)
  • base\src\org\compiere\model\GridFieldVO.java
    78行目(createメソッド)

ブレークポイントを設置したら、EclipseのデバッグモードでAdempiereを起動します。
メニューツリーのパネル上でマウスのボタンをクリックすると、マウスイベントが発生して、
client\src\org\compiere\grid\tree\VTreePanel.java
576行目(mouseClickedメソッド)で停止します。

この時、ツリーのノードをクリックしていなくてもイベントが発生しますが、 mouseClickedメソッド内でクリックされた座標を見ているので、何もない場所でマウスボタンをクリックしても何も起きません。

Eclipse上のResume(再開)アイコンを押すとプログラムが再開します。

adempiere.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています