@@ -18,7 +18,7 @@ private class EitherDeserializer(javaType: JavaType,
1818
1919 override def createContextual (ctxt : DeserializationContext , property : BeanProperty ): JsonDeserializer [Either [AnyRef , AnyRef ]] = {
2020
21- def deserializerConfigFor (param : Int , inType : JavaType , property : BeanProperty ): ElementDeserializerConfig = {
21+ def deserializerConfigFor (param : Int , property : BeanProperty ): ElementDeserializerConfig = {
2222 val containedType = javaType.containedType(param)
2323
2424 val paramDeserializer = Option ( ctxt.findContextualValueDeserializer(containedType, property) )
@@ -29,8 +29,12 @@ private class EitherDeserializer(javaType: JavaType,
2929
3030 javaType.containedTypeCount match {
3131 case 2 =>
32- val leftDeserializerConfig = deserializerConfigFor(0 , javaType, property)
33- val rightDeserializerConfig = deserializerConfigFor(1 , javaType, property)
32+ val leftDeserializerConfig = deserializerConfigFor(0 , property)
33+ val rightDeserializerConfig = deserializerConfigFor(1 , property)
34+ new EitherDeserializer (javaType, config, leftDeserializerConfig, rightDeserializerConfig)
35+ case 1 =>
36+ val leftDeserializerConfig = deserializerConfigFor(0 , property)
37+ val rightDeserializerConfig = deserializerConfigFor(0 , property)
3438 new EitherDeserializer (javaType, config, leftDeserializerConfig, rightDeserializerConfig)
3539 case _ => this
3640 }
0 commit comments