Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / asdcService.js
index 6bdc0ae..52adcc9 100755 (executable)
 "use strict";\r
 \r
 var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCONFIGURATION, COMPONENT, DataService, featureFlags) {\r
+    var shouldExcludeMacroFromAsyncInstantiationFlow = function(serviceModel){\r
+            if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ASYNC_INSTANTIATION))\r
+                return true;\r
+                       if (DataService.getE2EService())\r
+                               return true;\r
+            if (!_.isEmpty(serviceModel.pnfs))\r
+                return true;\r
+            if (!_.isEmpty(serviceModel.collectionResource))\r
+                return true;\r
+            if (!_.isEmpty(serviceModel.networks) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_NETWORK_TO_ASYNC_INSTANTIATION))\r
+                return true;\r
+            if(serviceModel.service.instantiationType === "ClientConfig")\r
+                return true;\r
+            return false;\r
+    };\r
+\r
     return {\r
         getModel: function (modelId, successCallbackFunction) {\r
             $log.debug("AsdcService:getModel: modelId: " + modelId);\r
@@ -34,19 +50,30 @@ var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCON
             (UtilityService.runHttpErrorHandler);\r
         },\r
 \r
-        shouldExcludeMacroFromAsyncInstatiationFlow: function(serviceModel){\r
-            if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ASYNC_INSTANTIATION))\r
-                return true;\r
-                       if (DataService.getE2EService())\r
-                               return true;\r
-            if (!_.isEmpty(serviceModel.pnfs))\r
-                return true;\r
-            if (!_.isEmpty(serviceModel.collectionResource))\r
-                return true;\r
-            if (!_.isEmpty(serviceModel.networks) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_NETWORK_TO_ASYNC_INSTANTIATION))\r
-                return true;\r
-            if(serviceModel.service.instantiationType === "ClientConfig")\r
-                return true;\r
+        shouldTakeTheDrawingBoardViewEdit: function(serviceModel) {\r
+            if (serviceModel.service.vidNotions\r
+                && serviceModel.service.vidNotions.viewEditUI\r
+                && serviceModel.service.vidNotions.viewEditUI !== 'legacy'\r
+            ) return true;\r
+\r
+            return false;\r
+        },\r
+\r
+        shouldTakeTheAsyncInstantiationFlow: function(serviceModel) {\r
+            // First of all, respect serviceModel.service.vidNotions.instantiationUI\r
+            if (serviceModel.service.vidNotions\r
+                && serviceModel.service.vidNotions.instantiationUI\r
+                && serviceModel.service.vidNotions.instantiationUI !== 'legacy'\r
+            ) return true;\r
+\r
+            // If defined 'legacy' or not defined, other client-side\r
+            // logic still apply:\r
+\r
+            if (this.isMacro(serviceModel)\r
+                && !shouldExcludeMacroFromAsyncInstantiationFlow(serviceModel)\r
+            ) return true;\r
+\r
+            // otherwise...\r
             return false;\r
         },\r
 \r
@@ -63,15 +90,15 @@ var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCON
                         return UtilityService.arrayContains(VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid);\r
                     default:\r
                         console.debug("Unexpected serviceModel.service.instantiationType: " + serviceModel.service.instantiationType);\r
-                        return true;\r
+                        return UtilityService.arrayContains(VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid);\r
                 }\r
             } else {\r
                 $log.debug("isMscro=false, because serviceModel.service is undefined");\r
                 return false;\r
             }\r
         }\r
-    }\r
-}\r
+    };\r
+};\r
 \r
 appDS2.factory("AsdcService", ["$http", "$log", "PropertyService",\r
     "UtilityService", "VIDCONFIGURATION","COMPONENT", "DataService", "featureFlags", AsdcService]);\r