GUI -- Added VeilService.lostServer() function to only invoke the veil if the ca…
…lling controller is the current controller. - removed test code from rest.js Change-Id: I2e05b42a10a1e66a7a26210e347c584c6fbd5bf2
Showing
4 changed files
with
30 additions
and
100 deletions
| ... | @@ -24,7 +24,7 @@ | ... | @@ -24,7 +24,7 @@ |
| 24 | 'use strict'; | 24 | 'use strict'; |
| 25 | 25 | ||
| 26 | // injected references | 26 | // injected references |
| 27 | - var $log, fs, ks; | 27 | + var $log, $route, fs, ks; |
| 28 | 28 | ||
| 29 | var veil, pdiv, svg; | 29 | var veil, pdiv, svg; |
| 30 | 30 | ||
| ... | @@ -46,12 +46,23 @@ | ... | @@ -46,12 +46,23 @@ |
| 46 | ks.enableKeys(true); | 46 | ks.enableKeys(true); |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | + // function that only invokes the veil if the caller is the current view | ||
| 50 | + function lostServer(ctrlName, msg) { | ||
| 51 | + if ($route.current.$$route.controller === ctrlName) { | ||
| 52 | + $log.debug('VEIL-service: ', ctrlName); | ||
| 53 | + show(msg) | ||
| 54 | + } else { | ||
| 55 | + $log.debug('VEIL-service: IGNORING ', ctrlName); | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + | ||
| 49 | angular.module('onosLayer') | 59 | angular.module('onosLayer') |
| 50 | .factory('VeilService', | 60 | .factory('VeilService', |
| 51 | - ['$log', 'FnService', 'KeyService', 'GlyphService', | 61 | + ['$log', '$route', 'FnService', 'KeyService', 'GlyphService', |
| 52 | 62 | ||
| 53 | - function (_$log_, _fs_, _ks_, gs) { | 63 | + function (_$log_, _$route_, _fs_, _ks_, gs) { |
| 54 | $log = _$log_; | 64 | $log = _$log_; |
| 65 | + $route = _$route_; | ||
| 55 | fs = _fs_; | 66 | fs = _fs_; |
| 56 | ks = _ks_; | 67 | ks = _ks_; |
| 57 | 68 | ||
| ... | @@ -76,7 +87,8 @@ | ... | @@ -76,7 +87,8 @@ |
| 76 | 87 | ||
| 77 | return { | 88 | return { |
| 78 | show: show, | 89 | show: show, |
| 79 | - hide: hide | 90 | + hide: hide, |
| 91 | + lostServer: lostServer | ||
| 80 | }; | 92 | }; |
| 81 | }]); | 93 | }]); |
| 82 | 94 | ... | ... |
| ... | @@ -22,100 +22,14 @@ | ... | @@ -22,100 +22,14 @@ |
| 22 | 22 | ||
| 23 | var $log; | 23 | var $log; |
| 24 | 24 | ||
| 25 | - | ||
| 26 | - // TODO: remove temporary test code | ||
| 27 | - var fakeData = { | ||
| 28 | - '1': { | ||
| 29 | - "devices": [{ | ||
| 30 | - "id": "of:0000000000000001", | ||
| 31 | - "available": true, | ||
| 32 | - "_iconid_available": "deviceOnline", | ||
| 33 | - "role": "MASTER", | ||
| 34 | - "mfr": "Nicira, Inc.", | ||
| 35 | - "hw": "Open vSwitch", | ||
| 36 | - "sw": "2.0.1", | ||
| 37 | - "serial": "None", | ||
| 38 | - "annotations": { | ||
| 39 | - "protocol": "OF_10" | ||
| 40 | - } | ||
| 41 | - }, | ||
| 42 | - { | ||
| 43 | - "id": "of:0000000000000004", | ||
| 44 | - "available": false, | ||
| 45 | - "_iconid_available": "deviceOffline", | ||
| 46 | - "role": "MASTER", | ||
| 47 | - "mfr": "Nicira, Inc.", | ||
| 48 | - "hw": "Open vSwitch", | ||
| 49 | - "sw": "2.0.1", | ||
| 50 | - "serial": "None", | ||
| 51 | - "annotations": { | ||
| 52 | - "protocol": "OF_10" | ||
| 53 | - } | ||
| 54 | - }, | ||
| 55 | - { | ||
| 56 | - "id": "of:0000000000000092", | ||
| 57 | - "available": false, | ||
| 58 | - "_iconid_available": "deviceOffline", | ||
| 59 | - "role": "MASTER", | ||
| 60 | - "mfr": "Nicira, Inc.", | ||
| 61 | - "hw": "Open vSwitch", | ||
| 62 | - "sw": "2.0.1", | ||
| 63 | - "serial": "None", | ||
| 64 | - "annotations": { | ||
| 65 | - "protocol": "OF_10" | ||
| 66 | - } | ||
| 67 | - }] | ||
| 68 | - }, | ||
| 69 | - '2': { | ||
| 70 | - "devices": [{ | ||
| 71 | - "id": "of:0000000000000002", | ||
| 72 | - "available": true, | ||
| 73 | - "_iconid_available": "deviceOnline", | ||
| 74 | - "role": "MASTER", | ||
| 75 | - "mfr": "Nicira, Inc.", | ||
| 76 | - "hw": "Open vSwitch", | ||
| 77 | - "sw": "2.0.0", | ||
| 78 | - "serial": "None", | ||
| 79 | - "annotations": { | ||
| 80 | - "protocol": "OF_10" | ||
| 81 | - } | ||
| 82 | - }, | ||
| 83 | - { | ||
| 84 | - "id": "of:0000000000000006", | ||
| 85 | - "available": true, | ||
| 86 | - "_iconid_available": "deviceOnline", | ||
| 87 | - "role": "MASTER", | ||
| 88 | - "mfr": "Nicira, Inc.", | ||
| 89 | - "hw": "Open vSwitch", | ||
| 90 | - "sw": "2.1.1", | ||
| 91 | - "serial": "None", | ||
| 92 | - "annotations": { | ||
| 93 | - "protocol": "OF_10" | ||
| 94 | - } | ||
| 95 | - }] | ||
| 96 | - }, | ||
| 97 | - 'empty': { | ||
| 98 | - devices: [] | ||
| 99 | - } | ||
| 100 | - }; | ||
| 101 | - | ||
| 102 | - function getFakeData(url) { | ||
| 103 | - var id = url.slice(5); | ||
| 104 | - | ||
| 105 | - return fakeData[id] || fakeData.empty; | ||
| 106 | - } | ||
| 107 | - | ||
| 108 | angular.module('onosRemote') | 25 | angular.module('onosRemote') |
| 109 | - .factory('RestService', ['$log', '$http', 'UrlFnService', | 26 | + .factory('RestService', |
| 27 | + ['$log', '$http', 'UrlFnService', | ||
| 28 | + | ||
| 110 | function (_$log_, $http, ufs) { | 29 | function (_$log_, $http, ufs) { |
| 111 | $log = _$log_; | 30 | $log = _$log_; |
| 112 | 31 | ||
| 113 | - function get(url, callback) { | 32 | + function get(url, callback, errorCb) { |
| 114 | - // TODO: remove temporary test code | ||
| 115 | - if (url.match(/^test\//)) { | ||
| 116 | - callback(getFakeData(url)); | ||
| 117 | - return; | ||
| 118 | - } | ||
| 119 | var fullUrl = ufs.rsUrl(url); | 33 | var fullUrl = ufs.rsUrl(url); |
| 120 | 34 | ||
| 121 | $http.get(fullUrl).then(function (response) { | 35 | $http.get(fullUrl).then(function (response) { |
| ... | @@ -123,8 +37,11 @@ | ... | @@ -123,8 +37,11 @@ |
| 123 | callback(response.data); | 37 | callback(response.data); |
| 124 | }, function (response) { | 38 | }, function (response) { |
| 125 | // error | 39 | // error |
| 126 | - $log.warn('Failed to retrieve JSON data: ' + fullUrl, | 40 | + var emsg = 'Failed to retrieve JSON data: ' + fullUrl; |
| 127 | - response.status, response.data); | 41 | + $log.warn(emsg, response.status, response.data); |
| 42 | + if (errorCb) { | ||
| 43 | + errorCb(emsg); | ||
| 44 | + } | ||
| 128 | }); | 45 | }); |
| 129 | } | 46 | } |
| 130 | 47 | ||
| ... | @@ -132,5 +49,4 @@ | ... | @@ -132,5 +49,4 @@ |
| 132 | get: get | 49 | get: get |
| 133 | }; | 50 | }; |
| 134 | }]); | 51 | }]); |
| 135 | - | ||
| 136 | }()); | 52 | }()); | ... | ... |
| ... | @@ -23,9 +23,9 @@ | ... | @@ -23,9 +23,9 @@ |
| 23 | 23 | ||
| 24 | angular.module('ovDevice', []) | 24 | angular.module('ovDevice', []) |
| 25 | .controller('OvDeviceCtrl', | 25 | .controller('OvDeviceCtrl', |
| 26 | - ['$log', '$scope', '$location', 'RestService', | 26 | + ['$log', '$scope', '$location', 'RestService', 'VeilService', |
| 27 | 27 | ||
| 28 | - function ($log, $scope, $location, rs) { | 28 | + function ($log, $scope, $location, rs, vs) { |
| 29 | var self = this; | 29 | var self = this; |
| 30 | self.deviceData = []; | 30 | self.deviceData = []; |
| 31 | 31 | ||
| ... | @@ -36,6 +36,8 @@ | ... | @@ -36,6 +36,8 @@ |
| 36 | var url = 'device' + urlSuffix; | 36 | var url = 'device' + urlSuffix; |
| 37 | rs.get(url, function (data) { | 37 | rs.get(url, function (data) { |
| 38 | self.deviceData = data.devices; | 38 | self.deviceData = data.devices; |
| 39 | + }, function (errMsg) { | ||
| 40 | + vs.lostServer('OvDeviceCtrl', errMsg); | ||
| 39 | }); | 41 | }); |
| 40 | }; | 42 | }; |
| 41 | $scope.sortCallback(); | 43 | $scope.sortCallback(); | ... | ... |
| ... | @@ -99,7 +99,7 @@ | ... | @@ -99,7 +99,7 @@ |
| 99 | function onWsClose(reason) { | 99 | function onWsClose(reason) { |
| 100 | $log.log('web socket closed; reason=', reason); | 100 | $log.log('web socket closed; reason=', reason); |
| 101 | wsock = null; | 101 | wsock = null; |
| 102 | - vs.show([ | 102 | + vs.lostServer('OvTopoCtrl', [ |
| 103 | 'Oops!', | 103 | 'Oops!', |
| 104 | 'Web-socket connection to server closed...', | 104 | 'Web-socket connection to server closed...', |
| 105 | 'Try refreshing the page.' | 105 | 'Try refreshing the page.' | ... | ... |
-
Please register or login to post a comment