aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser')
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ConformanceLevel.java25
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ISdcCsarHelper.java316
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/Version.java48
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/Configuration.java16
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java110
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorConfiguration.java46
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorInfo.java49
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/SdcToscaParserErrors.java31
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/exceptions/SdcToscaParserException.java20
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java589
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcPropertyNames.java109
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java88
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/Types.java32
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/GeneralUtility.java53
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/SdcToscaUtility.java19
-rw-r--r--sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/YamlToObjectConverter.java123
16 files changed, 0 insertions, 1674 deletions
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ConformanceLevel.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ConformanceLevel.java
deleted file mode 100644
index a026938..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ConformanceLevel.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.openecomp.sdc.tosca.parser.api;
-
-public class ConformanceLevel {
-
- private String minVersion;
- private String maxVersion;
-
- public String getMaxVersion() {
- return maxVersion;
- }
-
- public void setMaxVersion(String maxVersion) {
- this.maxVersion = maxVersion;
- }
-
- public String getMinVersion() {
- return minVersion;
- }
-
- public void setMinVersion(String minVersion) {
- this.minVersion = minVersion;
- }
-
-
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ISdcCsarHelper.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ISdcCsarHelper.java
deleted file mode 100644
index efee2c4..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/ISdcCsarHelper.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * sdc-distribution-client
- * ================================================================================
- * 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.tosca.parser.api;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.openecomp.sdc.toscaparser.api.Group;
-import org.openecomp.sdc.toscaparser.api.NodeTemplate;
-import org.openecomp.sdc.toscaparser.api.elements.Metadata;
-import org.openecomp.sdc.toscaparser.api.parameters.Input;
-
-
-public interface ISdcCsarHelper {
-
- /**
- * Get all node templates by node_type for this CSAR service.
- *
- * @param nodeType - the TOSCA type of the node.
- * @return service node templates of this type.
- */
- public List<NodeTemplate> getServiceNodeTemplatesByType(String nodeType);
-
- /**
- * Get groups of a VF with type "org.openecomp.groups.VfModule".
- *
- * @param vfCustomizationUuid - customizationUuid of VF instance.
- * @return list of vfModule groups.
- */
- public List<Group> getVfModulesByVf(String vfCustomizationUuid);
-
-
- /**
- * Get any property leaf value for node template by full path separated by #.<br>
- * For example, for node template with this property:<br><br>
- * network_assignments:<br>
- &nbsp;&nbsp;ecomp_generated_network_assignment: true<br>
- &nbsp;&nbsp;is_shared_network: false<br>
- &nbsp;&nbsp;is_external_network: false<br>
- &nbsp;&nbsp;ipv4_subnet_default_assignments:<br>
- &nbsp;&nbsp;&nbsp;&nbsp;use_ipv4: true<br>
- &nbsp;&nbsp;&nbsp;&nbsp;ip_network_address_plan: 1.2.3.4<br>
- &nbsp;&nbsp;&nbsp;&nbsp;dhcp_enabled: true<br>
- &nbsp;&nbsp;&nbsp;&nbsp;ip_version: 4<br>
- &nbsp;&nbsp;&nbsp;&nbsp;cidr_mask: 24<br>
- &nbsp;&nbsp;&nbsp;&nbsp;min_subnets_count: 1<br>
- &nbsp;&nbsp;ipv6_subnet_default_assignments:<br>
- &nbsp;&nbsp;&nbsp;&nbsp;use_ipv6: false<br><br>
-
- * calling<br>
- * getNodeTemplatePropertyLeafValue(nodeTemplate, "network_assignments#ipv6_subnet_default_assignments#use_ipv6")<br>
- * will return "false".
- * @param nodeTemplate - nodeTemplate where the property should be looked up.
- * @param pathToPropertyLeafValue - the full path of the required property.
- * @return the leaf value as String, or null if there's no such property, or it's not a leaf.
- */
- public String getNodeTemplatePropertyLeafValue(NodeTemplate nodeTemplate, String pathToPropertyLeafValue);
-
- /**
- * Get any property leaf value for node template by full path separated by #.<br>
- * For example, for node template with this property:<br><br>
- * network_assignments:<br>
- &nbsp;&nbsp;ecomp_generated_network_assignment: true<br>
- &nbsp;&nbsp;is_shared_network: false<br>
- &nbsp;&nbsp;is_external_network: false<br>
- &nbsp;&nbsp;ipv4_subnet_default_assignments:<br>
- &nbsp;&nbsp;&nbsp;&nbsp;use_ipv4: true<br>
- &nbsp;&nbsp;&nbsp;&nbsp;ip_network_address_plan: 1.2.3.4<br>
- &nbsp;&nbsp;&nbsp;&nbsp;dhcp_enabled: true<br>
- &nbsp;&nbsp;&nbsp;&nbsp;ip_version: 4<br>
- &nbsp;&nbsp;&nbsp;&nbsp;cidr_mask: 24<br>
- &nbsp;&nbsp;&nbsp;&nbsp;min_subnets_count: 1<br>
- &nbsp;&nbsp;ipv6_subnet_default_assignments:<br>
- &nbsp;&nbsp;&nbsp;&nbsp;use_ipv6: false<br><br>
-
- * calling<br>
- * getNodeTemplatePropertyLeafValue(nodeTemplate, "network_assignments#ipv6_subnet_default_assignments#use_ipv6")<br>
- * will return "false".
- * @param nodeTemplate - nodeTemplate where the property should be looked up.
- * @param pathToPropertyLeafValue - the full path of the required property.
- * @return the leaf value as Object, or null if there's no such property. It's up to the caller to cast it to a proper type.
- */
- public Object getNodeTemplatePropertyAsObject(NodeTemplate nodeTemplate, String pathToPropertyLeafValue);
-
- /**
- * Get any property leaf value for a group definition by full path separated by #.
- * Same logic as in {@link #getNodeTemplatePropertyLeafValue(NodeTemplate, String) getNodeTemplatePropertyLeafValue}, only for a group.
- * @param group - group where the property should be looked up.
- * @param propertyName - the name of the required property.
- * @return the leaf value as String, or null if there's no such property, or it's not a leaf.
- */
- public String getGroupPropertyLeafValue(Group group, String propertyName);
-
- /**
- * Get any property value for a group definition by full path separated by #.
- * Same logic as in {@link #getNodeTemplatePropertyLeafValue(NodeTemplate, String) getNodeTemplatePropertyLeafValue}, only for a group.
- * @param group - group where the property should be looked up.
- * @param propertyName - the name of the required property.
- * @return the leaf value as Object, or null if there's no such property. It's up to the caller to cast it to a proper type.
- */
- public Object getGroupPropertyAsObject(Group group, String propertyName);
-
- /**
- * Get all VL node templates of the CSAR service.
- * @return - all VL node templates.
- */
- public List<NodeTemplate> getServiceVlList();
-
- /**
- * Get all VF node templates of the CSAR service.
- * @return - all VF node templates.
- */
- public List<NodeTemplate> getServiceVfList();
-
-
- /**
- *
- * Get a property from a metadata object.<br>
- * This is just sugaring method, same as calling metadata.getMetadataPropertyValue(metadataPropertyName).<br>
- *
- * For metadata object representing the below: <br><br>
- *
- * metadata:<br>
- &nbsp;&nbsp;invariantUUID: 4598a404-00e1-42a6-8767-0bda343e2066<br>
- &nbsp;&nbsp;UUID: e17940d6-42f8-4989-bad0-31de5addc619<br>
- &nbsp;&nbsp;customizationUUID: 83d086b2-a861-4d3b-aa84-3bfbb9b2ec20<br>
- &nbsp;&nbsp;version: '0.1'<br>
- &nbsp;&nbsp;name: vIPR_ATM<br>
- &nbsp;&nbsp;description: vIPR_ATM<br>
- &nbsp;&nbsp;type: VF<br>
- &nbsp;&nbsp;category: category1<br>
- &nbsp;&nbsp;subcategory: subCategory1<br><br>
-
- calling<br>
- getMetadataPropertyValue(metadata,"invariantUUID")<br>
- will return "4598a404-00e1-42a6-8767-0bda343e2066".
-
- * @param metadata - metadata object.
- * @param metadataPropertyName - the name of the metadata property.
- * @return metadata property value
- */
- public String getMetadataPropertyValue(Metadata metadata, String metadataPropertyName);
-
-
- /**
- * Get input leaf value for the CSAR service, by full path separated by #.<br>
- * Same logic as in {@link #getNodeTemplatePropertyLeafValue(NodeTemplate, String) getNodeTemplatePropertyLeafValue}, only for an input full path.
- * The expected format is "input_name#default[optionally #rest_of_path]"
- * @param inputLeafValuePath by full path separated by #.
- * @return input leaf value for the service.
- */
- public String getServiceInputLeafValueOfDefault(String inputLeafValuePath);
-
- /**
- * Get input leaf value for the CSAR service, by full path separated by #.<br>
- * Same logic as in {@link #getNodeTemplatePropertyLeafValue(NodeTemplate, String) getNodeTemplatePropertyLeafValue}, only for an input full path.
- * The expected format is "input_name#default[optionally #rest_of_path]"
- * @param inputLeafValuePath by full path separated by #.
- * @return input value for the service as Object. It's up to the caller to cast it to a proper type.
- */
- public Object getServiceInputLeafValueOfDefaultAsObject(String inputLeafValuePath);
-
- /**
- * Get the type name of the CSAR service's substitution mappings element.<br>
- *
- * For the below:<br><br>
- *
- * substitution_mappings:<br>
- &nbsp;&nbsp;type: org.openecomp.services.ViprATM<br>
-
- calling<br>
- getServiceSubstitutionMappingsTypeName()<br>
- will return "org.openecomp.services.ViprATM"
- * @return - the type name of the CSAR service's substitution mappings element
- */
- public String getServiceSubstitutionMappingsTypeName();
-
- /**
- * Get the CSAR service metadata
- * @return - the service metadata object.
- */
- public Metadata getServiceMetadata();
-
- /**
- * Get all VFC node templates from a specified VF.
- * @param vfCustomizationId - customizationUuid of the VF node template.
- * @return all VFC node templates from a specified VF
- */
- public List<NodeTemplate> getVfcListByVf(String vfCustomizationId);
-
- /**
- * Get all CP node templates from a specified VF.
- * @param vfCustomizationId - customizationUuid of the VF node template.
- * @return all CP node templates from a specified VF
- */
- public List<NodeTemplate> getCpListByVf(String vfCustomizationId);
-
- /**
- * Get all members of this group definition.<br>
- *
- * For example, for this group definition:<br><br>
- *
- * ViprAtm..vIPR-ATM-Base..module-0:<br>
- &nbsp;&nbsp;type: org.openecomp.groups.VfModule<br>
- &nbsp;&nbsp;.................<br>
- &nbsp;&nbsp;members: [vIPR_ATM_Ha_Two, vIPR_ATM_Ha_One, vIPR_ATM_OAM_SG, vIPR_ATM_HA_TWO_SG, vIPR_ATM_HA_ONE_SG]<br><br>
-
- calling<br>
- getMembersOfVfModule(NoteTemplate vfNodeTemplate, Group group)<br>
- will return List of the following Node templates in the vfNodeTemplate: "vIPR_ATM_Ha_Two, vIPR_ATM_Ha_One, vIPR_ATM_OAM_SG, vIPR_ATM_HA_TWO_SG, vIPR_ATM_HA_ONE_SG"<br>
- * @param vf - VF to return the node templates from.
- * @param vfModule - group to return the members from.
- * @return node templates from vf with the names as in members section.
- *
- */
- public List<NodeTemplate> getMembersOfVfModule(NodeTemplate vf, Group vfModule);
-
-
- /**
- * Get list of node template pairs, where for each pair,<br>
- * the left node template in pair has requirement with name reqName, <br>
- * which should be satisfied with respective capability by the right node template in pair.<br>
- *
- * For example, if we have the below two node templates in the vIPR VF:<br><br>
- *
- * oam_extCP:<br>
- &nbsp;&nbsp;type: org.openecomp.resources.cp.extCP<br>
- &nbsp;&nbsp;requirements:<br>
- &nbsp;&nbsp;&nbsp;&nbsp;- virtualBinding: vipr_atm_firewall<br><br>
- *
- * vipr_atm_firewall: <br>
- &nbsp;&nbsp;type: org.openecomp.resources.vfc.ViprAtm.abstract.nodes.heat.vipr_atm<br>
- ........<br><br>
- *
-
- * calling<br>
- * getNodeTemplatePairsByReqName(getCpListByVf(viprCustomUuid), getVfcListByVf(viprCustomUuid), "virtualBinding")<br>
- * will return a list with one Pair - where left element of pair will be "oam_extCP" node template,<br>
- * and right element will be "vipr_atm_firewall" node template.<br>
- *
- * @param listOfReqNodeTemplates - list of node templates in which the "reqName" requirement should be looked.
- * @param listOfCapNodeTemplates - list of node templates in which the capability matching the "reqName" requirement should be looked.
- * @param reqName - the name of a requirement definition to match by.
- * @return pairs of node templates according to described above.
- */
- public List<Pair<NodeTemplate,NodeTemplate>> getNodeTemplatePairsByReqName(List<NodeTemplate> listOfReqNodeTemplates, List<NodeTemplate> listOfCapNodeTemplates, String reqName);
-
- /**
- * Get all allotted node templates from this service.
- * @return all allotted node templates from this service.
- */
- public List<NodeTemplate> getAllottedResources();
-
- /**
- * Get node_type of a node template.<br>
- *
- * For this node template:<br>
- *
- * vipr_atm_firewall: <br>
- &nbsp;&nbsp;type: org.openecomp.resources.vfc.ViprAtm.abstract.nodes.heat.vipr_atm<br>
- ........<br><br>
- *
- * the function will return "org.openecomp.resources.vfc.ViprAtm.abstract.nodes.heat.vipr_atm"
- *
- * @param nodeTemplate - node template object
- * @return - node type string.
- */
- public String getTypeOfNodeTemplate(NodeTemplate nodeTemplate);
-
- /**
- * Get the CSAR service inputs list.
- * @return - the service inputs list.
- */
- public List<Input> getServiceInputs();
-
-
- /**
- * Get the conformance level of this CSAR. <br>
- * The conformance level value of the CSAR is located in csar.meta file at the top level of the CSAR file.<br>
- * For 1707 CSARs, the conformance level is 3.0.
- * @return the conformance level of the CSAR.
- */
- public String getConformanceLevel();
-
-
- /**
- * Get the map of CP-related props from a VFC node template. <br>
- * Let's say there are 5 CPs related to this VFC. Then the output will look like this: <br><br>
- * {port_fe1_sigtran={ip_requirements#ip_count_required#count=1, ip_requirements#dhcp_enabled=true, ip_requirements#ip_version=4, subnetpoolid="subnet_1", network_role_tag="SIGNET_vrf_B1_direct"},<br>
- * port_fe_cluster={ip_requirements#ip_count_required#count=2, ip_requirements#dhcp_enabled=true, ip_requirements#ip_version=4},<br>
- * port_fe_slan={ip_requirements#ip_count_required#count=1, ip_requirements#dhcp_enabled=true, ip_requirements#ip_version=4},<br>
- * port_fe_interce={ip_requirements#ip_count_required#count=1, ip_requirements#dhcp_enabled=true, ip_requirements#ip_version=4},<br>
- * port_fe_oam={ip_requirements#ip_count_required#count=2, ip_requirements#dhcp_enabled=true, ip_requirements#ip_version=4, subnetpoolid="subnet_2", network_role_tag="Mobility_OAM_protected"}}<br><br>
- * @param vfc - VFC node template to look for CP-related props.
- * @return map <b>CP node template name</b> to a map of <b>full path to a property on this CP</b> - <b> value of this property on this CP</b>.
- */
- public Map<String, Map<String, Object>> getCpPropertiesFromVfc(NodeTemplate vfc);
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/Version.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/Version.java
deleted file mode 100644
index 473e3a8..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/api/Version.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.openecomp.sdc.tosca.parser.api;
-
-public class Version implements Comparable<Version> {
-
- private String version;
-
- public final String get() {
- return this.version;
- }
-
- public Version(String version) {
- if(version == null)
- throw new IllegalArgumentException("Version can not be null");
- if(!version.matches("[0-9]+(\\.[0-9]+)*"))
- throw new IllegalArgumentException("Invalid version format");
- this.version = version;
- }
-
- @Override public int compareTo(Version that) {
- if(that == null)
- return 1;
- String[] thisParts = this.get().split("\\.");
- String[] thatParts = that.get().split("\\.");
- int length = Math.max(thisParts.length, thatParts.length);
- for(int i = 0; i < length; i++) {
- int thisPart = i < thisParts.length ?
- Integer.parseInt(thisParts[i]) : 0;
- int thatPart = i < thatParts.length ?
- Integer.parseInt(thatParts[i]) : 0;
- if(thisPart < thatPart)
- return -1;
- if(thisPart > thatPart)
- return 1;
- }
- return 0;
- }
-
- @Override public boolean equals(Object that) {
- if(this == that)
- return true;
- if(that == null)
- return false;
- if(this.getClass() != that.getClass())
- return false;
- return this.compareTo((Version) that) == 0;
- }
-
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/Configuration.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/Configuration.java
deleted file mode 100644
index 1d00d14..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/Configuration.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.openecomp.sdc.tosca.parser.config;
-
-import org.openecomp.sdc.tosca.parser.api.ConformanceLevel;
-
-public class Configuration {
-
- private ConformanceLevel conformanceLevel;
-
- public ConformanceLevel getConformanceLevel() {
- return conformanceLevel;
- }
-
- public void setConformanceLevel(ConformanceLevel conformanceLevel) {
- this.conformanceLevel = conformanceLevel;
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java
deleted file mode 100644
index e83e6aa..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.openecomp.sdc.tosca.parser.config;
-
-import com.google.common.base.Charsets;
-import com.google.common.io.Resources;
-import org.openecomp.sdc.tosca.parser.utils.YamlToObjectConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-
-public class ConfigurationManager {
-
- private static Logger log = LoggerFactory.getLogger(ConfigurationManager.class.getName());
-
- private static final String CONFIGURATION_DIR = "config/";
- private static volatile ConfigurationManager instance;
-// private Configuration configuration;
-// private ErrorConfiguration errorConfiguration;
-
- Map<String, Object> configurations = new HashMap<String, Object>();
-
-
-
- private ConfigurationManager() {
- initialConfigObjectsFromFiles();
- }
-
- private void initialConfigObjectsFromFiles() {
- loadConfigurationClass(ErrorConfiguration.class);
- loadConfigurationClass(Configuration.class);
- }
-
- private <T> void loadConfigurationClass(Class<T> clazz) {
- T object = getObjectFromYaml(clazz);
- configurations.put(clazz.getSimpleName(), object);
- }
-
-
- public <T> T getObjectFromYaml(Class<T> className) {
-
-
- String configFileName = calculateFileName(className);
-
- URL url = Resources.getResource(CONFIGURATION_DIR + configFileName);
- String configFileContents = null;
- try {
- configFileContents = Resources.toString(url, Charsets.UTF_8);
- } catch (IOException e) {
- log.error("ConfigurationManager - Failed to load configuration file");
- }
- YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
- T object = yamlToObjectConverter.convertFromString(configFileContents, className);
-
- return object;
- }
-
-
- public static ConfigurationManager getInstance() {
- if (instance == null) {
- synchronized (ConfigurationManager.class) {
- if (instance == null) {
- instance = new ConfigurationManager();
- }
- }
- }
- return instance;
- }
-
- private static <T> String calculateFileName(Class<T> className) {
-
- String[] words = className.getSimpleName().split("(?=\\p{Upper})");
-
- StringBuilder builder = new StringBuilder();
-
- // There cannot be a null value returned from "split" - words != null is
- // redundant
- // if (words != null) {
- boolean isFirst = true;
- for (int i = 0; i < words.length; i++) {
-
- String word = words[i];
- if (word != null && !word.isEmpty()) {
- if (!isFirst) {
- builder.append("-");
- } else {
- isFirst = false;
- }
- builder.append(words[i].toLowerCase());
- }
- }
- return builder.toString() + ".yaml";
-
- /*
- * } else { return className.getSimpleName().toLowerCase() + Constants.YAML_SUFFIX; }
- */
-
- }
-
- public ErrorConfiguration getErrorConfiguration() {
- return (ErrorConfiguration) configurations.get((ErrorConfiguration.class.getSimpleName()));
- }
-
- public Configuration getConfiguration() {
- return (Configuration) configurations.get((Configuration.class.getSimpleName()));
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorConfiguration.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorConfiguration.java
deleted file mode 100644
index 59e8c6d..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============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.tosca.parser.config;
-
-import java.util.Map;
-
-public class ErrorConfiguration {
-
- private Map<String, ErrorInfo> errors;
-
- public Map<String, ErrorInfo> getErrors() {
- return errors;
- }
-
- public void setErrors(Map<String, ErrorInfo> errors) {
- this.errors = errors;
- }
-
- public ErrorInfo getErrorInfo(String key) {
- ErrorInfo clone = null;
- ErrorInfo other = errors.get(key);
- if (other != null) {
- clone = new ErrorInfo();
- clone.cloneData(other);
- }
- return clone;
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorInfo.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorInfo.java
deleted file mode 100644
index 01df115..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/ErrorInfo.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============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.tosca.parser.config;
-
-public class ErrorInfo {
-
- private String code;
- private String message;
-
- public String getCode() {
- return code;
- }
-
- public void setCode(String code) {
- this.code = code;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public void cloneData(ErrorInfo other) {
- this.code = other.getCode();
- this.message = other.getMessage();
- }
-
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/SdcToscaParserErrors.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/SdcToscaParserErrors.java
deleted file mode 100644
index ce84a9c..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/config/SdcToscaParserErrors.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.openecomp.sdc.tosca.parser.config;
-
-import java.util.EnumMap;
-import java.util.Map;
-
-import org.openecomp.sdc.toscaparser.api.utils.JToscaErrorCodes;
-
-public enum SdcToscaParserErrors {
-
- BAD_FORMAT, CONFORMANCE_LEVEL_ERROR, FILE_NOT_FOUND, GENERAL_ERROR;
-
- private static final Map<JToscaErrorCodes, SdcToscaParserErrors> JTOSCA_ERRORS =
- new EnumMap<JToscaErrorCodes, SdcToscaParserErrors>(JToscaErrorCodes.class) {{
-
- put(JToscaErrorCodes.GENERAL_ERROR, GENERAL_ERROR);
-
- put(JToscaErrorCodes.PATH_NOT_VALID, FILE_NOT_FOUND);
- //CSAR contents problems
- put(JToscaErrorCodes.MISSING_META_FILE, BAD_FORMAT);
- put(JToscaErrorCodes.INVALID_META_YAML_CONTENT, BAD_FORMAT);
- put(JToscaErrorCodes.ENTRY_DEFINITION_NOT_DEFINED, BAD_FORMAT);
- put(JToscaErrorCodes.MISSING_ENTRY_DEFINITION_FILE, BAD_FORMAT);
- put(JToscaErrorCodes.CSAR_TOSCA_VALIDATION_ERROR, BAD_FORMAT);
- put(JToscaErrorCodes.INVALID_CSAR_FORMAT, BAD_FORMAT);
- }};
-
- public static SdcToscaParserErrors getSdcErrorByJToscaError(JToscaErrorCodes jToscaErrorCode) {
- return JTOSCA_ERRORS.get(jToscaErrorCode);
- }
-
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/exceptions/SdcToscaParserException.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/exceptions/SdcToscaParserException.java
deleted file mode 100644
index a7fd99d..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/exceptions/SdcToscaParserException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.openecomp.sdc.tosca.parser.exceptions;
-
-public class SdcToscaParserException extends Exception {
-
- private static final long serialVersionUID = 626014844866501196L;
- private String code;
-
- public SdcToscaParserException(String string, String code) {
- super(string);
- this.code = code;
- }
-
- public String getCode() {
- return code;
- }
-
- public void setCode(String code) {
- this.code = code;
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
deleted file mode 100644
index cf4806d..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
+++ /dev/null
@@ -1,589 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * sdc-distribution-client
- * ================================================================================
- * 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.tosca.parser.impl;
-
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.apache.commons.lang3.tuple.Pair;
-//import org.json.JSONObject;
-import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.openecomp.sdc.tosca.parser.utils.GeneralUtility;
-import org.openecomp.sdc.tosca.parser.utils.SdcToscaUtility;
-import org.openecomp.sdc.toscaparser.api.Group;
-import org.openecomp.sdc.toscaparser.api.NodeTemplate;
-import org.openecomp.sdc.toscaparser.api.Property;
-import org.openecomp.sdc.toscaparser.api.SubstitutionMappings;
-import org.openecomp.sdc.toscaparser.api.TopologyTemplate;
-import org.openecomp.sdc.toscaparser.api.ToscaTemplate;
-import org.openecomp.sdc.toscaparser.api.elements.Metadata;
-import org.openecomp.sdc.toscaparser.api.elements.NodeType;
-import org.openecomp.sdc.toscaparser.api.functions.Function;
-import org.openecomp.sdc.toscaparser.api.parameters.Input;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.openecomp.sdc.tosca.parser.impl.SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID;
-
-public class SdcCsarHelperImpl implements ISdcCsarHelper {
-
- private static final String PATH_DELIMITER = "#";
- private static final String PREFIX = "port_";
- Pattern SUFFIX = Pattern.compile("(_network_role_tag|_ip_requirements|_subnetpoolid)$");
-// private static final String[] SUFFIX = new String[]{"_network_role_tag", "_ip_requirements", "_subnetpoolid"};
- private ToscaTemplate toscaTemplate;
- private static Logger log = LoggerFactory.getLogger(SdcCsarHelperImpl.class.getName());
-
- public SdcCsarHelperImpl(ToscaTemplate toscaTemplate) {
- this.toscaTemplate = toscaTemplate;
- }
-
- @Override
- //Sunny flow - covered with UT, flat and nested
- public String getNodeTemplatePropertyLeafValue(NodeTemplate nodeTemplate, String leafValuePath) {
- if (nodeTemplate == null) {
- log.error("getNodeTemplatePropertyLeafValue - nodeTemplate is null");
- return null;
- }
- if (GeneralUtility.isEmptyString(leafValuePath)) {
- log.error("getNodeTemplatePropertyLeafValue - leafValuePath is null or empty");
- return null;
- }
- String[] split = getSplittedPath(leafValuePath);
- LinkedHashMap<String, Property> properties = nodeTemplate.getProperties();
- Object property = processProperties(split, properties);
- return property == null || property instanceof Function ? null : String.valueOf(property);
- }
-
- @Override
- public Object getNodeTemplatePropertyAsObject(NodeTemplate nodeTemplate, String leafValuePath) {
- if (nodeTemplate == null) {
- log.error("getNodeTemplatePropertyAsObject - nodeTemplate is null");
- return null;
- }
- if (GeneralUtility.isEmptyString(leafValuePath)) {
- log.error("getNodeTemplatePropertyAsObject - leafValuePath is null or empty");
- return null;
- }
- String[] split = getSplittedPath(leafValuePath);
- LinkedHashMap<String, Property> properties = nodeTemplate.getProperties();
- return processProperties(split, properties);
- }
-
- public Map<String, Map<String, Object>> getCpPropertiesFromVfc(NodeTemplate vfc) {
-
- if (vfc == null) {
- log.error("getCpPropertiesFromVfc - vfc is null");
- return new HashMap<>();
- }
-
- List<String> paths = new ArrayList<>();
- paths.add("network_role_tag");
- paths.add("ip_requirements#ip_count_required#count");
- paths.add("ip_requirements#dhcp_enabled");
- paths.add("ip_requirements#ip_version");
- paths.add("subnetpoolid");
-
- Map<String, Property> props = vfc.getProperties();
-
- Map<String, Map<String, Object>> cps = new HashMap<>();
-
- if (props != null) {
- for (Map.Entry<String, Property> entry : props.entrySet()) {
- String fullCpName = entry.getKey();
- Matcher matcher = SUFFIX.matcher(fullCpName);
-
- if (fullCpName.startsWith(PREFIX) && matcher.find()) {
- //this is CP - get all it's properties according to paths list
- String cpName = fullCpName.replaceAll("^(" + PREFIX + ")", "").replaceAll(matcher.group(1), "");
-
- List<String> propertiesToSearch = paths.stream().filter(i -> i.contains(StringUtils.stripStart(matcher.group(1), "_"))).collect(Collectors.toList());
- for (String item : propertiesToSearch) {
- String fullPathToSearch = PREFIX + cpName + "_" + item;
- Object value = getNodeTemplatePropertyAsObject(vfc, fullPathToSearch);
- if (value != null) {
- if (!cps.containsKey(cpName)){
- cps.put(cpName, new HashMap<>());
- }
- cps.get(cpName).put(item, value);
- }
-
- }
- }
- }
- }
-
- return cps;
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getServiceVlList() {
- List<NodeTemplate> serviceVlList = getNodeTemplateBySdcType(toscaTemplate.getTopologyTemplate(), Types.TYPE_VL);
- return serviceVlList;
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getServiceVfList() {
- List<NodeTemplate> serviceVfList = getNodeTemplateBySdcType(toscaTemplate.getTopologyTemplate(), Types.TYPE_VF);
- return serviceVfList;
- }
-
- @Override
- //Sunny flow - covered with UT
- public String getMetadataPropertyValue(Metadata metadata, String metadataPropertyName) {
- if (GeneralUtility.isEmptyString(metadataPropertyName)) {
- log.error("getMetadataPropertyValue - the metadataPropertyName is null or empty");
- return null;
- }
- if (metadata == null) {
- log.error("getMetadataPropertyValue - the metadata is null");
- return null;
- }
- String metadataPropertyValue = metadata.getValue(metadataPropertyName);
- return metadataPropertyValue;
- }
-
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getServiceNodeTemplatesByType(String nodeType) {
- if (GeneralUtility.isEmptyString(nodeType)) {
- log.error("getServiceNodeTemplatesByType - nodeType - is null or empty");
- return new ArrayList<>();
- }
-
- List<NodeTemplate> res = new ArrayList<>();
- List<NodeTemplate> nodeTemplates = toscaTemplate.getNodeTemplates();
- for (NodeTemplate nodeTemplate : nodeTemplates) {
- if (nodeType.equals(nodeTemplate.getTypeDefinition().getType())) {
- res.add(nodeTemplate);
- }
- }
-
- return res;
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getVfcListByVf(String vfCustomizationId) {
- if (GeneralUtility.isEmptyString(vfCustomizationId)) {
- log.error("getVfcListByVf - vfCustomizationId - is null or empty");
- return new ArrayList<>();
- }
-
- List<NodeTemplate> serviceVfList = getServiceVfList();
- NodeTemplate vfInstance = getNodeTemplateByCustomizationUuid(serviceVfList, vfCustomizationId);
- return getNodeTemplateBySdcType(vfInstance, Types.TYPE_VFC);
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<Group> getVfModulesByVf(String vfCustomizationUuid) {
- List<NodeTemplate> serviceVfList = getServiceVfList();
- NodeTemplate nodeTemplateByCustomizationUuid = getNodeTemplateByCustomizationUuid(serviceVfList, vfCustomizationUuid);
- if (nodeTemplateByCustomizationUuid != null) {
- /*SubstitutionMappings substitutionMappings = nodeTemplateByCustomizationUuid.getSubstitutionMappings();
- if (substitutionMappings != null){
- List<Group> groups = substitutionMappings.getGroups();
- if (groups != null){
- List<Group> collect = groups.stream().filter(x -> "org.openecomp.groups.VfModule".equals(x.getTypeDefinition().getType())).collect(Collectors.toList());
- log.debug("getVfModulesByVf - VfModules are {}", collect);
- return collect;
- }
- }*/
- String name = nodeTemplateByCustomizationUuid.getName();
- String normaliseComponentInstanceName = SdcToscaUtility.normaliseComponentInstanceName(name);
- List<Group> serviceLevelGroups = toscaTemplate.getTopologyTemplate().getGroups();
- log.debug("getVfModulesByVf - VF node template name {}, normalized name {}. Searching groups on service level starting with VF normalized name...", name, normaliseComponentInstanceName);
- if (serviceLevelGroups != null) {
- List<Group> collect = serviceLevelGroups
- .stream()
- .filter(x -> "org.openecomp.groups.VfModule".equals(x.getTypeDefinition().getType()) && x.getName().startsWith(normaliseComponentInstanceName))
- .collect(Collectors.toList());
- return collect;
- }
- }
- return new ArrayList<>();
- }
-
- @Override
- //Sunny flow - covered with UT
- public String getServiceInputLeafValueOfDefault(String inputLeafValuePath) {
- if (GeneralUtility.isEmptyString(inputLeafValuePath)) {
- log.error("getServiceInputLeafValueOfDefault - inputLeafValuePath is null or empty");
- return null;
- }
-
- String[] split = getSplittedPath(inputLeafValuePath);
- if (split.length < 2 || !split[1].equals("default")) {
- log.error("getServiceInputLeafValue - inputLeafValuePath should be of format <input name>#default[optionally #<rest of path>] ");
- return null;
- }
-
- List<Input> inputs = toscaTemplate.getInputs();
- if (inputs != null) {
- Optional<Input> findFirst = inputs.stream().filter(x -> x.getName().equals(split[0])).findFirst();
- if (findFirst.isPresent()) {
- Input input = findFirst.get();
- Object current = input.getDefault();
- Object property = iterateProcessPath(2, current, split);
- return property == null || property instanceof Function? null : String.valueOf(property);
- }
- }
- log.error("getServiceInputLeafValue - value not found");
- return null;
- }
-
- @Override
- public Object getServiceInputLeafValueOfDefaultAsObject(String inputLeafValuePath) {
- if (GeneralUtility.isEmptyString(inputLeafValuePath)) {
- log.error("getServiceInputLeafValueOfDefaultAsObject - inputLeafValuePath is null or empty");
- return null;
- }
-
- String[] split = getSplittedPath(inputLeafValuePath);
- if (split.length < 2 || !split[1].equals("default")) {
- log.error("getServiceInputLeafValueOfDefaultAsObject - inputLeafValuePath should be of format <input name>#default[optionally #<rest of path>] ");
- return null;
- }
-
- List<Input> inputs = toscaTemplate.getInputs();
- if (inputs != null) {
- Optional<Input> findFirst = inputs.stream().filter(x -> x.getName().equals(split[0])).findFirst();
- if (findFirst.isPresent()) {
- Input input = findFirst.get();
- Object current = input.getDefault();
- return iterateProcessPath(2, current, split);
- }
- }
- log.error("getServiceInputLeafValueOfDefaultAsObject - value not found");
- return null;
- }
-
- private Object iterateProcessPath(Integer index, Object current, String[] split) {
- if (current == null) {
- log.error("iterateProcessPath - this input has no default");
- return null;
- }
- if (split.length > index) {
- for (int i = index; i < split.length; i++) {
- if (current instanceof Map) {
- current = ((Map<String, Object>) current).get(split[i]);
- } else if (current instanceof List) {
- current = ((List) current).get(0);
- i--;
- }
- else {
- log.error("iterateProcessPath - found an unexpected leaf where expected to find a complex type");
- return null;
- }
- }
- }
- if (current != null) {
- return current;
- }
- log.error("iterateProcessPath - Path not Found");
- return null;
- }
-
- private String[] getSplittedPath(String inputLeafValuePath) {
- return inputLeafValuePath.split(PATH_DELIMITER);
- }
-
-
- @Override
- //Sunny flow - covered with UT
- public String getServiceSubstitutionMappingsTypeName() {
- SubstitutionMappings substitutionMappings = toscaTemplate.getTopologyTemplate().getSubstitutionMappings();
- if (substitutionMappings == null) {
- log.debug("getServiceSubstitutionMappingsTypeName - No Substitution Mappings defined");
- return null;
- }
-
- NodeType nodeType = substitutionMappings.getNodeDefinition();
- if (nodeType == null) {
- log.debug("getServiceSubstitutionMappingsTypeName - No Substitution Mappings node defined");
- return null;
- }
-
- return nodeType.getType();
- }
-
- @Override
- //Sunny flow - covered with UT
- public Metadata getServiceMetadata() {
- return toscaTemplate.getMetaData();
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<Input> getServiceInputs() {
- return toscaTemplate.getInputs();
- }
-
- @Override
- //Sunny flow - covered with UT
- public String getGroupPropertyLeafValue(Group group, String leafValuePath) {
- if (group == null) {
- log.error("getGroupPropertyLeafValue - group is null");
- return null;
- }
-
- if (GeneralUtility.isEmptyString(leafValuePath)) {
- log.error("getGroupPropertyLeafValue - leafValuePath is null or empty");
- return null;
- }
-
- String[] split = getSplittedPath(leafValuePath);
- LinkedHashMap<String, Property> properties = group.getProperties();
- Object property = processProperties(split, properties);
- return property == null || property instanceof Function? null : String.valueOf(property);
- }
-
- @Override
- public Object getGroupPropertyAsObject(Group group, String leafValuePath) {
- if (group == null) {
- log.error("getGroupPropertyAsObject - group is null");
- return null;
- }
-
- if (GeneralUtility.isEmptyString(leafValuePath)) {
- log.error("getGroupPropertyAsObject - leafValuePath is null or empty");
- return null;
- }
-
- String[] split = getSplittedPath(leafValuePath);
- LinkedHashMap<String, Property> properties = group.getProperties();
- return processProperties(split, properties);
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getCpListByVf(String vfCustomizationId) {
- List<NodeTemplate> cpList = new ArrayList<>();
- if (GeneralUtility.isEmptyString(vfCustomizationId)) {
- log.error("getCpListByVf vfCustomizationId string is empty");
- return cpList;
- }
-
- List<NodeTemplate> serviceVfList = getServiceVfList();
- if (serviceVfList == null || serviceVfList.size() == 0) {
- log.error("getCpListByVf Vfs not exist for vfCustomizationId {}", vfCustomizationId);
- return cpList;
- }
- NodeTemplate vfInstance = getNodeTemplateByCustomizationUuid(serviceVfList, vfCustomizationId);
- if (vfInstance == null) {
- log.debug("getCpListByVf vf list is null");
- return cpList;
- }
- cpList = getNodeTemplateBySdcType(vfInstance, Types.TYPE_CP);
- if (cpList == null || cpList.size() == 0)
- log.debug("getCpListByVf cps not exist for vfCustomizationId {}", vfCustomizationId);
- return cpList;
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<NodeTemplate> getMembersOfVfModule(NodeTemplate vf, Group serviceLevelVfModule) {
- if (vf == null) {
- log.error("getMembersOfVfModule - vf is null");
- return new ArrayList<>();
- }
-
- if (serviceLevelVfModule == null || serviceLevelVfModule.getMetadata() == null || serviceLevelVfModule.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID) == null) {
- log.error("getMembersOfVfModule - vfModule or its metadata is null. Cannot match a VF group based on invariantUuid from missing metadata.");
- return new ArrayList<>();
- }
-
-
- SubstitutionMappings substitutionMappings = vf.getSubMappingToscaTemplate();
- if (substitutionMappings != null) {
- List<Group> groups = substitutionMappings.getGroups();
- if (groups != null) {
- Optional<Group> findFirst = groups
- .stream()
- .filter(x -> (x.getMetadata() != null && serviceLevelVfModule.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID).equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)))).findFirst();
- if (findFirst.isPresent()) {
- List<String> members = findFirst.get().getMembers();
- if (members != null) {
- List<NodeTemplate> collect = substitutionMappings.getNodeTemplates().stream().filter(x -> members.contains(x.getName())).collect(Collectors.toList());
- return collect;
- }
- }
- }
- }
- return new ArrayList<>();
- }
-
- @Override
- //Sunny flow - covered with UT
- public List<Pair<NodeTemplate, NodeTemplate>> getNodeTemplatePairsByReqName(
- List<NodeTemplate> listOfReqNodeTemplates, List<NodeTemplate> listOfCapNodeTemplates, String reqName) {
- if (listOfReqNodeTemplates == null || listOfCapNodeTemplates == null || reqName == null) {
- //TODO error message
- return new ArrayList<>();
- }
-
- List<Pair<NodeTemplate, NodeTemplate>> pairsList = new ArrayList<>();
-
- if (listOfReqNodeTemplates != null) {
- for (NodeTemplate reqNodeTemplate : listOfReqNodeTemplates) {
- List<Object> requirements = reqNodeTemplate.getRequirements();
- for (Object reqEntry : requirements) {
- LinkedHashMap<String, Object> reqEntryHash = (LinkedHashMap<String, Object>) reqEntry;
- Map<String, Object> reqEntryMap = (Map<String, Object>) reqEntryHash.get(reqName);
- if (reqEntryMap != null) {
- Object node = reqEntryMap.get("node");
- if (node != null) {
- String nodeString = (String) node;
- Optional<NodeTemplate> findFirst = listOfCapNodeTemplates.stream().filter(x -> x.getName().equals(nodeString)).findFirst();
- if (findFirst.isPresent()) {
- pairsList.add(new ImmutablePair<NodeTemplate, NodeTemplate>(reqNodeTemplate, findFirst.get()));
- }
- }
- }
- }
- }
- }
- return pairsList;
- }
-
- @Override
- //Sunny flow - covered with UT
- //TODO constant strings
- public List<NodeTemplate> getAllottedResources() {
- List<NodeTemplate> nodeTemplates = null;
- nodeTemplates = toscaTemplate.getTopologyTemplate().getNodeTemplates();
- if (nodeTemplates.isEmpty()) {
- log.error("getAllottedResources nodeTemplates not exist");
- }
- nodeTemplates = nodeTemplates.stream().filter(
- x -> x.getMetaData() != null && x.getMetaData().getValue("category").equals("Allotted Resource"))
- .collect(Collectors.toList());
- if (nodeTemplates.isEmpty()) {
- log.debug("getAllottedResources - allotted resources not exist");
- } else {
- }
-
- return nodeTemplates;
- }
-
- @Override
- //Sunny flow - covered with UT
- public String getTypeOfNodeTemplate(NodeTemplate nodeTemplate) {
- if (nodeTemplate == null) {
-
- log.error("getTypeOfNodeTemplate nodeTemplate is null");
- return null;
- }
- return nodeTemplate.getTypeDefinition().getType();
- }
-
- @Override
- public String getConformanceLevel() {
- LinkedHashMap<String, Object> csarMeta = toscaTemplate.getMetaProperties("csar.meta");
- if (csarMeta == null){
- log.warn("No csar.meta file is found in CSAR - this file should hold the conformance level of the CSAR. This might be OK for older CSARs.");
- return null;
- }
-
- Object conformanceLevel = csarMeta.get("SDC-TOSCA-Definitions-Version");
- if (conformanceLevel != null){
- String confLevelStr = conformanceLevel.toString();
- log.debug("CSAR conformance level is {}", confLevelStr);
- return confLevelStr;
- } else {
- log.error("Invalid csar.meta file - no entry found for SDC-TOSCA-Definitions-Version key. This entry should hold the conformance level.");
- return null;
- }
- }
-
- /************************************* helper functions ***********************************/
- private List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate nodeTemplate, String sdcType) {
- if (nodeTemplate == null) {
- log.error("getNodeTemplateBySdcType - nodeTemplate is null or empty");
- return new ArrayList<>();
- }
-
- if (GeneralUtility.isEmptyString(sdcType)) {
- log.error("getNodeTemplateBySdcType - sdcType is null or empty");
- return new ArrayList<>();
- }
-
- SubstitutionMappings substitutionMappings = nodeTemplate.getSubMappingToscaTemplate();
-
- if (substitutionMappings != null) {
- List<NodeTemplate> nodeTemplates = substitutionMappings.getNodeTemplates();
- if (nodeTemplates != null && nodeTemplates.size() > 0)
- return nodeTemplates.stream().filter(x -> (x.getMetaData() != null && sdcType.equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)))).collect(Collectors.toList());
- else
- log.debug("getNodeTemplateBySdcType - SubstitutionMappings' node Templates not exist");
- } else
- log.debug("getNodeTemplateBySdcType - SubstitutionMappings not exist");
-
- return new ArrayList<>();
- }
-
- private List<NodeTemplate> getNodeTemplateBySdcType(TopologyTemplate topologyTemplate, String sdcType) {
- if (GeneralUtility.isEmptyString(sdcType)) {
- log.error("getNodeTemplateBySdcType - sdcType is null or empty");
- return new ArrayList<>();
- }
-
- if (topologyTemplate == null) {
- log.error("getNodeTemplateBySdcType - topologyTemplate is null");
- return new ArrayList<>();
- }
-
- List<NodeTemplate> nodeTemplates = topologyTemplate.getNodeTemplates();
-
- if (nodeTemplates != null && nodeTemplates.size() > 0)
- return nodeTemplates.stream().filter(x -> (x.getMetaData() != null && sdcType.equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)))).collect(Collectors.toList());
-
- log.debug("getNodeTemplateBySdcType - topologyTemplate's nodeTemplates not exist");
- return new ArrayList<>();
- }
-
- //Assumed to be unique property for the list
- private NodeTemplate getNodeTemplateByCustomizationUuid(List<NodeTemplate> nodeTemplates, String customizationId) {
- Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(x -> (x.getMetaData() != null && customizationId.equals(x.getMetaData().getValue(PROPERTY_NAME_CUSTOMIZATIONUUID)))).findFirst();
- return findFirst.isPresent() ? findFirst.get() : null;
- }
-
- private Object processProperties(String[] split, LinkedHashMap<String, Property> properties) {
- Optional<Entry<String, Property>> findFirst = properties.entrySet().stream().filter(x -> x.getKey().equals(split[0])).findFirst();
- if (findFirst.isPresent()) {
- Property property = findFirst.get().getValue();
- Object current = property.getValue();
- return iterateProcessPath(1, current, split);
- }
- String propName = (split != null && split.length > 0 ? split[0] : null);
- log.error("processProperties - property {} not found", propName);
- return null;
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcPropertyNames.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcPropertyNames.java
deleted file mode 100644
index 7d34c6f..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcPropertyNames.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * sdc-distribution-client
- * ================================================================================
- * 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.tosca.parser.impl;
-
-public class SdcPropertyNames {
- public static String PROPERTY_NAME_INVARIANTUUID = "invariantUUID";
- public static String PROPERTY_NAME_UUID = "UUID";
- public static String PROPERTY_NAME_CUSTOMIZATIONUUID = "customizationUUID";
- public static String PROPERTY_NAME_VERSION = "version";
-
- //Groups metadata
- public static String PROPERTY_NAME_VFMODULEMODELINVARIANTUUID = "vfModuleModelInvariantUUID";
- public static String PROPERTY_NAME_VFMODULEMODELUUID = "vfModuleModelUUID";
- public static String PROPERTY_NAME_VFMODULECUSTOMIZATIONUUID = "vfModuleCustomizationUUID";
- public static String PROPERTY_NAME_VFMODULEMODELVERSION = "vfModuleModelVersion";
- public static String PROPERTY_NAME_VFMODULEMODELNAME = "vfModuleModelName";
-
- //Groups properties
- public static String PROPERTY_NAME_VFMODULETYPE = "vf_module_type";
- public static String PROPERTY_NAME_VFMODULELABEL = "vf_module_label";
- public static String PROPERTY_NAME_MINVFMODULEINSTANCES = "min_vf_module_instances";
- public static String PROPERTY_NAME_MAXVFMODULEINSTANCES = "max_vf_module_instances";
- public static String PROPERTY_NAME_INITIALCOUNT = "initial_count";
-
-
- public static String PROPERTY_NAME_DESCRIPTION = "description";
- public static String PROPERTY_NAME_TYPE = "type";
- public static String PROPERTY_NAME_CATEGORY = "category";
- public static String PROPERTY_NAME_SUBCATEGORY = "subcategory";
- public static String PROPERTY_NAME_RESOURCEVENDOR = "resourceVendor";
- public static String PROPERTY_NAME_RESOURCEVENDORRELEASE = "resourceVendorRelease";
- //VFC
- public static String PROPERTY_NAME_NFCCODE = "nfc_code";
- public static String PROPERTY_NAME_VMTYPETAG = "vm_type_tag";
- public static String PROPERTY_NAME_VMTYPE = "vm_type";
- public static String PROPERTY_NAME_VFCNAMING_ECOMPGENERATEDNAMING="vfc_naming#ecomp_generated_naming";
- public static String PROPERTY_NAME_VFCNAMING_NAMINGPOLICY="vfc_naming#naming_policy";
- //VF
- public static String PROPERTY_NAME_NFTYPE = "nf_type";
- public static String PROPERTY_NAME_NFROLE = "nf_role";
- public static String PROPERTY_NAME_NFFUNCTION = "nf_function";
- public static String PROPERTY_NAME_NFCODE = "nf_code";
- public static String PROPERTY_NAME_MININSTANCES = "min_instances";
- public static String PROPERTY_NAME_MAXINSTANCES = "max_instances";
- public static String PROPERTY_NAME_AVAILABILITYZONEMAXCOUNT = "availability_zone_max_count";
- public static String PROPERTY_NAME_AVAILABILITYZONECOUNT = "availability_zone_count";
- public static String PROPERTY_NAME_NAME = "name";
- public static String PROPERTY_NAME_VNFECOMPNAMING_ECOMPGENERATEDNAMING="vnf_ecomp_naming#ecomp_generated_naming";
- public static String PROPERTY_NAME_VNFECOMPNAMING_NAMINGPOLICY="vnf_ecomp_naming#naming_policy";
- public static String PROPERTY_NAME_ECOMPGENERATEDVMASSIGNMENTS = "ecomp_generated_vm_assignments";
- //Service
- public static String PROPERTY_NAME_SERVICENAMING_DEFAULT_ECOMPGENERATEDNAMING="service_naming#default#ecomp_generated_naming";
- public static String PROPERTY_NAME_SERVICENAMING_DEFAULT_NAMINGPOLICY="service_naming#default#naming_policy";
- //VL
- public static String PROPERTY_NAME_NETWORKTYPE="network_type";
- public static String PROPERTY_NAME_NETWORKROLE="network_role";
- public static String PROPERTY_NAME_NETWORKROLETAG="network_role_tag";
- public static String PROPERTY_NAME_NETWORKTECHNOLOGY="network_technology";
- public static String PROPERTY_NAME_NETWORKSCOPE="network_scope";
- public static String PROPERTY_NAME_NETWORKECOMPNAMING_ECOMPGENERATEDNAMING="network_ecomp_naming#ecomp_generated_naming";
- public static String PROPERTY_NAME_NETWORKECOMPNAMING_NAMINGPOLICY="network_ecomp_naming#naming_policy";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_ISSHAREDNETWORK="network_assignments#is_shared_network";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_ISEXTERNALNETWORK="network_assignments#is_external_network";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_ECOMPGENERATEDNETWORKASSIGNMENT="network_assignments#ecomp_generated_network_assignment";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_USEIPV4="network_assignments#ipv4_subnet_default_assignments#use_ipv4";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_IPNETWORKADDRESSPLAN="network_assignments#ipv4_subnet_default_assignments#ip_network_address_plan";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_DHCPENABLED="network_assignments#ipv4_subnet_default_assignments#dhcp_enabled";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_IPVERSION="network_assignments#ipv4_subnet_default_assignments#ip_version";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_CIDRMASK="network_assignments#ipv4_subnet_default_assignments#cidr_mask";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV4SUBNETDEFAULTASSIGNMENTS_MINSUBNETSCOUNT="network_assignments#ipv4_subnet_default_assignments#min_subnets_count";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_USEIPV6="network_assignments#ipv6_subnet_default_assignments#use_ipv6";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_IPNETWORKADDRESSPLAN="network_assignments#ipv6_subnet_default_assignments#ip_network_address_plan";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_DHCPENABLED="network_assignments#ipv6_subnet_default_assignments#dhcp_enabled";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_IPVERSION="network_assignments#ipv6_subnet_default_assignments#ip_version";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_CIDRMASK="network_assignments#ipv6_subnet_default_assignments#cidr_mask";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_IPV6SUBNETDEFAULTASSIGNMENTS_MINSUBNETSCOUNT="network_assignments#ipv6_subnet_default_assignments#min_subnets_count";
-
- /*public static String PROPERTY_NAME_NETWORKASSIGNMENTS_PROVIDERNETWORK_ISPROVIDERNETWORK="network_assignments#provider_network#is_provider_network";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_PROVIDERNETWORK_PHYSICALNETWORKNAME="network_assignments#provider_network#physical_network_name";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_PROVIDERNETWORK_NUMA="network_assignments#provider_network#numa";
- public static String PROPERTY_NAME_NETWORKASSIGNMENTS_PROVIDERNETWORK_PNICINSTANCE="network_assignments#provider_network#pnic_instance";
- */
-
- public static String PROPERTY_NAME_PROVIDERNETWORK_ISPROVIDERNETWORK="provider_network#is_provider_network";
- public static String PROPERTY_NAME_PROVIDERNETWORK_PHYSICALNETWORKNAME="provider_network#physical_network_name";
- public static String PROPERTY_NAME_PROVIDERNETWORK_NUMA="provider_network#numa";
- public static String PROPERTY_NAME_PROVIDERNETWORK_PNICINSTANCE="provider_network#pnic_instance";
-
- public static String PROPERTY_NAME_NETWORKFLOWS_ISBOUNDTOVPN="network_flows#is_bound_to_vpn";
- public static String PROPERTY_NAME_NETWORKFLOWS_VPNBINDING="network_flows#vpn_binding";
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java
deleted file mode 100644
index a3b2391..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.openecomp.sdc.tosca.parser.impl;
-
-import org.openecomp.sdc.tosca.parser.api.ConformanceLevel;
-import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
-import org.openecomp.sdc.tosca.parser.config.*;
-import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
-import org.openecomp.sdc.tosca.parser.utils.GeneralUtility;
-import org.openecomp.sdc.toscaparser.api.ToscaTemplate;
-import org.openecomp.sdc.toscaparser.api.common.JToscaException;
-import org.openecomp.sdc.toscaparser.api.utils.JToscaErrorCodes;
-
-public class SdcToscaParserFactory {
-
- private static volatile SdcToscaParserFactory instance;
- private static Configuration configuration;
- private static ErrorConfiguration errorConfiguration;
-
- private SdcToscaParserFactory() {
-
- }
-
- /**
- * Get an SdcToscaParserFactory instance.
- * @return SdcToscaParserFactory instance.
- */
- public static SdcToscaParserFactory getInstance() {
- if (instance == null) {
- synchronized (SdcToscaParserFactory.class) {
- if (instance == null) {
- instance = new SdcToscaParserFactory();
- configuration = ConfigurationManager.getInstance().getConfiguration();
- errorConfiguration = ConfigurationManager.getInstance().getErrorConfiguration();
- }
- }
- }
- return instance;
- }
-
- /**
- * Get an ISdcCsarHelper object for this CSAR file.
- *
- * @param csarPath - the absolute path to CSAR file.
- * @return ISdcCsarHelper object.
- * @throws SdcToscaParserException - in case the path or CSAR are invalid.<br>
- * Possible codes of SdcToscaParserException:<br>
- * TP0001 - CSAR file not found.<br>
- * TP0002 - CSAR file bad format. Check the log for details.<br>
- * TP0003 - CSAR version is unsupported by the parser.<br>
- * TP0004 - Unexpected general error.<br>
- *
- */
- public ISdcCsarHelper getSdcCsarHelper(String csarPath) throws SdcToscaParserException {
- synchronized (SdcToscaParserFactory.class) {
- ToscaTemplate tosca = null;
- try {
- tosca = new ToscaTemplate(csarPath, null, true, null);
- } catch (JToscaException e) {
- throwSdcToscaParserException(e);
- }
- SdcCsarHelperImpl sdcCsarHelperImpl = new SdcCsarHelperImpl(tosca);
- validateCsarVersion(sdcCsarHelperImpl.getConformanceLevel());
- return sdcCsarHelperImpl;
- }
- }
-
- private void validateCsarVersion(String cSarVersion) throws SdcToscaParserException {
- ConformanceLevel level = configuration.getConformanceLevel();
- String minVersion = level.getMinVersion();
- String maxVersion = level.getMaxVersion();
- if (cSarVersion != null) {
- if ((GeneralUtility.conformanceLevelCompare(cSarVersion, minVersion) < 0) || (GeneralUtility.conformanceLevelCompare(cSarVersion, maxVersion) > 0)) {
- throwConformanceLevelException(minVersion, maxVersion);
- }
- } else {
- throwConformanceLevelException(minVersion, maxVersion);
- }
- }
-
- private void throwConformanceLevelException(String minVersion, String maxVersion) throws SdcToscaParserException {
- ErrorInfo errorInfo = errorConfiguration.getErrorInfo(SdcToscaParserErrors.CONFORMANCE_LEVEL_ERROR.toString());
- throw new SdcToscaParserException(String.format(errorInfo.getMessage(), minVersion, maxVersion), errorInfo.getCode());
- }
-
- private void throwSdcToscaParserException(JToscaException e) throws SdcToscaParserException {
- ErrorInfo errorInfo = errorConfiguration.getErrorInfo(SdcToscaParserErrors.getSdcErrorByJToscaError(JToscaErrorCodes.getByCode(e.getCode())).toString());
- throw new SdcToscaParserException(errorInfo.getMessage(), errorInfo.getCode());
- }
-} \ No newline at end of file
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/Types.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/Types.java
deleted file mode 100644
index 9e71476..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/impl/Types.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * sdc-distribution-client
- * ================================================================================
- * 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.tosca.parser.impl;
-
-public class Types {
- public static String TYPE_VFMODULE = "org.openecomp.groups.VfModule";
-
- // types found under metadata, type property
- public static String TYPE_CP = "CP";
- public static String TYPE_VL = "VL";
- public static String TYPE_VF = "VF";
- public static String TYPE_VFC = "VFC";
- public static String TYPE_SERVICE = "Service";
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/GeneralUtility.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/GeneralUtility.java
deleted file mode 100644
index 84150f6..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/GeneralUtility.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.openecomp.sdc.tosca.parser.utils;
-
-import java.util.Arrays;
-
-public class GeneralUtility {
-
- public static boolean isEmptyString(String str) {
- return str == null || str.trim().isEmpty();
- }
-
-
- /**
- * Compares two version strings.
- * <p>
- * Use this instead of String.compareTo() for a non-lexicographical
- * comparison that works for version strings. e.g. "1.10".compareTo("1.6").
- *
- * @param str1 a string of ordinal numbers separated by decimal points.
- * @param str2 a string of ordinal numbers separated by decimal points.
- * @return The result is a negative integer if str1 is _numerically_ less than str2.
- * The result is a positive integer if str1 is _numerically_ greater than str2.
- * The result is zero if the strings are _numerically_ equal.
- * It does not work if "1.10" is supposed to be equal to "1.10.0".
- */
- public static int conformanceLevelCompare(String str1, String str2) {
- String[] vals1 = str1.split("\\.");
- String[] vals2 = str2.split("\\.");
- int i = 0;
- // set index to first non-equal ordinal or length of shortest version string
- while (i < vals1.length && i < vals2.length && vals1[i].equals(vals2[i])) {
- i++;
- }
- // compare first non-equal ordinal number
- if (i < vals1.length && i < vals2.length) {
- int diff = Integer.valueOf(vals1[i]).compareTo(Integer.valueOf(vals2[i]));
- return Integer.signum(diff);
- }
- //in case of 0 after the . e.g: "3" = "3.0" or "3.0.0.0" = "3.0"
- str2 = str2.substring(i).replace(".", "");
- str1 = str1.substring(i).replace(".", "");
- if ((!(str1.equals(""))) && Integer.valueOf(str1) == 0){
- vals1 = Arrays.copyOf(vals1, i);
- }
- if ((!(str2.equals(""))) && Integer.valueOf(str2) == 0){
- vals2 = Arrays.copyOf(vals2, i);
- }
-
- // the strings are equal or one string is a substring of the other
- // e.g. "1.2.3" = "1.2.3" or "1.2.3" < "1.2.3.4"
- return Integer.signum(vals1.length - vals2.length);
- }
-
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/SdcToscaUtility.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/SdcToscaUtility.java
deleted file mode 100644
index 77f7d55..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/SdcToscaUtility.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openecomp.sdc.tosca.parser.utils;
-
-import java.util.regex.Pattern;
-
-public class SdcToscaUtility {
-
- public final static Pattern COMPONENT_INSTANCE_NAME_DELIMETER_PATTERN = Pattern.compile("[\\.\\-]+");
-
- public static String normaliseComponentInstanceName(String name) {
- String normalizedName = name.toLowerCase();
- normalizedName = COMPONENT_INSTANCE_NAME_DELIMETER_PATTERN.matcher(normalizedName).replaceAll(" ");
- String[] split = normalizedName.split(" ");
- StringBuffer sb = new StringBuffer();
- for (String splitElement : split) {
- sb.append(splitElement);
- }
- return sb.toString();
- }
-}
diff --git a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/YamlToObjectConverter.java b/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/YamlToObjectConverter.java
deleted file mode 100644
index 44444d2..0000000
--- a/sdc-tosca-parser/src/main/java/org/openecomp/sdc/tosca/parser/utils/YamlToObjectConverter.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * sdc-distribution-client
- * ================================================================================
- * 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.tosca.parser.utils;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yaml.snakeyaml.Yaml;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.HashMap;
-
-public class YamlToObjectConverter {
-
- private static Logger log = LoggerFactory
- .getLogger(YamlToObjectConverter.class.getName());
-
- private static HashMap<String, Yaml> yamls = new HashMap<String, Yaml>();
-
- private static Yaml defaultYaml = new Yaml();
-
- private static <T> Yaml getYamlByClassName(Class<T> className) {
-
- Yaml yaml = yamls.get(className.getName());
- if (yaml == null) {
- yaml = defaultYaml;
- }
-
- return yaml;
- }
-
- public <T> T convert(String dirPath, Class<T> className,
- String configFileName) {
-
- T config = null;
-
- try {
-
- String fullFileName = dirPath + File.separator + configFileName;
-
- config = convert(fullFileName, className);
-
- } catch (Exception e) {
- log.error("Failed to convert yaml file " + configFileName
- + " to object.", e);
- }
-
- return config;
- }
-
- public <T> T convert(String fullFileName, Class<T> className) {
-
- T config = null;
-
- Yaml yaml = getYamlByClassName(className);
-
- InputStream in = null;
- try {
-
- File f = new File(fullFileName);
- if (false == f.exists()) {
- log.warn("The file " + fullFileName
- + " cannot be found. Ignore reading configuration.");
- return null;
- }
- in = Files.newInputStream(Paths.get(fullFileName));
-
- config = yaml.loadAs(in, className);
-
- // System.out.println(config.toString());
- } catch (Exception e) {
- log.error("Failed to convert yaml file " + fullFileName
- + " to object.", e);
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
-
- return config;
- }
-
- public <T> T convertFromString(String yamlContents, Class<T> className) {
-
- T config = null;
-
- Yaml yaml = getYamlByClassName(className);
-
- try {
- config = yaml.loadAs(yamlContents, className);
- } catch (Exception e){
- log.error("Failed to convert YAML {} to object." , yamlContents, e);
- }
-
- return config;
- }
-}