UI Feature flagging support
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / utilityService.js
index 942bd79..b8ef406 100755 (executable)
  * string for some known conditions.\r
  */\r
 \r
-var UtilityService = function($log, DataService, PARAMETER) {\r
+var UtilityService = function($log, DataService, PARAMETER, _) {\r
 \r
     var _this = this;\r
+\r
+    function hasCustomizationUuidFields(mapOfVfs) {\r
+        return _.some(mapOfVfs, function (o) {\r
+            return _.has(o, "customizationUuid");\r
+        });\r
+    }\r
+\r
     var convertModel = function (serviceModel) {\r
 \r
-        var isNewFlow = false;\r
+        var isNewFlow =\r
+                       hasCustomizationUuidFields(serviceModel.networks)\r
+                       || hasCustomizationUuidFields(serviceModel.pnfs)\r
+                       || hasCustomizationUuidFields(serviceModel.vnfs)\r
+                       || hasCustomizationUuidFields(serviceModel.configurations);\r
 \r
-        for (var networkCustomizationName in serviceModel.networks) {\r
-            var networkModel = serviceModel.networks[networkCustomizationName];\r
-            if ( networkModel.customizationUuid != null ) {\r
-                isNewFlow = true;\r
-                break;\r
-            }\r
-        }\r
-        if ( !isNewFlow ) {\r
-            for (var vnfCustomizationName in serviceModel.vnfs) {\r
-                var vnfModel = serviceModel.vnfs[vnfCustomizationName];\r
-                if ( vnfModel.customizationUuid != null ) {\r
-                    isNewFlow = true;\r
-                    break;\r
-                }\r
-            }\r
-        }\r
         if ( isNewFlow ) {\r
             return (convertNewModel (serviceModel) );\r
         }\r
@@ -179,7 +174,7 @@ var UtilityService = function($log, DataService, PARAMETER) {
                element.isPnf= true;\r
                element.modelCustomizationName= key;\r
         });\r
-        var mergedVnfs = Object.assign(serviceModel.vnfs, serviceModel.configurations, serviceModel.pnfs);\r
+        var mergedVnfs = Object.assign({}, serviceModel.vnfs, serviceModel.configurations, serviceModel.pnfs);\r
 \r
                for (var vnfCustomizationName in mergedVnfs) {\r
                        var vnfModel = mergedVnfs[vnfCustomizationName];\r
@@ -279,13 +274,13 @@ var UtilityService = function($log, DataService, PARAMETER) {
                                convertedAsdcModel.vnfs[vnfCustomizationUuid]["nfFunction"] = vnf_function;\r
                                convertedAsdcModel.vnfs[vnfCustomizationUuid]["nfCode"] = vnf_code;\r
                                //\r
-                               for (var vfModuleCustomizationName in serviceModel.vnfs[vnfCustomizationName].vfModules) {\r
-                                       var vfModuleModel = serviceModel.vnfs[vnfCustomizationName].vfModules[vfModuleCustomizationName];\r
+                               for (var vfModuleCustomizationName in vnfModel.vfModules) {\r
+                                       var vfModuleModel = vnfModel.vfModules[vfModuleCustomizationName];\r
                                        convertedAsdcModel.vnfs[vnfCustomizationUuid].vfModules[vfModuleModel.customizationUuid] = vfModuleModel;\r
                                }\r
                                \r
-                               for (var volumeGroupCustomizationName in serviceModel.vnfs[vnfCustomizationName].volumeGroups) {\r
-                                       var volumeGroupModel = serviceModel.vnfs[vnfCustomizationName].volumeGroups[volumeGroupCustomizationName];\r
+                               for (var volumeGroupCustomizationName in mergedVnfs[vnfCustomizationName].volumeGroups) {\r
+                                       var volumeGroupModel = mergedVnfs[vnfCustomizationName].volumeGroups[volumeGroupCustomizationName];\r
                                        convertedAsdcModel.vnfs[vnfCustomizationUuid].volumeGroups[volumeGroupModel.customizationUuid] = volumeGroupModel;\r
                                }\r
                        }\r
@@ -391,7 +386,7 @@ var UtilityService = function($log, DataService, PARAMETER) {
             element.isPnf= true;\r
             element.modelCustomizationName= key;\r
         });\r
-        var mergedVnfs = Object.assign(serviceModel.vnfs, serviceModel.configurations, serviceModel.pnfs);\r
+        var mergedVnfs = Object.assign({}, serviceModel.vnfs, serviceModel.configurations, serviceModel.pnfs);\r
 \r
                for (var vnfCustomizationName in mergedVnfs) {\r
                        var vnfModel = mergedVnfs[vnfCustomizationName];\r
@@ -458,13 +453,13 @@ var UtilityService = function($log, DataService, PARAMETER) {
                                convertedAsdcModel.vnfs[vnfModel.uuid].displayInputs=vnfModelDisplayInputs;\r
                        }\r
                        \r
-                       for (var vfModuleCustomizationName in serviceModel.vnfs[vnfCustomizationName].vfModules) {\r
-                               var vfModuleModel = serviceModel.vnfs[vnfCustomizationName].vfModules[vfModuleCustomizationName];\r
+                       for (var vfModuleCustomizationName in vnfModel.vfModules) {\r
+                               var vfModuleModel = vnfModel.vfModules[vfModuleCustomizationName];\r
                                convertedAsdcModel.vnfs[vnfModel.uuid].vfModules[vfModuleModel.uuid] = vfModuleModel;\r
                        }\r
                        \r
-                       for (var volumeGroupCustomizationName in serviceModel.vnfs[vnfCustomizationName].volumeGroups) {\r
-                               var volumeGroupModel = serviceModel.vnfs[vnfCustomizationName].volumeGroups[volumeGroupCustomizationName];\r
+                       for (var volumeGroupCustomizationName in vnfModel.volumeGroups) {\r
+                               var volumeGroupModel = vnfModel.volumeGroups[volumeGroupCustomizationName];\r
                                convertedAsdcModel.vnfs[vnfModel.uuid].volumeGroups[volumeGroupModel.uuid] = volumeGroupModel;\r
                        }\r
                }\r
@@ -682,4 +677,4 @@ var UtilityService = function($log, DataService, PARAMETER) {
 }\r
 \r
 //app.factory("UtilityService", UtilityService);\r
-appDS2.factory("UtilityService", [ "$log", "DataService", "PARAMETER", UtilityService ]);\r
+appDS2.factory("UtilityService", [ "$log", "DataService", "PARAMETER", "_", UtilityService ]);\r