blob: 520e41817e8d2c05bd6d87bc264a4cf897146aae (
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package org.openecomp.core.impl;
import org.openecomp.core.converter.ToscaConverter;
import org.openecomp.core.converter.api.ToscaConverterManager;
import org.openecomp.core.utilities.file.FileContentHandler;
import org.openecomp.core.utilities.file.FileUtils;
import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class ToscaConverterManagerImpl implements ToscaConverterManager {
private static List<ToscaConverter> toscaConverters;
private static final String toscaConverterFileName = "ToscaConverters.json";
static {
toscaConverters = getConvertersList();
}
@Override
public ToscaServiceModel convert(String csarName, FileContentHandler fileContentHandler) {
return null;
}
private static List<ToscaConverter> getConvertersList(){
List<ToscaConverter> toscaConvertersList = new ArrayList<>();
Map<String, String> convertersMap = FileUtils.readViaInputStream(toscaConverterFileName,
stream -> JsonUtil.json2Object(stream, Map.class));
return getToscaConvertersList(toscaConvertersList, convertersMap);
}
private static List<ToscaConverter> getToscaConvertersList(
List<ToscaConverter> toscaConvertersList, Map<String, String> convertersMap) {
for(String implClassName : convertersMap.values()){
try{
Class<?> clazz = Class.forName(implClassName);
Constructor<?> constructor = clazz.getConstructor();
toscaConvertersList.add((ToscaConverter) constructor.newInstance());
}catch (Exception e){
continue;
}
}
return toscaConvertersList;
}
}
|