Списокв AutoBeanFactory - PullRequest
       21

Списокв AutoBeanFactory

0 голосов
/ 13 апреля 2011

Я использую AutoBeanFactory вне RequestFactory для преобразования объектов в JSON и из него.Это работает очень хорошо, но я только что добавил тип Object, который приводит к сбою кодекса с NullPointerException, и я не уверен почему.

Я использую GWT 2.2.0.

Класс объекта:

public interface Policy
{
    public List<List<MyEnum>> getListsOfEnums();
    public void setListsOfEnums(List<List<MyEnum>> listOfLists);
}

Заводской класс:

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

Когда я звонюAutoBeanCodex.encode(anInstanceOfAnImplementationOfPolicy), я получаю исключение 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)

Похоже, что AutoBeanCodex должен сделать еще один вызов visitCollectionProperty, так что, возможно, это ошибка, достойная проблемы с Google.С другой стороны, возможно, я делаю что-то не так, или это явно не поддерживается.

Я надеюсь, что у кого-то есть некоторый опыт с этим, или у BobV есть предложение:)

1 Ответ

1 голос
/ 13 апреля 2011

Поддержка сериализации произвольных параметризованных коллекций была добавлена ​​после того, как GWT 2.2 был разветвлен. Это должно работать в ветке выпуска 2.3 или в транке.

...