@@ -19,7 +19,7 @@ private class EitherDeserializer(javaType: JavaType,
1919
2020 override def createContextual (ctxt : DeserializationContext , property : BeanProperty ): ValueDeserializer [Either [AnyRef , AnyRef ]] = {
2121
22- def deserializerConfigFor (param : Int , inType : JavaType , property : BeanProperty ): ElementDeserializerConfig = {
22+ def deserializerConfigFor (param : Int , property : BeanProperty ): ElementDeserializerConfig = {
2323 val containedType = javaType.containedType(param)
2424
2525 val paramDeserializer = Option ( ctxt.findContextualValueDeserializer(containedType, property) )
@@ -30,8 +30,12 @@ private class EitherDeserializer(javaType: JavaType,
3030
3131 javaType.containedTypeCount match {
3232 case 2 =>
33- val leftDeserializerConfig = deserializerConfigFor(0 , javaType, property)
34- val rightDeserializerConfig = deserializerConfigFor(1 , javaType, property)
33+ val leftDeserializerConfig = deserializerConfigFor(0 , property)
34+ val rightDeserializerConfig = deserializerConfigFor(1 , property)
35+ new EitherDeserializer (javaType, deserializationConfig, leftDeserializerConfig, rightDeserializerConfig)
36+ case 1 =>
37+ val leftDeserializerConfig = deserializerConfigFor(0 , property)
38+ val rightDeserializerConfig = deserializerConfigFor(0 , property)
3539 new EitherDeserializer (javaType, deserializationConfig, leftDeserializerConfig, rightDeserializerConfig)
3640 case _ => this
3741 }
0 commit comments