AT&T 1712 and 1802 release code
[so.git] / asdc-controller / src / main / java / org / openecomp / mso / asdc / client / test / emulators / JsonArtifactInfoDeserializer.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.mso.asdc.client.test.emulators;
22
23 import java.io.IOException;
24 import java.util.List;
25
26 import com.fasterxml.jackson.core.JsonParser;
27 import com.fasterxml.jackson.core.JsonProcessingException;
28 import com.fasterxml.jackson.core.type.TypeReference;
29 import com.fasterxml.jackson.databind.DeserializationContext;
30 import com.fasterxml.jackson.databind.JsonDeserializer;
31 import com.fasterxml.jackson.databind.ObjectMapper;
32
33 public class JsonArtifactInfoDeserializer extends JsonDeserializer<List<JsonArtifactInfo>>{
34
35         @Override
36         public List<JsonArtifactInfo> deserialize(JsonParser jp, DeserializationContext ctxt)
37                         throws IOException, JsonProcessingException {
38                 List<JsonArtifactInfo> jsonArtifactInfoList =  new ObjectMapper().readValue(jp, new TypeReference<List<JsonArtifactInfo>>(){}); 
39
40                 // For each artifact add the list of artifact retrieved 
41                 // This could be used later to index by UUID
42                 for (JsonArtifactInfo artifactInfo:jsonArtifactInfoList) {
43                         artifactInfo.addArtifactToUUIDMap(jsonArtifactInfoList);
44                 }
45                 return jsonArtifactInfoList;
46         }
47
48 }