Ошибка компиляции Griffon Upgrade: повторяющийся метод mvcGroupInit - PullRequest
0 голосов
/ 09 декабря 2011

Я обновляю большое приложение 0.3.1 Griffon до 0.9.4 У меня возникают следующие трудности:

  1. Контроллеры: я отключил 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 

Это настоящая проблема?Есть идеи?

Заранее спасибо.Иван.

1 Ответ

0 голосов
/ 10 декабря 2011

Я повторил те же настройки, но могу заставить приложение работать должным образом, по крайней мере, если все контроллеры найдены внутри griffon-app/controllers. Однако, если базовый контроллер находится в другом каталоге, например src/main, вы получите эту ошибку.

Это ошибка в Griffon, которую нужно исправить. Не могли бы вы опубликовать билет JIRA на http://jira.codehaus.org/browse/griffon?

...