Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / asdc / parser / ToscaNamingPolicy.java
1 package org.onap.vid.asdc.parser;
2
3 import org.apache.commons.lang3.StringUtils;
4 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
5 import org.onap.sdc.toscaparser.api.NodeTemplate;
6 import org.onap.sdc.toscaparser.api.Property;
7
8 import java.util.Map;
9
10 public class ToscaNamingPolicy {
11
12     public static String isUserProvidingServiceNameOptional(ISdcCsarHelper csarHelper){
13         return csarHelper.getServiceMetadata().getValue(ToscaParserImpl2.Constants.ECOMP_GENERATED_NAMING);
14     }
15
16     private static Object isPropertyContainsEcompGeneratedNaming(Property property) {
17         return ((Map) (property.getValue())).get(ToscaParserImpl2.Constants.ECOMP_GENERATED_NAMING_PROPERTY);
18     }
19
20     public static String getEcompNamingValueForNode(NodeTemplate node, String parentProperty) {
21         return node.getPropertiesObjects().stream()
22                 .filter(property -> StringUtils.equals(property.getName(), parentProperty))
23                 .findFirst()
24                 .map(ToscaNamingPolicy::isPropertyContainsEcompGeneratedNaming)
25                 .map(Object::toString)
26                 .orElse("false");
27     }
28 }