summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/impl/ForwardingPathUtils.java
diff options
context:
space:
mode:
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.java83
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);
+ }
+
+ }
}