Create new VSP, onboard from TOSCA file - UI
[sdc.git] / openecomp-be / lib / openecomp-tosca-converter-lib / openecomp-tosca-converter-core / src / main / java / org / openecomp / core / impl / GlobalSubstitutionServiceTemplate.java
1 package org.openecomp.core.impl;
2
3 import org.openecomp.sdc.logging.api.Logger;
4 import org.openecomp.sdc.logging.api.LoggerFactory;
5 import org.openecomp.sdc.tosca.datatypes.model.Import;
6 import org.openecomp.sdc.tosca.datatypes.model.NodeType;
7 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
8
9 import java.util.ArrayList;
10 import java.util.HashMap;
11 import java.util.List;
12 import java.util.Map;
13
14 public class GlobalSubstitutionServiceTemplate extends ServiceTemplate {
15     private static final Logger logger = LoggerFactory.getLogger(ServiceTemplate.class);
16
17     public static final String GLOBAL_SUBSTITUTION_SERVICE_FILE_NAME = "GlobalSubstitutionServiceTemplate.yaml";
18     public static final String TEMPLATE_NAME_PROPERTY = "template_name";
19     public static final String DEFININTION_VERSION = "tosca_simple_yaml_1_0_0";
20     public static final String HEAT_INDEX = "openecomp_heat_index";
21
22     public GlobalSubstitutionServiceTemplate() {
23         super();
24         init();
25     }
26
27
28     public void appendNodes(Map<String, NodeType> nodes) {
29         getNode_types().putAll(nodes);
30     }
31
32     public void init()   {
33         writeDefinitionSection();
34         writeMetadataSection();
35         writeImportsSection();
36         setNode_types(new HashMap<>());
37     }
38
39     private void writeImportsSection() {
40         List<Map<String, Import>> imports = new ArrayList<>();
41         Map<String, Import> stringImportMap = new HashMap<>();
42         imports.add(stringImportMap);
43         setImports(imports);
44         Import imprtObj = new Import();
45         imprtObj.setFile("openecomp-heat/_index.yml");
46         stringImportMap.put("openecomp_heat_index", imprtObj);
47     }
48
49
50     private void writeMetadataSection() {
51         Map<String, String> metadata = new HashMap<>();
52         metadata.put(TEMPLATE_NAME_PROPERTY, "GlobalSubstitutionTypes");
53         setMetadata(metadata);
54     }
55
56     private void writeDefinitionSection() {
57         setTosca_definitions_version(DEFININTION_VERSION);
58     }
59 }