When using the mango-java driver: 3.12.1 getting NullPointerException exceptions when reading a collection containing null item from a document,
private <T> List<T> constructValuesList(final Object key, final Class<T> clazz, final List<T> defaultValue) {
List<?> value = get(key, List.class);
if (value == null) {
return defaultValue;
}
for (Object item : value) {
if (!clazz.isAssignableFrom(item.getClass())) { //NullPointerException if document contain list with null item
throw new ClassCastException(format("List element cannot be cast to %s", clazz.getName()));
}
}
return (List<T>) value;
}
how we can add small fix
if (item!=null && !clazz.isAssignableFrom(item.getClass()))
Hi @wan
In our schema we can`t check value in collection because multiple service can update it
in our workflow we can change model but i think in mongo-java-driver check for NULL before check type is better solution
Exception in thread "main" java.lang.NullPointerException
at org.bson.Document.constructValuesList(Document.java:381)
at org.bson.Document.getList(Document.java:349)
at MainApplication.main(MainApplication.java:56)