diff options
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java | 83 |
1 files changed, 46 insertions, 37 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java index ec3e146164..e7ff412d2c 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java @@ -1,14 +1,8 @@ package org.openecomp.sdc.be.impl; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.SetMultimap; import org.apache.commons.collections.CollectionUtils; import org.javatuples.Pair; import org.openecomp.sdc.be.components.impl.ResponseFormatManager; @@ -24,8 +18,8 @@ import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.ComponentInstance; import org.openecomp.sdc.be.model.Service; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.SetMultimap; +import java.util.*; +import java.util.stream.Collectors; public class ForwardingPathUtils { @@ -49,7 +43,10 @@ public class ForwardingPathUtils { } private void initNodeToCP(ComponentInstance ci, SetMultimap<NameIdPair, NameIdPair> nodeToCP) { - Set<CapabilityDefinition> capabilities = ci.getCapabilities().values().stream().flatMap(capabilityDefinitions -> capabilityDefinitions.stream()).collect(Collectors.toSet()); + if (ci.getCapabilities() == null){ + return; + } + Set<CapabilityDefinition> capabilities = ci.getCapabilities().values().stream().flatMap(Collection::stream).collect(Collectors.toSet()); if (!CollectionUtils.isNotEmpty(capabilities)) { return; } @@ -57,12 +54,11 @@ public class ForwardingPathUtils { if (!CollectionUtils.isNotEmpty(forwarderCapabilities)) { return; } - NameIdPair node = new NameIdPair(ci.getName(), ci.getUniqueId()); + NameIdPair node = new NameIdPair(ci.getName(), ci.getName()); forwarderCapabilities.forEach(fc -> { - NameIdPair capability = new NameIdPair(fc.getName(), fc.getUniqueId(), fc.getOwnerId()); + NameIdPair capability = new NameIdPair(fc.getName(), fc.getName(), fc.getOwnerId()); nodeToCP.put(node, capability); - - }); + }); } @@ -84,31 +80,11 @@ public class ForwardingPathUtils { Map<NameIdPair, Set<NameIdPair>> options = toMap(nodeToCP); Set<NameIdPair> cpOptions = options.get(wrapper.getNameIdPair()); - List<NameIdPairWrapper> wrappers = cpOptions.stream().map(cpOption -> createWrapper(cpOption)).collect(Collectors.toList()); + List<NameIdPairWrapper> wrappers = cpOptions.stream().map(this::createWrapper).collect(Collectors.toList()); wrappers.forEach(cpOptionWrapper -> { org.openecomp.sdc.be.datamodel.NameIdPair data = wrapper.getData(); data.addWrappedData(cpOptionWrapper); }); - addNodes(wrappers, options); - } - - private void addNodes(List<NameIdPairWrapper> cpOptions, Map<NameIdPair, Set<NameIdPair>> options) { - - cpOptions.forEach(cpOption -> { - Set<NameIdPairWrapper> wrappers = options.keySet().stream().map(option -> createWrapper(option)).collect(Collectors.toSet()); - wrappers.forEach(wrapper -> { - cpOption.getData().addWrappedData(wrapper); - Collection<NameIdPair> cps = options.get(wrapper.getNameIdPair()); - Set<NameIdPairWrapper> cpsWrappers = cps.stream().map(cp -> new NameIdPairWrapper(cp)).collect(Collectors.toSet()); - cpsWrappers.forEach(cpw -> { - NameIdPair data = wrapper.getData(); - if (!data.containsKey(cpw)) { - data.addWrappedData(cpw); - } - }); - }); - - }); } private NameIdPairWrapper createWrapper(NameIdPair cpOption) { @@ -224,7 +200,7 @@ public class ForwardingPathUtils { return newCI.getCapabilities().values() .stream() .flatMap(List::stream) - .anyMatch(c -> c.getUniqueId().equals(capabilityID)); + .anyMatch(c -> c.getName().equals(capabilityID)); } private boolean elementContainsCIAndDoesNotContainForwarder( @@ -243,4 +219,37 @@ public class ForwardingPathUtils { || (elementDataDefinitions.getToNode().equals(oldCIId) && !ciContainsForwarder(newCI, elementDataDefinitions.getToCP())); } + + + public Set<ForwardingPathDataDefinition> updateComponentInstanceName(Collection<ForwardingPathDataDefinition> forwardingPathDataDefinitions, + String oldName, String newName){ + return forwardingPathDataDefinitions.stream().filter(fp -> shouldRenameCI(fp,oldName)). + map(forwardingPathDataDefinition -> renamePathCI(forwardingPathDataDefinition,oldName,newName)) + .collect(Collectors.toSet()); + + } + + public boolean shouldRenameCI(ForwardingPathDataDefinition forwardingPathDataDefinitions, + String oldName){ + return forwardingPathDataDefinitions.getPathElements().getListToscaDataDefinition().stream() + .anyMatch(pe -> pe.getToNode().equals(oldName) || pe.getFromNode().equals(oldName)); + } + + public ForwardingPathDataDefinition renamePathCI(ForwardingPathDataDefinition forwardingPathDataDefinitions, + String oldName, String newName){ + forwardingPathDataDefinitions.getPathElements().getListToscaDataDefinition().stream() + .forEach(pe -> renamePathCI(pe,oldName, newName)); + return forwardingPathDataDefinitions; + } + + public void renamePathCI(ForwardingPathElementDataDefinition pathElementDataDefinition, + String oldName, String newName){ + if (pathElementDataDefinition.getFromNode().equals(oldName)){ + pathElementDataDefinition.setFromNode(newName); + } + if(pathElementDataDefinition.getToNode().equals(oldName)){ + pathElementDataDefinition.setToNode(newName); + } + + } } |