From 6c7dcba5be04a502a2d5de7e7c5f14eedf9eaa2a Mon Sep 17 00:00:00 2001 From: jimmydot Date: Tue, 30 May 2017 16:06:51 -0400 Subject: [VID-12] Delivery of remaining features for v1.1 Change-Id: I50305ba25aaa34ee1ca7640237f31ab824655a34 Signed-off-by: jimmydot --- .../scripts/controller/InstantiationController.js | 4 +- .../scripts/controller/ServiceModelController.js | 6 +- .../scripts/controller/aaiSubscriberController.js | 114 +++++++++++++++++---- .../scripts/controller/creationDialogController.js | 78 ++++++++++++-- .../app/vid/scripts/controller/subscriberSearch.js | 2 +- 5 files changed, 174 insertions(+), 30 deletions(-) (limited to 'vid-app-common/src/main/webapp/app/vid/scripts/controller') diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js index f928f4ec..dcbf3e6e 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js @@ -236,7 +236,7 @@ }); DataService.setSubscriberName(serviceObject[FIELD.ID.SUBSCRIBER_NAME]); - DataService.setServiceType(serviceObject[FIELD.ID.SERVICE_TYPE]); + DataService.setServiceType(serviceObject[COMPONENT.SERVICE_TYPE]); DataService.setServiceInstanceId(serviceInstance[FIELD.ID.SERVICE_INSTANCE_ID]); DataService.setGlobalCustomerId(serviceObject[COMPONENT.GLOBAL_CUSTOMER_ID]); @@ -366,6 +366,7 @@ var vnfModelVersion = null; var vnfModelCustomizationUuid = null; var vnfModel = null; + var vnfModelVersionId = null; vnfModelInvariantUuid = vnf.object[FIELD.ID.MODEL_INVAR_ID]; vnfModelVersionId = vnf.object[FIELD.ID.MODEL_VERSION_ID]; @@ -435,6 +436,7 @@ var vnfModelVersion = null; var vnfModelCustomizationUuid = null; var vnfModel = null; + var vnfModelVersionId = null; vnfModelInvariantUuid = vnf.object[FIELD.ID.MODEL_INVAR_ID]; vnfModelVersionId = vnf.object[FIELD.ID.MODEL_VERSION_ID]; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js index 5d382e9e..dd2cf73f 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js @@ -139,7 +139,7 @@ for (var i = 0; i < response.control.length; i++) { if (response.control[i].id == COMPONENT.SUBSCRIBER_NAME) { subscriberId = response.control[i].value; - } else if (response.control[i].id == "service-type") { + } else if (response.control[i].id == FIELD.ID.SERVICE_TYPE) { serviceType = response.control[i].value; } } @@ -182,8 +182,8 @@ if (subVal[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) { angular.forEach(subVal[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) { $scope.serviceInstanceId = []; - if (serviceSubscription[FIELD.ID.SERVICE_TYPE] != null) { - $scope.serviceType = serviceSubscription[FIELD.ID.SERVICE_TYPE]; + if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) { + $scope.serviceType = serviceSubscription[FIELD.ID.SERVICETYPE]; } else { $scope.serviceType = FIELD.STATUS.NO_SERVICE_SUBSCRIPTION_FOUND; } diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/aaiSubscriberController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/aaiSubscriberController.js index 5caa3298..00c14148 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/aaiSubscriberController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/aaiSubscriberController.js @@ -152,20 +152,12 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER" pathQuery = COMPONENT.SERVICES_PATH +globalCustomerId+"/"+$scope.serviceTypeName; } - AaiService.getServiceModels(globalCustomerId,$scope.serviceTypeName,function(response) { // success - console.log("service models : "+response.data); - DataService.setServiceIdList(response); - }, function(response) { // failure - $scope.showError(FIELD.ERROR.AAI); - $scope.errorMsg = FIELD.ERROR.FETCHING_SERVICES+ response.status; - $scope.errorDetails = response.data; - }); - - /*$http.get('/aai_get_services/'+globalCustomerId+''+$scope.serviceTypeName) - .then(function successCallback(response) { + var namedQueryId='6e806bc2-8f9b-4534-bb68-be91267ff6c8'; + AaiService.getServiceModelsByServiceType(namedQueryId,globalCustomerId,$scope.serviceTypeName,function(response) { // success $scope.services = []; - if (angular.isArray(response.data)) { - $scope.services = response.data; + if (angular.isArray(response.data['inventory-response-item'])) { + $scope.services = response.data['inventory-response-item'][0]['inventory-response-items']['inventory-response-item']; + $scope.serviceType = response.data['inventory-response-item'][0]['service-subscription']['service-type']; $scope.viewPerPage=10; $scope.totalPage=$scope.services.length/$scope.viewPerPage; $scope.sortBy="name"; @@ -177,15 +169,100 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER" $scope.isSpinnerVisible = false; $scope.isProgressVisible = false; } else { - $scope.status = "Failed to get service models from SDC."; + $scope.status = "Failed to get service models from ASDC."; $scope.error = true; $scope.isSpinnerVisible = false; } - }, function errorCallback(response) { - console.log("Error: " + response); - }); */ - + DataService.setServiceIdList(response); + }, function(response) { // failure + $scope.showError(FIELD.ERROR.AAI); + $scope.errorMsg = FIELD.ERROR.FETCHING_SERVICES+ response.status; + $scope.errorDetails = response.data; + }); + + }; + $scope.createType = "a la carte"; + $scope.deployService = function(service,hideServiceFields) { + hideServiceFields = hideServiceFields|| false; + var temp = service; + service.uuid = service['service-instance']['model-version-id']; + + console.log("Instantiating ASDC service " + service.uuid); + + $http.get('rest/models/services/' + service.uuid) + .then(function successCallback(getServiceResponse) { + getServiceResponse.data['service'].serviceTypeName =$scope.serviceTypeName ; + getServiceResponse.data['service'].createSubscriberName =$scope.createSubscriberName ; + var serviceModel = getServiceResponse.data; + DataService.setServiceName(serviceModel.service.name); + + DataService.setModelInfo(COMPONENT.SERVICE, { + "modelInvariantId": serviceModel.service.invariantUuid, + "modelVersion": serviceModel.service.version, + "modelNameVersionId": serviceModel.service.uuid, + "modelName": serviceModel.service.name, + "description": serviceModel.service.description, + "category":serviceModel.service.category, + "serviceTypeName":serviceModel.service.serviceTypeName, + "createSubscriberName":serviceModel.service.createSubscriberName + }); + DataService.setHideServiceFields(hideServiceFields); + DataService.setALaCarte (true); + $scope.createType = "a la carte"; + var broadcastType = "createComponent"; + + if (UtilityService.arrayContains (VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid )) { + DataService.setALaCarte (false); + $scope.createType = "Macro"; + var convertedAsdcModel = UtilityService.convertModel(serviceModel); + + //console.log ("display inputs "); + //console.log (JSON.stringify ( convertedAsdcModel.completeDisplayInputs)); + + DataService.setModelInfo(COMPONENT.SERVICE, { + "modelInvariantId": serviceModel.service.invariantUuid, + "modelVersion": serviceModel.service.version, + "modelNameVersionId": serviceModel.service.uuid, + "modelName": serviceModel.service.name, + "description": serviceModel.service.description, + "category":serviceModel.service.category, + "inputs": serviceModel.service.inputs, + "displayInputs": convertedAsdcModel.completeDisplayInputs, + "serviceTypeName":serviceModel.service.serviceTypeName, + "createSubscriberName":serviceModel.service.createSubscriberName + }); + }; + + $scope.$broadcast(broadcastType, { + componentId : COMPONENT.SERVICE, + callbackFunction : function(response) { + if (response.isSuccessful) { + vidService.setModel(serviceModel); + + var subscriberId = "Not Found"; + var serviceType = "Not Found"; + + var serviceInstanceId = response.instanceId; + + for (var i = 0; i < response.control.length; i++) { + if (response.control[i].id == "subscriberName") { + subscriberId = response.control[i].value; + } else if (response.control[i].id == "serviceType") { + serviceType = response.control[i].value; + } + } + + + $scope.refreshSubs(subscriberId,serviceType,serviceInstanceId); + + } + } + }); + + }, function errorCallback(response) { + console.log("Error: " + response); + }); }; $scope.cancelCreateSIType = function(){ @@ -207,6 +284,7 @@ appDS2.controller("aaiSubscriberController", [ "COMPONENT", "FIELD", "PARAMETER" } $scope.refreshSubs = function() { + $scope.init(); $scope.fetchSubs(FIELD.PROMPT.REFRESH_SUB_LIST); $scope.fetchServices(); }; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js index 6a1c14c5..eb170915 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js @@ -20,8 +20,8 @@ "use strict"; -var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeout, $log, - CreationService, UtilityService, DataService) { +var creationDialogController = function( COMPONENT, FIELD, PARAMETER, $scope, $http, $timeout, $log, + CreationService, UtilityService, DataService,VIDCONFIGURATION) { $scope.isDialogVisible = false; $scope.summaryControl = {}; @@ -73,8 +73,29 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo return false; } return true; - } - + }; + var validateMap = function(mname) { + var patt1 = /^{(\s*\w+\s*:\s*\w+\s*)(\s*,\s*\w+\s*:\s*\w+\s*)*}$/im; + if ( mname == null ){ + return true; + } + if ( !mname.match(patt1) ) { + return false; + } + return true; + }; + + var validateList = function(lname) { + var patt1 = /^\[(\s*\w+\s*)(\s*,\s*\w+\s*)*\]$/i; + if ( lname == null ){ + return true; + } + if ( !lname.match(patt1) ) { + return false; + } + return true; + }; + $scope.userParameterChanged = function(id) { CreationService.updateUserParameterList(id, $scope.userProvidedControl); } @@ -108,7 +129,50 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo return; } } - + var arbitraryParametersList = DataService.getArbitraryParameters(); + var p = null; + if (UtilityService.hasContents (arbitraryParametersList)) { + for (var i = 0; i < arbitraryParametersList.length; i++) { + p = arbitraryParametersList[i]; + if (p.type === PARAMETER.MAP) { + //validate a map: { : , ... , : } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateMap (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_MAP + p.id, + FIELD.ERROR.MAP_VALIDATE); + return; + } + } + } + } else if (p.type === PARAMETER.LIST) { + //validate a list: { value or a list of comma separated values } + // need to find the value in paramList + for (var j = 0; j < paramList.length; j++) { + if (paramList[j].id === p.id) { + p.value = paramList[j].value; + var isValid = validateList (p.value); + if ( isValid ) { + $scope.isErrorVisible = false; + break; + } + else { + showError(FIELD.ERROR.INVALID_LIST + p.id, + FIELD.ERROR.LIST_VALIDATE); + return; + } + } + } + } + } + } var requestDetails = CreationService .getMsoRequestDetails($scope.userProvidedControl.getList()); @@ -158,6 +222,6 @@ var creationDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo } -appDS2.controller("creationDialogController", [ "COMPONENT", "FIELD", "$scope", "$http", - "$timeout", "$log", "CreationService", "UtilityService", "DataService", +appDS2.controller("creationDialogController", [ "COMPONENT", "FIELD", "PARAMETER", "$scope", "$http", + "$timeout", "$log", "CreationService", "UtilityService", "DataService","VIDCONFIGURATION", creationDialogController ]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js index afd7abad..2cf689e7 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js @@ -238,7 +238,7 @@ appDS2.controller("aaiSubscriberSearchController", [ "$scope", "$timeout", "$log }); } - + $scope.getSubscriberDet = function(selectedCustomer){ window.location.href = COMPONENT.SUBDETAILS_SELECTEDSUBSCRIBER + selectedCustomer; }; -- cgit 1.2.3-korg