summaryrefslogtreecommitdiffstats
path: root/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/notif_emulator/JsonArtifactInfoDeserializer.java
blob: 6e24accc14910e3b300f27e2e4af2c5824f44ee7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package org.openecomp.mso.global_tests.asdc.notif_emulator;

import java.io.IOException;
import java.util.List;

import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;

public class JsonArtifactInfoDeserializer extends JsonDeserializer<List<JsonArtifactInfo>>{

	@Override
	public List<JsonArtifactInfo> deserialize(JsonParser jp, DeserializationContext ctxt)
			throws IOException, JsonProcessingException {
		List<JsonArtifactInfo> jsonArtifactInfoList =  new ObjectMapper().readValue(jp, new TypeReference<List<JsonArtifactInfo>>(){}); 

		// For each artifact add the list of artifact retrieved 
		// This could be used later to index by UUID
		for (JsonArtifactInfo artifactInfo:jsonArtifactInfoList) {
			artifactInfo.addArtifactToUUIDMap(jsonArtifactInfoList);
		}
		return jsonArtifactInfoList;
	}

}