Enabled configuration of instance name 41/130041/3
authorimamSidero <imam.hussain@est.tech>
Thu, 21 Jul 2022 16:17:38 +0000 (17:17 +0100)
committerMichael Morris <michael.morris@est.tech>
Tue, 2 Aug 2022 18:31:02 +0000 (18:31 +0000)
The given name for the instance dragged and dropped is changed to <type
name>_<instance count>

Signed-off-by: Imam hussain <imam.hussain@est.tech>
Issue-ID: SDC-4109
Change-Id: Ibce6f911480841df496f0e7bb17a6d7cd533e803

catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/NodeTemplateOperation.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java
common-app-api/src/main/java/org/openecomp/sdc/be/config/Configuration.java

index b0cb7dd..d1f3bd2 100644 (file)
@@ -1289,3 +1289,5 @@ externalCsarStore:
     secretKey: "password"
   tempPath: "/home/onap/temp/"
   uploadPartSize: 200000000
+#This configuration specifies the delimiter used to differentiate instance name and count
+componentInstanceCounterDelimiter: " "
index 0e7b9f0..910b9e3 100644 (file)
@@ -1559,7 +1559,11 @@ public class NodeTemplateOperation extends BaseOperation {
     }
 
     private String buildComponentInstanceName(String instanceSuffixNumber, String instanceName) {
-        return instanceName + " " + (instanceSuffixNumber == null ? 0 : instanceSuffixNumber);
+        String delimiter = ConfigurationManager.getConfigurationManager().getConfiguration().getComponentInstanceCounterDelimiter();
+        if(delimiter == null){
+            delimiter = " ";
+        }
+        return instanceName + delimiter + (instanceSuffixNumber == null ? 0 : instanceSuffixNumber);
     }
 
     public Either<RequirementCapabilityRelDef, StorageOperationStatus> associateResourceInstances(Component component, String componentId,
index 7c34da8..02fda3c 100644 (file)
@@ -1323,10 +1323,10 @@ public class ToscaOperationFacade {
     private Integer getMaxCounterFromNamesAndIds(Component containerComponent, String normalizedName) {
         List<String> countersInNames = containerComponent.getComponentInstances().stream()
             .filter(ci -> ci.getNormalizedName() != null && ci.getNormalizedName().startsWith(normalizedName))
-            .map(ci -> ci.getNormalizedName().split(normalizedName)[1]).collect(Collectors.toList());
+            .map(ci -> ci.getNormalizedName().split(normalizedName)[1].replaceAll("\\D", "")).collect(Collectors.toList());
         List<String> countersInIds = containerComponent.getComponentInstances().stream()
-            .filter(ci -> ci.getUniqueId() != null && ci.getUniqueId().contains(normalizedName)).map(ci -> ci.getUniqueId().split(normalizedName)[1])
-            .collect(Collectors.toList());
+            .filter(ci -> ci.getUniqueId() != null && ci.getUniqueId().contains(normalizedName))
+            .map(ci -> ci.getUniqueId().split(normalizedName)[1].replaceAll("\\D", "")).collect(Collectors.toList());
         List<String> namesAndIdsList = new ArrayList<>(countersInNames);
         namesAndIdsList.addAll(countersInIds);
         return getMaxInteger(namesAndIdsList);
index 69e863b..5a1eacd 100644 (file)
@@ -146,6 +146,7 @@ public class Configuration extends BasicConfiguration {
     private Map<String, Map<String, List<String>>> componentAllowedInstanceTypes;
     private ExternalCsarStore externalCsarStore;
     private CsarFormat csarFormat;
+    private String componentInstanceCounterDelimiter;
 
     @SuppressWarnings("unchecked")
     private <K, V> Map<K, V> safeGetCapsInsensitiveMap(Map<K, V> map) {