asakusa fwはじめの一歩・改

107
ASAKUSA FRAMEWORK はじめの一歩・改

Upload: -

Post on 13-Jul-2015

1.691 views

Category:

Technology


2 download

TRANSCRIPT

A S A K U S A F R A M E W O R K はじめの一歩・改

前提

• Jinrikishaダウンロードページを参考に、Jinrikisha、Shahu、DmdlEditorX、ToadEditorをインストールしてください

http://asakusafw.s3.amazonaws.com/documents/jinrikisha/ja/html/index.html

• Mac OS X 10.9.2、Java 1.6.0_65

• Asakusa Framework 0.6.1

まずはプロジェクト作成です。

http://www.asakusafw.com/download/gradle-plugin/template-catalog-develop.txt

上記URL入力後「選択」ボタンを押下

空のプロジェクトが作成されました。これまで通り、mavenでプロジェクトを生成すると必ずexampleのソースが入りますが、Shafuを使ってGradleでプロジェクト生成すれば、空のプロジェクトが作れるようになります。

次にデータモデルを定義します。このヒシダマ印のアイコンをクリックしてください。

最初に商品マスタのモデルを定義します

プロパティを追加していくので、addボタンを押下してください

まずは商品ID

続いて同じように商品名

フィールド登録完了です

previewボタンを押下すると、生成されるDMDL定義を事前に確認することができます

finishボタンでDMDL定義が生成されます

続いて売上明細のモデル定義を作ります

このように3つのプロパティを登録します

DMDLファイルに追記されました

JOIN結果用のモデル定義を作ります。

copyボタン押下でJOIN元のプロパティをそのまま取り込むことができます

nextでこのダイアログに進むと、結合キーを選択します。まずはitem_masterからitem_idを選択してください。

item_idが選択されました

item_idを選択して、editボタンを押下してください

売上明細側のitem_idを選択してください

結合キーの設定が完了です

DMDLファイルに結合モデル定義が追加されました

モデル定義の最後に、出力用の売上明細モデルを作ります

結合用モデルのプロパティをそのままcopyします

そこに、flgプロパティを追加します

DMDLファイルに出力用モデルの定義が追加されました

続いて、各モデル定義に、属性を追加していきます。このアイコンをクリックしてください。

全てのデータモデルを選択してください(実際にはjoined_salesは選択不要ですが)

デフォルトの選択のまま進みます

付与するアノテーションを選択します

このボタンを押下すると、各属性のデフォルト値を設定できます。このボタンを押下し、出力される属性をそのまま利用します。

各モデルに属性情報が追加されました

DMDL定義から、実際のモデル用Javaソースを生成します

ソース生成されました。残念ながらパッケージは自分で定義できないようです。

各Modelのimporter/exporterを作成します

まずはitem_masterのImporterを作成します。

まずはitem_masterのImporterが作成されました

続いて売上明細用のImporterを作成します

最後に出力明細用のExporterを作成します

Importer/Exporterが生成されました

続いてJobFlowを作って行きます

インポーターを選択して…

このあたりをクリックしてください

このアイコンをダブルクリックしてください

既存クラスから選択できます

既存データモデルから選択できます

同様に売上明細用のImporterをJobFlowに登録します

ジョブフローのアイコンをダブルクリックするとこのダイアログが表示されます

inを選択して、editを押下して、item_masterからの入力口を定義してください

addを押して、sales_details用の入力口を定義してください

outを選択してeditを押下して、出力明細用の出力口を定義してください

二つの入力口と、ひとつの出力口が定義されました

GUIに戻るとこのようになっています

コネクションを描画するために、ここをクリックしてください

ふたつのインプットについてコネクションを定義します

続いてエクスポーターを登録するので、ここをクリックしてください

ジョブフローアイコンの右側に配置してこのアイコンをダブルクリックしてください

表示されたダイアログにクラスとモデルを登録します

コネクションを定義してください

マスター結合演算子をジョブフローアイコン内に配置してください

ふたつのインポーターからの接続を定義してください。この時に、masterとtransactionを意識して接続してください。

停止演算子を配置して、missedと接続してください

MasterJoinアイコンをダブルクリックしてオペレータクラスを定義してください

extend演算子を配置してください

joinedの結果から拡張演算子の入り口に接続してください

update演算子を配置してください

update演算子をダブルクリックしてこのダイアログでオペレータクラスを定義してください

update演算子の前後を接続してください

joinedの出口をダブルクリックして、出力の型を定義してください

MasterJoinのアイコンを右クリックして、このオペレータのソースを生成してください

Updateのアイコンを右クリックして、このオペレータのソースを生成してください

オペレータクラスが生成されました

Update処理内容を実装してください

JobFlowクラスをソース生成します

JobFlowクラスがソース生成されました

続いてBatchプログラムを作成します

右側の「ジョブフロー」をこちらにドラッグアンドドロップしてアイコンを配置してください

ジョブフローのアイコンをダブルクリックして、これまで作ってきたジョブフローを設定してください

Batchクラスのソースを生成します

Batchクラスのソースが生成されました

テストの準備を始めます

テスト用のテンプレートファイルが生成されました

必要なファイルをこちらにコピーします

item_master用のテストデータ

sales_details用のテストデータ

output_sales用のテストデータ

output用のテストデータをどのように判定するかの定義

テストクラスを実装してください

Junitとしてテストを実行します

テストが通りました

ビルドします

ビルドされました

• cp asakusa-develop/workspace/DemoSample/build/DemoSample-batchapps.jar $ASAKUSA_HOME/batchapps/ 生成されたビルドファイルをコピー

• cd $ASAKUSA_HOME/batchapps/

• ll ~/target/testing/directio/sample/in/ 入力ファイルを確認

• $ASAKUSA_HOME/yaess/bin/yaess-batch.sh DemoBatch バッチを実行