aboutsummaryrefslogtreecommitdiffstats
path: root/integration-tests/src/test/java/org/openecomp/sdc/ci/tests/tosca/datatypes/ToscaDefinition.java
blob: 5bbb71b853f7565fc0d097a9fe879b8f1877f94c (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*-
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

package org.openecomp.sdc.ci.tests.tosca.datatypes;

import org.yaml.snakeyaml.TypeDescription;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ToscaDefinition {

	String tosca_definitions_version;
	Map<String, String> metadata = new HashMap<>();
	List<Map<String, ToscaImportsDefinition>> imports = new ArrayList<>();
	Map<String, ToscaNodeTypesDefinition> node_types = new HashMap<>();
	ToscaTopologyTemplateDefinition topology_template = new ToscaTopologyTemplateDefinition();

	public ToscaDefinition() {
		super();
	}

	public ToscaDefinition(String tosca_definitions_version, Map<String, String> metadata, List<Map<String, ToscaImportsDefinition>> imports, Map<String, ToscaNodeTypesDefinition> node_types,
			ToscaTopologyTemplateDefinition topology_template) {
		super();
		this.tosca_definitions_version = tosca_definitions_version;
		this.metadata = metadata;
		this.imports = imports;
		this.node_types = node_types;
		this.topology_template = topology_template;
	}

	public ToscaDefinition(ToscaDefinition toscaDefinition){
		this.tosca_definitions_version = toscaDefinition.tosca_definitions_version;
		this.metadata = new HashMap<>(toscaDefinition.metadata);
		this.imports = new ArrayList<>(toscaDefinition.imports);
		this.node_types = new HashMap<>(toscaDefinition.node_types);
		this.topology_template = new ToscaTopologyTemplateDefinition(toscaDefinition.topology_template);
	}
	
	public List<Map<String, ToscaImportsDefinition>> getImports() {
		return imports;
	}

	public void setImports(List<Map<String, ToscaImportsDefinition>> imports) {
		this.imports = imports;
	}

	public Map<String, String> getMetadata() {
		return metadata;
	}

	public void setMetadata(Map<String, String> metadata) {
		this.metadata = metadata;
	}

	public String getTosca_definitions_version() {
		return tosca_definitions_version;
	}

	public void setTosca_definitions_version(String tosca_definitions_version) {
		this.tosca_definitions_version = tosca_definitions_version;
	}

	
	public Map<String, ToscaNodeTypesDefinition> getNode_types() {
		return node_types;
	}

	public void setNode_types(Map<String, ToscaNodeTypesDefinition> node_types) {
		this.node_types = node_types;
	}

	public ToscaTopologyTemplateDefinition getTopology_template() {
		return topology_template;
	}

	public void setTopology_template(ToscaTopologyTemplateDefinition topology_template) {
		this.topology_template = topology_template;
	}



	//gets Type description for Yaml snake
	public static TypeDescription getTypeDescription(){
        TypeDescription typeDescription = new TypeDescription(ToscaDefinition.class);
        typeDescription.putMapPropertyType("metadata", String.class, String.class);
        typeDescription.putListPropertyType("imports", Map.class);
        typeDescription.putMapPropertyType("node_types", String.class, ToscaNodeTypesDefinition.class);
    	return typeDescription;
	}
	
	
}