2015年2月8日日曜日

iDempiereにWebFormプラグインを作成する Page2

前回に続いて、iDempiereにWebFormプラグインを作成する方法を説明する。
前回はこちら

このページでは、指図入庫のソースファイル「WOrderReceiptIssue」とIFormFactoryを実装したクラスの追加をおこなう。

②ソースコードを作成する。
1.WOrderReceiptIssueクラスをorg.eevolution.formに作成する。
このクラスは、ADempiereのLiberoに存在するクラスだが
iDempiere用に少しカスタマイズする必要がある。




2.IFormFactoryを実装したクラスを作成する。
これが、WebFormプラグインを作成するときにポイントとなるクラス。
このクラスがOSGIの拡張ポイントに設定され、iDempiereのコアから呼ばれるようになる。
そして、指定されたWebFormインスタンスを生成する役割を持っている。

 IFromFactoryのnewFormInstanceメソッドが新しいFormを作成するメソッドで
かつiDempiereのコアから呼ばれるメソッドで、
ここで新しいWebFormを作成するコードを記述すればよい。

ここでは、LiberoWebFormFactoryクラスを作成した。

また、WebForm作成時に使用するクラスローダーは、
新規プラグインのパッケージのスコープのものでなければならず、
DefaultFormFactoryを継承するだけでは、うまく動作しないので注意が必要。
 参考:New zk Form in iDempiere: ClassNotFoundException
 





この状態で、コンパイルをしてもまだエラーが出てしまう。 依存関係の設定をしていないからである。 次回は、そのあたりを説明していく。
Page3

0 件のコメント:

コメントを投稿