-/*-\r
- * ============LICENSE_START=======================================================\r
- * VID\r
- * ================================================================================\r
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-"use strict";\r
-\r
-var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q, featureFlags) {\r
-\r
- function getServiceInstance(serviceInstanceIdentifier, findBy) {\r
- serviceInstanceIdentifier.trim();\r
-\r
- return $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + serviceInstanceIdentifier + "/" + findBy + "?r=" + Math.random(), {}, {\r
- timeout: PropertyService.getServerResponseTimeoutMsec()\r
- });\r
- }\r
-\r
- function getPnfByName(pnfName) {\r
- var deferred = $q.defer();\r
- var url = COMPONENT.AAI_GET_PNF_BY_NAME+ encodeURIComponent(pnfName) ;\r
- var config = { timeout: PropertyService.getServerResponseTimeoutMsec() };\r
-\r
- $http.get(url, config)\r
- .success(function (response) {\r
- deferred.resolve({data: response});\r
- })\r
- .error(function(data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
-\r
- return deferred.promise;\r
- }\r
- function getGlobalCustomerIdFromServiceInstanceResponse(response) {\r
- var globalCustomerId = "";\r
- if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {\r
- var customerIndex = 5;\r
- var customerIdIndex = 6;\r
- var itemIndex = 0;\r
-\r
- var item = response.data[FIELD.ID.RESULT_DATA][itemIndex];\r
- var url = item[FIELD.ID.RESOURCE_LINK];\r
- var urlParts = url.split("/");\r
- if (urlParts[customerIndex] === FIELD.ID.CUSTOMER) {\r
- globalCustomerId = urlParts[customerIdIndex];\r
- }\r
- }\r
- return globalCustomerId;\r
- }\r
-\r
- function searchServiceInstances(query) {\r
- return $http.get( COMPONENT.SEARCH_SERVICE_INSTANCES + query, {}, {\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function (response) {\r
- var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];\r
- if (!displayData || !displayData.length) {\r
- displayData = [{\r
- globalCustomerId : null,\r
- subscriberName : null,\r
- serviceType : FIELD.PROMPT.NO_SERVICE_SUB,\r
- serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
- }];\r
- }\r
- return {displayData: displayData};\r
- });\r
- };\r
-\r
- function getJoinedQueryString(queries) {\r
- return queries.filter(function (val) {return val;}).join("&");\r
- }\r
-\r
- return {\r
- getSubscriberName : function(globalCustomerId,\r
- successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getSubscriberName: globalCustomerId: "\r
- + globalCustomerId);\r
- $http.get(\r
- COMPONENT.AAI_SUB_DETAILS_PATH\r
- + globalCustomerId + COMPONENT.ASSIGN + Math.random(),\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- var result = {};\r
- if (response.data) {\r
- result.subscriberName = response.data[FIELD.ID.SUBNAME];\r
- result.serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS];\r
- }\r
- successCallbackFunction(result);\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
-\r
- runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
-\r
- var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
- return $http.get(url, {}, {\r
-\r
-\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data != null) {\r
- successCallback(response);\r
- } else {\r
- errorCallback(response);\r
- }\r
- }, function(response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
-\r
- getVNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
-\r
- var url = COMPONENT.AAI_GET_VNF_INFO +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
- $http.get(url, {}, {\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data != null) {\r
- successCallback(response);\r
- } else {\r
- errorCallback(response);\r
- }\r
- }, function(response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
- getPNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {\r
-\r
- var url = COMPONENT.AAI_GET_PNF_INSTANCE +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
- $http.get(url, {}, {\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data != null) {\r
- successCallback(response);\r
- } else {\r
- errorCallback(response);\r
- }\r
- }, function(response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
- getCRInformationByInstanceId : function (serviceInstanceId) {\r
-\r
- var deferred = $q.defer();\r
-\r
- var url = COMPONENT.AAI_GET_CR_INSTANCE +\r
- COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);\r
- $http.get(url, {}, {\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data != null) {\r
- deferred.resolve(response);\r
- } else {\r
- deferred.resolve(response);\r
- }\r
- }, function(response) {\r
- deferred.resolve(response);\r
- });\r
- return deferred.promise;\r
- },\r
-\r
- searchServiceInstances: searchServiceInstances,\r
-\r
- getModelVersionId: function (subscriberId, instanceId) {\r
- var globalCustomerIdQuery = COMPONENT.SELECTED_SUBSCRIBER_SUB_PATH + subscriberId;\r
- var serviceInstanceQuery = COMPONENT.SELECTED_SERVICE_INSTANCE_SUB_PATH + instanceId;\r
-\r
- var query = "?" + getJoinedQueryString([globalCustomerIdQuery, serviceInstanceQuery]);\r
-\r
- var deferred = $q.defer();\r
-\r
- searchServiceInstances(query).then(function (response) {\r
- var displayData = response.displayData;\r
- if (displayData[0] && displayData[0].aaiModelVersionId) {\r
- deferred.resolve(displayData[0].aaiModelVersionId);\r
- } else {\r
- deferred.reject(FIELD.ERROR.MODEL_VERSION_ID_MISSING);\r
- }\r
- }).catch(function (err) {\r
- deferred.reject(err);\r
- });\r
-\r
- return deferred.promise;\r
- },\r
-\r
- getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {\r
- var subscriber;\r
- var displayData;\r
- $http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, {\r
-\r
-\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- displayData = [];\r
- subscriber = response.data;\r
- var subscriberName = subscriber[FIELD.ID.SUBNAME];\r
- if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {\r
- angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {\r
- var serviceInstanceId = [];\r
- var serviceType = "";\r
- if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {\r
- serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];\r
- } else {\r
- serviceType = FIELD.PROMPT.NO_SERVICE_SUB;\r
- }\r
- if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {\r
- angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {\r
- // put them together, i guess\r
- var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],\r
- "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],\r
- "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],\r
- "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]\r
- };\r
- if (selectedServiceInstance != null) {\r
- if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {\r
- serviceInstanceId.push(inst);\r
- }\r
- } else {\r
- serviceInstanceId.push(inst);\r
- }\r
- });\r
- } else {\r
- serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];\r
- }\r
- angular.forEach(serviceInstanceId, function(subVal, subKey) {\r
- displayData.push({\r
- globalCustomerId : selectedSubscriber,\r
- subscriberName : subscriberName,\r
- serviceType : serviceType,\r
- serviceInstanceId : subVal.serviceInstanceId,\r
- aaiModelInvariantId : subVal.aaiModelInvariantId,\r
- aaiModelVersionId\r
- : subVal.aaiModelVersionId,\r
- serviceInstanceName : subVal.serviceInstanceName,\r
- isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED]\r
- });\r
- });\r
- });\r
- } else {\r
- displayData.push({\r
- globalCustomerId : selectedSubscriber,\r
- subscriberName : subscriberName,\r
- serviceType : FIELD.PROMPT.NO_SERVICE_SUB,\r
- serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE\r
- });\r
- }\r
- successCallback(displayData, subscriberName);\r
- }, function(response) {\r
- errorCallback(response);});\r
- },\r
-\r
- getSubList : function(successCallback, errorCallback ) {\r
-\r
- $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, {\r
-\r
-\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- var customerList = [];\r
- if (response.data.customer != null) {\r
- angular.forEach(response.data.customer, function(subVal, subKey) {\r
- var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME],\r
- "isPermitted": subVal[FIELD.ID.IS_PERMITTED], };\r
- customerList.push(cust);\r
- });\r
- successCallback(customerList);\r
- } else {\r
- errorCallback(response);\r
- }\r
- },function(response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
- getServiceInstance : getServiceInstance,\r
- getPnfByName : getPnfByName,\r
-\r
- getGlobalCustomerIdByInstanceIdentifier : function(serviceInstanceIdentifier, findBy) {\r
- serviceInstanceIdentifier.trim();\r
-\r
- return getServiceInstance(serviceInstanceIdentifier, findBy)\r
- .then(function (response) {\r
- return getGlobalCustomerIdFromServiceInstanceResponse(response);\r
- });\r
- },\r
-\r
- getMultipleValueParamQueryString: function(values, paramSubPath) {\r
- if (values.length) {\r
- return paramSubPath + values.filter(function (val) {return val;}).join("&" + paramSubPath);\r
- }\r
- },\r
-\r
- getJoinedQueryString: getJoinedQueryString,\r
-\r
- getServices2 : function(successCallback, errorCallback ) {\r
-\r
- $http.get( FIELD.ID.AAI_GET_SERVICES, {}, {\r
-\r
-\r
- timeout : PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- var customerList = [];\r
- if (response.data != null) {\r
- var serviceIdList = [];\r
- angular.forEach(response.data, function(value, key) {\r
- angular.forEach(value, function(subVal, key) {\r
- var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] ,\r
- "isPermitted" : subVal[FIELD.ID.IS_PERMITTED]\r
-\r
- };serviceIdList.push(newVal);\r
- });\r
- });\r
- successCallback(serviceIdList);\r
- } else {\r
- errorCallback(response);\r
- }\r
- },function(response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
- getPortMirroringData: function (ids) {\r
- var defer = $q.defer();\r
-\r
- var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA + '?configurationIds=' + ids.join(',');\r
- $http.get(url).then(function (res) {\r
- defer.resolve(res);\r
- }).catch(function (err) {\r
- $log.error(err);\r
- defer.resolve({});\r
- });\r
-\r
- return defer.promise;\r
-\r
- },\r
-\r
- getPortMirroringSourcePorts : function (ids) {\r
- var defer = $q.defer();\r
- var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS +'?configurationIds=' + ids.join(',');\r
- $http.get(url).then(function(res){\r
- defer.resolve(res);\r
- }).catch(function(err) {\r
- $log.error(err);\r
- defer.resolve({});\r
- });\r
- return defer.promise;\r
- },\r
-\r
- getVlansByNetworksMapping : function (globalCustomerId, serviceType, serviceInstanceId, sdcModelUuid) {\r
- var defer = $q.defer();\r
- if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS)) {\r
- var url = COMPONENT.AAI_GET_PROVIDER_NETWORKS_ASSOCIATIONS + '?'\r
- + 'globalCustomerId=' + globalCustomerId\r
- + '&serviceType=' + serviceType\r
- + '&serviceInstanceId=' + serviceInstanceId\r
- + '&sdcModelUuid=' + sdcModelUuid\r
- ;\r
-\r
- $http.get(url).then(function(res){\r
- defer.resolve(res.data);\r
- }).catch(function(err) {\r
- $log.error(err);\r
- defer.resolve({});\r
- });\r
-\r
- } else {\r
- defer.resolve({});\r
- }\r
- return defer.promise;\r
- },\r
-\r
- getSubscriptionServiceTypeList : function(globalCustomerId,\r
- successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "\r
- + globalCustomerId);\r
- if ( UtilityService.hasContents(globalCustomerId) ) {\r
- $http.get(\r
- COMPONENT.AAI_SUB_DETAILS_PATH\r
- + globalCustomerId + COMPONENT.ASSIGN + Math.random(),\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {\r
- var serviceTypes = [];\r
- var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];\r
-\r
- for (var i = 0; i < serviceSubscriptions.length; i++) {\r
- serviceTypes.push({\r
- "name":serviceSubscriptions[i][FIELD.ID.SERVICETYPE],\r
- "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],\r
- "id": i\r
- });}\r
- successCallbackFunction(serviceTypes);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- }\r
- },\r
- getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,\r
- successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "\r
- + globalCustomerId);\r
- var url = COMPONENT.AAI_GET_TENANTS\r
- + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- var lcpCloudRegionTenants = [];\r
- var aaiLcpCloudRegionTenants = response.data;\r
-\r
- for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {\r
- lcpCloudRegionTenants.push({\r
- "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],\r
- "cloudOwner": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_OWNER],\r
- "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],\r
- "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],\r
- "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]});\r
- }\r
-\r
- successCallbackFunction(lcpCloudRegionTenants);\r
- }).catch(function(error) {\r
- (UtilityService.runHttpErrorHandler(error.data, error.status));\r
- })\r
- },\r
- getSubscribers : function(successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getSubscribers");\r
- var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response.data.customer);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
- getProvOptionsFromSystemProp : function(successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getProvOptionsFromSystemProp");\r
- var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
- getLoggedInUserID : function(successCallbackFunction, catchCallbackFunction) {\r
- $log\r
- .debug("AaiService:getLoggedInUserID");\r
- var url = COMPONENT.GET_USER_ID;\r
-\r
- $http.get(url,\r
- {\r
- transformResponse: [function (data) {\r
- return data;\r
- }],\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"] (function(response, status) {\r
- if (catchCallbackFunction) {\r
- catchCallbackFunction();\r
- }\r
- UtilityService.runHttpErrorHandler(response, status);\r
- })\r
- },\r
- getServices : function(successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getServices");\r
- var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout: PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function (response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
-\r
- getAicZones: function (successCallbackFunction) {\r
- $log\r
- .debug("getAicZones:getAicZones");\r
- var url = COMPONENT.AAI_GET_AIC_ZONES +COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);},\r
- getAicZoneForPNF: function (globalCustomerId,serviceType,serviceInstanceId,successCallbackFunction) {\r
- $log\r
- .debug("getAicZones:getAicZones");\r
- var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF\r
- .replace('@serviceInstanceId', serviceInstanceId)\r
- .replace('@globalCustomerId', globalCustomerId)\r
- .replace('@serviceType', serviceType);\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- successCallbackFunction(response.data);\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);},\r
-\r
- getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getServices");\r
- var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
- getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {\r
- $log\r
- .debug("AaiService:getServiceModelsByServiceType");\r
- var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();\r
-\r
- $http.get(url,\r
- {\r
- timeout : PropertyService\r
- .getServerResponseTimeoutMsec()\r
- }).then(function(response) {\r
- if (response.data) {\r
- successCallbackFunction(response);\r
- } else {\r
- successCallbackFunction([]);\r
- }\r
- })["catch"]\r
- (UtilityService.runHttpErrorHandler);\r
- },\r
-\r
- getVnfsByCustomerIdAndServiceType: function(globalSubscriberId, serviceType){\r
- var deferred = $q.defer();\r
-\r
- if (UtilityService.hasContents(globalSubscriberId) &&\r
- UtilityService.hasContents(serviceType) ) {\r
-\r
- $http.get(COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + globalSubscriberId + COMPONENT.FORWARD_SLASH\r
- + serviceType )\r
- .success(function (response) {\r
- if(response) {\r
- deferred.resolve({data: response});\r
- } else {\r
- deferred.resolve({data: []});\r
- }\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
- }\r
-\r
- return deferred.promise;\r
- },\r
-\r
- getVnfVersionsByInvariantId: function(modelInvariantId){\r
- var deferred = $q.defer();\r
-\r
- if (UtilityService.hasContents(modelInvariantId)) {\r
- var body = {"versions": modelInvariantId};\r
- $http.post(( COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID),body)\r
-\r
- .success(function (response) {\r
- if(response) {\r
- deferred.resolve({data: response});\r
- } else {\r
- deferred.resolve({data: []});\r
- }\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
- }\r
-\r
- return deferred.promise;\r
- },\r
-\r
-\r
-\r
- getSubscriberServiceTypes: function(subscriberUuid) {\r
- var deferred = $q.defer();\r
- $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);\r
-\r
- if (UtilityService.hasContents(subscriberUuid)) {\r
- $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())\r
- .success(function (response) {\r
- if(response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {\r
- deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});\r
- } else {\r
- deferred.resolve({data: []});\r
- }\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
- }\r
-\r
- return deferred.promise;\r
- },\r
- getVnfInstancesList: function(globalSubscriberId, serviceType, modelVersionId ,modelInvariantId, cloudRegionId) {\r
- var deferred = $q.defer();\r
- $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,\r
- globalSubscriberId,\r
- serviceType,\r
- modelVersionId,\r
- modelInvariantId,\r
- cloudRegionId]\r
- .join(COMPONENT.FORWARD_SLASH))\r
- .success(function (response) {\r
- deferred.resolve(response);\r
- }).error(function (data, status) {\r
- deferred.reject({message: data, status: status});\r
- });\r
- return deferred.promise;\r
- },\r
- getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {\r
- var deferred = $q.defer();\r
- $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,\r
- globalCustomerId, serviceType,\r
- modelVersionId, modelInvariantId,\r
- cloudRegionId,\r
- equipVendor, equipModel\r
- ].join(COMPONENT.FORWARD_SLASH))\r
- .success(function (response) {\r
- deferred.resolve(response);\r
- }).error(function (data, status) {\r
- deferred.reject({message: data, status: status});\r
- });\r
- return deferred.promise;\r
- },\r
- getByUri: function(uri) {\r
- var deferred = $q.defer();\r
-\r
- $http.get(COMPONENT.AAI_GET_BY_URI + uri)\r
- .success(function (response) {\r
- deferred.resolve({data: []});\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
-\r
- return deferred.promise;\r
- },\r
- getConfiguration: function(configurationId) {\r
- var deferred = $q.defer();\r
-\r
- $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)\r
- .success(function (response) {\r
- deferred.resolve({data: []});\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
-\r
- return deferred.promise;\r
- },\r
-\r
- getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {\r
- var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;\r
-\r
- $http.get(url, {}, {\r
- timeout: PropertyService.getServerResponseTimeoutMsec()\r
- }).then(function (response) {\r
- successCallback(response);\r
- }, function (response) {\r
- errorCallback(response);\r
- });\r
- },\r
-\r
- postPOMBAverificationRequest: function (url, data, config) {\r
- $http.post(url, data, config)\r
- .success(function (data, status, headers, config) {\r
- //If at some point in the future the result should be handled - this should be the entry point.\r
- log.debug("POMBA was called successfully with data: " + data);\r
- })\r
- .error(function (data, status, header, config) {\r
- log.debug("Error: " +\r
- "Data: " + data +\r
- "status: " + status +\r
- "headers: " + header +\r
- "config: " + config);\r
- });\r
- },\r
-\r
- getHomingData: function(vnfInstanceId, vfModuleId) {\r
- var url = COMPONENT.AAI_GET_HOMING_DATA.replace('@vnfInstanceId', vnfInstanceId)\r
- .replace('@vfModuleId', vfModuleId);\r
-\r
- var deferred = $q.defer();\r
-\r
- $http.get(url)\r
- .success(function (response) {\r
- deferred.resolve({data: response});\r
- }).error(function (data, status, headers, config) {\r
- deferred.reject({message: data, status: status});\r
- });\r
-\r
- return deferred.promise;\r
-\r
- }\r
- };\r
-};\r
-\r
-appDS2.factory("AaiService", ["$http", "$log", "PropertyService",\r
- "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);\r
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+"use strict";
+
+var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD, $q, featureFlags) {
+
+ function getServiceInstance(serviceInstanceIdentifier, findBy) {
+ serviceInstanceIdentifier.trim();
+
+ return $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + serviceInstanceIdentifier + "/" + findBy + "?r=" + Math.random(), {}, {
+ timeout: PropertyService.getServerResponseTimeoutMsec()
+ });
+ }
+
+ function getPnfByName(pnfName) {
+ var deferred = $q.defer();
+ var url = COMPONENT.AAI_GET_PNF_BY_NAME+ encodeURIComponent(pnfName) ;
+ var config = { timeout: PropertyService.getServerResponseTimeoutMsec() };
+
+ $http.get(url, config)
+ .success(function (response) {
+ deferred.resolve({data: response});
+ })
+ .error(function(data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+
+ return deferred.promise;
+ }
+ function getGlobalCustomerIdFromServiceInstanceResponse(response) {
+ var globalCustomerId = "";
+ if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) {
+ var customerIndex = 5;
+ var customerIdIndex = 6;
+ var itemIndex = 0;
+
+ var item = response.data[FIELD.ID.RESULT_DATA][itemIndex];
+ var url = item[FIELD.ID.RESOURCE_LINK];
+ var urlParts = url.split("/");
+ if (urlParts[customerIndex] === FIELD.ID.CUSTOMER) {
+ globalCustomerId = urlParts[customerIdIndex];
+ }
+ }
+ return globalCustomerId;
+ }
+
+ function searchServiceInstances(query) {
+ return $http.get( COMPONENT.SEARCH_SERVICE_INSTANCES + query, {}, {
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function (response) {
+ var displayData = response.data[FIELD.ID.SERVICE_INSTANCES];
+ if (!displayData || !displayData.length) {
+ displayData = [{
+ globalCustomerId : null,
+ subscriberName : null,
+ serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
+ serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
+ }];
+ }
+ return {displayData: displayData};
+ });
+ };
+
+ function getJoinedQueryString(queries) {
+ return queries.filter(function (val) {return val;}).join("&");
+ }
+
+ return {
+ getSubscriberName : function(globalCustomerId,
+ successCallbackFunction) {
+ $log
+ .debug("AaiService:getSubscriberName: globalCustomerId: "
+ + globalCustomerId);
+ $http.get(
+ COMPONENT.AAI_SUB_DETAILS_PATH
+ + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ var result = {};
+ if (response.data) {
+ result.subscriberName = response.data[FIELD.ID.SUBNAME];
+ result.serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS];
+ }
+ successCallbackFunction(result);
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+
+ runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
+
+ var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
+ return $http.get(url, {}, {
+
+
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data != null) {
+ successCallback(response);
+ } else {
+ errorCallback(response);
+ }
+ }, function(response) {
+ errorCallback(response);
+ });
+ },
+
+
+ getVNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
+
+ var url = COMPONENT.AAI_GET_VNF_INFO +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
+ $http.get(url, {}, {
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data != null) {
+ successCallback(response);
+ } else {
+ errorCallback(response);
+ }
+ }, function(response) {
+ errorCallback(response);
+ });
+ },
+
+ getPNFInformationByServiceTypeAndId : function (globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) {
+
+ var url = COMPONENT.AAI_GET_PNF_INSTANCE +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
+ $http.get(url, {}, {
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data != null) {
+ successCallback(response);
+ } else {
+ errorCallback(response);
+ }
+ }, function(response) {
+ errorCallback(response);
+ });
+ },
+
+ getCRInformationByInstanceId : function (serviceInstanceId) {
+
+ var deferred = $q.defer();
+
+ var url = COMPONENT.AAI_GET_CR_INSTANCE +
+ COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId);
+ $http.get(url, {}, {
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data != null) {
+ deferred.resolve(response);
+ } else {
+ deferred.resolve(response);
+ }
+ }, function(response) {
+ deferred.resolve(response);
+ });
+ return deferred.promise;
+ },
+
+ searchServiceInstances: searchServiceInstances,
+
+ getModelVersionId: function (subscriberId, instanceId) {
+ var globalCustomerIdQuery = COMPONENT.SELECTED_SUBSCRIBER_SUB_PATH + subscriberId;
+ var serviceInstanceQuery = COMPONENT.SELECTED_SERVICE_INSTANCE_SUB_PATH + instanceId;
+
+ var query = "?" + getJoinedQueryString([globalCustomerIdQuery, serviceInstanceQuery]);
+
+ var deferred = $q.defer();
+
+ searchServiceInstances(query).then(function (response) {
+ var displayData = response.displayData;
+ if (displayData[0] && displayData[0].aaiModelVersionId) {
+ deferred.resolve(displayData[0].aaiModelVersionId);
+ } else {
+ deferred.reject(FIELD.ERROR.MODEL_VERSION_ID_MISSING);
+ }
+ }).catch(function (err) {
+ deferred.reject(err);
+ });
+
+ return deferred.promise;
+ },
+
+ getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) {
+ var subscriber;
+ var displayData;
+ $http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, {
+
+
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ displayData = [];
+ subscriber = response.data;
+ var subscriberName = subscriber[FIELD.ID.SUBNAME];
+ if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) {
+ angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) {
+ var serviceInstanceId = [];
+ var serviceType = "";
+ if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) {
+ serviceType = serviceSubscription[FIELD.ID.SERVICETYPE];
+ } else {
+ serviceType = FIELD.PROMPT.NO_SERVICE_SUB;
+ }
+ if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) {
+ angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) {
+ // put them together, i guess
+ var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID],
+ "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID],
+ "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID],
+ "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME]
+ };
+ if (selectedServiceInstance != null) {
+ if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) {
+ serviceInstanceId.push(inst);
+ }
+ } else {
+ serviceInstanceId.push(inst);
+ }
+ });
+ } else {
+ serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ];
+ }
+ angular.forEach(serviceInstanceId, function(subVal, subKey) {
+ displayData.push({
+ globalCustomerId : selectedSubscriber,
+ subscriberName : subscriberName,
+ serviceType : serviceType,
+ serviceInstanceId : subVal.serviceInstanceId,
+ aaiModelInvariantId : subVal.aaiModelInvariantId,
+ aaiModelVersionId
+ : subVal.aaiModelVersionId,
+ serviceInstanceName : subVal.serviceInstanceName,
+ isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED]
+ });
+ });
+ });
+ } else {
+ displayData.push({
+ globalCustomerId : selectedSubscriber,
+ subscriberName : subscriberName,
+ serviceType : FIELD.PROMPT.NO_SERVICE_SUB,
+ serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE
+ });
+ }
+ successCallback(displayData, subscriberName);
+ }, function(response) {
+ errorCallback(response);});
+ },
+
+ getSubList : function(successCallback, errorCallback ) {
+
+ $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, {
+
+
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ var customerList = [];
+ if (response.data.customer != null) {
+ angular.forEach(response.data.customer, function(subVal, subKey) {
+ var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME],
+ "isPermitted": subVal[FIELD.ID.IS_PERMITTED], };
+ customerList.push(cust);
+ });
+ successCallback(customerList);
+ } else {
+ errorCallback(response);
+ }
+ },function(response) {
+ errorCallback(response);
+ });
+ },
+
+ getServiceInstance : getServiceInstance,
+ getPnfByName : getPnfByName,
+
+ getGlobalCustomerIdByInstanceIdentifier : function(serviceInstanceIdentifier, findBy) {
+ serviceInstanceIdentifier.trim();
+
+ return getServiceInstance(serviceInstanceIdentifier, findBy)
+ .then(function (response) {
+ return getGlobalCustomerIdFromServiceInstanceResponse(response);
+ });
+ },
+
+ getMultipleValueParamQueryString: function(values, paramSubPath) {
+ if (values.length) {
+ return paramSubPath + values.filter(function (val) {return val;}).join("&" + paramSubPath);
+ }
+ },
+
+ getJoinedQueryString: getJoinedQueryString,
+
+ getServices2 : function(successCallback, errorCallback ) {
+
+ $http.get( FIELD.ID.AAI_GET_SERVICES, {}, {
+
+
+ timeout : PropertyService.getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ var customerList = [];
+ if (response.data != null) {
+ var serviceIdList = [];
+ angular.forEach(response.data, function(value, key) {
+ angular.forEach(value, function(subVal, key) {
+ var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] ,
+ "isPermitted" : subVal[FIELD.ID.IS_PERMITTED]
+
+ };serviceIdList.push(newVal);
+ });
+ });
+ successCallback(serviceIdList);
+ } else {
+ errorCallback(response);
+ }
+ },function(response) {
+ errorCallback(response);
+ });
+ },
+
+ getPortMirroringData: function (ids) {
+ var defer = $q.defer();
+
+ var url = COMPONENT.AAI_GET_PORT_MIRRORING_CONFIGS_DATA + '?configurationIds=' + ids.join(',');
+ $http.get(url).then(function (res) {
+ defer.resolve(res);
+ }).catch(function (err) {
+ $log.error(err);
+ defer.resolve({});
+ });
+
+ return defer.promise;
+
+ },
+
+ getPortMirroringSourcePorts : function (ids) {
+ var defer = $q.defer();
+ var url = COMPONENT.AAI_GET_PORT_MIRRORING_SOURCE_PORTS +'?configurationIds=' + ids.join(',');
+ $http.get(url).then(function(res){
+ defer.resolve(res);
+ }).catch(function(err) {
+ $log.error(err);
+ defer.resolve({});
+ });
+ return defer.promise;
+ },
+
+ getVlansByNetworksMapping : function (globalCustomerId, serviceType, serviceInstanceId, sdcModelUuid) {
+ var defer = $q.defer();
+ if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS)) {
+ var url = COMPONENT.AAI_GET_PROVIDER_NETWORKS_ASSOCIATIONS + '?'
+ + 'globalCustomerId=' + globalCustomerId
+ + '&serviceType=' + serviceType
+ + '&serviceInstanceId=' + serviceInstanceId
+ + '&sdcModelUuid=' + sdcModelUuid
+ ;
+
+ $http.get(url).then(function(res){
+ defer.resolve(res.data);
+ }).catch(function(err) {
+ $log.error(err);
+ defer.resolve({});
+ });
+
+ } else {
+ defer.resolve({});
+ }
+ return defer.promise;
+ },
+
+ getSubscriptionServiceTypeList : function(globalCustomerId,
+ successCallbackFunction) {
+ $log
+ .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: "
+ + globalCustomerId);
+ if ( UtilityService.hasContents(globalCustomerId) ) {
+ $http.get(
+ COMPONENT.AAI_SUB_DETAILS_PATH
+ + globalCustomerId + COMPONENT.ASSIGN + Math.random(),
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
+ var serviceTypes = [];
+ var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION];
+
+ for (var i = 0; i < serviceSubscriptions.length; i++) {
+ serviceTypes.push({
+ "name":serviceSubscriptions[i][FIELD.ID.SERVICETYPE],
+ "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED],
+ "id": i
+ });}
+ successCallbackFunction(serviceTypes);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ }
+ },
+ getLcpCloudRegionTenantList : function(globalCustomerId, serviceType,
+ successCallbackFunction) {
+ $log
+ .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: "
+ + globalCustomerId);
+ var url = COMPONENT.AAI_GET_TENANTS
+ + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ var lcpCloudRegionTenants = [];
+ var aaiLcpCloudRegionTenants = response.data;
+
+ for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) {
+ lcpCloudRegionTenants.push({
+ "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID],
+ "cloudOwner": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_OWNER],
+ "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME],
+ "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID],
+ "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED]});
+ }
+
+ successCallbackFunction(lcpCloudRegionTenants);
+ }).catch(function(error) {
+ (UtilityService.runHttpErrorHandler(error.data, error.status));
+ })
+ },
+ getSubscribers : function(successCallbackFunction) {
+ $log
+ .debug("AaiService:getSubscribers");
+ var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response.data.customer);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+ getProvOptionsFromSystemProp : function(successCallbackFunction) {
+ $log
+ .debug("AaiService:getProvOptionsFromSystemProp");
+ var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH;
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+ getLoggedInUserID : function(successCallbackFunction, catchCallbackFunction) {
+ $log
+ .debug("AaiService:getLoggedInUserID");
+ var url = COMPONENT.GET_USER_ID;
+
+ $http.get(url,
+ {
+ transformResponse: [function (data) {
+ return data;
+ }],
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"] (function(response, status) {
+ if (catchCallbackFunction) {
+ catchCallbackFunction();
+ }
+ UtilityService.runHttpErrorHandler(response, status);
+ })
+ },
+ getServices : function(successCallbackFunction) {
+ $log
+ .debug("AaiService:getServices");
+ var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout: PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function (response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+
+ getAicZones: function (successCallbackFunction) {
+ $log
+ .debug("getAicZones:getAicZones");
+ var url = COMPONENT.AAI_GET_AIC_ZONES +COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);},
+ getAicZoneForPNF: function (globalCustomerId,serviceType,serviceInstanceId,successCallbackFunction) {
+ $log
+ .debug("getAicZones:getAicZones");
+ var url = COMPONENT.AAI_GET_AIC_ZONE_FOR_PNF
+ .replace('@serviceInstanceId', serviceInstanceId)
+ .replace('@globalCustomerId', globalCustomerId)
+ .replace('@serviceType', serviceType);
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ successCallbackFunction(response.data);
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);},
+
+ getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) {
+ $log
+ .debug("AaiService:getServices");
+ var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+ getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) {
+ $log
+ .debug("AaiService:getServiceModelsByServiceType");
+ var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random();
+
+ $http.get(url,
+ {
+ timeout : PropertyService
+ .getServerResponseTimeoutMsec()
+ }).then(function(response) {
+ if (response.data) {
+ successCallbackFunction(response);
+ } else {
+ successCallbackFunction([]);
+ }
+ })["catch"]
+ (UtilityService.runHttpErrorHandler);
+ },
+
+ getVnfsByCustomerIdAndServiceType: function(globalSubscriberId, serviceType){
+ var deferred = $q.defer();
+
+ if (UtilityService.hasContents(globalSubscriberId) &&
+ UtilityService.hasContents(serviceType) ) {
+
+ $http.get(COMPONENT.AAI_GET_VNF_BY_CUSTOMERID_AND_SERVICETYPE + globalSubscriberId + COMPONENT.FORWARD_SLASH
+ + serviceType )
+ .success(function (response) {
+ if(response) {
+ deferred.resolve({data: response});
+ } else {
+ deferred.resolve({data: []});
+ }
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+ }
+
+ return deferred.promise;
+ },
+
+ getVnfVersionsByInvariantId: function(modelInvariantId){
+ var deferred = $q.defer();
+
+ if (UtilityService.hasContents(modelInvariantId)) {
+ var body = {"versions": modelInvariantId};
+ $http.post(( COMPONENT.AAI_GET_VERSION_BY_INVARIANT_ID),body)
+
+ .success(function (response) {
+ if(response) {
+ deferred.resolve({data: response});
+ } else {
+ deferred.resolve({data: []});
+ }
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+ }
+
+ return deferred.promise;
+ },
+
+
+
+ getSubscriberServiceTypes: function(subscriberUuid) {
+ var deferred = $q.defer();
+ $log.debug("AaiService:getSubscriberServiceTypes: subscriberUuid: " + subscriberUuid);
+
+ if (UtilityService.hasContents(subscriberUuid)) {
+ $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + subscriberUuid + COMPONENT.ASSIGN + Math.random())
+ .success(function (response) {
+ if(response && [FIELD.ID.SERVICE_SUBSCRIPTIONS]) {
+ deferred.resolve({data: response[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]});
+ } else {
+ deferred.resolve({data: []});
+ }
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+ }
+
+ return deferred.promise;
+ },
+ getVnfInstancesList: function(globalSubscriberId, serviceType, modelVersionId ,modelInvariantId, cloudRegionId) {
+ var deferred = $q.defer();
+ $http.get([COMPONENT.AAI_GET_VNF_INSTANCES_LIST,
+ globalSubscriberId,
+ serviceType,
+ modelVersionId,
+ modelInvariantId,
+ cloudRegionId]
+ .join(COMPONENT.FORWARD_SLASH))
+ .success(function (response) {
+ deferred.resolve(response);
+ }).error(function (data, status) {
+ deferred.reject({message: data, status: status});
+ });
+ return deferred.promise;
+ },
+ getPnfInstancesList: function (globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegionId, equipVendor, equipModel) {
+ var deferred = $q.defer();
+ $http.get([COMPONENT.AAI_GET_PNF_INSTANCES_LIST,
+ globalCustomerId, serviceType,
+ modelVersionId, modelInvariantId,
+ cloudRegionId,
+ equipVendor, equipModel
+ ].join(COMPONENT.FORWARD_SLASH))
+ .success(function (response) {
+ deferred.resolve(response);
+ }).error(function (data, status) {
+ deferred.reject({message: data, status: status});
+ });
+ return deferred.promise;
+ },
+ getByUri: function(uri) {
+ var deferred = $q.defer();
+
+ $http.get(COMPONENT.AAI_GET_BY_URI + uri)
+ .success(function (response) {
+ deferred.resolve({data: []});
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+
+ return deferred.promise;
+ },
+ getConfiguration: function(configurationId) {
+ var deferred = $q.defer();
+
+ $http.get(COMPONENT.AAI_GET_CONFIGURATION + configurationId)
+ .success(function (response) {
+ deferred.resolve({data: []});
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+
+ return deferred.promise;
+ },
+
+ getInstanceGroupsByVNFInstanceId: function (vnf_instance_id, successCallback, errorCallback) {
+ var url = COMPONENT.AAI_GET_INSTANCE_GROUPS_BY_VNF_INSTANCE_ID_PATH + "/" + vnf_instance_id;
+
+ $http.get(url, {}, {
+ timeout: PropertyService.getServerResponseTimeoutMsec()
+ }).then(function (response) {
+ successCallback(response);
+ }, function (response) {
+ errorCallback(response);
+ });
+ },
+
+ postPOMBAverificationRequest: function (url, data, config) {
+ $http.post(url, data, config)
+ .success(function (data, status, headers, config) {
+ //If at some point in the future the result should be handled - this should be the entry point.
+ log.debug("POMBA was called successfully with data: " + data);
+ })
+ .error(function (data, status, header, config) {
+ log.debug("Error: " +
+ "Data: " + data +
+ "status: " + status +
+ "headers: " + header +
+ "config: " + config);
+ });
+ },
+
+ getHomingData: function(vnfInstanceId, vfModuleId) {
+ var url = COMPONENT.AAI_GET_HOMING_DATA.replace('@vnfInstanceId', vnfInstanceId)
+ .replace('@vfModuleId', vfModuleId);
+
+ var deferred = $q.defer();
+
+ $http.get(url)
+ .success(function (response) {
+ deferred.resolve({data: response});
+ }).error(function (data, status, headers, config) {
+ deferred.reject({message: data, status: status});
+ });
+
+ return deferred.promise;
+
+ },
+
+ removeVendorFromCloudOwner: function(cloudOwner) {
+ // Handle the case where cloud owner is formatted
+ // like "{vendor}-{cloud-name}"
+ return cloudOwner.trim().replace(/^[^-]*-/, '');
+ }
+ };
+};
+
+appDS2.factory("AaiService", ["$http", "$log", "PropertyService",
+ "UtilityService", "COMPONENT", "FIELD", "$q", "featureFlags", AaiService]);
-/*-\r
- * ============LICENSE_START=======================================================\r
- * VID\r
- * ================================================================================\r
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-"use strict";\r
-\r
-/*\r
- * "CreationService" isolates the "component-specific" logic required by the\r
- * "CreationDialog" controller.\r
- *\r
- * "Components" are defined as the 5 element types managed by the dialogs: A)\r
- * Service B) VNF C) VF Module D) Volume Group and E) Network.\r
- * \r
- */\r
-\r
-var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION,\r
- ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService, OwningEntityService,featureFlags) {\r
-\r
- var _this = this;\r
- var getAsyncOperationList = function() {\r
- if (DataService.getLoggedInUserId() == null) {\r
- getLoggedInUserID();\r
- } else {\r
- UtilityService.startNextAsyncOperation();\r
- }\r
- switch (_this.componentId) {\r
- case COMPONENT.SERVICE:\r
- return [ getSubscribers, getServices, getAicZones, getOwningEntityProperties ];\r
- case COMPONENT.NETWORK:\r
- return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];\r
- case COMPONENT.VNF:\r
- return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];\r
- case COMPONENT.VF_MODULE:\r
- return [ getLcpCloudRegionTenantList ];\r
- case COMPONENT.VOLUME_GROUP:\r
- return [ getLcpCloudRegionTenantList ];\r
- }\r
- };\r
-\r
- /*\r
- * "getSummaryList" and "getUserProvidedList" return parameters that should\r
- * be displayed in the summary and user provided sections, respectively. The\r
- * functions are expected to return lists that are in the format needed by\r
- * the parameter-block directive.\r
- */\r
-\r
- var getSummaryList = function() {\r
-\r
- /*\r
- * These placeholders should be removed and their usage in\r
- * "getSummaryList" should be replaced by appropriate code as the\r
- * requirements and interfaces firm up.\r
- */\r
-\r
- var PLACEHOLDER_RESOURCE_DESCRIPTION = "Resource Description (PLACEHOLDER)";\r
- var PLACEHOLDER_SERVICE_CATEGORY = "Service Category (PLACEHOLDER)";\r
- var PLACEHOLDER_VF_MODULE_DESCRIPTION = "VF Module Description (PLACEHOLDER)";\r
- var PLACEHOLDER_VF_MODULE_LABEL = "VF Module Label (PLACEHOLDER)";\r
- var PLACEHOLDER_VF_MODULE_TYPE = "VF Module Type (PLACEHOLDER)";\r
-\r
- _this.parameterList = new Array();\r
-\r
- /*\r
- * Common fields displayed at the top of all create instance screens.\r
- */\r
- if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null\r
- || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined\r
- || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){\r
- addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());\r
- }\r
-\r
- switch (_this.componentId) {\r
- case COMPONENT.SERVICE:\r
- if ( !DataService.getALaCarte() ) {\r
- // for macro instantiation need to add the resource names under the node template list\r
- // this field is called modelCustomizationName in the asdc client code\r
- var p;\r
- var rlist = DataService.getResources();\r
- var res;\r
- if ( rlist != null ) {\r
- for (var i = 0; i < rlist.length; i++) {\r
- res = rlist[i];\r
-\r
- p = FIELD.NAME.RESOURCE_NAME.concat(" " + (i+1));\r
- addToList(p, res.name );\r
- p = FIELD.NAME.RESOURCE_DESCRIPTION.concat(" " + (i+1));\r
- addToList(p, res.description );\r
- }\r
- }\r
- }\r
- if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){\r
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService\r
- .getModelInfo(_this.componentId)["createSubscriberName"]);\r
- }\r
- if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){\r
- addToList(FIELD.NAME.SERVICE_TYPE, DataService\r
- .getModelInfo(_this.componentId)["serviceTypeName"]);\r
- addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());\r
- }\r
- addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
- addToList(FIELD.NAME.SERVICE_VERSION, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);\r
- addToList(FIELD.NAME.SERVICE_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);\r
- addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);\r
- addToList(FIELD.NAME.SERVICE_CATEGORY, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);\r
- if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") {\r
- addToList(FIELD.NAME.SERVICE_TYPE, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]);\r
- addToList(FIELD.NAME.SERVICE_ROLE, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]);\r
- }\r
-\r
- break;\r
- case COMPONENT.VF_MODULE:\r
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService\r
- .getSubscriberName());\r
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
- .getServiceInstanceName());\r
- addToList(FIELD.NAME.MODEL_NAME, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
- addToList(FIELD.NAME.MODEL_VERSION, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);\r
- addToList(FIELD.NAME.MODEL_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);\r
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);\r
- break;\r
- case COMPONENT.VNF:\r
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService\r
- .getSubscriberName());\r
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
- .getServiceInstanceName());\r
- addToList(FIELD.NAME.MODEL_NAME, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
- addToList(FIELD.NAME.MODEL_VERSION, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);\r
- addToList(FIELD.NAME.MODEL_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);\r
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);\r
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_NAME, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_CUSTOMIZATION_NAME]);\r
- addToList(FIELD.NAME.MODEL_VNF_TYPE, DataService\r
- .getModelInfo(_this.componentId)[COMPONENT.VNF_TYPE]);\r
- addToList(FIELD.NAME.MODEL_VNF_ROLE, DataService\r
- .getModelInfo(_this.componentId)[COMPONENT.VNF_ROLE]);\r
- addToList(FIELD.NAME.MODEL_VNF_FUNCTION, DataService\r
- .getModelInfo(_this.componentId)[COMPONENT.VNF_FUNCTION]);\r
- addToList(FIELD.NAME.MODEL_VNF_CODE, DataService\r
- .getModelInfo(_this.componentId)[COMPONENT.VNF_CODE]);\r
- break;\r
- case COMPONENT.NETWORK:\r
- case COMPONENT.VOLUME_GROUP:\r
- addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService\r
- .getSubscriberName());\r
- addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService\r
- .getServiceInstanceName());\r
- addToList(FIELD.NAME.MODEL_NAME, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);\r
- addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);\r
- addToList(FIELD.NAME.MODEL_VERSION, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);\r
- addToList(FIELD.NAME.MODEL_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);\r
- addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService\r
- .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);\r
- break;\r
- }\r
-\r
- return _this.parameterList;\r
- };\r
-\r
- var getUserProvidedList = function() {\r
- var parameterList = [];\r
- var isUserProvidedNaming = false;\r
- if ( ((DataService.getModelInfo(_this.componentId).serviceEcompNaming != null)\r
- && (DataService.getModelInfo(_this.componentId).serviceEcompNaming === "false")) || DataService.getE2EService() ) {\r
- isUserProvidedNaming = true;\r
- }\r
-\r
- var isInTop = DataService.getHideServiceFields() || false;\r
- if (_this.componentId === COMPONENT.SERVICE) {\r
- if ( DataService.getALaCarte() ) {\r
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];\r
- if(!isInTop){\r
- parameterList = parameterList.concat([ getSubscribersParameter(),\r
- FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);\r
- }\r
- }\r
- else {\r
- // macro\r
-\r
- if(!isInTop){\r
- if (isUserProvidedNaming) {\r
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];\r
-\r
- }\r
- parameterList = parameterList.concat([ getSubscribersParameter() ]);\r
- parameterList = parameterList.concat([ getServiceId(),\r
- FIELD.PARAMETER.SERVICE_TYPE,\r
- FIELD.PARAMETER.LCP_REGION,\r
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
- FIELD.PARAMETER.TENANT_DISABLED\r
- ]);\r
- if(!DataService.getE2EService()) {\r
- parameterList = parameterList.concat([getAicZonesParameter()]);\r
- }\r
-\r
- }else{\r
- parameterList = parameterList.concat([ getServiceId(),\r
- FIELD.PARAMETER.LCP_REGION,\r
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
- FIELD.PARAMETER.TENANT_DISABLED ]);\r
- }\r
- }\r
-\r
- if(!DataService.getE2EService()) {\r
- parameterList = parameterList.concat([getProjectParameter()]);\r
- parameterList = parameterList.concat([getOwningEntityParameter()]);\r
- }\r
-\r
- //if service model has a pnf, add a PNF ID parameter\r
- if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PNP_INSTANTIATION) && DataService.getPnf()) {\r
- parameterList = parameterList.concat([ FIELD.PARAMETER.PNF_ID ]);\r
- }\r
- }\r
- else {\r
- parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];\r
- switch (_this.componentId) {\r
- case COMPONENT.NETWORK:\r
- case COMPONENT.VNF:\r
- parameterList = parameterList.concat([ getServiceId(),\r
- getLcpRegionParameter(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
- FIELD.PARAMETER.TENANT_DISABLED ]);\r
- parameterList = parameterList.concat([ getLineOfBusinessParameter() ]);\r
- parameterList = parameterList.concat([ getPlatformParameter() ]);\r
-\r
- break;\r
- case COMPONENT.VF_MODULE:\r
- parameterList = parameterList.concat([\r
- getLcpRegionParameter(),\r
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
- FIELD.PARAMETER.TENANT_DISABLED\r
- ]);\r
-\r
- var availableVolumeGroupList = DataService.getAvailableVolumeGroupList();\r
-\r
- if (availableVolumeGroupList && availableVolumeGroupList.length > 0) {\r
- var availableVolumeGroupNames = [FIELD.STATUS.NONE];\r
-\r
- for (var i = 0; i < availableVolumeGroupList.length; i++) {\r
- availableVolumeGroupNames.push(availableVolumeGroupList[i].instance.name);\r
- }\r
-\r
- parameterList.push(addOptionList(\r
- FIELD.PARAMETER.AVAILABLE_VOLUME_GROUP,\r
- availableVolumeGroupNames));\r
- }\r
- break;\r
- case COMPONENT.VOLUME_GROUP:\r
- parameterList = parameterList.concat([ getLcpRegionParameter(),\r
- FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,\r
- FIELD.PARAMETER.TENANT_DISABLED ]);\r
- }\r
- }\r
- parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);\r
- if(_this.componentId === COMPONENT.VF_MODULE ){\r
- parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD,\r
- id: FIELD.ID.SDN_C_PRELOAD,\r
- type: "checkbox",\r
- isEnabled: true,\r
- isRequired: false,\r
- hideFieldAndLabel: true\r
- }\r
- );\r
- parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
- id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
- type: "checkbox",\r
- isEnabled: true,\r
- isRequired: false,\r
- value:false\r
- }\r
- );\r
-\r
- parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,\r
- id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,\r
- type: "file",\r
- isRequired: false,\r
- isVisiblity: false\r
- }\r
- );\r
- }\r
-\r
- if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){\r
- parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
- id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
- type: "checkbox",\r
- isEnabled: true,\r
- isRequired: false\r
- }\r
- );\r
-\r
- parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,\r
- id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,\r
- type: "file",\r
- isRequired: false,\r
- isVisiblity: false\r
- }\r
- );\r
- }\r
-\r
- addArbitraryParameters(parameterList);\r
-\r
- return parameterList;\r
- };\r
-\r
- var addArbitraryParameters = function(parameterList) {\r
- if ( DataService.getModelInfo(_this.componentId).displayInputs != null ) {\r
- var inputs = DataService.getModelInfo(_this.componentId).displayInputs;\r
- for ( var key in inputs) {\r
- var parameter = {\r
- id : key,\r
- type : PARAMETER.STRING,\r
- name : ComponentService.getFieldDisplayName(key),\r
- value : inputs[key][PARAMETER.DEFAULT],\r
- isRequired : inputs[key][PARAMETER.REQUIRED],\r
- description : inputs[key][PARAMETER.DESCRIPTION]\r
- };\r
- if ( DataService.getALaCarte() ) {\r
- parameter.name = ComponentService.getFieldDisplayName(inputs[key][PARAMETER.DISPLAY_NAME]);\r
- }\r
- switch (inputs[key][PARAMETER.TYPE]) {\r
- case PARAMETER.INTEGER:\r
- parameter.type = PARAMETER.NUMBER;\r
- break;\r
- case PARAMETER.BOOLEAN:\r
- parameter.type = PARAMETER.BOOLEAN;\r
- break;\r
- case PARAMETER.RANGE:\r
- break;\r
- case PARAMETER.LIST:\r
- parameter.type = PARAMETER.LIST;\r
- break;\r
- case PARAMETER.MAP:\r
- parameter.type = PARAMETER.MAP;\r
- break;\r
- }\r
-\r
- if ( UtilityService.hasContents(inputs[key][PARAMETER.CONSTRAINTS])\r
- && ( inputs[key][PARAMETER.CONSTRAINTS].length > 0 ) ) {\r
- var constraintsArray = inputs[key][PARAMETER.CONSTRAINTS];\r
- //console.log ("Calling addConstraintParameters for input name=" + key);\r
- addConstraintParameters (parameterList, constraintsArray, key, inputs, parameter);\r
- }\r
- else {\r
-\r
- parameterList.push(parameter);\r
- }\r
- }\r
- DataService.setArbitraryParameters (parameterList);\r
- }\r
- };\r
-\r
- var addConstraintParameters = function(parameterList, constraintsArray, key, inputs, parameter) {\r
- // If there are constraints and the operator is "valid_values",\r
- // use a select parameter type. \r
- var i = constraintsArray.length;\r
- var parameterPushed = false;\r
- if ( i > 0 ) {\r
- while ( (i--) && (!parameterPushed) ) {\r
- var keys = Object.keys(constraintsArray[i]);\r
- //var keys_len = keys.length;\r
- for ( var operator in keys ) {\r
- //console.log ("keys[operator]=" + keys[operator]);\r
- switch (keys[operator]) {\r
- case PARAMETER.VALID_VALUES:\r
- var j = constraintsArray[i][PARAMETER.VALID_VALUES].length;\r
- if ( j > 0 ) {\r
- var oList = [];\r
- var option;\r
- while (j--) {\r
- option = {\r
- name: constraintsArray[i][PARAMETER.VALID_VALUES][j],\r
- isDefault: false\r
- } \r
- if ( ( UtilityService.hasContents (inputs[key][PARAMETER.DEFAULT]) ) \r
- && (inputs[key][PARAMETER.DEFAULT] === constraintsArray[i][PARAMETER.VALID_VALUES][j] ) ) {\r
- option = {\r
- name: constraintsArray[i][PARAMETER.VALID_VALUES][j],\r
- isDefault: true\r
- } \r
- }\r
- oList.push(option);\r
- }\r
- parameter.type = PARAMETER.SELECT;\r
- parameter.optionList = oList;\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for valid values");\r
- }\r
- break; \r
- \r
- case PARAMETER.EQUAL: \r
- if ( constraintsArray[i][PARAMETER.EQUAL] != null ) {\r
- //override parameter type\r
- parameter.type = PARAMETER.STRING;\r
- parameter.isReadOnly = true;\r
- parameter.value = constraintsArray[i][PARAMETER.EQUAL];\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for equal");\r
- }\r
- break;\r
- \r
- case PARAMETER.LENGTH: \r
- if ( constraintsArray[i][PARAMETER.LENGTH] != null ) {\r
- parameter.minLength = constraintsArray[i][PARAMETER.LENGTH];\r
- parameter.maxLength = constraintsArray[i][PARAMETER.LENGTH];\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for length: ");\r
- //console.log (JSON.stringify (parameter, null, 4));\r
- }\r
- break;\r
- case PARAMETER.MAX_LENGTH: \r
- if ( constraintsArray[i][PARAMETER.MAX_LENGTH] != null ) {\r
- parameter.maxLength = constraintsArray[i][PARAMETER.MAX_LENGTH];\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for max length: ");\r
- //console.log (JSON.stringify (parameter, null, 4));\r
- }\r
- break;\r
- case PARAMETER.MIN_LENGTH: \r
- if ( constraintsArray[i][PARAMETER.MIN_LENGTH] != null ) {\r
- parameter.minLength = constraintsArray[i][PARAMETER.MIN_LENGTH];\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for min length: ");\r
- //console.log (JSON.stringify (parameter, null, 4));\r
- }\r
- break;\r
- case PARAMETER.IN_RANGE:\r
- if ( constraintsArray[i][PARAMETER.IN_RANGE] != null ) {\r
- if (constraintsArray[i][PARAMETER.IN_RANGE].length > 1 ) {\r
- parameter.min = constraintsArray[i][PARAMETER.IN_RANGE][0];\r
- parameter.max = constraintsArray[i][PARAMETER.IN_RANGE][1];\r
- parameter.type = PARAMETER.NUMBER;\r
- parameter.value = inputs[key][PARAMETER.DEFAULT]\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for in_range");\r
- }\r
- }\r
- break; \r
- case PARAMETER.GREATER_THAN:\r
- if ( constraintsArray[i][PARAMETER.GREATER_THAN] != null ) {\r
- parameter.type = PARAMETER.NUMBER;\r
- parameter.min = constraintsArray[i][PARAMETER.GREATER_THAN];\r
- parameter.value = inputs[key][PARAMETER.DEFAULT]\r
- parameterList.push(parameter);\r
- parameterPushed = true;\r
- //console.log ("pushed param for greater_than");\r
- \r
- }\r
- break;\r
- }//switch\r
- }//for\r
- \r
- }//while\r
- }//if\r
- };\r
- var addToList = function(name, value) {\r
- _this.parameterList.push({\r
- name : name,\r
- value : value\r
- });\r
- };\r
- var setInventoryInfo = function(){\r
- var inventoryItem = DataService.getInventoryItem();\r
- var inventoryInfo = ComponentService.getInventoryInfo(\r
- _this.componentId, inventoryItem);\r
- }\r
-\r
- /*\r
- * The "*Mso*" functions return URL and request details that can be passed\r
- * to the MSO controller. The request details defines the info passed as\r
- * part of the POST body.\r
- */\r
-\r
- var getMsoUrl = function() {\r
- switch (_this.componentId) {\r
- case COMPONENT.NETWORK:\r
- return "mso_create_nw_instance/"\r
- + DataService.getServiceInstanceId();\r
- case COMPONENT.SERVICE:\r
- if(DataService.getE2EService() === true)\r
- return "mso_create_e2e_svc_instance";\r
- else\r
- return "mso_create_svc_instance";\r
- case COMPONENT.VNF:\r
- return "mso_create_vnf_instance/"\r
- + DataService.getServiceInstanceId();\r
- case COMPONENT.VF_MODULE:\r
- return "mso_create_vfmodule_instance/"\r
- + DataService.getServiceInstanceId() + "/vnfs/"\r
- + DataService.getVnfInstanceId();\r
- case COMPONENT.VOLUME_GROUP:\r
- return "mso_create_volumegroup_instance/"\r
- + DataService.getServiceInstanceId() + "/vnfs/"\r
- + DataService.getVnfInstanceId();\r
- }\r
- };\r
-\r
- var getMsoE2ERequest = function(parameterList) {\r
- var modelInfo = DataService.getModelInfo(_this.componentId);\r
-\r
- //region id\r
- var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);\r
- if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {\r
- lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,\r
- parameterList);\r
- }\r
- var cloudOwner = _.find(DataService.getCloudRegionTenantList(), function(region){\r
- return region.cloudRegionId === lcpRegion;\r
- }).cloudOwner;\r
-\r
- var params = [];\r
- var displayInputs = modelInfo.displayInputs;\r
- var groupBy = _.groupBy(displayInputs, "templateUUID");\r
-\r
- _.forEach(groupBy, function(nodeTemplateInputs, nodeTemplateUUID) {\r
- var reqParas = {};\r
- var vfLocations = [];\r
-\r
- nodeTemplateInputs.forEach(function(parameter){\r
- if(parameter.type === 'vf_location') {\r
- var loc = {\r
- vnfProfileId: parameter.displayName,\r
- locationConstraints : {\r
- vimId: cloudOwner + '_' + lcpRegion\r
- }\r
- };\r
- vfLocations.push(loc);\r
- } else if(parameter.type === 'sdn_controller') {\r
- if(parameter.value === undefined || parameter.value === null) {\r
- reqParas[parameter.name] = '';\r
- } else {\r
- reqParas[parameter.name] = parameter.value.value;\r
- }\r
- } else {\r
- var name;\r
- _.forEach(displayInputs, function(item, key){\r
- if(item === parameter) {\r
- name = key;\r
- }\r
- });\r
- var value = _.find(parameterList, function(item){\r
- return item.id === name;\r
- }).value;\r
- reqParas[parameter.displayName] = value;\r
- }\r
- });\r
-\r
- params.push({\r
- resourceName: nodeTemplateInputs[0].templateName,\r
- resourceInvariantUuid: nodeTemplateInputs[0].templateInvariantUUID,\r
- resourceUuid: nodeTemplateInputs[0].templateUUID,\r
- resourceCustomizationUuid: nodeTemplateInputs[0].templateCustomizationUUID,\r
- parameters: {\r
- locationConstraints: vfLocations,\r
- //TODO resources: [],\r
- requestInputs: reqParas\r
- }\r
- });\r
- });\r
-\r
- var requestBody = {\r
- service: {\r
- name: getValueFromList(FIELD.ID.INSTANCE_NAME, parameterList),\r
- description: modelInfo["description"],\r
- serviceInvariantUuid: modelInfo["modelInvariantId"],\r
- serviceUuid: modelInfo["modelNameVersionId"],\r
- globalSubscriberId: DataService.getGlobalCustomerId(),\r
- serviceType: getValueFromList(FIELD.ID.SERVICE_TYPE, parameterList) || modelInfo["serviceTypeName"],\r
- parameters: {\r
- locationConstraints: [],\r
- resources: params,\r
- requestInputs: {} //TODO\r
- }\r
- }\r
- };\r
-\r
- return requestBody;\r
- };\r
-\r
- var getMsoRequestDetails = function(parameterList) {\r
- console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4));\r
- //console.log("getMsoRequestDetails invoked, DataService.getArbitraryParameters()=");\r
- //console.log(JSON.stringify(DataService.getArbitraryParameters(),null,4));\r
-\r
- //VoLTE logic goes here\r
- if(DataService.getE2EService() === true) {\r
- return getMsoE2ERequest(parameterList);\r
- }\r
-\r
- var modelInfo = DataService.getModelInfo(_this.componentId);\r
- var requestorloggedInId = DataService.getLoggedInUserId();\r
- var owningEntityId = getValueFromList(FIELD.ID.OWNING_ENTITY, parameterList);\r
- if (requestorloggedInId == null)\r
- requestorloggedInId = "";\r
- var isSupRollback = false;\r
- if (getValueFromList(FIELD.ID.SUPPRESS_ROLLBACK,parameterList) === "true") {\r
- isSupRollback = true;\r
- }\r
- var requestDetails = {\r
- requestInfo : {\r
- instanceName : getValueFromList(FIELD.ID.INSTANCE_NAME,\r
- parameterList) || DataService.getVfModuleInstanceName(),\r
- source : FIELD.ID.VID,\r
- suppressRollback : isSupRollback,\r
- requestorId: requestorloggedInId\r
- },\r
- modelInfo : {\r
- modelType : _this.componentId,\r
- modelInvariantId : modelInfo.modelInvariantId,\r
- modelVersionId : modelInfo.modelNameVersionId,\r
- modelName : modelInfo.modelName,\r
- modelVersion : modelInfo.modelVersion,\r
- modelCustomizationId: modelInfo.customizationUuid,\r
- modelCustomizationName : modelInfo.modelCustomizationName\r
- },\r
- requestParameters : {\r
- userParams : getArbitraryParameters(parameterList)\r
- }\r
- };\r
- if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {\r
- if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {\r
- requestDetails.requestParameters.testApi = DataService.getMsoRequestParametersTestApi();\r
- }\r
- }\r
- if ( (_this.componentId != COMPONENT.SERVICE) || ( !DataService.getALaCarte() ) ) {\r
- // include cloud region for everything but service create alacarte\r
- var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);\r
- if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {\r
- lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,\r
- parameterList);\r
- }\r
- requestDetails.cloudConfiguration = {\r
- lcpCloudRegionId : lcpRegion,\r
- tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)\r
- };\r
- }\r
- switch (_this.componentId) {\r
-\r
- case COMPONENT.SERVICE:\r
- requestDetails.subscriberInfo = {\r
- globalSubscriberId : DataService.getGlobalCustomerId(),\r
- subscriberName : DataService.getSubscriberName()\r
- };\r
- var isInTop = DataService.getHideServiceFields() || false;\r
- if(isInTop){\r
- requestDetails.requestParameters.subscriptionServiceType = DataService.getModelInfo(_this.componentId)["serviceTypeName"];\r
- }else{\r
- requestDetails.requestParameters.subscriptionServiceType = getValueFromList(\r
- FIELD.ID.SERVICE_TYPE, parameterList);\r
- }\r
- requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();\r
- if ( !DataService.getALaCarte() ) {\r
- requestDetails.requestInfo.productFamilyId = getValueFromList(\r
- FIELD.ID.PRODUCT_FAMILY, parameterList);\r
- }\r
- var svcModelInfo = {\r
- modelType : _this.componentId,\r
- modelInvariantId : modelInfo.modelInvariantId,\r
- modelVersionId : modelInfo.modelNameVersionId,\r
- modelName : modelInfo.modelName,\r
- modelVersion : modelInfo.modelVersion\r
- };\r
- requestDetails.modelInfo = svcModelInfo;\r
-\r
- var selectedProject = getValueFromList(FIELD.ID.PROJECT, parameterList);\r
-\r
- if (selectedProject) {\r
- requestDetails.project = {\r
- projectName: getValueFromList(FIELD.ID.PROJECT, parameterList)\r
- };\r
- }\r
-\r
- requestDetails.owningEntity = {\r
- owningEntityId: owningEntityId,\r
- owningEntityName: getOwningEntityNameById(owningEntityId)\r
- };\r
-\r
- break;\r
- case COMPONENT.VNF:\r
-\r
- requestDetails.requestInfo.productFamilyId = getValueFromList(\r
- FIELD.ID.PRODUCT_FAMILY, parameterList);\r
-\r
- var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);\r
-\r
- if(lineOfBusiness) {\r
- var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");\r
-\r
- requestDetails.lineOfBusiness = {\r
- lineOfBusinessName: lineOfBusinessNamesString\r
- }\r
- }\r
-\r
- requestDetails.platform = {\r
- platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)\r
- };\r
-\r
- break;\r
- case COMPONENT.NETWORK:\r
- requestDetails.requestInfo.productFamilyId = getValueFromList(\r
- FIELD.ID.PRODUCT_FAMILY, parameterList);\r
- var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);\r
-\r
- if(lineOfBusiness) {\r
- var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");\r
-\r
- requestDetails.lineOfBusiness = {\r
- lineOfBusinessName: lineOfBusinessNamesString\r
- }\r
- }\r
-\r
- requestDetails.platform = {\r
- platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)\r
- };\r
- break;\r
- case COMPONENT.VF_MODULE:\r
- requestDetails.requestParameters.usePreload = getValueFromList(\r
- FIELD.ID.SDN_C_PRELOAD, parameterList);\r
- if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){\r
- requestDetails.requestParameters.usePreload = false;\r
- }\r
- break;\r
- case COMPONENT.VOLUME_GROUP:\r
- break;\r
- }\r
-\r
- var relatedInstanceList = getRelatedInstanceList(parameterList);\r
-\r
- if (relatedInstanceList !== undefined) {\r
- requestDetails.relatedInstanceList = relatedInstanceList;\r
- }\r
-\r
- return requestDetails;\r
- };\r
-\r
- var getRelatedInstanceList = function(parameterList) {\r
- var relatedInstanceList = new Array();\r
- switch (_this.componentId) {\r
- case COMPONENT.SERVICE:\r
- return undefined;\r
- case COMPONENT.NETWORK:\r
- case COMPONENT.VNF:\r
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,\r
- DataService.getServiceInstanceId());\r
- break;\r
- case COMPONENT.VF_MODULE:\r
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,\r
- DataService.getServiceInstanceId());\r
- addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService\r
- .getVnfInstanceId());\r
-\r
- var availableVolumeGroup = getValueFromList(\r
- FIELD.ID.AVAILABLE_VOLUME_GROUP, parameterList);\r
-\r
- if (UtilityService.hasContents(availableVolumeGroup) && availableVolumeGroup !== "None") {\r
- var availableVolumeGroups = DataService.getAvailableVolumeGroupList();\r
-\r
- for (var i = 0; i < availableVolumeGroups.length; i++) {\r
- if (availableVolumeGroups[i].instance.name == availableVolumeGroup) {\r
- DataService.setModelInfo(COMPONENT.VOLUME_GROUP, DataService.getModelInfo(COMPONENT.VF_MODULE));\r
- DataService.setVolumeGroupInstanceId(availableVolumeGroups[i].instance.object["volume-group-id"]);\r
- break;\r
- }\r
- }\r
-\r
- addRelatedInstance(relatedInstanceList, COMPONENT.VOLUME_GROUP,\r
- DataService.getVolumeGroupInstanceId());\r
- }\r
- break;\r
- case COMPONENT.VOLUME_GROUP:\r
- addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,\r
- DataService.getServiceInstanceId());\r
- addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService\r
- .getVnfInstanceId());\r
- break;\r
- }\r
-\r
- return relatedInstanceList;\r
- };\r
-\r
- var addRelatedInstance = function(relatedInstanceList, componentId,\r
- instanceId) {\r
- var modelInfo = DataService.getModelInfo(componentId);\r
- var relatedInstance;\r
- if (modelInfo !== undefined) {\r
- if (componentId === COMPONENT.SERVICE) {\r
- relatedInstance = {\r
- "instanceId" : instanceId,\r
- "modelInfo" : {\r
- "modelType" : componentId,\r
- "modelName" : modelInfo.modelName,\r
- "modelInvariantId" : modelInfo.modelInvariantId,\r
- "modelVersion" : modelInfo.modelVersion,\r
- "modelVersionId" : modelInfo.modelNameVersionId,\r
-\r
- }\r
- };\r
- }\r
- else {\r
- relatedInstance = {\r
- "instanceId" : instanceId,\r
- "modelInfo" : {\r
- "modelType" : componentId,\r
- "modelName" : modelInfo.modelName,\r
- "modelInvariantId" : modelInfo.modelInvariantId,\r
- "modelVersion" : modelInfo.modelVersion,\r
- "modelVersionId" : modelInfo.modelNameVersionId,\r
- "modelCustomizationId": modelInfo.customizationUuid,\r
- "modelCustomizationName": modelInfo.modelCustomizationName\r
- }\r
- }\r
- }\r
- relatedInstanceList.push({\r
- relatedInstance : relatedInstance\r
- });\r
- }\r
- };\r
-\r
- /*\r
- * var getArbitraryParameters = function(parameterList) { var\r
- * arbitraryParameters = new Object(); for (var i = 0; i <\r
- * parameterList.length; i++) { var parameter = parameterList[i]; switch\r
- * (parameter.id) { case FIELD.ID.INSTANCE_NAME: case\r
- * FIELD.ID.PRODUCT_FAMILY: case FIELD.ID.LCP_REGION: case\r
- * FIELD.ID.LCP_REGION_TEXT: case FIELD.ID.SERVICE_TYPE: case\r
- * FIELD.ID.TENANT: case FIELD.ID.SUPPRESS_ROLLBACK: break; default:\r
- * arbitraryParameters[parameter.id] = parameter.value; } } return\r
- * arbitraryParameters; }\r
- */\r
- var getArbitraryParameters = function(parameterList) {\r
- var arbitraryParameters = new Object();\r
- var arbitraryArray = new Array();\r
- for (var i = 0; i < parameterList.length; i++) {\r
- var parameter = parameterList[i];\r
- switch (parameter.id) {\r
- case FIELD.ID.AVAILABLE_VOLUME_GROUP:\r
- case FIELD.ID.INSTANCE_NAME:\r
- case FIELD.ID.PRODUCT_FAMILY:\r
- case FIELD.ID.LCP_REGION:\r
- case FIELD.ID.LCP_REGION_TEXT:\r
- case FIELD.ID.SERVICE_TYPE:\r
- case FIELD.ID.TENANT:\r
- case FIELD.ID.SUPPRESS_ROLLBACK:\r
- case FIELD.ID.SUBSCRIBER_NAME:\r
- case FIELD.ID.SDN_C_PRELOAD:\r
- case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE:\r
- case FIELD.ID.OWNING_ENTITY:\r
- case FIELD.ID.PLATFORM:\r
- case FIELD.ID.LINE_OF_BUSINESS:\r
- case FIELD.ID.PROJECT:\r
- break;\r
- case FIELD.ID.SUPPLEMENTORY_DATA_FILE:\r
- arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'];\r
- arbitraryArray=arbitraryParameters;\r
- FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[];\r
- break;\r
-\r
- default:\r
- if (parameter.value != '') {\r
- arbitraryParameters = {\r
- name: parameter.id,\r
- value: parameter.value\r
- }\r
- arbitraryArray.push(arbitraryParameters);\r
- }\r
- }\r
- }\r
- return (arbitraryArray);\r
- }\r
-\r
- var getModel = function() {\r
- AsdcService.getModel(DataService.getModelId(), function(response) {\r
- DataService.setModelInfo(_this.componentId, {\r
- modelInvariantId : response.data.invariantUUID,\r
- modelNameVersionId : response.data.uuid,\r
- modelName : response.data.name,\r
- modelVersion : response.data.version,\r
- inputs : response.data.inputs\r
- });\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
-\r
- var getSubscriptionServiceTypeList = function() {\r
- AaiService.getSubscriptionServiceTypeList(DataService\r
- .getGlobalCustomerId(), function(response) {\r
- DataService.setSubscriptionServiceTypeList(response);\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
-\r
- var getLoggedInUserID = function() {\r
- AaiService.getLoggedInUserID(function(response) {\r
- DataService.setLoggedInUserId(response.data);\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
-\r
- var getSubscribers = function() {\r
- AaiService.getSubscribers(function(response) {\r
- DataService.setSubscribers(response);\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
- var getServices = function() {\r
- AaiService.getServices(function(response) {\r
- var serviceIdList = [];\r
- angular.forEach(response.data, function(value, key) {\r
- angular.forEach(value, function(subVal, key) {\r
- var newVal = {\r
- "id" : subVal[FIELD.ID.SERVICE_ID],\r
- "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION],\r
- "isPermitted" : subVal[FIELD.ID.IS_PERMITTED],\r
- };\r
- serviceIdList.push(newVal);\r
- DataService.setServiceIdList(serviceIdList);\r
- });\r
- });\r
-\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
- var getAicZones = function() {\r
- AaiService.getAicZones(function(response) {\r
- var serviceIdList = [];\r
- angular.forEach(response.data, function(value, key) {\r
- angular.forEach(value, function(subVal, key) {\r
- var newVal = {\r
- "id" : subVal[FIELD.ID.ZONE_ID],\r
- "name" : subVal[FIELD.ID.ZONE_NAME],\r
- };\r
- serviceIdList.push(newVal);\r
- DataService.setAicZones(serviceIdList);\r
- });\r
- });\r
-\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
-\r
- var getOwningEntityProperties = function() {\r
- OwningEntityService.getOwningEntityProperties(function(owningEntityProperties) {\r
- DataService.setOwningEntityProperties(owningEntityProperties);\r
- UtilityService.startNextAsyncOperation();\r
- });\r
-\r
- };\r
-\r
- var getLcpCloudRegionTenantList = function() {\r
- AaiService.getLcpCloudRegionTenantList(DataService\r
- .getGlobalCustomerId(), DataService.getServiceType(), function(\r
- response) {\r
- DataService.setCloudRegionTenantList(response);\r
- UtilityService.startNextAsyncOperation();\r
- });\r
- };\r
-\r
- var internalGetParametersHandler = function() {\r
- if (angular.isFunction(_this.getParametersHandler)) {\r
- _this.getParametersHandler({\r
- summaryList : getSummaryList(),\r
- userProvidedList : getUserProvidedList()\r
- });\r
- }\r
- };\r
-\r
- var getSubscribersParameter = function() {\r
- var subscribers = DataService.getSubscribers();\r
- var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;\r
- if ( UtilityService.hasContents(subscribers)) {\r
- parameter.optionList = [];\r
-\r
- for (var i = 0; i < subscribers.length; i++) {\r
- parameter.optionList.push({\r
- id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],\r
- name : subscribers[i][FIELD.ID.SUBNAME],\r
- isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED]\r
- })\r
- }\r
- }\r
- return parameter;\r
- };\r
-\r
- var getServiceId = function() {\r
- var serviceIdList = DataService.getServiceIdList();\r
- //var serviceTypeList = DataService.getSubscriptionServiceTypeList();\r
- var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;\r
- parameter.optionList = new Array();\r
- if ( UtilityService.hasContents(serviceIdList) ) {\r
- // load them all\r
- for (var i = 0; i < serviceIdList.length; i++) {\r
- parameter.optionList.push({\r
- id : serviceIdList[i].id,\r
- name : serviceIdList[i].description,\r
- isPermitted : serviceIdList[i].isPermitted\r
- });\r
- }\r
- }\r
-\r
- return parameter;\r
- };\r
-\r
- var getAicZonesParameter = function() {\r
- var aicList = DataService.getAicZones();\r
- var parameter = FIELD.PARAMETER.AIC_ZONES;\r
- parameter.optionList = new Array();\r
- if ( UtilityService.hasContents(aicList) ) {\r
- // load them all\r
- for (var i = 0; i < aicList.length; i++) {\r
- parameter.optionList.push({\r
- id : aicList[i].id,\r
- name : aicList[i].name,\r
- isPermitted : true\r
-\r
- });\r
- }\r
- }\r
-\r
- return parameter;\r
- };\r
-\r
- var getProjectParameter = function() {\r
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PROJECT);\r
- };\r
-\r
- var getOwningEntityParameter = function() {\r
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.OWNING_ENTITY);\r
- };\r
-\r
- var getLineOfBusinessParameter = function() {\r
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.LINE_OF_BUSINESS);\r
- };\r
-\r
- var getPlatformParameter = function() {\r
- return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PLATFORM);\r
- };\r
-\r
- var getOwningEntityNameById = function (id) {\r
- var properties = DataService.getOwningEntityProperties();\r
- var parameter = _.find(properties[FIELD.ID.OWNING_ENTITY], {"id": id});\r
- return parameter && parameter.name;\r
- };\r
-\r
- var getOwningEntityParameterWithOptions = function(parameter) {\r
- var properties = DataService.getOwningEntityProperties();\r
- if (properties && properties[parameter.id]) {\r
- parameter.optionList = _.map(properties[parameter.id], function(parameter) {\r
- return {\r
- "id" : parameter.id,\r
- "name" : parameter.name,\r
- "isPermitted": true\r
- };\r
- });\r
- }\r
-\r
- return parameter;\r
- };\r
-\r
- var getLcpRegionParameter = function() {\r
- var cloudRegionTenantList = DataService.getCloudRegionTenantList();\r
- console.log ( "cloudRegionTenantList=");\r
- console.log ( JSON.stringify (cloudRegionTenantList, null, 4 ));\r
-\r
- var parameter = FIELD.PARAMETER.LCP_REGION;\r
- if ( UtilityService.hasContents (cloudRegionTenantList) ) {\r
- parameter.optionList = new Array();\r
- for (var i = 0; i < cloudRegionTenantList.length; i++) {\r
- for (var j = 0; j < parameter.optionList.length; j++) {\r
- if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {\r
- parameter.optionList[j].isPermitted =\r
- parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;\r
- break;\r
- }\r
- }\r
- if (j < parameter.optionList.length) {\r
- continue;\r
- }\r
-\r
- var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?\r
- cloudRegionTenantList[i].cloudRegionId + " (" + cloudRegionTenantList[i].cloudOwner.trim().toLowerCase().replace(/^att-/, "").toUpperCase() + ")" :\r
- cloudRegionTenantList[i].cloudRegionId;\r
-\r
- parameter.optionList.push({\r
- id : cloudRegionTenantList[i].cloudRegionId,\r
- name: optionName,\r
- isPermitted : cloudRegionTenantList[i].isPermitted\r
- });\r
- }\r
- }\r
- return parameter;\r
- };\r
-\r
- var getTenantList = function(cloudRegionId) {\r
- var cloudRegionTenantList = DataService.getCloudRegionTenantList();\r
- var parameter = "";\r
- if ( UtilityService.hasContents (cloudRegionTenantList) ) {\r
- parameter = FIELD.PARAMETER.TENANT_ENABLED;\r
- parameter.optionList = new Array();\r
- for (var i = 0; i < cloudRegionTenantList.length; i++) {\r
- if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {\r
- parameter.optionList.push({\r
- id : cloudRegionTenantList[i].tenantId,\r
- name : cloudRegionTenantList[i].tenantName,\r
- isPermitted : cloudRegionTenantList[i].isPermitted\r
-\r
- });\r
- }\r
- }\r
- }\r
- return parameter;\r
-\r
- };\r
-\r
- var addOptionList = function(parameter, optionSimpleArray) {\r
- var optionList = new Array();\r
- if (!angular.isArray(optionSimpleArray)) {\r
- return optionList;\r
- }\r
- for (var i = 0; i < optionSimpleArray.length; i++) {\r
- optionList.push({\r
- name : optionSimpleArray[i],\r
- isPermitted :true,\r
- });\r
- }\r
- parameter.optionList = optionList;\r
- return parameter;\r
- };\r
-\r
- var getValueFromList = function(id, parameterList) {\r
- for (var i = 0; i < parameterList.length; i++) {\r
- if (parameterList[i].id === id) {\r
- return parameterList[i].value;\r
- }\r
- }\r
- };\r
- var updateUserParameterList = function(updatedId, parameterListControl) {\r
- console.log ("updateUserParameterList() updatedId=" + updatedId);\r
- if (updatedId === FIELD.ID.PRODUCT_FAMILY && DataService.getHideServiceFields()) {\r
- var cloudRegionTenantList = new Array();\r
- AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {\r
- DataService.setCloudRegionTenantList(cloudRegionTenantList);\r
- parameterListControl.updateList([ getLcpRegionParameter() ]);\r
- });\r
- }else if (updatedId === FIELD.ID.SDN_C_PRELOAD) {\r
- var list = parameterListControl.getList(updatedId);\r
- if($('input[parameter-id="'+updatedId+'"]').is(':checked')){\r
- FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true;\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]);\r
- }else{\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]);\r
- }\r
- }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) {\r
- if($('input[parameter-id="'+updatedId+'"]').is(':checked')){\r
- $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show();\r
- FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true;\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]);\r
- }else{\r
- $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide();\r
- FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false;\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]);\r
- }\r
- } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) {\r
- var filePath = $('input[parameter-id="'+updatedId+'"]').val();\r
- var arr =filePath.split('.');\r
- var fileExt = arr[arr.length-1];\r
- if(fileExt!='' && fileExt.toLowerCase()!='json'){\r
- $('input[parameter-id="'+updatedId+'"]').val('');\r
- alert("Invalid file format. Please select *.json format file.");\r
- return false;\r
- }\r
- } else if (updatedId === FIELD.ID.LCP_REGION) {\r
- var list = parameterListControl.getList(updatedId);\r
- if (list[0].selectedIndex >= 0) {\r
- parameterListControl\r
- .updateList([ getTenantList(list[0].value) ]);\r
- } else {\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);\r
- }\r
- if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);\r
- } else {\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);\r
- }\r
- } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {\r
- var list = parameterListControl.getList(updatedId);\r
- if (list[0].selectedIndex >= 0) {\r
- DataService.setGlobalCustomerId(list[0].value);\r
-\r
- AaiService.getSubscriptionServiceTypeList(DataService\r
- .getGlobalCustomerId(), function(response) {\r
- DataService.setSubscriptionServiceTypeList(response);\r
- var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;\r
- serviceTypeParameters.optionList = [];\r
-\r
- for (var i = 0; i < response.length; i++) {\r
- serviceTypeParameters.optionList.push({\r
- "id" : response[i].name,\r
- "name" : response[i].name,\r
- "isPermitted" :response[i].isPermitted\r
-\r
- });\r
- }\r
- console.log ( "updateUserParameterList: service type parameters " );\r
- console.log ( JSON.stringify (serviceTypeParameters, null, 4));\r
- parameterListControl.updateList([ serviceTypeParameters ]);\r
- });\r
-\r
- }\r
- } else if ( updatedId === FIELD.ID.SERVICE_TYPE ) {\r
- var list = parameterListControl.getList(updatedId);\r
- if (list[0].selectedIndex >= 0) {\r
-\r
- DataService.setServiceType(list[0].value);\r
- var cloudRegionTenantList = new Array();\r
- AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {\r
- DataService.setCloudRegionTenantList(cloudRegionTenantList);\r
- parameterListControl.updateList([ getLcpRegionParameter() ]);\r
- });\r
- } else {\r
- parameterListControl\r
- .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);\r
- }\r
- }\r
-\r
- };\r
-\r
- return {\r
- initializeComponent : function(componentId) {\r
- _this.componentId = ComponentService.initialize(componentId);\r
- },\r
- setHttpErrorHandler : function(httpErrorHandler) {\r
- _this.httpErrorHandler = httpErrorHandler;\r
- },\r
- getComponentDisplayName : ComponentService.getComponentDisplayName,\r
- getParameters : function(getParametersHandler) {\r
- _this.getParametersHandler = getParametersHandler;\r
- UtilityService.setHttpErrorHandler(_this.httpErrorHandler);\r
- UtilityService.startAsyncOperations(getAsyncOperationList(),\r
- internalGetParametersHandler);\r
- },\r
- updateUserParameterList : updateUserParameterList,\r
- getMsoRequestDetails : getMsoRequestDetails,\r
- getMsoUrl : getMsoUrl,\r
- setInventoryInfo: setInventoryInfo\r
- }\r
-}\r
-\r
-appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService",\r
- "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",\r
- "UtilityService", "OwningEntityService","featureFlags", CreationService ]);\r
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+"use strict";
+
+/*
+ * "CreationService" isolates the "component-specific" logic required by the
+ * "CreationDialog" controller.
+ *
+ * "Components" are defined as the 5 element types managed by the dialogs: A)
+ * Service B) VNF C) VF Module D) Volume Group and E) Network.
+ *
+ */
+
+var CreationService = function($log, AaiService, AsdcService, DataService,VIDCONFIGURATION,
+ ComponentService, COMPONENT, FIELD, PARAMETER, UtilityService, OwningEntityService,featureFlags) {
+
+ var _this = this;
+ var getAsyncOperationList = function() {
+ if (DataService.getLoggedInUserId() == null) {
+ getLoggedInUserID();
+ } else {
+ UtilityService.startNextAsyncOperation();
+ }
+ switch (_this.componentId) {
+ case COMPONENT.SERVICE:
+ return [ getSubscribers, getServices, getAicZones, getOwningEntityProperties ];
+ case COMPONENT.NETWORK:
+ return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
+ case COMPONENT.VNF:
+ return [ getLcpCloudRegionTenantList, getOwningEntityProperties ];
+ case COMPONENT.VF_MODULE:
+ return [ getLcpCloudRegionTenantList ];
+ case COMPONENT.VOLUME_GROUP:
+ return [ getLcpCloudRegionTenantList ];
+ }
+ };
+
+ /*
+ * "getSummaryList" and "getUserProvidedList" return parameters that should
+ * be displayed in the summary and user provided sections, respectively. The
+ * functions are expected to return lists that are in the format needed by
+ * the parameter-block directive.
+ */
+
+ var getSummaryList = function() {
+
+ /*
+ * These placeholders should be removed and their usage in
+ * "getSummaryList" should be replaced by appropriate code as the
+ * requirements and interfaces firm up.
+ */
+
+ var PLACEHOLDER_RESOURCE_DESCRIPTION = "Resource Description (PLACEHOLDER)";
+ var PLACEHOLDER_SERVICE_CATEGORY = "Service Category (PLACEHOLDER)";
+ var PLACEHOLDER_VF_MODULE_DESCRIPTION = "VF Module Description (PLACEHOLDER)";
+ var PLACEHOLDER_VF_MODULE_LABEL = "VF Module Label (PLACEHOLDER)";
+ var PLACEHOLDER_VF_MODULE_TYPE = "VF Module Type (PLACEHOLDER)";
+
+ _this.parameterList = new Array();
+
+ /*
+ * Common fields displayed at the top of all create instance screens.
+ */
+ if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]==null
+ || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==undefined
+ || DataService.getModelInfo(_this.componentId)["serviceTypeName"]==''){
+ addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
+ }
+
+ switch (_this.componentId) {
+ case COMPONENT.SERVICE:
+ if ( !DataService.getALaCarte() ) {
+ // for macro instantiation need to add the resource names under the node template list
+ // this field is called modelCustomizationName in the asdc client code
+ var p;
+ var rlist = DataService.getResources();
+ var res;
+ if ( rlist != null ) {
+ for (var i = 0; i < rlist.length; i++) {
+ res = rlist[i];
+
+ p = FIELD.NAME.RESOURCE_NAME.concat(" " + (i+1));
+ addToList(p, res.name );
+ p = FIELD.NAME.RESOURCE_DESCRIPTION.concat(" " + (i+1));
+ addToList(p, res.description );
+ }
+ }
+ }
+ if(DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=null && DataService.getModelInfo(_this.componentId)["createSubscriberName"]!=''){
+ addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
+ .getModelInfo(_this.componentId)["createSubscriberName"]);
+ }
+ if(DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=null && DataService.getModelInfo(_this.componentId)["serviceTypeName"]!=''){
+ addToList(FIELD.NAME.SERVICE_TYPE, DataService
+ .getModelInfo(_this.componentId)["serviceTypeName"]);
+ addToList(FIELD.NAME.SERVICE_NAME, DataService.getServiceName());
+ }
+ addToList(FIELD.NAME.SERVICE_INVARIANT_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
+ addToList(FIELD.NAME.SERVICE_VERSION, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
+ addToList(FIELD.NAME.SERVICE_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
+ addToList(FIELD.NAME.SERVICE_DESCRIPTION, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]);
+ addToList(FIELD.NAME.SERVICE_CATEGORY, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]);
+ if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") {
+ addToList(FIELD.NAME.SERVICE_TYPE, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]);
+ addToList(FIELD.NAME.SERVICE_ROLE, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]);
+ }
+
+ break;
+ case COMPONENT.VF_MODULE:
+ addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
+ .getSubscriberName());
+ addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
+ .getServiceInstanceName());
+ addToList(FIELD.NAME.MODEL_NAME, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
+ addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
+ addToList(FIELD.NAME.MODEL_VERSION, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
+ addToList(FIELD.NAME.MODEL_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
+ addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
+ break;
+ case COMPONENT.VNF:
+ addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
+ .getSubscriberName());
+ addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
+ .getServiceInstanceName());
+ addToList(FIELD.NAME.MODEL_NAME, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
+ addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
+ addToList(FIELD.NAME.MODEL_VERSION, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
+ addToList(FIELD.NAME.MODEL_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
+ addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
+ addToList(FIELD.NAME.MODEL_CUSTOMIZATION_NAME, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_CUSTOMIZATION_NAME]);
+ addToList(FIELD.NAME.MODEL_VNF_TYPE, DataService
+ .getModelInfo(_this.componentId)[COMPONENT.VNF_TYPE]);
+ addToList(FIELD.NAME.MODEL_VNF_ROLE, DataService
+ .getModelInfo(_this.componentId)[COMPONENT.VNF_ROLE]);
+ addToList(FIELD.NAME.MODEL_VNF_FUNCTION, DataService
+ .getModelInfo(_this.componentId)[COMPONENT.VNF_FUNCTION]);
+ addToList(FIELD.NAME.MODEL_VNF_CODE, DataService
+ .getModelInfo(_this.componentId)[COMPONENT.VNF_CODE]);
+ break;
+ case COMPONENT.NETWORK:
+ case COMPONENT.VOLUME_GROUP:
+ addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService
+ .getSubscriberName());
+ addToList(FIELD.NAME.SERVICE_INSTANCE_NAME, DataService
+ .getServiceInstanceName());
+ addToList(FIELD.NAME.MODEL_NAME, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME]);
+ addToList(FIELD.NAME.MODEL_INVARIANT_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_INVARIANT_ID]);
+ addToList(FIELD.NAME.MODEL_VERSION, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_VERSION]);
+ addToList(FIELD.NAME.MODEL_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.MODEL_NAME_VERSION_ID]);
+ addToList(FIELD.NAME.MODEL_CUSTOMIZATION_UUID, DataService
+ .getModelInfo(_this.componentId)[FIELD.ID.CUSTOMIZATION_UUID]);
+ break;
+ }
+
+ return _this.parameterList;
+ };
+
+ var getUserProvidedList = function() {
+ var parameterList = [];
+ var isUserProvidedNaming = false;
+ if ( ((DataService.getModelInfo(_this.componentId).serviceEcompNaming != null)
+ && (DataService.getModelInfo(_this.componentId).serviceEcompNaming === "false")) || DataService.getE2EService() ) {
+ isUserProvidedNaming = true;
+ }
+
+ var isInTop = DataService.getHideServiceFields() || false;
+ if (_this.componentId === COMPONENT.SERVICE) {
+ if ( DataService.getALaCarte() ) {
+ parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
+ if(!isInTop){
+ parameterList = parameterList.concat([ getSubscribersParameter(),
+ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
+ }
+ }
+ else {
+ // macro
+
+ if(!isInTop){
+ if (isUserProvidedNaming) {
+ parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
+
+ }
+ parameterList = parameterList.concat([ getSubscribersParameter() ]);
+ parameterList = parameterList.concat([ getServiceId(),
+ FIELD.PARAMETER.SERVICE_TYPE,
+ FIELD.PARAMETER.LCP_REGION,
+ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
+ FIELD.PARAMETER.TENANT_DISABLED
+ ]);
+ if(!DataService.getE2EService()) {
+ parameterList = parameterList.concat([getAicZonesParameter()]);
+ }
+
+ }else{
+ parameterList = parameterList.concat([ getServiceId(),
+ FIELD.PARAMETER.LCP_REGION,
+ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
+ FIELD.PARAMETER.TENANT_DISABLED ]);
+ }
+ }
+
+ if(!DataService.getE2EService()) {
+ parameterList = parameterList.concat([getProjectParameter()]);
+ parameterList = parameterList.concat([getOwningEntityParameter()]);
+ }
+
+ //if service model has a pnf, add a PNF ID parameter
+ if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_PNP_INSTANTIATION) && DataService.getPnf()) {
+ parameterList = parameterList.concat([ FIELD.PARAMETER.PNF_ID ]);
+ }
+ }
+ else {
+ parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ];
+ switch (_this.componentId) {
+ case COMPONENT.NETWORK:
+ case COMPONENT.VNF:
+ parameterList = parameterList.concat([ getServiceId(),
+ getLcpRegionParameter(), FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
+ FIELD.PARAMETER.TENANT_DISABLED ]);
+ parameterList = parameterList.concat([ getLineOfBusinessParameter() ]);
+ parameterList = parameterList.concat([ getPlatformParameter() ]);
+
+ break;
+ case COMPONENT.VF_MODULE:
+ parameterList = parameterList.concat([
+ getLcpRegionParameter(),
+ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
+ FIELD.PARAMETER.TENANT_DISABLED
+ ]);
+
+ var availableVolumeGroupList = DataService.getAvailableVolumeGroupList();
+
+ if (availableVolumeGroupList && availableVolumeGroupList.length > 0) {
+ var availableVolumeGroupNames = [FIELD.STATUS.NONE];
+
+ for (var i = 0; i < availableVolumeGroupList.length; i++) {
+ availableVolumeGroupNames.push(availableVolumeGroupList[i].instance.name);
+ }
+
+ parameterList.push(addOptionList(
+ FIELD.PARAMETER.AVAILABLE_VOLUME_GROUP,
+ availableVolumeGroupNames));
+ }
+ break;
+ case COMPONENT.VOLUME_GROUP:
+ parameterList = parameterList.concat([ getLcpRegionParameter(),
+ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN,
+ FIELD.PARAMETER.TENANT_DISABLED ]);
+ }
+ }
+ parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK);
+ if(_this.componentId === COMPONENT.VF_MODULE ){
+ parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD,
+ id: FIELD.ID.SDN_C_PRELOAD,
+ type: "checkbox",
+ isEnabled: true,
+ isRequired: false,
+ hideFieldAndLabel: true
+ }
+ );
+ parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
+ id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
+ type: "checkbox",
+ isEnabled: true,
+ isRequired: false,
+ value:false
+ }
+ );
+
+ parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
+ id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
+ type: "file",
+ isRequired: false,
+ isVisiblity: false
+ }
+ );
+ }
+
+ if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){
+ parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,
+ id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,
+ type: "checkbox",
+ isEnabled: true,
+ isRequired: false
+ }
+ );
+
+ parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE,
+ id: FIELD.ID.SUPPLEMENTORY_DATA_FILE,
+ type: "file",
+ isRequired: false,
+ isVisiblity: false
+ }
+ );
+ }
+
+ addArbitraryParameters(parameterList);
+
+ return parameterList;
+ };
+
+ var addArbitraryParameters = function(parameterList) {
+ if ( DataService.getModelInfo(_this.componentId).displayInputs != null ) {
+ var inputs = DataService.getModelInfo(_this.componentId).displayInputs;
+ for ( var key in inputs) {
+ var parameter = {
+ id : key,
+ type : PARAMETER.STRING,
+ name : ComponentService.getFieldDisplayName(key),
+ value : inputs[key][PARAMETER.DEFAULT],
+ isRequired : inputs[key][PARAMETER.REQUIRED],
+ description : inputs[key][PARAMETER.DESCRIPTION]
+ };
+ if ( DataService.getALaCarte() ) {
+ parameter.name = ComponentService.getFieldDisplayName(inputs[key][PARAMETER.DISPLAY_NAME]);
+ }
+ switch (inputs[key][PARAMETER.TYPE]) {
+ case PARAMETER.INTEGER:
+ parameter.type = PARAMETER.NUMBER;
+ break;
+ case PARAMETER.BOOLEAN:
+ parameter.type = PARAMETER.BOOLEAN;
+ break;
+ case PARAMETER.RANGE:
+ break;
+ case PARAMETER.LIST:
+ parameter.type = PARAMETER.LIST;
+ break;
+ case PARAMETER.MAP:
+ parameter.type = PARAMETER.MAP;
+ break;
+ }
+
+ if ( UtilityService.hasContents(inputs[key][PARAMETER.CONSTRAINTS])
+ && ( inputs[key][PARAMETER.CONSTRAINTS].length > 0 ) ) {
+ var constraintsArray = inputs[key][PARAMETER.CONSTRAINTS];
+ //console.log ("Calling addConstraintParameters for input name=" + key);
+ addConstraintParameters (parameterList, constraintsArray, key, inputs, parameter);
+ }
+ else {
+
+ parameterList.push(parameter);
+ }
+ }
+ DataService.setArbitraryParameters (parameterList);
+ }
+ };
+
+ var addConstraintParameters = function(parameterList, constraintsArray, key, inputs, parameter) {
+ // If there are constraints and the operator is "valid_values",
+ // use a select parameter type.
+ var i = constraintsArray.length;
+ var parameterPushed = false;
+ if ( i > 0 ) {
+ while ( (i--) && (!parameterPushed) ) {
+ var keys = Object.keys(constraintsArray[i]);
+ //var keys_len = keys.length;
+ for ( var operator in keys ) {
+ //console.log ("keys[operator]=" + keys[operator]);
+ switch (keys[operator]) {
+ case PARAMETER.VALID_VALUES:
+ var j = constraintsArray[i][PARAMETER.VALID_VALUES].length;
+ if ( j > 0 ) {
+ var oList = [];
+ var option;
+ while (j--) {
+ option = {
+ name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
+ isDefault: false
+ }
+ if ( ( UtilityService.hasContents (inputs[key][PARAMETER.DEFAULT]) )
+ && (inputs[key][PARAMETER.DEFAULT] === constraintsArray[i][PARAMETER.VALID_VALUES][j] ) ) {
+ option = {
+ name: constraintsArray[i][PARAMETER.VALID_VALUES][j],
+ isDefault: true
+ }
+ }
+ oList.push(option);
+ }
+ parameter.type = PARAMETER.SELECT;
+ parameter.optionList = oList;
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for valid values");
+ }
+ break;
+
+ case PARAMETER.EQUAL:
+ if ( constraintsArray[i][PARAMETER.EQUAL] != null ) {
+ //override parameter type
+ parameter.type = PARAMETER.STRING;
+ parameter.isReadOnly = true;
+ parameter.value = constraintsArray[i][PARAMETER.EQUAL];
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for equal");
+ }
+ break;
+
+ case PARAMETER.LENGTH:
+ if ( constraintsArray[i][PARAMETER.LENGTH] != null ) {
+ parameter.minLength = constraintsArray[i][PARAMETER.LENGTH];
+ parameter.maxLength = constraintsArray[i][PARAMETER.LENGTH];
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for length: ");
+ //console.log (JSON.stringify (parameter, null, 4));
+ }
+ break;
+ case PARAMETER.MAX_LENGTH:
+ if ( constraintsArray[i][PARAMETER.MAX_LENGTH] != null ) {
+ parameter.maxLength = constraintsArray[i][PARAMETER.MAX_LENGTH];
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for max length: ");
+ //console.log (JSON.stringify (parameter, null, 4));
+ }
+ break;
+ case PARAMETER.MIN_LENGTH:
+ if ( constraintsArray[i][PARAMETER.MIN_LENGTH] != null ) {
+ parameter.minLength = constraintsArray[i][PARAMETER.MIN_LENGTH];
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for min length: ");
+ //console.log (JSON.stringify (parameter, null, 4));
+ }
+ break;
+ case PARAMETER.IN_RANGE:
+ if ( constraintsArray[i][PARAMETER.IN_RANGE] != null ) {
+ if (constraintsArray[i][PARAMETER.IN_RANGE].length > 1 ) {
+ parameter.min = constraintsArray[i][PARAMETER.IN_RANGE][0];
+ parameter.max = constraintsArray[i][PARAMETER.IN_RANGE][1];
+ parameter.type = PARAMETER.NUMBER;
+ parameter.value = inputs[key][PARAMETER.DEFAULT]
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for in_range");
+ }
+ }
+ break;
+ case PARAMETER.GREATER_THAN:
+ if ( constraintsArray[i][PARAMETER.GREATER_THAN] != null ) {
+ parameter.type = PARAMETER.NUMBER;
+ parameter.min = constraintsArray[i][PARAMETER.GREATER_THAN];
+ parameter.value = inputs[key][PARAMETER.DEFAULT]
+ parameterList.push(parameter);
+ parameterPushed = true;
+ //console.log ("pushed param for greater_than");
+
+ }
+ break;
+ }//switch
+ }//for
+
+ }//while
+ }//if
+ };
+ var addToList = function(name, value) {
+ _this.parameterList.push({
+ name : name,
+ value : value
+ });
+ };
+ var setInventoryInfo = function(){
+ var inventoryItem = DataService.getInventoryItem();
+ var inventoryInfo = ComponentService.getInventoryInfo(
+ _this.componentId, inventoryItem);
+ }
+
+ /*
+ * The "*Mso*" functions return URL and request details that can be passed
+ * to the MSO controller. The request details defines the info passed as
+ * part of the POST body.
+ */
+
+ var getMsoUrl = function() {
+ switch (_this.componentId) {
+ case COMPONENT.NETWORK:
+ return "mso_create_nw_instance/"
+ + DataService.getServiceInstanceId();
+ case COMPONENT.SERVICE:
+ if(DataService.getE2EService() === true)
+ return "mso_create_e2e_svc_instance";
+ else
+ return "mso_create_svc_instance";
+ case COMPONENT.VNF:
+ return "mso_create_vnf_instance/"
+ + DataService.getServiceInstanceId();
+ case COMPONENT.VF_MODULE:
+ return "mso_create_vfmodule_instance/"
+ + DataService.getServiceInstanceId() + "/vnfs/"
+ + DataService.getVnfInstanceId();
+ case COMPONENT.VOLUME_GROUP:
+ return "mso_create_volumegroup_instance/"
+ + DataService.getServiceInstanceId() + "/vnfs/"
+ + DataService.getVnfInstanceId();
+ }
+ };
+
+ var getMsoE2ERequest = function(parameterList) {
+ var modelInfo = DataService.getModelInfo(_this.componentId);
+
+ //region id
+ var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
+ if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
+ lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
+ parameterList);
+ }
+ var cloudOwner = _.find(DataService.getCloudRegionTenantList(), function(region){
+ return region.cloudRegionId === lcpRegion;
+ }).cloudOwner;
+
+ var params = [];
+ var displayInputs = modelInfo.displayInputs;
+ var groupBy = _.groupBy(displayInputs, "templateUUID");
+
+ _.forEach(groupBy, function(nodeTemplateInputs, nodeTemplateUUID) {
+ var reqParas = {};
+ var vfLocations = [];
+
+ nodeTemplateInputs.forEach(function(parameter){
+ if(parameter.type === 'vf_location') {
+ var loc = {
+ vnfProfileId: parameter.displayName,
+ locationConstraints : {
+ vimId: cloudOwner + '_' + lcpRegion
+ }
+ };
+ vfLocations.push(loc);
+ } else if(parameter.type === 'sdn_controller') {
+ if(parameter.value === undefined || parameter.value === null) {
+ reqParas[parameter.name] = '';
+ } else {
+ reqParas[parameter.name] = parameter.value.value;
+ }
+ } else {
+ var name;
+ _.forEach(displayInputs, function(item, key){
+ if(item === parameter) {
+ name = key;
+ }
+ });
+ var value = _.find(parameterList, function(item){
+ return item.id === name;
+ }).value;
+ reqParas[parameter.displayName] = value;
+ }
+ });
+
+ params.push({
+ resourceName: nodeTemplateInputs[0].templateName,
+ resourceInvariantUuid: nodeTemplateInputs[0].templateInvariantUUID,
+ resourceUuid: nodeTemplateInputs[0].templateUUID,
+ resourceCustomizationUuid: nodeTemplateInputs[0].templateCustomizationUUID,
+ parameters: {
+ locationConstraints: vfLocations,
+ //TODO resources: [],
+ requestInputs: reqParas
+ }
+ });
+ });
+
+ var requestBody = {
+ service: {
+ name: getValueFromList(FIELD.ID.INSTANCE_NAME, parameterList),
+ description: modelInfo["description"],
+ serviceInvariantUuid: modelInfo["modelInvariantId"],
+ serviceUuid: modelInfo["modelNameVersionId"],
+ globalSubscriberId: DataService.getGlobalCustomerId(),
+ serviceType: getValueFromList(FIELD.ID.SERVICE_TYPE, parameterList) || modelInfo["serviceTypeName"],
+ parameters: {
+ locationConstraints: [],
+ resources: params,
+ requestInputs: {} //TODO
+ }
+ }
+ };
+
+ return requestBody;
+ };
+
+ var getMsoRequestDetails = function(parameterList) {
+ console.log("getMsoRequestDetails invoked, parameterList="); console.log(JSON.stringify(parameterList,null,4));
+ //console.log("getMsoRequestDetails invoked, DataService.getArbitraryParameters()=");
+ //console.log(JSON.stringify(DataService.getArbitraryParameters(),null,4));
+
+ //VoLTE logic goes here
+ if(DataService.getE2EService() === true) {
+ return getMsoE2ERequest(parameterList);
+ }
+
+ var modelInfo = DataService.getModelInfo(_this.componentId);
+ var requestorloggedInId = DataService.getLoggedInUserId();
+ var owningEntityId = getValueFromList(FIELD.ID.OWNING_ENTITY, parameterList);
+ if (requestorloggedInId == null)
+ requestorloggedInId = "";
+ var isSupRollback = false;
+ if (getValueFromList(FIELD.ID.SUPPRESS_ROLLBACK,parameterList) === "true") {
+ isSupRollback = true;
+ }
+ var requestDetails = {
+ requestInfo : {
+ instanceName : getValueFromList(FIELD.ID.INSTANCE_NAME,
+ parameterList) || DataService.getVfModuleInstanceName(),
+ source : FIELD.ID.VID,
+ suppressRollback : isSupRollback,
+ requestorId: requestorloggedInId
+ },
+ modelInfo : {
+ modelType : _this.componentId,
+ modelInvariantId : modelInfo.modelInvariantId,
+ modelVersionId : modelInfo.modelNameVersionId,
+ modelName : modelInfo.modelName,
+ modelVersion : modelInfo.modelVersion,
+ modelCustomizationId: modelInfo.customizationUuid,
+ modelCustomizationName : modelInfo.modelCustomizationName
+ },
+ requestParameters : {
+ userParams : getArbitraryParameters(parameterList)
+ }
+ };
+ if (featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ADD_MSO_TESTAPI_FIELD)) {
+ if ((_this.componentId != COMPONENT.SERVICE) || ( DataService.getALaCarte() )) {
+ requestDetails.requestParameters.testApi = DataService.getMsoRequestParametersTestApi();
+ }
+ }
+ if ( (_this.componentId != COMPONENT.SERVICE) || ( !DataService.getALaCarte() ) ) {
+ // include cloud region for everything but service create alacarte
+ var lcpRegion = getValueFromList(FIELD.ID.LCP_REGION, parameterList);
+ if (lcpRegion === FIELD.KEY.LCP_REGION_TEXT) {
+ lcpRegion = getValueFromList(FIELD.ID.LCP_REGION_TEXT,
+ parameterList);
+ }
+ requestDetails.cloudConfiguration = {
+ lcpCloudRegionId : lcpRegion,
+ tenantId : getValueFromList(FIELD.ID.TENANT, parameterList)
+ };
+ }
+ switch (_this.componentId) {
+
+ case COMPONENT.SERVICE:
+ requestDetails.subscriberInfo = {
+ globalSubscriberId : DataService.getGlobalCustomerId(),
+ subscriberName : DataService.getSubscriberName()
+ };
+ var isInTop = DataService.getHideServiceFields() || false;
+ if(isInTop){
+ requestDetails.requestParameters.subscriptionServiceType = DataService.getModelInfo(_this.componentId)["serviceTypeName"];
+ }else{
+ requestDetails.requestParameters.subscriptionServiceType = getValueFromList(
+ FIELD.ID.SERVICE_TYPE, parameterList);
+ }
+ requestDetails.requestParameters.aLaCarte = DataService.getALaCarte();
+ if ( !DataService.getALaCarte() ) {
+ requestDetails.requestInfo.productFamilyId = getValueFromList(
+ FIELD.ID.PRODUCT_FAMILY, parameterList);
+ }
+ var svcModelInfo = {
+ modelType : _this.componentId,
+ modelInvariantId : modelInfo.modelInvariantId,
+ modelVersionId : modelInfo.modelNameVersionId,
+ modelName : modelInfo.modelName,
+ modelVersion : modelInfo.modelVersion
+ };
+ requestDetails.modelInfo = svcModelInfo;
+
+ var selectedProject = getValueFromList(FIELD.ID.PROJECT, parameterList);
+
+ if (selectedProject) {
+ requestDetails.project = {
+ projectName: getValueFromList(FIELD.ID.PROJECT, parameterList)
+ };
+ }
+
+ requestDetails.owningEntity = {
+ owningEntityId: owningEntityId,
+ owningEntityName: getOwningEntityNameById(owningEntityId)
+ };
+
+ break;
+ case COMPONENT.VNF:
+
+ requestDetails.requestInfo.productFamilyId = getValueFromList(
+ FIELD.ID.PRODUCT_FAMILY, parameterList);
+
+ var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
+
+ if(lineOfBusiness) {
+ var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");
+
+ requestDetails.lineOfBusiness = {
+ lineOfBusinessName: lineOfBusinessNamesString
+ }
+ }
+
+ requestDetails.platform = {
+ platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)
+ };
+
+ break;
+ case COMPONENT.NETWORK:
+ requestDetails.requestInfo.productFamilyId = getValueFromList(
+ FIELD.ID.PRODUCT_FAMILY, parameterList);
+ var lineOfBusiness = getValueFromList(FIELD.ID.LINE_OF_BUSINESS, parameterList);
+
+ if(lineOfBusiness) {
+ var lineOfBusinessNamesString = _.map(lineOfBusiness, "name").join(", ");
+
+ requestDetails.lineOfBusiness = {
+ lineOfBusinessName: lineOfBusinessNamesString
+ }
+ }
+
+ requestDetails.platform = {
+ platformName: getValueFromList(FIELD.ID.PLATFORM, parameterList)
+ };
+ break;
+ case COMPONENT.VF_MODULE:
+ requestDetails.requestParameters.usePreload = getValueFromList(
+ FIELD.ID.SDN_C_PRELOAD, parameterList);
+ if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){
+ requestDetails.requestParameters.usePreload = false;
+ }
+ break;
+ case COMPONENT.VOLUME_GROUP:
+ break;
+ }
+
+ var relatedInstanceList = getRelatedInstanceList(parameterList);
+
+ if (relatedInstanceList !== undefined) {
+ requestDetails.relatedInstanceList = relatedInstanceList;
+ }
+
+ return requestDetails;
+ };
+
+ var getRelatedInstanceList = function(parameterList) {
+ var relatedInstanceList = new Array();
+ switch (_this.componentId) {
+ case COMPONENT.SERVICE:
+ return undefined;
+ case COMPONENT.NETWORK:
+ case COMPONENT.VNF:
+ addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
+ DataService.getServiceInstanceId());
+ break;
+ case COMPONENT.VF_MODULE:
+ addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
+ DataService.getServiceInstanceId());
+ addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
+ .getVnfInstanceId());
+
+ var availableVolumeGroup = getValueFromList(
+ FIELD.ID.AVAILABLE_VOLUME_GROUP, parameterList);
+
+ if (UtilityService.hasContents(availableVolumeGroup) && availableVolumeGroup !== "None") {
+ var availableVolumeGroups = DataService.getAvailableVolumeGroupList();
+
+ for (var i = 0; i < availableVolumeGroups.length; i++) {
+ if (availableVolumeGroups[i].instance.name == availableVolumeGroup) {
+ DataService.setModelInfo(COMPONENT.VOLUME_GROUP, DataService.getModelInfo(COMPONENT.VF_MODULE));
+ DataService.setVolumeGroupInstanceId(availableVolumeGroups[i].instance.object["volume-group-id"]);
+ break;
+ }
+ }
+
+ addRelatedInstance(relatedInstanceList, COMPONENT.VOLUME_GROUP,
+ DataService.getVolumeGroupInstanceId());
+ }
+ break;
+ case COMPONENT.VOLUME_GROUP:
+ addRelatedInstance(relatedInstanceList, COMPONENT.SERVICE,
+ DataService.getServiceInstanceId());
+ addRelatedInstance(relatedInstanceList, COMPONENT.VNF, DataService
+ .getVnfInstanceId());
+ break;
+ }
+
+ return relatedInstanceList;
+ };
+
+ var addRelatedInstance = function(relatedInstanceList, componentId,
+ instanceId) {
+ var modelInfo = DataService.getModelInfo(componentId);
+ var relatedInstance;
+ if (modelInfo !== undefined) {
+ if (componentId === COMPONENT.SERVICE) {
+ relatedInstance = {
+ "instanceId" : instanceId,
+ "modelInfo" : {
+ "modelType" : componentId,
+ "modelName" : modelInfo.modelName,
+ "modelInvariantId" : modelInfo.modelInvariantId,
+ "modelVersion" : modelInfo.modelVersion,
+ "modelVersionId" : modelInfo.modelNameVersionId,
+
+ }
+ };
+ }
+ else {
+ relatedInstance = {
+ "instanceId" : instanceId,
+ "modelInfo" : {
+ "modelType" : componentId,
+ "modelName" : modelInfo.modelName,
+ "modelInvariantId" : modelInfo.modelInvariantId,
+ "modelVersion" : modelInfo.modelVersion,
+ "modelVersionId" : modelInfo.modelNameVersionId,
+ "modelCustomizationId": modelInfo.customizationUuid,
+ "modelCustomizationName": modelInfo.modelCustomizationName
+ }
+ }
+ }
+ relatedInstanceList.push({
+ relatedInstance : relatedInstance
+ });
+ }
+ };
+
+ /*
+ * var getArbitraryParameters = function(parameterList) { var
+ * arbitraryParameters = new Object(); for (var i = 0; i <
+ * parameterList.length; i++) { var parameter = parameterList[i]; switch
+ * (parameter.id) { case FIELD.ID.INSTANCE_NAME: case
+ * FIELD.ID.PRODUCT_FAMILY: case FIELD.ID.LCP_REGION: case
+ * FIELD.ID.LCP_REGION_TEXT: case FIELD.ID.SERVICE_TYPE: case
+ * FIELD.ID.TENANT: case FIELD.ID.SUPPRESS_ROLLBACK: break; default:
+ * arbitraryParameters[parameter.id] = parameter.value; } } return
+ * arbitraryParameters; }
+ */
+ var getArbitraryParameters = function(parameterList) {
+ var arbitraryParameters = new Object();
+ var arbitraryArray = new Array();
+ for (var i = 0; i < parameterList.length; i++) {
+ var parameter = parameterList[i];
+ switch (parameter.id) {
+ case FIELD.ID.AVAILABLE_VOLUME_GROUP:
+ case FIELD.ID.INSTANCE_NAME:
+ case FIELD.ID.PRODUCT_FAMILY:
+ case FIELD.ID.LCP_REGION:
+ case FIELD.ID.LCP_REGION_TEXT:
+ case FIELD.ID.SERVICE_TYPE:
+ case FIELD.ID.TENANT:
+ case FIELD.ID.SUPPRESS_ROLLBACK:
+ case FIELD.ID.SUBSCRIBER_NAME:
+ case FIELD.ID.SDN_C_PRELOAD:
+ case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE:
+ case FIELD.ID.OWNING_ENTITY:
+ case FIELD.ID.PLATFORM:
+ case FIELD.ID.LINE_OF_BUSINESS:
+ case FIELD.ID.PROJECT:
+ break;
+ case FIELD.ID.SUPPLEMENTORY_DATA_FILE:
+ arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'];
+ arbitraryArray=arbitraryParameters;
+ FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[];
+ break;
+
+ default:
+ if (parameter.value != '') {
+ arbitraryParameters = {
+ name: parameter.id,
+ value: parameter.value
+ }
+ arbitraryArray.push(arbitraryParameters);
+ }
+ }
+ }
+ return (arbitraryArray);
+ }
+
+ var getModel = function() {
+ AsdcService.getModel(DataService.getModelId(), function(response) {
+ DataService.setModelInfo(_this.componentId, {
+ modelInvariantId : response.data.invariantUUID,
+ modelNameVersionId : response.data.uuid,
+ modelName : response.data.name,
+ modelVersion : response.data.version,
+ inputs : response.data.inputs
+ });
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+
+ var getSubscriptionServiceTypeList = function() {
+ AaiService.getSubscriptionServiceTypeList(DataService
+ .getGlobalCustomerId(), function(response) {
+ DataService.setSubscriptionServiceTypeList(response);
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+
+ var getLoggedInUserID = function() {
+ AaiService.getLoggedInUserID(function(response) {
+ DataService.setLoggedInUserId(response.data);
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+
+ var getSubscribers = function() {
+ AaiService.getSubscribers(function(response) {
+ DataService.setSubscribers(response);
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+ var getServices = function() {
+ AaiService.getServices(function(response) {
+ var serviceIdList = [];
+ angular.forEach(response.data, function(value, key) {
+ angular.forEach(value, function(subVal, key) {
+ var newVal = {
+ "id" : subVal[FIELD.ID.SERVICE_ID],
+ "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION],
+ "isPermitted" : subVal[FIELD.ID.IS_PERMITTED],
+ };
+ serviceIdList.push(newVal);
+ DataService.setServiceIdList(serviceIdList);
+ });
+ });
+
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+ var getAicZones = function() {
+ AaiService.getAicZones(function(response) {
+ var serviceIdList = [];
+ angular.forEach(response.data, function(value, key) {
+ angular.forEach(value, function(subVal, key) {
+ var newVal = {
+ "id" : subVal[FIELD.ID.ZONE_ID],
+ "name" : subVal[FIELD.ID.ZONE_NAME],
+ };
+ serviceIdList.push(newVal);
+ DataService.setAicZones(serviceIdList);
+ });
+ });
+
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+
+ var getOwningEntityProperties = function() {
+ OwningEntityService.getOwningEntityProperties(function(owningEntityProperties) {
+ DataService.setOwningEntityProperties(owningEntityProperties);
+ UtilityService.startNextAsyncOperation();
+ });
+
+ };
+
+ var getLcpCloudRegionTenantList = function() {
+ AaiService.getLcpCloudRegionTenantList(DataService
+ .getGlobalCustomerId(), DataService.getServiceType(), function(
+ response) {
+ DataService.setCloudRegionTenantList(response);
+ UtilityService.startNextAsyncOperation();
+ });
+ };
+
+ var internalGetParametersHandler = function() {
+ if (angular.isFunction(_this.getParametersHandler)) {
+ _this.getParametersHandler({
+ summaryList : getSummaryList(),
+ userProvidedList : getUserProvidedList()
+ });
+ }
+ };
+
+ var getSubscribersParameter = function() {
+ var subscribers = DataService.getSubscribers();
+ var parameter = FIELD.PARAMETER.SUBSCRIBER_NAME;
+ if ( UtilityService.hasContents(subscribers)) {
+ parameter.optionList = [];
+
+ for (var i = 0; i < subscribers.length; i++) {
+ parameter.optionList.push({
+ id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID],
+ name : subscribers[i][FIELD.ID.SUBNAME],
+ isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED]
+ })
+ }
+ }
+ return parameter;
+ };
+
+ var getServiceId = function() {
+ var serviceIdList = DataService.getServiceIdList();
+ //var serviceTypeList = DataService.getSubscriptionServiceTypeList();
+ var parameter = FIELD.PARAMETER.PRODUCT_FAMILY;
+ parameter.optionList = new Array();
+ if ( UtilityService.hasContents(serviceIdList) ) {
+ // load them all
+ for (var i = 0; i < serviceIdList.length; i++) {
+ parameter.optionList.push({
+ id : serviceIdList[i].id,
+ name : serviceIdList[i].description,
+ isPermitted : serviceIdList[i].isPermitted
+ });
+ }
+ }
+
+ return parameter;
+ };
+
+ var getAicZonesParameter = function() {
+ var aicList = DataService.getAicZones();
+ var parameter = FIELD.PARAMETER.AIC_ZONES;
+ parameter.optionList = new Array();
+ if ( UtilityService.hasContents(aicList) ) {
+ // load them all
+ for (var i = 0; i < aicList.length; i++) {
+ parameter.optionList.push({
+ id : aicList[i].id,
+ name : aicList[i].name,
+ isPermitted : true
+
+ });
+ }
+ }
+
+ return parameter;
+ };
+
+ var getProjectParameter = function() {
+ return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PROJECT);
+ };
+
+ var getOwningEntityParameter = function() {
+ return getOwningEntityParameterWithOptions(FIELD.PARAMETER.OWNING_ENTITY);
+ };
+
+ var getLineOfBusinessParameter = function() {
+ return getOwningEntityParameterWithOptions(FIELD.PARAMETER.LINE_OF_BUSINESS);
+ };
+
+ var getPlatformParameter = function() {
+ return getOwningEntityParameterWithOptions(FIELD.PARAMETER.PLATFORM);
+ };
+
+ var getOwningEntityNameById = function (id) {
+ var properties = DataService.getOwningEntityProperties();
+ var parameter = _.find(properties[FIELD.ID.OWNING_ENTITY], {"id": id});
+ return parameter && parameter.name;
+ };
+
+ var getOwningEntityParameterWithOptions = function(parameter) {
+ var properties = DataService.getOwningEntityProperties();
+ if (properties && properties[parameter.id]) {
+ parameter.optionList = _.map(properties[parameter.id], function(parameter) {
+ return {
+ "id" : parameter.id,
+ "name" : parameter.name,
+ "isPermitted": true
+ };
+ });
+ }
+
+ return parameter;
+ };
+
+ var getLcpRegionParameter = function() {
+ var cloudRegionTenantList = DataService.getCloudRegionTenantList();
+ console.log ( "cloudRegionTenantList=");
+ console.log ( JSON.stringify (cloudRegionTenantList, null, 4 ));
+
+ var parameter = FIELD.PARAMETER.LCP_REGION;
+ if ( UtilityService.hasContents (cloudRegionTenantList) ) {
+ parameter.optionList = new Array();
+ for (var i = 0; i < cloudRegionTenantList.length; i++) {
+ for (var j = 0; j < parameter.optionList.length; j++) {
+ if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) {
+ parameter.optionList[j].isPermitted =
+ parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted;
+ break;
+ }
+ }
+ if (j < parameter.optionList.length) {
+ continue;
+ }
+
+ var optionName = featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST) && cloudRegionTenantList[i].cloudOwner ?
+ cloudRegionTenantList[i].cloudRegionId + " (" + AaiService.removeVendorFromCloudOwner(cloudRegionTenantList[i].cloudOwner).toUpperCase() + ")" :
+ cloudRegionTenantList[i].cloudRegionId;
+
+ parameter.optionList.push({
+ id : cloudRegionTenantList[i].cloudRegionId,
+ name: optionName,
+ isPermitted : cloudRegionTenantList[i].isPermitted
+ });
+ }
+ }
+ return parameter;
+ };
+
+ var getTenantList = function(cloudRegionId) {
+ var cloudRegionTenantList = DataService.getCloudRegionTenantList();
+ var parameter = "";
+ if ( UtilityService.hasContents (cloudRegionTenantList) ) {
+ parameter = FIELD.PARAMETER.TENANT_ENABLED;
+ parameter.optionList = new Array();
+ for (var i = 0; i < cloudRegionTenantList.length; i++) {
+ if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) {
+ parameter.optionList.push({
+ id : cloudRegionTenantList[i].tenantId,
+ name : cloudRegionTenantList[i].tenantName,
+ isPermitted : cloudRegionTenantList[i].isPermitted
+
+ });
+ }
+ }
+ }
+ return parameter;
+
+ };
+
+ var addOptionList = function(parameter, optionSimpleArray) {
+ var optionList = new Array();
+ if (!angular.isArray(optionSimpleArray)) {
+ return optionList;
+ }
+ for (var i = 0; i < optionSimpleArray.length; i++) {
+ optionList.push({
+ name : optionSimpleArray[i],
+ isPermitted :true,
+ });
+ }
+ parameter.optionList = optionList;
+ return parameter;
+ };
+
+ var getValueFromList = function(id, parameterList) {
+ for (var i = 0; i < parameterList.length; i++) {
+ if (parameterList[i].id === id) {
+ return parameterList[i].value;
+ }
+ }
+ };
+ var updateUserParameterList = function(updatedId, parameterListControl) {
+ console.log ("updateUserParameterList() updatedId=" + updatedId);
+ if (updatedId === FIELD.ID.PRODUCT_FAMILY && DataService.getHideServiceFields()) {
+ var cloudRegionTenantList = new Array();
+ AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
+ DataService.setCloudRegionTenantList(cloudRegionTenantList);
+ parameterListControl.updateList([ getLcpRegionParameter() ]);
+ });
+ }else if (updatedId === FIELD.ID.SDN_C_PRELOAD) {
+ var list = parameterListControl.getList(updatedId);
+ if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
+ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED.value=true;
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_CHECKED ]);
+ }else{
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.SDN_C_PRELOAD_UNCHECKED ]);
+ }
+ }else if (updatedId === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE) {
+ if($('input[parameter-id="'+updatedId+'"]').is(':checked')){
+ $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').show();
+ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=true;
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]);
+ }else{
+ $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide();
+ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false;
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]);
+ }
+ } else if (updatedId === FIELD.ID.SUPPLEMENTORY_DATA_FILE) {
+ var filePath = $('input[parameter-id="'+updatedId+'"]').val();
+ var arr =filePath.split('.');
+ var fileExt = arr[arr.length-1];
+ if(fileExt!='' && fileExt.toLowerCase()!='json'){
+ $('input[parameter-id="'+updatedId+'"]').val('');
+ alert("Invalid file format. Please select *.json format file.");
+ return false;
+ }
+ } else if (updatedId === FIELD.ID.LCP_REGION) {
+ var list = parameterListControl.getList(updatedId);
+ if (list[0].selectedIndex >= 0) {
+ parameterListControl
+ .updateList([ getTenantList(list[0].value) ]);
+ } else {
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.TENANT_DISABLED ]);
+ }
+ if (list[0].value === FIELD.KEY.LCP_REGION_TEXT) {
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_VISIBLE ]);
+ } else {
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN ]);
+ }
+ } else if (updatedId === FIELD.ID.SUBSCRIBER_NAME) {
+ var list = parameterListControl.getList(updatedId);
+ if (list[0].selectedIndex >= 0) {
+ DataService.setGlobalCustomerId(list[0].value);
+
+ AaiService.getSubscriptionServiceTypeList(DataService
+ .getGlobalCustomerId(), function(response) {
+ DataService.setSubscriptionServiceTypeList(response);
+ var serviceTypeParameters = FIELD.PARAMETER.SERVICE_TYPE;
+ serviceTypeParameters.optionList = [];
+
+ for (var i = 0; i < response.length; i++) {
+ serviceTypeParameters.optionList.push({
+ "id" : response[i].name,
+ "name" : response[i].name,
+ "isPermitted" :response[i].isPermitted
+
+ });
+ }
+ console.log ( "updateUserParameterList: service type parameters " );
+ console.log ( JSON.stringify (serviceTypeParameters, null, 4));
+ parameterListControl.updateList([ serviceTypeParameters ]);
+ });
+
+ }
+ } else if ( updatedId === FIELD.ID.SERVICE_TYPE ) {
+ var list = parameterListControl.getList(updatedId);
+ if (list[0].selectedIndex >= 0) {
+
+ DataService.setServiceType(list[0].value);
+ var cloudRegionTenantList = new Array();
+ AaiService.getLcpCloudRegionTenantList(DataService.getGlobalCustomerId(), DataService.getServiceType(), function(cloudRegionTenantList) {
+ DataService.setCloudRegionTenantList(cloudRegionTenantList);
+ parameterListControl.updateList([ getLcpRegionParameter() ]);
+ });
+ } else {
+ parameterListControl
+ .updateList([ FIELD.PARAMETER.SERVICE_TYPE_DISABLED ]);
+ }
+ }
+
+ };
+
+ return {
+ initializeComponent : function(componentId) {
+ _this.componentId = ComponentService.initialize(componentId);
+ },
+ setHttpErrorHandler : function(httpErrorHandler) {
+ _this.httpErrorHandler = httpErrorHandler;
+ },
+ getComponentDisplayName : ComponentService.getComponentDisplayName,
+ getParameters : function(getParametersHandler) {
+ _this.getParametersHandler = getParametersHandler;
+ UtilityService.setHttpErrorHandler(_this.httpErrorHandler);
+ UtilityService.startAsyncOperations(getAsyncOperationList(),
+ internalGetParametersHandler);
+ },
+ updateUserParameterList : updateUserParameterList,
+ getMsoRequestDetails : getMsoRequestDetails,
+ getMsoUrl : getMsoUrl,
+ setInventoryInfo: setInventoryInfo
+ }
+}
+
+appDS2.factory("CreationService", [ "$log", "AaiService", "AsdcService",
+ "DataService","VIDCONFIGURATION", "ComponentService", "COMPONENT", "FIELD", "PARAMETER",
+ "UtilityService", "OwningEntityService","featureFlags", CreationService ]);