@@ -182,7 +182,7 @@ public CollectionDeserializer createContextual(DeserializationContext ctxt,
182
182
valueTypeDeser = valueTypeDeser .forProperty (property );
183
183
}
184
184
NullValueProvider nuller = findContentNullProvider (ctxt , property , valueDeser );
185
- if ( (unwrapSingle != _unwrapSingle )
185
+ if ((unwrapSingle != _unwrapSingle )
186
186
|| (nuller != _nullProvider )
187
187
|| (delegateDeser != _delegateDeserializer )
188
188
|| (valueDeser != _valueDeserializer )
@@ -229,9 +229,15 @@ public Collection<Object> deserialize(JsonParser p, DeserializationContext ctxt)
229
229
// there is also possibility of "auto-wrapping" of single-element arrays.
230
230
// Hence we only accept empty String here.
231
231
if (p .hasToken (JsonToken .VALUE_STRING )) {
232
- String str = p .getText ();
233
- if (str .length () == 0 ) {
234
- return (Collection <Object >) _valueInstantiator .createFromString (ctxt , str );
232
+ // 16-May-2020, tatu: As [dataformats-text#199] need to avoid blocking
233
+ // check to `isExpectedStartArrayToken()` (needed for CSV in-field array/list logic)
234
+ // ... alas, trying to do this here leads to 2 unit test regressions so will
235
+ // need to figure out safer mechanism.
236
+ // if (_valueInstantiator.canCreateFromString()) {
237
+ String str = p .getText ();
238
+ if (str .length () == 0 ) {
239
+ return (Collection <Object >) _valueInstantiator .createFromString (ctxt , str );
240
+ // }
235
241
}
236
242
}
237
243
return deserialize (p , ctxt , createDefaultInstance (ctxt ));
0 commit comments