5
ユーザーが実行している検索に関する基本情報を保持するValueProxy
を作成しようとしています。何らかの理由でGWTはEntityProxyにしたいと思っていますが、なぜか(このクラスがEntityProxyであることは意味がありません)わかりません。ValueProxyを作成できません
java.lang.AssertionError: com.schedgy.trip.dao.filter.trip.proxy.DayFilterProxy is not an EntityProxy type
at com.google.web.bindery.requestfactory.shared.impl.IdFactory.asEntityProxy(IdFactory.java:66)
at com.google.web.bindery.requestfactory.shared.impl.IdFactory.createId(IdFactory.java:229)
at com.google.web.bindery.requestfactory.shared.impl.IdFactory.allocateId(IdFactory.java:41)
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.create(AbstractRequestContext.java:478)
at com.schedgy.trip.client.activity.TripsActivity.getFilters(TripsActivity.java:56)
任意のアイデア:
// Request is a TripRequest
DayFilterProxy filter = request.create(DayFilterProxy.class);
これは、その結果:サーバーにこのバックを送信している活動の中で
// FilterProxy extends ValueProxy
@ProxyFor(DayFilter.class)
public interface DayFilterProxy extends FilterProxy {
void setFilterValue(Date day);
Date getFilterValue();
}
public class DayFilter extends Filter {
public DayFilter() {
setOperator(FilterOperator.GREATER_THAN_OR_EQUAL);
setField("dateRequested");
}
public void setFilterValue(Date date) {
this.value = date;
}
public Date getFilterValue() {
return value;
}
}
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> filters);
}
@Service(value=TripService.class, locator=SchedgyServiceLocator.class)
public interface TripRequest extends PaginationRequest<TripProxy> {
Request<TripProxy> save(TripProxy trip);
}
?そのコードのどこか別のところでValueProxiesが働いているので、私はただ見落としていることが明らかです。
はい、そうだと思います。私は、RequestContextの基本FilterProxy型を参照しています。私はGWT 2.4でリクエストファクトリで多型パラメータを持つことができると思いましたか? – Brad
それを参照する '@ ExtraTypes'アノテーションを追加する必要があります:http://code.google.com/p/google-web-toolkit/wiki/RequestFactory_2_4#Polymorphism_support –
恐ろしいです!ありがとう! – Brad