aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/api/TopologyTemplate.java
blob: 1769455c0d12a85ea59b296b404ea93bde1ee1bd (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
package org.openecomp.sdc.toscaparser.api;

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

import java.util.List;
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;
    }

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