开发者

List<List<MyEnum>> in AutoBeanFactory

I'm using an AutoBeanFactory outside of RequestFactory to transform objects to and from JSON. It's working really well, but I've just added a type of Object that is crashing the codex with a NullPointerException and I'm not sure why.

I'm using GWT 2.2.0.

The object class:

public interface Policy
{
    public List<List<MyEnum&g开发者_Go百科t;> getListsOfEnums();
    public void setListsOfEnums(List<List<MyEnum>> listOfLists);
}

The factory class:

public interface MyAutoBeanFactory extends AutoBeanFactory
{
    public AutoBean<Policy> policy();
}

When I call AutoBeanCodex.encode(anInstanceOfAnImplementationOfPolicy), I get a NullPointerException:

Caused by: java.lang.NullPointerException
    at com.google.gwt.autobean.shared.AutoBeanCodex$Encoder.encodeToStringBuilder(AutoBeanCodex.java:407)
    at com.google.gwt.autobean.shared.AutoBeanCodex$Encoder.visitCollectionProperty(AutoBeanCodex.java:310)
    at com.activegrade.shared.data.overallgradingpolicy.OverallGradingPolicyAutoBean.traverseProperties(OverallGradingPolicyAutoBean.java:264)
    at com.google.gwt.autobean.shared.impl.AbstractAutoBean.traverse(AbstractAutoBean.java:153)
    at com.google.gwt.autobean.shared.impl.AbstractAutoBean.accept(AbstractAutoBean.java:112)
    at com.google.gwt.autobean.shared.AutoBeanCodex.encodeForJsoPayload(AutoBeanCodex.java:546)
    at com.google.gwt.autobean.shared.AutoBeanCodex.encode(AutoBeanCodex.java:537)
... (my code)

It seems like the AutoBeanCodex should make another call to visitCollectionProperty, so maybe this is a bug worthy of an issue with Google. On the other hand, maybe I'm doing something wrong, or this is expressly not supported.

I'm hoping someone has some experience with this, or that BobV has a suggestion :)


Support for serialization of arbitrary parameterized collections was added after GWT 2.2 was branched. This should work in the 2.3 release branch or on trunk.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜