2011-09-01 16 views
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が働いているので、私はただ見落としていることが明らかです。

答えて

10

DayControllerProxyがRequestContextから全く参照されないことはありますか?

+0

はい、そうだと思います。私は、RequestContextの基本FilterProxy型を参照しています。私はGWT 2.4でリクエストファクトリで多型パラメータを持つことができると思いましたか? – Brad

+5

それを参照する '@ ExtraTypes'アノテーションを追加する必要があります:http://code.google.com/p/google-web-toolkit/wiki/RequestFactory_2_4#Polymorphism_support –

+0

恐ろしいです!ありがとう! – Brad