X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdnc-a1-controller%2Foam%2Fconfigbackuprestore%2Fvnfconfigbackupservice%2Fsrc%2Fmain%2Fwebapp%2Fjs%2Fsdnc-controller%2Fsdnc-compareConfig-controller.js;fp=sdnc-a1-controller%2Foam%2Fconfigbackuprestore%2Fvnfconfigbackupservice%2Fsrc%2Fmain%2Fwebapp%2Fjs%2Fsdnc-controller%2Fsdnc-compareConfig-controller.js;h=0000000000000000000000000000000000000000;hb=6a24cde9bbcc101fca02204ca6f1c69ada049790;hp=9884862cdcec2f807162052f442e7dad242321ea;hpb=22ca33237c833c90e3626bf1132e72282e207ea5;p=nonrtric.git diff --git a/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js b/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js deleted file mode 100644 index 9884862c..00000000 --- a/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js +++ /dev/null @@ -1,689 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP : SDNC-FEATURES - * ================================================================================ - * Copyright 2018 TechMahindra - *================================================================================= - * 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========================================================= - */ -myApp.controller('CompareConfigCtrl', ['$scope','$filter', '$http','$window', 'growl', 'deviceConfigService', 'ObjectDiff', function($scope,$filter, $http,$window, growl, deviceConfigService, ObjectDiff) { - - $scope.showResult = false; - $scope.showCompare = false; - $scope.showView=false; - $scope.pagination = false; - $scope.gap = 2; - $scope.filteredItems = []; - $scope.groupedItems = []; - $scope.itemsPerPage = 5; - $scope.pagedItems = []; - $scope.currentPage = 0; - $scope.version1=false; - $scope.version2=false; - $scope.version3=false; - $scope.version4=false; - //THIS FUNCTION WILL BE CALLED ON PAGE LOAD - $scope.getAllVNF = function() { - - deviceConfigService.getAllVNF().then(function(data) { - if (data != null) { - console.log(data); - $scope.objvnfList = data; - console.log("CompareConfigCtrl:getAllVNF called" + $scope.objvnfList); - } else { - $scope.warningMessage = "No VNF is eligible for configuration!!!"; - growl.error($scope.warningMessage, { - title: 'Warning!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - } - }); - }; - $scope.getAllVNF(); - - $scope.selectVnf = function(selectedValueVnf) { - - if (selectedValueVnf != null && selectedValueVnf != "") { - console.log("selectedvnf Value", selectedValueVnf); - var vnfId = selectedValueVnf; - $scope.getVersionList(vnfId); - } else { - $scope.ShowResult = false; - $scope.showCompare = false; - $scope.showResult = false; - $scope.errorMessage = "Please select a VNF!!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - } - - } - - //THIS FUNCTION WILL BE CALLED ON SELECTION OF VNF - $scope.getVersionList = function(vnfId) { - - $scope.ShowResult = false; - - //service call to fetch the version list - deviceConfigService.getVersions(vnfId).then(function(result) { - console.log("-----CompareConfigCtrl::getVersionList called from controler--", JSON.stringify(result)); - var status = result.status; - var result = result.data; - if (status == 200) { - if (result.length >= 1) { - //in case of success, build the model object to store the service output here - $scope.createVersionModel(result); - - } else { - $scope.ShowResult = false; - $scope.warningMessage = "No configruation found for the selected VNF !!"; - growl.warning($scope.warningMessage, { - title: 'Warning!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - } - } else { - $scope.ShowResult = false; - $scope.warningMessage = "No configruation found for the selected VNF !!"; - growl.warning($scope.warningMessage, { - title: 'Warning!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - } - }, - function(response) { - $scope.errorMessage = "Something went wrong, Please try again !!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - console.log("--CompareConfigCtrl::getVersionList::Error--", response); - }); - } - - //Function to build the UI model to be shown - $scope.createVersionModel = function(result) { - - $scope.objVersionModel = result; - $scope.objVersion = []; - - console.log("-----CompareConfigCtrl::createVersionModel::--", JSON.stringify($scope.objVersionModel)); - if ($scope.objVersionModel.length >= 1) { - $scope.ShowResult = true; - $scope.showCompare = true; - $scope.showView =true; - for (var i = 0; i < $scope.objVersionModel.length; i++) { - var objVersionDetail = {}; - objVersionDetail.vnfname = $scope.objVersionModel[i].vnfname; - objVersionDetail.vnfid = $scope.objVersionModel[i].vnfid; - objVersionDetail.vnfversion = $scope.objVersionModel[i].vnfversion; - objVersionDetail.createdAt = $scope.objVersionModel[i].creationdate; - objVersionDetail.updatedAt = $scope.objVersionModel[i].lastupdated; - objVersionDetail.configinfo = $scope.objVersionModel[i].configinfo; - objVersionDetail.selected = false; - $scope.objVersion.push(objVersionDetail); - - } - } - console.log("-----CompareConfigCtrl::createVersionModel::final VersionModel--" + JSON.stringify($scope.objVersion)); - - // init - $scope.sort = { - sortingOrder : 'vnfversion', - reverse : true - }; - - var searchMatch = function(haystack, needle) { - if (!needle) { - return true; - } - return haystack.toLowerCase().indexOf( - needle.toLowerCase()) !== -1; - }; - - // init the filtered items - $scope.search = function() { - $scope.filteredItems = $filter('filter')( - $scope.objVersion, - function(item) { - for ( var attr in item) { - if (searchMatch(item[attr], - $scope.query)) - return true; - } - return false; - }); - // take care of the sorting order - if ($scope.sort.sortingOrder !== '') { - $scope.filteredItems = $filter( - 'orderBy')( - $scope.filteredItems, - $scope.sort.sortingOrder, - $scope.sort.reverse); - } - $scope.currentPage = 0; - // now group by pages - $scope.groupToPages(); - }; - - // calculate page in place - $scope.groupToPages = function() { - $scope.pagedItems = []; - - for (var i = 0; i < $scope.filteredItems.length; i++) { - if (i % $scope.itemsPerPage === 0) { - $scope.pagedItems[Math.floor(i - / $scope.itemsPerPage)] = [ $scope.filteredItems[i] ]; - } else { - $scope.pagedItems[Math.floor(i - / $scope.itemsPerPage)] - .push($scope.filteredItems[i]); - } - } - }; - - $scope.range = function(size, start, end) { - var ret = []; - //console.log(size, start, end); - - if (size < end) { - end = size; - start = size - $scope.gap; - } - for (var i = start; i < end; i++) { - ret.push(i); - } - //console.log(ret); - return ret; - }; - - $scope.prevPage = function() { - if ($scope.currentPage > 0) { - $scope.currentPage--; - } - }; - - $scope.nextPage = function() { - if ($scope.currentPage < $scope.pagedItems.length - 1) { - $scope.currentPage++; - } - }; - - $scope.setPage = function() { - $scope.currentPage = this.n; - }; - - // functions have been describe process the data - // for display - $scope.search(); - - } - - - - //For apply version - - $scope.ApplyConfig = function(objVersion){ - var count = 0; - angular.forEach(objVersion, function(item) { - if (item.selected == true) - count++; - }); - if (count < 1) { - $scope.errorMessage = "Select a config file to apply !!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }else if (count > 1) { - $scope.errorMessage = "Only one config file can be applyed at a time !!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }else - $scope.applyModelNew(objVersion); - }; - - - $scope.applyModelNew = function(objVersion){ - - $scope.objCompareModel1 = {}; - - $scope.versionsSelected = []; - angular.forEach(objVersion, function(item) { - angular.forEach($scope.objVersionModel, function(val, index) { - if (item.selected) { - if ($scope.versionsSelected.indexOf(item) == -1) - $scope.versionsSelected.push(item); - } - }) - }); - console.log("--CompareConfigCtrl::createCompareModel::$scope.objVersionModel", JSON.stringify($scope.objVersionModel)); - - angular.forEach($scope.versionsSelected, function(item) { - var versionObj = {}; - var versionDetails = {}; - versionDetails.vnfversion = item['vnfversion']; - versionDetails.vnfName = item['vnfname']; - var vnfid = item['vnfid']; - var config = item['configinfo']; - var config1=JSON.parse(config); - console.log("CompareConfigCtrl::createCompareModel::objCompareModel1", config1); - deviceConfigService.runApplyconfig(vnfid,config1); - $scope.showResult = false; - $scope.successMessage = "File uploaded successfully"; - growl.success($scope.successMessage, { - title: 'Success!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }); - } - -//View Configuration - - $scope.ViewConfig = function(objVersion){ - var elmnt1 = document.getElementById("view"); - - elmnt1.style.display = "block"; - var count = 0; - angular.forEach(objVersion, function(item) { - if (item.selected == true) - count++; - }); - if (count < 1) { - $scope.showResult = false; - $scope.errorMessage = "Select a config file to view !!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }else if (count > 1) { - $scope.showResult = false; - $scope.errorMessage = "Only one config file can be viewed at a time !!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }else - $scope.ViewCompareModelNew(objVersion); - }; - - $scope.ViewCompareModelNew = function(objVersion) { - $scope.objCompareModel1 = {}; - - $scope.versionsSelected = []; - angular.forEach(objVersion, function(item) { - angular.forEach($scope.objVersionModel, function(val, index) { - if (item.selected) { - if ($scope.versionsSelected.indexOf(item) == -1) - $scope.versionsSelected.push(item); - } - }) - }); - console.log("--CompareConfigCtrl::createCompareModel::$scope.objVersionModel", JSON.stringify($scope.objVersionModel)); - - angular.forEach($scope.versionsSelected, function(item) { - var versionObj = {}; - var versionDetails = {}; - versionDetails.vnfversion = item['vnfversion']; - versionDetails.vnfName = item['vnfname']; - var vnfid = item['vnfid']; - - - versionDetails.timeStamp = item.createdAt; - versionObj.versionDetails = versionDetails; - - //fetch all the other topology/network,opertaion status for the vnf - versionObj.topologyInfo = $scope.fetchTopologyInfo(item); - versionObj.vnfIdInfo = $scope.fetchVnfId(item); - versionObj.serviceStatusInfo= $scope.fetchServiceStatus(item); - versionObj.vnfTopologyIdentifier = $scope.vnfTopologyIdentifier(item); - versionObj.operationStatus = $scope.operationStatus(item); - versionObj.vnfRequestInfo=$scope.fetchVnfRequestInfo(item); - versionObj.serviceInfo= $scope.fetchServiceInfo(item); - versionObj.requestHeader= $scope.serviceRequestHeader(item); - versionObj.requestInfo=$scope.fetchRequestInfo(item); - - if ((versionObj.versionDetails.vnfversion == $scope.versionsSelected[0].vnfversion)) { - $scope.objCompareModel1 = versionObj; - } else - {console.log("CompareConfigCtrl::createCompareModel::objCompareModel1"); - - } - document.getElementById("compare").style.display = "none"; - } ); - $scope.showView=true; - $scope.showResult = true; - var elmnt1 = document.getElementById("view"); - elmnt1.scrollIntoView(); - console.log("CompareConfigCtrl::createCompareModel::objCompareModel1", JSON.stringify($scope.objCompareModel1)); - } - - - //compare - - - $scope.CompareConfig = function(objVersion) { - var elmnt = document.getElementById("compare"); - elmnt.style.display = "block"; - var count = 0; - angular.forEach(objVersion, function(item) { - if (item.selected == true) - count++; - }); - if (count > 4) { - $scope.showResult = false; - $scope.errorMessage = "Four or lessthan four and gretterthan two config files can be selected for the comparison!!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - } else if (count < 2){ - $scope.showResult = false; - $scope.errorMessage = "At least two config files can be selected for the comparison!!!"; - growl.error($scope.errorMessage, { - title: 'Error!', - globalDisableCloseButton: false, - ttl: 7000, - disableCountDown: true - }); - }else - $scope.createCompareModelNew(objVersion); - }; - - $scope.createCompareModelNew = function(objVersion) { - - $scope.objCompareModel1 = {}; - $scope.objCompareModel2 = {}; - - $scope.versionsSelected = []; - angular.forEach(objVersion, function(item) { - angular.forEach($scope.objVersionModel, function(val, index) { - if (item.selected) { - if ($scope.versionsSelected.indexOf(item) == -1) - $scope.versionsSelected.push(item); - } - }) - }); - console.log("--CompareConfigCtrl::createCompareModel::$scope.objVersionModel", JSON.stringify($scope.objVersionModel)); - console.log("--CompareConfigCtrl::createCompareModel::$scope.objVersionModel", JSON.stringify($scope.versionsSelected)); - - angular.forEach($scope.versionsSelected, function(item) { - var versionObj = {}; - var versionDetails = {}; - versionDetails.vnfversion = item.vnfversion; - versionDetails.timeStamp = item.createdAt; - versionObj.versionDetails = versionDetails; - - //fetch all the other topology/network,opertaion status for the vnf - versionObj.topologyInfo = $scope.fetchTopologyInfo(item); - versionObj.vnfIdInfo = $scope.fetchVnfId(item); - versionObj.serviceStatusInfo= $scope.fetchServiceStatus(item); - versionObj.vnfTopologyIdentifier = $scope.vnfTopologyIdentifier(item); - versionObj.operationStatus = $scope.operationStatus(item); - versionObj.vnfRequestInfo=$scope.fetchVnfRequestInfo(item); - versionObj.serviceInfo= $scope.fetchServiceInfo(item); - versionObj.requestHeader= $scope.serviceRequestHeader(item); - versionObj.requestInfo=$scope.fetchRequestInfo(item); - - if ((versionObj.versionDetails.vnfversion == $scope.versionsSelected[0].vnfversion)) { - $scope.objCompareModel1 = versionObj; - $scope.version1=true; - } else if ((versionObj.versionDetails.vnfversion == $scope.versionsSelected[1].vnfversion)) - {$scope.objCompareModel2 = versionObj; - $scope.version2=true; - $scope.version3=false; - $scope.version4=false; - }else if((versionObj.versionDetails.vnfversion == $scope.versionsSelected[2].vnfversion)){ - $scope.objCompareModel3 = versionObj; - $scope.version3=true; - $scope.version4=false; - }else if((versionObj.versionDetails.vnfversion == $scope.versionsSelected[3].vnfversion)){ - $scope.objCompareModel4 = versionObj; - $scope.version4=true; - } - document.getElementById("view").style.display = "none"; - } ); - $scope.showResult = true; - var elmnt = document.getElementById("compare"); - elmnt.scrollIntoView(); - console.log("CompareConfigCtrl::createCompareModel::objCompareModel1", JSON.stringify($scope.objCompareModel1)); - console.log("CompareConfigCtrl::createCompareModel::objCompareModel2", JSON.stringify($scope.objCompareModel2)); - - } - - //1'st comparison for vnf topology info vnf-parameters - $scope.fetchTopologyInfo = function(item) { - var topologyInfo = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['vnf-topology-information'])) { - var vnfTopologyInfo = item['service-data']['vnf-topology-information']; - if (angular.isDefined(vnfTopologyInfo['vnf-parameters'] && vnfTopologyInfo['vnf-parameters'] != null)) { - var vnfParameters = vnfTopologyInfo['vnf-parameters']; - for (var i = 0; i < vnfParameters.length; i++) { - - var key = vnfParameters[i]['vnf-parameter-name']; - var value = vnfParameters[i]['vnf-parameter-value']; - console.log("CompareConfigCtrl::fetchTopologyInfo::key", key); - console.log("CompareConfigCtrl::fetchTopologyInfo::value", value); - topologyInfo[key] = value; - - } - console.log("CompareConfigCtrl::fetchTopologyInfo::", JSON.stringify(topologyInfo)); - return topologyInfo; - } - } - } - - - - //2nd comparison for vnf id - - $scope.fetchVnfId = function(item){ - var vnfIdInfo = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['vnf-id'])) { - var key=item['vnf-id']; - vnfIdInfo['vnf-id']=key; - } - console.log("CompareConfigCtrl::fetchVnfId::", JSON.stringify( vnfIdInfo)); - return vnfIdInfo; - } - - - //3rd comparison for service status - - $scope.fetchServiceStatus = function(item) { - var serviceStatusInfo = {}; - - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - - if (angular.isDefined(item['service-status'])) { - var serviceStatus = item['service-status']; - if (angular.isDefined(serviceStatus)) { - angular.forEach(serviceStatus, function(value, key) { - - console.log("CompareConfigCtrl::fetchServiceStatus::key", key); - console.log("CompareConfigCtrl::fetchServiceStatus::value", value); - serviceStatusInfo[key] = value; - }); - } - } - - console.log("CompareConfigCtrl::fetchServiceStatus::", JSON.stringify(serviceStatusInfo)); - return serviceStatusInfo; - } - - // 4th comparison for vnf topology identifire - - $scope.vnfTopologyIdentifier = function(item) { - var topologyIdnetifier = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['vnf-topology-information']['vnf-topology-identifier'])) { - var topologyInfoidentifier = item['service-data']['vnf-topology-information']['vnf-topology-identifier']; - if (angular.isDefined(topologyInfoidentifier)) { - angular.forEach(topologyInfoidentifier, function(value, key) { - - console.log("CompareConfigCtrl::fetchTopologyInfo::key", key); - console.log("CompareConfigCtrl::fetchTopologyInfo::value", value); - topologyIdnetifier[key] = value; - }); - } - } - - console.log("CompareConfigCtrl::vnfTopologyIdentifier::", JSON.stringify(topologyIdnetifier)); - return topologyIdnetifier; - } - - // 5th comparison for vnf request information - - $scope.fetchVnfRequestInfo = function(item) { - var vnfRequestInfo = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['vnf-request-information'])) { - var vnfRequest = item['service-data']['vnf-request-information']; - if (angular.isDefined(vnfRequest) && vnfRequest != null) { - - angular.forEach(vnfRequest, function(value, key) { - - console.log("CompareConfigCtrl::fetchVnfRequestInfo::key", key); - console.log("CompareConfigCtrl::fetchVnfRequestInfo::value", value); - vnfRequestInfo[key] = value; - }); - } - } -console.log("CompareConfigCtrl::fetchVnfRequestInfo::", JSON.stringify(vnfRequestInfo)); - return vnfRequestInfo; - } - - // 6th comparison for service info - - - $scope.fetchServiceInfo = function(item) { - var serviceInfo = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['service-information'])) { - var service= item['service-data']['service-information']; - if (angular.isDefined(service) && service != null) { - - angular.forEach(service, function(value, key) { - - console.log("CompareConfigCtrl::fetchServiceInfo::key", key); - console.log("CompareConfigCtrl::fetchServiceInfo::value", value); - serviceInfo[key] = value; - }); - } - } - console.log("CompareConfigCtrl::fetchServiceInfo::", JSON.stringify(serviceInfo)); - return serviceInfo; - } - - // 7th comparison for sdnc request header - - $scope.serviceRequestHeader = function(item) { - var requestHeader = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['sdnc-request-header'])) { - var requestHeaderInfo = item['service-data']['sdnc-request-header']; - if (angular.isDefined(requestHeaderInfo) && requestHeaderInfo != null) { - - angular.forEach(requestHeaderInfo, function(value, key) { - - console.log("CompareConfigCtrl::serviceRequestHeader::key", key); - console.log("CompareConfigCtrl::serviceRequestHeader::value", value); - requestHeader[key] = value; - }); - - } - } - console.log("CompareConfigCtrl::serviceRequestHeader::", JSON.stringify(requestHeader)); - return requestHeader; - } - - // 8th comparison for oper status - $scope.operationStatus = function(item) { - var operationStatus = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['oper-status'])) { - var operStatus = item['service-data']['oper-status']; - if (angular.isDefined(operStatus) && operStatus != null) { - - angular.forEach(operStatus, function(value, key) { - - console.log("CompareConfigCtrl::operationStatus::key", key); - console.log("CompareConfigCtrl::operationStatus::value", value); - operationStatus[key] = value; - }); - - } - } - console.log("CompareConfigCtrl::operationStatus::", JSON.stringify(operationStatus)); - return operationStatus; - } - // 9th comparison for request info - - $scope.fetchRequestInfo = function(item) { - var requestInfo = {}; - item = JSON.parse(item.configinfo); - var item= item['vnf-list'][0]; - if (angular.isDefined(item['service-data']) && angular.isDefined(item['service-data']['request-information'])) { - var request = item['service-data']['request-information']; - if (angular.isDefined(request) && request != null) { - - angular.forEach(request, function(value, key) { - - console.log("CompareConfigCtrl::fetchRequestInfo::key", key); - console.log("CompareConfigCtrl::fetchRequestInfo::value", value); - requestInfo[key] = value; - }); - - } - } - console.log("CompareConfigCtrl::fetchRequestInfo::", JSON.stringify(requestInfo)); - return requestInfo; - } - -}]); \ No newline at end of file