1 package org.openecomp.core.impl;
3 import org.openecomp.core.converter.ToscaConverter;
4 import org.openecomp.core.converter.api.ToscaConverterManager;
5 import org.openecomp.core.utilities.file.FileContentHandler;
6 import org.openecomp.core.utilities.file.FileUtils;
7 import org.openecomp.core.utilities.json.JsonUtil;
8 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
10 import java.lang.reflect.Constructor;
11 import java.util.ArrayList;
12 import java.util.List;
15 public class ToscaConverterManagerImpl implements ToscaConverterManager {
17 private static List<ToscaConverter> toscaConverters;
18 private static final String toscaConverterFileName = "ToscaConverters.json";
21 toscaConverters = getConvertersList();
25 public ToscaServiceModel convert(String csarName, FileContentHandler fileContentHandler) {
29 private static List<ToscaConverter> getConvertersList(){
30 List<ToscaConverter> toscaConvertersList = new ArrayList<>();
31 Map<String, String> convertersMap = FileUtils.readViaInputStream(toscaConverterFileName,
32 stream -> JsonUtil.json2Object(stream, Map.class));
33 return getToscaConvertersList(toscaConvertersList, convertersMap);
36 private static List<ToscaConverter> getToscaConvertersList(
37 List<ToscaConverter> toscaConvertersList, Map<String, String> convertersMap) {
38 for(String implClassName : convertersMap.values()){
40 Class<?> clazz = Class.forName(implClassName);
41 Constructor<?> constructor = clazz.getConstructor();
42 toscaConvertersList.add((ToscaConverter) constructor.newInstance());
47 return toscaConvertersList;