aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/api/TopologyTemplate.java
blob: 5c9db4852ce23aa71df0ac397d53b85ec86071e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package org.openecomp.sdc.toscaparser.api;

import static com.google.common.collect.ImmutableList.toImmutableList;

import java.util.List;
import java.util.Map;
import java.util.Objects;

import org.openecomp.sdc.toscaparser.api.parameters.Input;
import org.openecomp.sdc.toscaparser.jython.JySubstitutionMappings;
import org.openecomp.sdc.toscaparser.jython.JyTopologyTemplate;

import com.google.common.base.MoreObjects;

public class TopologyTemplate {

    private final JyTopologyTemplate jyTopologyTemplate;

    public TopologyTemplate(JyTopologyTemplate jyTopologyTemplate) {
        this.jyTopologyTemplate = Objects.requireNonNull(jyTopologyTemplate);        
    }

    public String getDescription() {
        return jyTopologyTemplate.getJyDescription();
    }

    public List<NodeTemplate> getNodeTemplates() {
        return jyTopologyTemplate.getJyNodeTemplates()
                .stream()
                .map(NodeTemplate::new)
                .collect(toImmutableList());
    }

    public List<Input> getInputs() {
        return jyTopologyTemplate.getJyInputs()
                .stream()
                .map(Input::new)
                .collect(toImmutableList());
    }
    
    public List<Group> getGroups() {
        return jyTopologyTemplate.getJyGroups()
                .stream()
                .map(Group::new)
                .collect(toImmutableList());
    }
    
    public SubstitutionMappings getSubstitutionMappings() {
        JySubstitutionMappings jySubstitutionMappings = jyTopologyTemplate.getJySubstitutionMappings();
        return jySubstitutionMappings != null ? new SubstitutionMappings(jySubstitutionMappings) : null;
    }
    
    public Map<String, String> getMetadata() {
        return jyTopologyTemplate.getJyMetadata();
    }    

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("description", getDescription())
                .add("inputs", getInputs())
                .add("nodeTemplates", getNodeTemplates())
                .add("groups", getGroups())
                .add("substitutionMappings", getSubstitutionMappings())
                .add("metadata", getMetadata())
                .toString();
    }
}