Implement PNFD Model driven conversion
[sdc.git] / openecomp-be / lib / openecomp-tosca-converter-lib / openecomp-tosca-converter-core / src / main / java / org / openecomp / core / converter / impl / pnfd / parser / NodeTemplateYamlParser.java
1 /*
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation
4  *  ================================================================================
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  *  SPDX-License-Identifier: Apache-2.0
17  *  ============LICENSE_END=========================================================
18  */
19
20 package org.openecomp.core.converter.impl.pnfd.parser;
21
22 import java.util.List;
23 import java.util.Map;
24 import org.onap.sdc.tosca.datatypes.model.NodeTemplate;
25
26 /**
27  * Handles YAML from/to {@link NodeTemplate} conversions
28  */
29 public class NodeTemplateYamlParser {
30
31     private NodeTemplateYamlParser() {
32     }
33
34     /**
35      * Parses the given a YAML object to a {@link NodeTemplate} instance.
36      * @param nodeTemplateYaml    the YAML object representing a TOSCA Node Template
37      * @return
38      *  A new instance of {@link NodeTemplate}.
39      */
40     public static NodeTemplate parse(final Map<String, Object> nodeTemplateYaml) {
41         final NodeTemplate nodeTemplate = new NodeTemplate();
42         nodeTemplate.setType((String) nodeTemplateYaml.get("type"));
43         nodeTemplate.setDescription((String) nodeTemplateYaml.get("description"));
44         nodeTemplate.setCopy((String) nodeTemplateYaml.get("copy"));
45         nodeTemplate.setProperties((Map<String, Object>) nodeTemplateYaml.get("properties"));
46         nodeTemplate.setAttributes((Map<String, Object>) nodeTemplateYaml.get("attributes"));
47         nodeTemplate.setDirectives((List<String>) nodeTemplateYaml.get("directives"));
48         nodeTemplate.setMetadata((Map<String, String>) nodeTemplateYaml.get("metadata"));
49         nodeTemplate.setInterfaces((Map<String, Object>) nodeTemplateYaml.get("interfaces"));
50
51         return nodeTemplate;
52     }
53
54
55 }