Я использую 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 есть предложение:)