Skip to content

Guava's RangeHelper causing NPE in PropertyNamingStrategy #79

@arpit-pp

Description

@arpit-pp

I'm using Dropwizard which automatically configures Jackson at startup using the following code:

private static ObjectMapper configure(ObjectMapper mapper) {
        mapper.registerModule(new GuavaModule());
        mapper.registerModule(new GuavaExtrasModule());
        mapper.registerModule(new JodaModule());
        mapper.registerModule(new AfterburnerModule());
        mapper.registerModule(new FuzzyEnumModule());
        mapper.registerModule(new ParameterNamesModule());
        mapper.registerModule(new Jdk8Module());
        mapper.registerModule(new JavaTimeModule());
        mapper.setPropertyNamingStrategy(new AnnotationSensitivePropertyNamingStrategy());
        mapper.setSubtypeResolver(new DiscoverableSubtypeResolver());
        return mapper;
    }

Guava's RangeHelper is calling AnnotationSensitivePropertyNamingStrategy.nameForField with null value for AnnotatedField param which is resulting in an NPE.

Stacktrace:

java.lang.NullPointerException
    at io.dropwizard.jackson.AnnotationSensitivePropertyNamingStrategy.nameForField(AnnotationSensitivePropertyNamingStrategy.java:39)
    at com.fasterxml.jackson.datatype.guava.deser.util.RangeHelper._find(RangeHelper.java:43)
    at com.fasterxml.jackson.datatype.guava.deser.util.RangeHelper.getPropertyNames(RangeHelper.java:35)
    at com.fasterxml.jackson.datatype.guava.deser.RangeDeserializer.createContextual(RangeDeserializer.java:96)
    at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:665)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions