1 package org.openecomp.sdc.tosca;
3 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
4 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
5 import org.openecomp.sdc.tosca.services.yamlutil.ToscaExtensionYamlUtil;
9 import java.nio.file.NotDirectoryException;
10 import java.util.HashMap;
13 public class TestUtil {
15 public static ToscaServiceModel loadToscaServiceModel(String serviceTemplatesPath,
16 String globalServiceTemplatesPath,
17 String entryDefinitionServiceTemplate)
19 ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil();
20 Map<String, ServiceTemplate> serviceTemplates = new HashMap<>();
21 if (entryDefinitionServiceTemplate == null) {
22 entryDefinitionServiceTemplate = "MainServiceTemplate.yaml";
25 loadServiceTemplates(serviceTemplatesPath, toscaExtensionYamlUtil, serviceTemplates);
26 if (globalServiceTemplatesPath != null) {
27 loadServiceTemplates(globalServiceTemplatesPath, toscaExtensionYamlUtil, serviceTemplates);
30 return new ToscaServiceModel(null, serviceTemplates, entryDefinitionServiceTemplate);
33 private static void loadServiceTemplates(String serviceTemplatesPath,
34 ToscaExtensionYamlUtil toscaExtensionYamlUtil,
35 Map<String, ServiceTemplate> serviceTemplates)
37 URL urlFile = TestUtil.class.getResource(serviceTemplatesPath);
38 if (urlFile != null) {
39 File pathFile = new File(urlFile.getFile());
40 File[] files = pathFile.listFiles();
42 addServiceTemplateFiles(serviceTemplates, files, toscaExtensionYamlUtil);
44 throw new NotDirectoryException(serviceTemplatesPath);
47 throw new NotDirectoryException(serviceTemplatesPath);
51 private static void addServiceTemplateFiles(Map<String, ServiceTemplate> serviceTemplates,
53 ToscaExtensionYamlUtil toscaExtensionYamlUtil)
55 for (File file : files) {
56 try (InputStream yamlFile = new FileInputStream(file)) {
57 ServiceTemplate serviceTemplateFromYaml =
58 toscaExtensionYamlUtil.yamlToObject(yamlFile, ServiceTemplate.class);
59 serviceTemplates.put(file.getName(), serviceTemplateFromYaml);
62 } catch (IOException ignore) {
64 } catch (FileNotFoundException e) {
66 } catch (IOException e) {