Skip to content

ObjectMapper.setDefaultLeniency() is causing NullPointerException in JacksonJodaDateFormat #113

@brenuart

Description

@brenuart

(Jackson version: 2.10.1)

Consider the following example:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
mapper.setDefaultLeniency(false);
mapper.writeValueAsString(new org.joda.time.DateTime());

This code raises the following exception:

java.lang.NullPointerException
	at com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat.with(JacksonJodaDateFormat.java:123)
	at com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase.createContextual(JodaDateSerializerBase.java:94)
	at com.fasterxml.jackson.databind.SerializerProvider.handleSecondaryContextualization(SerializerProvider.java:1004)
	at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:524)
	at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:713)
	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:308)
	at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:4094)
	at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3404)
...

This is caused by JsonFormat.Value#getPattern() returning null at line https://github.com/FasterXML/jackson-datatype-joda/blob/master/src/main/java/com/fasterxml/jackson/datatype/joda/cfg/JacksonJodaDateFormat.java#L123.

Note that getPattern returns an empty string when JsonFormat comes from an annotation, but null when created because of ObjectMapper.setDefaultLenciency().

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