2012-01-22 3 views
0

Когда я звоню, чтобы получить список объектов TripImportSummaryProxy, я возвращаю список: com.schedgy.core.dao.filter.proxy.FilterProxyAutoBean_com_google_web_bindery_requestfactory_shared_impl_EntityProxyCategory_com_google_web_bindery_requestfactory_shared_impl_ValueProxyCategory_com_google_web_bindery_requestfactory_shared_impl_BaseProxyCategory.GWT RequestFactory возвращает объект неправильного типа

@ProxyFor(value=TripImportSummary.class, locator=TripImportSummaryLocator.class) 
public interface TripImportSummaryProxy extends MyBaseProxy { 
    // some setter/getters defined here 
} 

public interface TripImportSummaryRequestFactory extends RequestFactory, HasPaginationRequest<TripImportSummaryProxy> { 
    TripImportSummaryRequest request(); 
} 

@Service(value=TripImportSummaryService.class, locator=MyServiceLocator.class) 
public interface TripImportSummaryRequest extends RequestContext, PaginationRequest<TripImportSummaryProxy> { 

} 

@SkipInterfaceValidation 
public interface HasPaginationRequest<T> extends RequestFactory { 
    PaginationRequest<T> request(); 
} 

@ExtraTypes(FilterProxy.class) 
@SkipInterfaceValidation 
public interface PaginationRequest<T> extends RequestContext { 

    Request<List<T>> paginate(int offset, int limit, String sortColumn, 
      boolean isSortAscending, List<FilterProxy> filters); 

    Request<Integer> count(List<FilterProxy> list); 
} 

Все это выполняется с помощью:

PaginationRequest<TripImportSummaryProxy> request = requestFactory.request(); 
request.paginate(offset, limit, sortColumn, isSortAscending, getFilters(request)).with(getPaths()).fire(new MyReceiver<List<TripImportSummaryProxy>>() { 

    @Override 
    public void onSuccess(List<TripImportSummaryProxy> response) { 
     // Response is a list of type that seems to extend from FilterProxy 
    } 
}); 

FilterProxy только интерфейс маркеров, различные интерфейсы фильтра расширения.

@ProxyFor(Object.class) 
public interface FilterProxy extends ValueProxy { 

} 

У меня есть около двух десятков других запросов, работающих только на этом. Я проверил, что служба на стороне сервера правильно извлекает и возвращает правильные данные. Я обнаружил, что класс TripImportSummaryLocator никогда не создается, даже если он, похоже, правильно связан с типом прокси и имеет конструктор по умолчанию.

ответ

0

Я использовал GWT 2.4 rc1 и после перехода на GWT 2.4 stable Я больше не вижу эту проблему.

Смежные вопросы