+++ /dev/null
-/*
- * ============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('BackupConfigCtrl', ['$scope', '$http','$window', 'growl', 'deviceConfigService', 'ObjectDiff', '$timeout' , function($scope, $http, $window, growl, deviceConfigService, ObjectDiff, $timeout) {
-
- $scope.showResult = false;
- $scope.showCompare = 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);
- //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;
- for (var i = 0; i < $scope.objVersionModel.length; i++) {
- var objVersionDetail = {};
- objVersionDetail.vnfname = $scope.objVersionModel[i].vnfname;
- objVersionDetail.vnfid = $scope.objVersionModel[i].vnfid;
- objVersionDetail.versionNo = $scope.objVersionModel[i].vnfversion;
- objVersionDetail.createdAt = $scope.objVersionModel[i].creationdate;
- objVersionDetail.configinfo = $scope.objVersionModel[i].configinfo;
- objVersionDetail.selected = false;
-
- $scope.objVersion.push(objVersionDetail);
- }
- }
- console.log("--CompareConfigCtrl::createVersionModel::final VersionModel--" + JSON.stringify($scope.objVersion));
-
- }
-
- $scope.CompareConfig = function(objVersion) {
- var count = 0;
- angular.forEach(objVersion, function(item) {
- if (item.selected == true)
- count++;
- });
- if (count > 2) {
- $scope.errorMessage = "Only two config files can be selected for the comparison!!!";
- growl.error($scope.errorMessage, {
- title: 'Error!',
- globalDisableCloseButton: false,
- ttl: 7000,
- disableCountDown: true
- });
- } else if (count === 1){
- $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.versionNo == val['versionNo'] && 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.objVersionModel, function(item) {
- var versionObj = {};
- var versionDetails = {};
- versionDetails.versionNo = item['vnfversion'];
- /*versionDetails.vnfName = item['vnfname'];
- versionDetails.vnfid = item['vnfid'];*/
- versionDetails.timeStamp = item.creationdate;
- 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.networkTopologyInfo = $scope.fetchNetworkTopologyInfo(item);
- versionObj.operationStatus = $scope.operationStatus(item);
- versionObj.vnfTopologyIdentifier = $scope.vnfTopologyIdentifier(item);
-
- if ((versionObj.versionDetails.versionNo == $scope.versionsSelected[0].versionNo)) {
- $scope.objCompareModel1 = versionObj;
- } else
- $scope.objCompareModel2 = versionObj;
-
- });
- $scope.showResult = true;
- console.log("CompareConfigCtrl::createCompareModel::objCompareModel1", JSON.stringify($scope.objCompareModel1));
- console.log("CompareConfigCtrl::createCompareModel::objCompareModel2", JSON.stringify($scope.objCompareModel2));
- }
-
-
-
- $scope.fetchTopologyInfo = function(item) {
- var topologyInfo = {};
- item = JSON.parse(item.configinfo);
- if (angular.isDefined(item['preload-data']) && angular.isDefined(item['preload-data']['vnf-topology-information'])) {
- var vnfTopologyInfo = item['preload-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;
- }
- }
- }
-
- $scope.fetchNetworkTopologyInfo = function(item) {
- var networkTopology = {};
- item = JSON.parse(item.configinfo);
- if (angular.isDefined(item['preload-data']) && angular.isDefined(item['preload-data']['network-topology-information'])) {
- var netwrokTopologyInfo = item['preload-data']['network-topology-information'];
- if (angular.isDefined(netwrokTopologyInfo) && netwrokTopologyInfo != null) {
- for (var i = 0; i < netwrokTopologyInfo.length; i++) {
-
- var key = netwrokTopologyInfo[i]['vnf-parameter-name'];
- var value = netwrokTopologyInfo[i]['vnf-parameter-value'];
- console.log("CompareConfigCtrl::fetchTopologyInfo::key", key);
- console.log("CompareConfigCtrl::fetchTopologyInfo::value", value);
- networkTopology[key] = value;
- }
- }
- }
- console.log("CompareConfigCtrl::fetchNetworkTopologyInfo::", JSON.stringify(networkTopology));
- return networkTopology;
- }
-
- $scope.operationStatus = function(item) {
- var operationStatus = {};
- item = JSON.parse(item.configinfo);
- if (angular.isDefined(item['preload-data']) && angular.isDefined(item['preload-data']['oper-status'])) {
- var operStatus = item['preload-data']['oper-status'];
- if (angular.isDefined(operStatus) && operStatus != null) {
-
- var value = operStatus['order-status'];
- operationStatus['order-status'] = value;
-
- }
- }
- console.log("CompareConfigCtrl::operationStatus::", JSON.stringify(operationStatus));
- return operationStatus;
- }
-
- $scope.vnfTopologyIdentifier = function(item) {
- var topologyIdnetifier = {};
- item = JSON.parse(item.configinfo);
- if (angular.isDefined(item['preload-data']) && angular.isDefined(item['preload-data']['vnf-topology-information']['vnf-topology-identifier'])) {
- var topologyInfoidentifier = item['preload-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;
- }
-
- $scope.invokeBackup = function(){
- deviceConfigService.invokeBackup().then(function(data) {
- console.log("response -- data -- "+data)
- $window.location.reload();
- });
- }
-
- $scope.getLastModifiedTime=function(){
-// $timeout(function(result){
-// console.log("response-data-"+ result);
-// $scope.lastModifiedTime="Testcode Dushyant"
-// }
-// ,5000);
-
- deviceConfigService.getlastupdated().then(function(result) {
- $scope.lastModifiedTime= result.data;
- console.log("response -- getlastupdated -- "+JSON.stringify(result))
- });
- }
- $scope.getLastModifiedTime()
-}]);
\ No newline at end of file