[YMIR-283] 別画面からの自動生成だと生成されないメソッドがある Created: 2009-01-19  Updated: 2009-01-28  Resolved: 2009-01-28

Status: Closed
Project: Ymir
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0.1

Type: Bug Priority: Minor
Reporter: jflute Assignee: skirnir
Resolution: Duplicate Votes: 0
Labels: None


 Description   

【概要】
会員一覧画面と購入履歴画面があるとして。

購入履歴画面にて、一覧の中でそれぞれの行を削除するボタンがあって、
購入履歴Pageクラスでは、_post_delete(int index)メソッドが作成される。

購入履歴画面のSystemNotificationで購入履歴Pageクラスを自動生成した場合は、
post_delete(int index)メソッドが作成されるが、
会員一覧画面で購入履歴Pageクラスを自動生成した場合は作成されない。

購入履歴画面を開発しているときは購入履歴画面のSystemNotificationで更新するので問題ないが、
会員一覧画面で何かしら修正がはいってそっちでSystemNotificationで購入履歴Pageクラスを
更新してしまうと_post_delete(int index)メソッドが消えてコンパイルエラーになってしまう。
わかっていればチェックを外せば良いが、わからないと「なんだろうと!?」となってしまう。

【環境】
Mac OS X
Safari
Java 5.0

【補足】
バグだと思われるが、他の課題に比べて優先度は低い



 Comments   
Comment by skirnir [ 2009-01-28 ]

自動生成機構のバグです。YMIR-309 に別issueとして起票しました。

Comment by jflute [ 2009-01-27 ]

引数の変数名がおかしいだけのようである。

Comment by jflute [ 2009-01-27 ]

> 購入履歴のPageクラスのBaseから消えてしまいます。
消えていた訳じゃなくて、これでコンパイルエラーになっていた。

    public void _post_delete(int int) {

    }
Comment by jflute [ 2009-01-26 ]

他の課題と同様、dbflute-ymir-exampleで再現が可能です。

会員一覧画面が「/member/search/list.html」
購入履歴画面が「/member/purchase/list.html」

会員一覧画面にて購入履歴画面へのリンクがあります。

<a tal:condition="member/purchaseLinkVisible"
   tal:attributes="href page:/member/purchase/list.html?memberId=${member/memberId}"
   href="../purchase/list.html?memberId=3">購入履歴</a>

これにより、SystemNotificationにて
会員一覧画面で購入履歴のPageクラスを生成(更新)と
購入履歴画面で購入履歴のPageクラスを生成(更新)と
両方の処理を行うことが可能になります。

一方、購入履歴画面では削除ボタンを以下のように作成しています。

<input type="submit" name="delete" value="削除" tal:attributes="name string:delete[${purchase/purchaseId}]"/>
@Override
public void _post_delete(int index) {
    // ここでは排他制御なしで問答無用で削除している。
    // VERSION_NOカラムが設定されているテーブルを排他制御なしで
    // 削除する場合は「deleteNonstrict()」を利用する。
    Purchase purchase = new Purchase();
    purchase.setPurchaseId(Long.valueOf(index));
    purchaseBhv.deleteNonstrict(purchase);
}

これは「購入履歴画面で購入履歴のPageクラスを生成(更新)」で生成されました。
で、その後「会員一覧画面で購入履歴のPageクラスを生成(更新)」を行うと
このメソッドが購入履歴のPageクラスのBaseから消えてしまいます。
(自動生成対象にならない)

Comment by skirnir [ 2009-01-26 ]

会員一覧画面と購入履歴画面の実際の構成を知りたいので、具体的な再現パターンを教えてもらえますか?

Generated at Wed Apr 09 02:11:32 JST 2025 using Jira 10.5.0#10050000-sha1:9d9d098bb7b67e8dba8da380ba9c3900d82ac3cf.