Skip to content

Commit 05c231f

Browse files
committed
fixup! Support for jsonformat in duration deserializer based on Duration::of(long,TemporalUnit). ref FasterXML#184
1 parent b63edea commit 05c231f

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

datetime/src/main/java/com/fasterxml/jackson/datatype/jsr310/deser/DurationDeserializer.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class DurationDeserializer extends JSR310DeserializerBase<Duration>
5656
/**
5757
* Since 2.12
5858
*/
59-
private DurationPattern pattern;
59+
private DurationPattern _durationPattern;
6060

6161
private DurationDeserializer()
6262
{
@@ -89,17 +89,17 @@ public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
8989
}
9090
}
9191
if (format.hasPattern()) {
92-
this.pattern = DurationPattern.from(format.getPattern())
92+
this._durationPattern = DurationPattern.from(format.getPattern())
9393
.orElse(null);
9494
} else {
95-
this.pattern = null;
95+
this._durationPattern = null;
9696
}
9797
}
9898
return deser;
9999
}
100100

101101
private DurationDeserializer withPattern(DurationPattern pattern) {
102-
this.pattern = pattern;
102+
this._durationPattern = pattern;
103103
return this;
104104
}
105105

@@ -110,14 +110,14 @@ public Duration deserialize(JsonParser parser, DeserializationContext context) t
110110
{
111111
case JsonTokenId.ID_NUMBER_FLOAT:
112112
BigDecimal decValue = parser.getDecimalValue();
113-
if (pattern != null) {
114-
return pattern.parse(decValue.longValue());
113+
if (_durationPattern != null) {
114+
return _durationPattern.parse(decValue.longValue());
115115
}
116116
return DecimalUtils.extractSecondsAndNanos(decValue, Duration::ofSeconds);
117117
case JsonTokenId.ID_NUMBER_INT:
118118
long intValue = parser.getLongValue();
119-
if (pattern != null) {
120-
return pattern.parse(intValue);
119+
if (_durationPattern != null) {
120+
return _durationPattern.parse(intValue);
121121
}
122122
return _fromTimestamp(context, intValue);
123123
case JsonTokenId.ID_STRING:
@@ -156,8 +156,8 @@ && _isValidTimestampString(value)) {
156156
return _fromTimestamp(ctxt, NumberInput.parseLong(value));
157157
}
158158

159-
if (pattern != null) {
160-
return pattern.parse(NumberInput.parseLong(value));
159+
if (_durationPattern != null) {
160+
return _durationPattern.parse(NumberInput.parseLong(value));
161161
}
162162

163163
try {

0 commit comments

Comments
 (0)