aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/asdc/parser/ToscaNamingPolicy.java
blob: ca26010344b40b9724038285a8cd8a41ba7e6c3a (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
package org.onap.vid.asdc.parser;

import org.apache.commons.lang3.StringUtils;
import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
import org.onap.sdc.toscaparser.api.NodeTemplate;
import org.onap.sdc.toscaparser.api.Property;

import java.util.Map;

public class ToscaNamingPolicy {

    public static String isUserProvidingServiceNameOptional(ISdcCsarHelper csarHelper){
        return csarHelper.getServiceMetadata().getValue(ToscaParserImpl2.Constants.ECOMP_GENERATED_NAMING);
    }

    private static Object isPropertyContainsEcompGeneratedNaming(Property property) {
        return ((Map) (property.getValue())).get(ToscaParserImpl2.Constants.ECOMP_GENERATED_NAMING_PROPERTY);
    }

    public static String getEcompNamingValueForNode(NodeTemplate node, String parentProperty) {
        return node.getPropertiesObjects().stream()
                .filter(property -> StringUtils.equals(property.getName(), parentProperty))
                .findFirst()
                .map(ToscaNamingPolicy::isPropertyContainsEcompGeneratedNaming)
                .map(Object::toString)
                .orElse("false");
    }
}