aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wireless-transport/code-Carbon-SR1/ux/mwtnPerformanceLink/mwtnPerformanceLink-module/src/main/resources/mwtnPerformanceLink/mwtnPerformanceLink.services.js
blob: eb18b629e40075c45a7f147a18f0608cc572005b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * Copyright (c) 2016 HCL Inc. and others.  All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/epl-v10.html
 */

define(['app/mwtnCommons/mwtnCommons.module', 'app/mwtnPerformanceLink/mwtnPerformanceLink.module'], function (mwtnPerformanceLinkApp) {

  mwtnPerformanceLinkApp.register.factory('$mwtnPerformanceLink', function ($q, $mwtnCommons, $mwtnDatabase, $mwtnLog) {

    var COMPONENT = '$mwtnPerformanceLink';
    $mwtnLog.info({ component: COMPONENT, message: '$mwtnPerformanceLink started!' });

    var service = {};
    service.formatTimeStamp = $mwtnCommons.formatTimeStamp;
    service.getMountPoints = $mwtnCommons.getMountPoints;
    service.getAggregations = $mwtnDatabase.getAggregations;
    

    service.TimeStampToONFFormat = function (timestamp) {
      timestamp = timestamp.split('-').join('');
      timestamp = timestamp.split(':').join('');
      timestamp = timestamp.split(' ').join('');
      timestamp = timestamp.replace('UTC', 'Z');
      return timestamp;
    };

    service.getFilteredSortedData = function (from, size, sort, query, selected15minPeriod) {

      var functionId = 'sdnperformance';
      var docType = 'historicalperformance15min';
      if (selected15minPeriod === false) {
        docType = 'historicalperformance24h';
      }

      var deferred = $q.defer();
      $mwtnDatabase.getFilteredSortedData(functionId, docType, from, size, sort, query).then(function (success) {
        deferred.resolve(success);
      }, function (error) {
        $mwtnLog.error({ component: '$mwtnPerformanceLink.getFilteredSortedData', message: JSON.stringify(error.data) });
        deferred.reject(error)
      });
      return deferred.promise;
    };

    service.getInterfaces = function (aggregation, selected15minPeriod) {

      var functionId = 'sdnperformance';
      var docType = 'historicalperformance15min';
      if (selected15minPeriod === false) {
        docType = 'historicalperformance24h';
      }

      var deferred = $q.defer();
      $mwtnDatabase.getAggregatedData(functionId, docType, aggregation).then(function (success) {
        deferred.resolve(success);
      }, function (error) {
        $mwtnLog.error({ component: '$mwtnPerformanceLink.getFilteredSortedData', message: JSON.stringify(error.data) });
        deferred.reject(error)
      });
      return deferred.promise;
    };

    return service;
  });
});