1 package org.onap.ccsdk.features.sdnr.wt.yang.mapper.mapperextensions;
3 import com.fasterxml.jackson.core.JsonParser;
4 import com.fasterxml.jackson.core.JsonProcessingException;
5 import com.fasterxml.jackson.databind.DeserializationContext;
6 import com.fasterxml.jackson.databind.JsonDeserializer;
7 import com.fasterxml.jackson.databind.type.CollectionLikeType;
8 import java.io.IOException;
11 import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapper;
12 import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapperHelper;
13 import org.opendaylight.yangtools.yang.binding.Key;
14 import org.opendaylight.yangtools.yang.binding.KeyAware;
17 public class YangtoolsMapDesirializer2<K extends Key<V>, V extends KeyAware<K>>
18 extends JsonDeserializer<Map<K, V>> {
20 private final Class<V> clazz;
21 private final YangToolsMapper mapper;
23 public YangtoolsMapDesirializer2(Class<V> clazz) {
26 this.mapper = new YangToolsMapper();
30 public Map<K, V> deserialize(JsonParser p, DeserializationContext ctxt)
31 throws IOException, JsonProcessingException {
32 CollectionLikeType type = ctxt.getTypeFactory().constructCollectionType(List.class, clazz);
33 List<V> list = mapper.readValue(p, type);
34 return YangToolsMapperHelper.toMap(list);