GWT Activity and Editor Framework - PullRequest
       32

GWT Activity and Editor Framework

2 голосов
/ 15 апреля 2011

Я работал над некоторыми небольшими проектами, используя платформу GWT MVP + платформу GWT Editors.У меня есть интерфейсы Views с полями, объявленными как:

 @Path("field")
 IsEditor<ValueBoxEditor<Long>> getField();

Реализации представлений выглядят следующим образом:

@UiField
   IsEditor<ValueBoxEditor<Long>> field;
public IsEditor<ValueBoxEditor<Long>> getField(){
   return field;
}

В моих действиях у меня есть ссылки на соответствующие представления и когда я должен сделать (вActivity) что-то вроде этого:

view.getField.setEnable(true);

Мне нужно выполнить приведение к

((ValueBoxBase<Long>)view.getField()).setEnable(true);

После этого я не могу проверить этот модуль, потому что в своем тесте я определяю поведение View длявозвращая Mock (IsEditor<ValueBoxEditor<Long>>) on view.getFiled(), в результате я получаю:

java.lang.ClassCastException: com.google.gwt.editor.client.IsEditor$
$EnhancerByMockitoWithCGLIB$$e8c00c36 cannot be cast to
com.google.gwt.user.client.ui.ValueBoxBase

Как лучше всего вызывать методы компонентов Views из Activity без выполнения приведения?

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Вам необходимо использовать метод адаптера ValueBoxEditor "of":

@UiField ValueBoxBase<Long> field;

public ValueBoxEditor<Long> getField(){
   return ValueBoxEditor.of(field);
}
0 голосов
/ 15 апреля 2011

Приведение к HasEnabled вместо ValueBoxBase.

...