Как игнорировать новые поля для объектной модели с Firebase 1.0.2
Я использую последнюю версиюсейчас зависимости от Firebase, то есть 1.0.2, и у меня возникают проблемы с правильным анализом моих pojos.
Дело в том, что в любое время схема может измениться, но я не хочу, чтобы мое приложение зависало с этим:
D / AndroidRuntime (14097): завершение работы виртуальной машины W / dalvikvm (14097): threadid = 1: выход из потока с неперехваченным исключением (group = 0x40a451f8) E / AndroidRuntime (14097): неустранимое исключение: основной E / AndroidRuntime (14097): com .firebase.client.FirebaseException: не удалось отскочить для типа E / AndroidRuntime (14097): в com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:213)
Глядя в дерево зависимостей, я понимаю, что Firebase использует Jackson mapper 1.9.7, поэтому аннотация@JsonIgnoreProperties(ignoreUnknown = true")
это не вариант. Кроме того, объект сопоставления обернут в этот объект Firebase, поэтому я не могу настроитьDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
свойство (DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES
для Джексона 1.9 и раньше).
Есть ли способ установить это свойство, либо как аннотацию на уровне класса, либо как настроить маппер или любой другой механизм?
Лучшим решением было бы то, что Firebase 1.0.3 начал использовать Jackson 2.0, но не знаю, волнует ли это их сейчас.
Примечание: я уже думал об исключении транзитивной зависимости Jackson 1.9.7 и добавлении Jackson 2.0, чтобы я мог получить доступ к этой функции ignoreUnknown, но я не думаю, что это жизнеспособный выбор, поскольку я буду менять версию мэра.