0.3.1 の大きな Griffon アプリを 0.9.4 にアップグレードしていますが、次のような問題が発生しています。
コントローラー: コンパイルのバグの問題を回避するために、UI スレッド化インジェクションを無効にしました (コンパイル エラー: BUG! グリフォン プロジェクトのアップグレード後の例外を参照)。
[griffonc] [griffonc] C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\griffon-app\controllers\com\nortia\sgmentia\client\select\SelectController.groovy: 53: Repetitive method name/signature for method 'void mvcGroupInit(java.util.Map)' in class 'com.nortia.sgmentia.client.select.SelectController'. [griffonc] @ line 53, column 2. [griffonc] void mvcGroupInit(Map args) { [griffonc] ^ [griffonc] [griffonc] C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\griffon-app\controllers\com\nortia\sgmentia\client\select\SelectController.groovy: -1: Repetitive method name/signature for method 'void mvcGroupInit(java.util.Map)' in class 'com.nortia.sgmentia.client.select.SelectController'. [griffonc] @ line -1, column -1.
子コントローラーでこのメソッドをオーバーライドすることは許可されていないようです。例えば:
class MyCommonController{
...
}
class MyChildController extends MyCommonController{
...
void mvcGroupInit(java.util.Map){}
}
次のリファクタリングを行う他のコントローラーでこのエラーを解決しました。
class MyCommonController{
...
void mvcGroupInit(java.util.Map args){
initMyCommon(map)
}
abstract void initMyCommon(map)
}
class MyChildController extends MyCommonController{
...
void initMyCommon(map){
//My real init code goes here
}
}
しかし、このコントローラはリファクタリングがより複雑です:
class SelectController extends WindowAdapter implements DocumentController
これは本当の問題ですか?何か案は?
前もって感謝します。イワン。