@@ -108,18 +108,18 @@ interface FossIdRestService {
108108 return when (p.currentToken) {
109109 JsonToken .VALUE_FALSE -> PolymorphicList ()
110110 JsonToken .START_ARRAY -> {
111- val arrayType = JSON_MAPPER .typeFactory.constructArrayType(boundType)
112- val array = JSON_MAPPER .readValue<Array <Any >>(p, arrayType)
111+ val arrayType = ctxt .typeFactory.constructArrayType(boundType)
112+ val array = ctxt .readValue<Array <Any >>(p, arrayType)
113113 PolymorphicList (array.toList())
114114 }
115115
116116 JsonToken .START_OBJECT -> {
117- val mapType = JSON_MAPPER .typeFactory.constructMapType(
117+ val mapType = ctxt .typeFactory.constructMapType(
118118 LinkedHashMap ::class .java,
119119 String ::class .java,
120120 boundType.rawClass
121121 )
122- val map = JSON_MAPPER .readValue<Map <Any , Any >>(p, mapType)
122+ val map = ctxt .readValue<Map <Any , Any >>(p, mapType)
123123
124124 // Only keep the map's values: If the FossID functions which return a PolymorphicList return a
125125 // map, it always is the list of elements grouped by id. Since the ids are also present in the
@@ -152,13 +152,13 @@ interface FossIdRestService {
152152
153153 return when (p.currentToken) {
154154 JsonToken .START_ARRAY -> {
155- val arrayType = JSON_MAPPER .typeFactory.constructArrayType(boundType)
156- val array = JSON_MAPPER .readValue<Array <Any >>(p, arrayType)
155+ val arrayType = ctxt .typeFactory.constructArrayType(boundType)
156+ val array = ctxt .readValue<Array <Any >>(p, arrayType)
157157 PolymorphicData (array.firstOrNull())
158158 }
159159
160160 JsonToken .START_OBJECT -> {
161- val data = JSON_MAPPER .readValue<Any >(p, boundType)
161+ val data = ctxt .readValue<Any >(p, boundType)
162162 PolymorphicData (data)
163163 }
164164
@@ -192,28 +192,28 @@ interface FossIdRestService {
192192 override fun deserialize (p : JsonParser , ctxt : DeserializationContext ): PolymorphicInt {
193193 return when (p.currentToken) {
194194 JsonToken .VALUE_STRING -> {
195- val value = JSON_MAPPER .readValue(p, String ::class .java)
195+ val value = ctxt .readValue(p, String ::class .java)
196196 PolymorphicInt (value.toInt())
197197 }
198198
199199 JsonToken .VALUE_NUMBER_INT -> {
200- val value = JSON_MAPPER .readValue(p, Int ::class .java)
200+ val value = ctxt .readValue(p, Int ::class .java)
201201 PolymorphicInt (value)
202202 }
203203
204204 JsonToken .START_ARRAY -> {
205- val array = JSON_MAPPER .readValue(p, IntArray ::class .java)
205+ val array = ctxt .readValue(p, IntArray ::class .java)
206206 val value = if (array.isEmpty()) null else array.first()
207207 PolymorphicInt (value)
208208 }
209209
210210 JsonToken .START_OBJECT -> {
211- val mapType = JSON_MAPPER .typeFactory.constructMapType(
211+ val mapType = ctxt .typeFactory.constructMapType(
212212 LinkedHashMap ::class .java,
213213 String ::class .java,
214214 String ::class .java
215215 )
216- val map = JSON_MAPPER .readValue<Map <Any , Any >>(p, mapType)
216+ val map = ctxt .readValue<Map <Any , Any >>(p, mapType)
217217 if (map.size != 1 ) {
218218 error(" A map representing a polymorphic integer should have one value!" )
219219 }
0 commit comments