X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fclds%2Ftosca%2Fupdate%2Fparser%2FToscaElementParser.java;fp=src%2Fmain%2Fjava%2Forg%2Fonap%2Fclamp%2Fclds%2Ftosca%2Fupdate%2FToscaItemsParser.java;h=090fcfcfa140d64a1180e5039805c61b190f1170;hb=723de7f63f0951d0cfe7a23956cf9d00128809b1;hp=443a4b0cd168693e51029953853c25e7a9a53ad8;hpb=774b4ba65f0d23ae34d3bddb63058796121c1ae3;p=clamp.git diff --git a/src/main/java/org/onap/clamp/clds/tosca/update/ToscaItemsParser.java b/src/main/java/org/onap/clamp/clds/tosca/update/parser/ToscaElementParser.java similarity index 76% rename from src/main/java/org/onap/clamp/clds/tosca/update/ToscaItemsParser.java rename to src/main/java/org/onap/clamp/clds/tosca/update/parser/ToscaElementParser.java index 443a4b0c..090fcfcf 100644 --- a/src/main/java/org/onap/clamp/clds/tosca/update/ToscaItemsParser.java +++ b/src/main/java/org/onap/clamp/clds/tosca/update/parser/ToscaElementParser.java @@ -21,38 +21,30 @@ * */ -package org.onap.clamp.clds.tosca.update; +package org.onap.clamp.clds.tosca.update.parser; -import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map.Entry; +import org.onap.clamp.clds.tosca.update.elements.ToscaElement; +import org.onap.clamp.clds.tosca.update.elements.ToscaElementProperty; import org.yaml.snakeyaml.Yaml; -public class ToscaItemsParser { - private LinkedHashMap allItemsFound; - +public class ToscaElementParser { /** * Constructor. - * - * @param toscaYaml The tosca to parse - * @param toscaNativeDataTypeYaml THe name of the policy type to search */ - public ToscaItemsParser(String toscaYaml, String toscaNativeDataTypeYaml) { - this.allItemsFound = searchAllToscaElements(toscaYaml, toscaNativeDataTypeYaml); - } - - public LinkedHashMap getAllItemsFound() { - return allItemsFound; + private ToscaElementParser() { } private static LinkedHashMap searchAllDataTypesAndPolicyTypes(String toscaYaml) { LinkedHashMap> file = (LinkedHashMap>) new Yaml().load(toscaYaml); - // Get DataTypes - LinkedHashMap allItemsFound = file.get("data_types"); - allItemsFound = (allItemsFound == null) ? (new LinkedHashMap<>()) : allItemsFound; + LinkedHashMap allDataTypesFound = file.get("data_types"); + LinkedHashMap allPolicyTypesFound = file.get("policy_types"); + LinkedHashMap allItemsFound = new LinkedHashMap<>(); // Put the policies and datatypes in the same collection - allItemsFound.putAll(file.get("policy_types")); + allItemsFound = (allDataTypesFound == null) ? (new LinkedHashMap<>()) : allDataTypesFound; + allItemsFound.putAll(allPolicyTypesFound == null ? new LinkedHashMap<>() : allPolicyTypesFound); return allItemsFound; } @@ -65,10 +57,12 @@ public class ToscaItemsParser { * Yaml Parse gets raw policies and datatypes, in different sections : necessary to extract * all entities and put them at the same level. * - * @return a map + * @param toscaYaml the tosca model content + * @param nativeToscaYaml the tosca native datatype content + * @return a map of Tosca Element containing all tosca elements found (policy types and datatypes) */ - private static LinkedHashMap searchAllToscaElements(String toscaYaml, - String nativeToscaYaml) { + public static LinkedHashMap searchAllToscaElements(String toscaYaml, + String nativeToscaYaml) { LinkedHashMap allItemsFound = searchAllDataTypesAndPolicyTypes(toscaYaml); allItemsFound.putAll(searchAllNativeToscaDataTypes(nativeToscaYaml)); return parseAllItemsFound(allItemsFound); @@ -97,9 +91,9 @@ public class ToscaItemsParser { LinkedHashMap properties = (LinkedHashMap) componentBody.get("properties"); for (Entry itemToProperty : properties.entrySet()) { - Property property = new Property(itemToProperty.getKey(), + ToscaElementProperty toscaElementProperty = new ToscaElementProperty(itemToProperty.getKey(), (LinkedHashMap) itemToProperty.getValue()); - toscaElement.addProperties(property); + toscaElement.addProperties(toscaElementProperty); } } allItemsFound.put(toscaElement.getName(), toscaElement);