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