test_class.declarator: mapper
test_class.modifier: private
test_class.original_string: private ObjectMapper mapper;
test_class.type: ObjectMapper
test_class.var_name: mapper
test_class.file: core/src/test/java/org/keycloak/json/StringListMapDeserializerTest.java
test_class.identifier: StringListMapDeserializerTest
test_case.body: @Test
      public void nonNullValueArray() throws IOException {
          Map<String, List<String>> attributes = deserialize("\"foo\": [ \"bar\", \"baz\" ]");
          assertTrue(attributes.containsKey("foo"));
          List<String> foo = attributes.get("foo");
          assertEquals(2, foo.size());
          assertEquals("baz", foo.get(1));
      }
test_case.class_method_signature: StringListMapDeserializerTest.nonNullValueArray()
test_case.full_signature: @Test public void nonNullValueArray()
test_case.identifier: nonNullValueArray
test_case.invocations: deserialize assertTrue containsKey get assertEquals size assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void nonNullValueArray()
focal_class.file: core/src/main/java/org/keycloak/json/StringListMapDeserializer.java
focal_class.identifier: StringListMapDeserializer
focal_class.class_method_signature: StringListMapDeserializer.deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
focal_class.full_signature: @Override public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
focal_class.identifier: deserialize
focal_class.modifiers: @Override public
focal_class.parameters: (JsonParser jsonParser, DeserializationContext deserializationContext)
focal_class.return: Object
focal_class.signature: Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
focal_class.superclass: extends JsonDeserializer<Object>
focal_method.body: @Override
      public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
          JsonNode jsonNode = jsonParser.readValueAsTree();
          Iterator<Map.Entry<String, JsonNode>> itr = jsonNode.fields();
          Map<String, List<String>> map = new HashMap<>();
          while (itr.hasNext()) {
              Map.Entry<String, JsonNode> e = itr.next();
              List<String> values = new LinkedList<>();
              if (!e.getValue().isArray()) {
                  values.add((e.getValue().isNull()) ? null : e.getValue().asText());
              } else {
                  ArrayNode a = (ArrayNode) e.getValue();
                  Iterator<JsonNode> vitr = a.elements();
                  while (vitr.hasNext()) {
                      JsonNode node = vitr.next();
                      values.add((node.isNull() ? null : node.asText()));
                  }
              }
              map.put(e.getKey(), values);
          }
          return map;
      }
focal_method.class_method_signature: StringListMapDeserializer.deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
focal_method.full_signature: @Override public Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
focal_method.identifier: deserialize
focal_method.invocations: readValueAsTree fields hasNext next isArray getValue add isNull getValue asText getValue getValue elements hasNext next add isNull asText put getKey
focal_method.modifiers: @Override public
focal_method.parameters: (JsonParser jsonParser, DeserializationContext deserializationContext)
focal_method.return: Object
focal_method.signature: Object deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)