[Seasar-user:7659] Re: [Dolteng]DaoやScaffold生成機能における 出力先について
taichi sato
[E-MAIL ADDRESS DELETED]
2007年 5月 16日 (水) 21:46:26 JST
太一です。
質問の内容を完全に誤解していたようです。申し訳ありません。
> 1.New Dao or Entity の生成時
> ・Dolteng設定ページのEntity/Daoパッケージの設定値 ⇒ 反映される
> ・Dolteng設定ページのソースパスの設定値 ⇒ 反映されない
これについては、おっしゃる通りです。
但し、後者については、若干分り辛い仕様かもしれないと思い始めています。
理由は後述します。
Doltengのプロパティページで設定した内容を反映していない事に深い意味はありませんので、
Doltengのプロパティページで設定した内容がWizardの初期値になる様にします。
> 2.Scaffold の生成時
> ・Dolteng設定ページの設定値 ⇒ すべて反映されない
これについては、以下の様に動作している筈です。
・Dolteng設定ページのEntity/Daoパッケージの設定値 ⇒ 反映されない
→これは、scaffoldアプリケーションが直ちに動作する事を保障する為に、
当該プロジェクト内にあるconvention.diconの設定値を元に動作する為です。
・Dolteng設定ページのソースパスの設定値 ⇒ 反映される
例えば、Churaプロジェクトウィザードで生成されるソースパスコンテナは、
・src/main/java
・src/main/resouces/
・src/test/java
・src/test/resouces/
ですが、更に、
・src/main/hoge
を追加した上で、Doltengのプロパティページで、追加したソースパスコンテナを設定すれば、
schaffold生成操作を実行した際には、当該ソースパスコンテナ内にリソースが作成されます。
結果的に、Doltengのプロパティページで設定されている内容が、
状況によって、使われたり使われなかったりしている事は、
一貫性が無く誤解を招き易い様な状態であると言えます。
尚、プロパティページの初期値として設定されている内容は、
当該プロジェクトに含まれるconvention.diconに設定されている内容を元に構成しています。
Doltengのプロパティページに設定出来る「Default〜」のパッケージ名は、
Entity、Dao、Page等のリソース生成ウィザードで、
それらのリソースが収まるべきパッケージがデフォルトで入力されていれば便利であるとの考えから導入されているものです。
元々、convention.diconには複数のルートパッケージを指定する事が出来ますが、
ウィザードでパッケージ名を予め設定する為には、そのどれか一つに決め打ちしなければならない為、それならば…と、Doltengのプロパティページでは、「Default〜」で、パッケージ名全体を指定する様になっています。
対応として、Doltengのプロパティページでは、
convention.diconから取り出したルートパッケージ名のうち何れかを選択する様なコンボボックスにしようかと、考えています。
つまり、「Default〜」で始まる設定項目を全て排除する事が可能になります。
これによって、Doltengが生成するリソースが、一貫してconvention.diconに基づいて出力される様になり、今回の様に一貫性が無い事による齟齬を減らす事が出来ると考えます。
併せて、scaffold実行時のダイアログが寂しい感もあるので、以下の2点を選択可能にしようかと考えます。
・convention.diocnから取り出したルートパッケージ名の一覧から一つを選ぶ
・当該プロジェクトのソースパスコンテナの一覧から一つを選ぶ
以上の対応で、如何でしょうか?
07/05/16 に Tetsuya Midorikawa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 緑川です。
>
> >余り複雑な構成を持つプロジェクトに対応する様な予定はありません。
> >Doltengは単純な構成のプロジェクトを想定して動作します。
> >
> 了解しました。レアケースの要望という振り方はまずかったですね。。
> 「設定を複数登録して・・・」というのは忘れてください。m(_ _)m
>
> ただ、ひとつだけ質問させてくださいね。
>
> >次に、Scaffoldではなく、「New Dao or Entity」を実行してみました。
> >こちらはダイアログで出力先の選択が可能になっていますが、Entity
> >とDaoクラスの出力先パッケージには、Dolteng設定ページで設定した
> >値が反映され、myapp.aaa.entity、myapp.aaa.dao のようになっており
> >ました。ところが、ソースパスの値だけは設定値が反映されておらず、
> >/myproj/src/main/java のままになっていました。
> >
> と書いた通り、
>
> 1.New Dao or Entity の生成時
> ・Dolteng設定ページのEntity/Daoパッケージの設定値 ⇒ 反映される
> ・Dolteng設定ページのソースパスの設定値 ⇒ 反映されない
>
> 2.Scaffold の生成時
> ・Dolteng設定ページの設定値 ⇒ すべて反映されない
>
> のようになっており、1のEntity/Daoだけが反映されるのですが、これは
> 何故なのでしょうか?
>
> そもそも今回要望を思いついたのは、上記1のケースでEntity/Daoだけ
> に設定値が反映されるのを実際に確認したからに他なりません。そして、
> それならば1のソースパスの設定値の方も「反映されない」ではなく「反映
> される」となった方が、仕様として揺らぎが無いと感じた(と言うより、本来
> はそういう仕様だったのでは?と勘ぐった^^;)からです。
>
> で、ならば2の場合も同様にすべての設定値が反映されても別に支障は
> 無いのでは?と、続けて考えた訳です。(「1と2は全く別物」ということで
> あれば、この考えは的外れになりますが。)
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内