aboutsummaryrefslogtreecommitdiffstats
path: root/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js')
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js690
1 files changed, 690 insertions, 0 deletions
diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js
new file mode 100644
index 00000000..91584b00
--- /dev/null
+++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/js/sdnc-controller/sdnc-compareConfig-controller.js
@@ -0,0 +1,690 @@
+/*
+ * ============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;
+ //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);
+ //selectedItem = selectedValueVnf.split("%");
+// var vnfName = selectedItem[0];
+// var vnfType = selectedItem[1];
+ 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.vnfversion == val['vnfversion'] && item.selected == false) {
+ $scope.objVersionModel.splice(index, 1);
+ }*/
+ 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 = JSON.parse(item['configinfo']);
+ var config = item['configinfo'];
+ var config1=JSON.parse(config);
+ console.log("CompareConfigCtrl::createCompareModel::objCompareModel1", config1);
+ deviceConfigService.runApplyconfig(vnfid,config1);
+ $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.vnfversion == val['vnfversion'] && item.selected == false) {
+ $scope.objVersionModel.splice(index, 1);
+ }*/
+ 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.fetchConfigDetails(item);
+ 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.vnfversion == val['vnfversion']) && item.selected == false) {
+ // $scope.objVersionModel.splice(index, 1);
+ }*/
+ 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.vnfName = item['vnfname'];
+ versionDetails.vnfid = item['vnfid'];*/
+ versionDetails.timeStamp = item.createdAt;
+ versionObj.versionDetails = versionDetails;
+
+ //fetch all the other topology/network,opertaion status for the vnf
+ // versionObj.topologyInfo = $scope.fetchConfigDetails(item);
+ 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 if ((versionObj.versionDetails.vnfversion == $scope.versionsSelected[1].vnfversion))
+ {$scope.objCompareModel2 = versionObj;
+ }
+ 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