Я обновляю большое приложение 0.3.1 Griffon до 0.9.4 У меня возникают следующие трудности:
Контроллеры: я отключил UI Threading Injection, чтобы избежатьпроблема с ошибкой компиляции (см. ошибка компиляции: исключение BUG! после обновления проекта Griffon ) Вот как я могу избежать этой ошибки компиляции, но затем появилось и другое:
[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
Это настоящая проблема?Есть идеи?
Заранее спасибо.Иван.