aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/java/org/openecomp/sdc/toscaparser/api/TopologyTemplate.java
blob: 0d0dd1060e8a01012ceae7538ea9ff3682a0c3aa (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
69
70
71
72
73
74
75
package org.openecomp.sdc.toscaparser.api;

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

import java.util.ArrayList;
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.JyGroup;
import org.openecomp.sdc.toscaparser.jython.JyNodeTemplate;
import org.openecomp.sdc.toscaparser.jython.JySubstitutionMappings;
import org.openecomp.sdc.toscaparser.jython.JyTopologyTemplate;
import org.openecomp.sdc.toscaparser.jython.parameters.JyInput;

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() {
        List<JyNodeTemplate> jyNodeTemplates = jyTopologyTemplate.getJyNodeTemplates();
		return jyNodeTemplates != null ? jyNodeTemplates
                .stream()
                .map(NodeTemplate::new)
                .collect(toImmutableList()) : new ArrayList<>();
    }

    public List<Input> getInputs() {
        List<JyInput> jyInputs = jyTopologyTemplate.getJyInputs();
		return jyInputs != null ? jyInputs
                .stream()
                .map(Input::new)
                .collect(toImmutableList()) : new ArrayList<>();
    }
    
    public List<Group> getGroups() {
        List<JyGroup> jyGroups = jyTopologyTemplate.getJyGroups();
		return jyGroups != null ? jyGroups
                .stream()
                .map(Group::new)
                .collect(toImmutableList()) : new ArrayList<>();
    }
    
    public SubstitutionMappings getSubstitutionMappings() {
        JySubstitutionMappings jySubstitutionMappings = jyTopologyTemplate.getJySubstitutionMappings();
        return jySubstitutionMappings != null ? new SubstitutionMappings(jySubstitutionMappings) : null;
    }
    
    public Metadata 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();
    }
}