re base code
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / utils / ComponentUtilities.java
1 package org.openecomp.sdc.be.model.utils;
2
3 import org.apache.commons.lang3.StringUtils;
4 import org.openecomp.sdc.be.datatypes.elements.Annotation;
5 import org.openecomp.sdc.be.model.Component;
6 import org.openecomp.sdc.be.model.ComponentInstance;
7 import org.openecomp.sdc.be.model.InputDefinition;
8
9 import java.util.List;
10 import java.util.Optional;
11
12 import static java.util.Collections.emptyList;
13
14 public class ComponentUtilities {
15     private ComponentUtilities() {
16     }
17
18     public static Optional<String> getComponentInstanceNameByInstanceId(Component component, String id) {
19         return component.getComponentInstanceById(id)
20                 .flatMap(instance -> component.getComponentInstanceByName(instance.getName()))
21                 .map(ComponentInstance::getName);
22     }
23
24     public static List<Annotation> getInputAnnotations(Component component, String inputName) {
25         return getInputByName(component, inputName)
26                 .map(InputDefinition::getAnnotations)
27                 .orElse(emptyList());
28     }
29
30     private static Optional<InputDefinition> getInputByName(Component component, String inputName) {
31         return component.safeGetInputs().stream()
32                 .filter(input -> input.getName().equals(inputName))
33                 .findFirst();
34     }
35
36     public static boolean isNotUpdatedCapReqName(String prefix, String currName, String previousName) {
37         return StringUtils.isEmpty(previousName) || !currName.equals(prefix + previousName);
38     }
39 }