diff options
Diffstat (limited to 'src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java')
-rw-r--r-- | src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java b/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java index 8e16c14..ee4c7e8 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java +++ b/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java @@ -48,6 +48,7 @@ import org.onap.sdc.toscaparser.api.RequirementAssignments; import org.onap.sdc.toscaparser.api.SubstitutionMappings; import org.onap.sdc.toscaparser.api.TopologyTemplate; import org.onap.sdc.toscaparser.api.ToscaTemplate; +import org.onap.sdc.toscaparser.api.elements.InterfacesDef; import org.onap.sdc.toscaparser.api.elements.Metadata; import org.onap.sdc.toscaparser.api.elements.NodeType; import org.onap.sdc.toscaparser.api.functions.Function; @@ -1082,4 +1083,41 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper { return null; } + @Override + public Map<String, List<InterfacesDef>> getInterfacesOf(NodeTemplate nt){ + if (nt == null) { + return null; + } + return nt.getAllInterfaceDetailsForNodeType(); + } + + @Override + public List<String> getInterfaces(NodeTemplate nt){ + Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType(); + return new ArrayList<>(interfaceDetails.keySet()); + } + + @Override + public List<InterfacesDef> getInterfaceDetails(NodeTemplate nt, String interfaceName){ + Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType(); + return interfaceDetails.get(interfaceName); + } + + @Override + public List<String> getAllInterfaceOperations(NodeTemplate nt, String interfaceName){ + Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType(); + return interfaceDetails.values().stream().flatMap(List::stream).map(val -> val.getOperationName()).collect( + Collectors.toList()); + } + + @Override + public InterfacesDef getInterfaceOperationDetails(NodeTemplate nt, String interfaceName, String operationName){ + Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType(); + if(!interfaceDetails.isEmpty()){ + List<InterfacesDef> interfaceDefs = interfaceDetails.get(interfaceName); + return interfaceDefs.stream().filter(val -> val.getOperationName().equals(operationName)).findFirst().orElse(null); + } + return null; + } + } |