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