PR

WebUIのデバッグ方法と新規追加

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

第7回では、WebUIのデバッグ方法と、新しくWebUIを追加する方法について説明します。

WebUIのデバッグ方法

第6回ではEclipseのデバッグ機能を使って、AdempiereのJavaクライアントが行っている処理を確認する方法を説明しました。

今回は、AdempiereのWebUI(ユーザーインターフェース)をデバッグする方法を紹介します。

AdempiereのZK WebUIは、 JBossアプリケーションサーバーを起動した後、そのサーバーにブラウザでアクセスすることで表示できます。

図1:AdempiereのZK WebUI(クリックで拡大)

WebUIをデバッグするための準備

WebUIをデバッグするには、アプリケーションサーバーの起動時にデバッグ用の値を指定します。

Adempiereをインストールしたフォルダ(C:\Adempiereなど)にある、utils\myEnvironment.batファイルの中に書かれているADEMPIERE_JAVA_OPTIONS という変数に、

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

という値を追加してください。

追加した結果は以下のようになります。

@SET ADEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M -DADEMPIERE_HOME=C:\Adempiere -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

修正を保存したら、C:\Adempiere\utils\RUN_Server2.bat を使ってサーバーを開始してください。

WebUIのデバッグ

デバッグ用の引数を設定してJBossを起動したら、Eclipseのメニューから、Run > Open Debug Dialog を開いて、Remote Java Applicationのコンフィグレーションを新規作成してください。

図2:Remote Java Applicationのコンフィグレーションを新規作成する(クリックで拡大)

Connectタブにある、「Project」は、サーバーとして起動しているAdempiereと同じバージョンソースコードを設定してください。

「Connection Type」は、Standard (Socket Attach) を選択してください。

「Connection Properties」の「Host」はlocalhost、「Port」は8888を指定してください。

図3:Connectタブの設定

設定が終わったら、右下の「Debug」ボタンを押してください。EclipseのDebugウィンドウにサーバーに接続されたことを示す画面が表示されます。

図4:EclipseのDebugウィンドウ(クリックで拡大)

この状態でAdempiereのWebUIを操作すると、処理がブレークポイントに来た時に停止します。

第6回記事で使用した、

  • 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メソッド)

などのブレークポイントを有効にして、WebUIの左メニューからウィンドウを表示させようとすると、ブレークポイントで停止します。

ただし、第6回記事で、Javaクライアントの時に使用した、以下の位置のブレークポイントを有効にしても、WebUIの操作ではこれらのブレークポイントでは止まりません。

  • 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メソッド)

これはWebUIでは、

  • zkwebui\WEB-INF\src\org\adempiere\webui\window\ADWindow.java
  • zkwebui\WEB-INF\src\org\adempiere\webui\panel\ADWindowPanel.java

などの、ZK WebUI用のソースコードを使っているためです。

図5:ブレークポイントを設定してWebUIの処理内容を確認する

これらのファイルにブレークポイントを設定することで、WebUIの処理の内容を確認することができます。

以上で、WebUIのデバッグ方法の説明は終了です。

adempiere.jp

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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