前回に続いて、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 件のコメント:
コメントを投稿