WebUIのデバッグ方法と新規追加
第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のデバッグ方法の説明は終了です。