eb18b629e40075c45a7f147a18f0608cc572005b
[ccsdk/apps.git] / sdnr / wireless-transport / code-Carbon-SR1 / ux / mwtnPerformanceLink / mwtnPerformanceLink-module / src / main / resources / mwtnPerformanceLink / mwtnPerformanceLink.services.js
1 /*
2  * Copyright (c) 2016 HCL Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 define(['app/mwtnCommons/mwtnCommons.module', 'app/mwtnPerformanceLink/mwtnPerformanceLink.module'], function (mwtnPerformanceLinkApp) {
10
11   mwtnPerformanceLinkApp.register.factory('$mwtnPerformanceLink', function ($q, $mwtnCommons, $mwtnDatabase, $mwtnLog) {
12
13     var COMPONENT = '$mwtnPerformanceLink';
14     $mwtnLog.info({ component: COMPONENT, message: '$mwtnPerformanceLink started!' });
15
16     var service = {};
17     service.formatTimeStamp = $mwtnCommons.formatTimeStamp;
18     service.getMountPoints = $mwtnCommons.getMountPoints;
19     service.getAggregations = $mwtnDatabase.getAggregations;
20     
21
22     service.TimeStampToONFFormat = function (timestamp) {
23       timestamp = timestamp.split('-').join('');
24       timestamp = timestamp.split(':').join('');
25       timestamp = timestamp.split(' ').join('');
26       timestamp = timestamp.replace('UTC', 'Z');
27       return timestamp;
28     };
29
30     service.getFilteredSortedData = function (from, size, sort, query, selected15minPeriod) {
31
32       var functionId = 'sdnperformance';
33       var docType = 'historicalperformance15min';
34       if (selected15minPeriod === false) {
35         docType = 'historicalperformance24h';
36       }
37
38       var deferred = $q.defer();
39       $mwtnDatabase.getFilteredSortedData(functionId, docType, from, size, sort, query).then(function (success) {
40         deferred.resolve(success);
41       }, function (error) {
42         $mwtnLog.error({ component: '$mwtnPerformanceLink.getFilteredSortedData', message: JSON.stringify(error.data) });
43         deferred.reject(error)
44       });
45       return deferred.promise;
46     };
47
48     service.getInterfaces = function (aggregation, selected15minPeriod) {
49
50       var functionId = 'sdnperformance';
51       var docType = 'historicalperformance15min';
52       if (selected15minPeriod === false) {
53         docType = 'historicalperformance24h';
54       }
55
56       var deferred = $q.defer();
57       $mwtnDatabase.getAggregatedData(functionId, docType, aggregation).then(function (success) {
58         deferred.resolve(success);
59       }, function (error) {
60         $mwtnLog.error({ component: '$mwtnPerformanceLink.getFilteredSortedData', message: JSON.stringify(error.data) });
61         deferred.reject(error)
62       });
63       return deferred.promise;
64     };
65
66     return service;
67   });
68 });