Cómo ignorar los nuevos campos para un modelo de objeto con Firebase 1.0.2
Estoy usando la última versiónEn el momento de la dependencia de Firebase, que es 1.0.2 y estoy teniendo problemas para que mis pojos sean analizados correctamente.
El problema es que, en cualquier momento, el esquema puede cambiar, pero no quiero que mi aplicación se bloquee con esto:
D / AndroidRuntime (14097): Apagado VM W / dalvikvm (14097): threadid = 1: subproceso que sale con la excepción no capturada (grupo = 0x40a451f8) E / AndroidRuntime (14097): EXCEPCIÓN FATAL: E / AndroidRuntime principal (14097): com .firebase.client.FirebaseException: No se pudo rebotar al tipo E / AndroidRuntime (14097): en com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:213)
Buscando en el árbol de dependencias, obtengo que Firebase está utilizando Jackson Mapper 1.9.7, por lo que la anotación@JsonIgnoreProperties(ignoreUnknown = true")
no es una opinión. Además, el mapeador de objetos está envuelto en este objeto Firebase, por lo que no puedo configurar elDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
propiedad (DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES
para Jackson 1.9 y antes).
¿Hay alguna forma de establecer esta propiedad, ya sea como una anotación de nivel de clase o configurando el asignador o cualquier otro mecanismo?
La mejor solución sería que Firebase 1.0.3 comenzó a usar Jackson 2.0, pero no sé si esto es algo que les importa en este momento.
Nota: Ya he pensado en excluir la dependencia transitiva de Jackson 1.9.7 y agregar Jackson 2.0 para poder acceder a esta función ignoreUnknown, pero no creo que sea una opción viable ya que cambiaría la versión mayor.