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 / services / ServiceTemplateReaderServiceImpl.java
1 package org.openecomp.core.impl.services;
2
3 import org.openecomp.core.converter.ServiceTemplateReaderService;
4 import org.openecomp.sdc.common.errors.CoreException;
5 import org.openecomp.sdc.common.errors.ErrorCategory;
6 import org.openecomp.sdc.common.errors.ErrorCode;
7 import org.openecomp.sdc.tosca.services.YamlUtil;
8 import org.yaml.snakeyaml.error.YAMLException;
9
10 import java.util.HashMap;
11 import java.util.Map;
12 import java.util.Objects;
13
14 import static org.openecomp.core.converter.datatypes.Constants.*;
15
16 public class ServiceTemplateReaderServiceImpl implements ServiceTemplateReaderService {
17
18   private Map<String, Object> readServiceTemplate = new HashMap<>();
19
20   public ServiceTemplateReaderServiceImpl(byte[] serviceTemplateContent){
21     this.readServiceTemplate = readServiceTemplate(serviceTemplateContent);
22   }
23
24   @Override
25   public Map<String, Object> readServiceTemplate(byte[] serviceTemplateContent) {
26
27     Map<String, Object> readSt =
28         new YamlUtil().yamlToObject(new String(serviceTemplateContent), Map.class);
29
30     return readSt;
31   }
32
33   @Override
34   public Object getMetadata(){
35     return this.readServiceTemplate.get(metadata);
36   }
37
38   @Override
39   public Object getToscaVersion(){
40     return this.readServiceTemplate.get(definitionVersion);
41   }
42
43   @Override
44   public Object getNodeTypes(){
45     return this.readServiceTemplate.get(nodeTypes);
46   }
47
48   @Override
49   public Object getTopologyTemplate(){
50     return this.readServiceTemplate.get(topologyTemplate);
51   }
52
53   @Override
54   public Map<String, Object> getNodeTemplates(){
55     return Objects.isNull(this.getTopologyTemplate()) ? new HashMap<>()
56         : (Map<String, Object>) ((Map<String, Object>)this.getTopologyTemplate()).get(nodeTemplates);
57   }
58
59   @Override
60   public Map<String, Object> getInputs(){
61     return Objects.isNull(this.getTopologyTemplate()) ? new HashMap<>()
62         : (Map<String, Object>) ((Map<String, Object>)this.getTopologyTemplate()).get(inputs);
63   }
64
65   @Override
66   public Map<String, Object> getOutputs(){
67     return Objects.isNull(this.getTopologyTemplate()) ? new HashMap<>()
68         : (Map<String, Object>) ((Map<String, Object>)this.getTopologyTemplate()).get(outputs);
69   }
70
71   @Override
72   public Map<String, Object> getSubstitutionMappings(){
73     return Objects.isNull(this.getTopologyTemplate()) ? new HashMap<>()
74         : (Map<String, Object>) ((Map<String, Object>)this.getTopologyTemplate()).get(substitutionMappings);
75   }
76 }