You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/05/23 08:46:43 UTC
[incubator-servicecomb-service-center] branch master updated:
Display proper error message in UI (#354)
This is an automated email from the ASF dual-hosted git repository.
littlecui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-service-center.git
The following commit(s) were added to refs/heads/master by this push:
new f9b9319 Display proper error message in UI (#354)
f9b9319 is described below
commit f9b93192203f1b4cd6539c52428f993e7aaba593
Author: Mohammad Asif Siddiqui <mo...@huawei.com>
AuthorDate: Wed May 23 14:16:39 2018 +0530
Display proper error message in UI (#354)
---
frontend/app/scripts/languages/locale-en.js | 4 +-
.../modules/dashboard/controllers/dashboardCtrl.js | 18 ++++-----
.../serviceCenter/controllers/schemaCtrl.js | 4 +-
.../serviceCenter/controllers/serviceInfoCtrl.js | 2 +-
.../serviceCenter/controllers/servicesListCtrl.js | 6 +--
frontend/app/scripts/scRouterConfig.js | 4 +-
frontend/app/scripts/services/httpService.js | 46 ++++++++++++++--------
frontend/app/styles/main.css | 8 ++--
frontend/app/views/serverError.html | 5 +--
9 files changed, 54 insertions(+), 43 deletions(-)
diff --git a/frontend/app/scripts/languages/locale-en.js b/frontend/app/scripts/languages/locale-en.js
index 942df92..fb71202 100644
--- a/frontend/app/scripts/languages/locale-en.js
+++ b/frontend/app/scripts/languages/locale-en.js
@@ -49,9 +49,9 @@ angular.module('serviceCenter')
"dashboard": "Dashboard",
"getSchema": "Get Schema",
"error": "Error",
- "errorCode": "ErrorCode",
+ "errorCode": "Error Code",
"errorText": "ErrorText",
- "errorStatus": "ErrorStatus",
+ "errorStatus": "Error Message",
"noSchemaFilesExists": "No Schema Files Exists",
"instances": "Instances",
"operations": "Operations",
diff --git a/frontend/app/scripts/modules/dashboard/controllers/dashboardCtrl.js b/frontend/app/scripts/modules/dashboard/controllers/dashboardCtrl.js
index c50b59a..ee859db 100644
--- a/frontend/app/scripts/modules/dashboard/controllers/dashboardCtrl.js
+++ b/frontend/app/scripts/modules/dashboard/controllers/dashboardCtrl.js
@@ -18,29 +18,29 @@
angular.module('serviceCenter.dashboard', [])
.controller('dashboardController', ['$scope', '$state','apiConstant', 'httpService','$q', '$interval', function($scope, $state, apiConstant, httpService, $q, $interval){
- $scope.labels = ["STRATING", "UP", "DOWN", "OUT OF SERVICE"];
+ $scope.labels = ["STARTING", "UP", "DOWN", "OUT OF SERVICE"];
$scope.colors = ["#00c0ef","#00a65a", "#dd4b39", "#A9A9A9"];
$scope.servicesChartData = [];
$scope.servicesStatusData = [
{
count: 0,
- title: "starting",
+ title: "STARTING",
iconName: "fa-spinner"
},
{
count: 0,
- title: "up",
+ title: "UP",
iconName: "fa-arrow-up"
},
{
count: 0,
- title: "down",
+ title: "DOWN",
iconName: "fa-arrow-down"
},
{
count: 0,
- title: "outofservice",
+ title: "OUTOFSERVICE",
iconName: "fa-ban"
}
];
@@ -84,16 +84,16 @@ angular.module('serviceCenter.dashboard', [])
if(response && response.data && response.data.allServicesDetail) {
$scope.dashboardInfo[0].count = response.data.allServicesDetail.length;
response.data.allServicesDetail.forEach(function(services){
- if(services.microService.status.toLowerCase() == "starting") {
+ if(services.microService.status == "STARTING") {
$scope.startingServices.push(services);
}
- if(services.microService.status.toLowerCase() == "up"){
+ if(services.microService.status == "UP"){
$scope.runningServices.push(services);
}
- if(services.microService.status.toLowerCase() == "down"){
+ if(services.microService.status == "DOWN"){
$scope.stoppedServices.push(services);
}
- if(services.microService.status.toLowerCase() == "outofservice"){
+ if(services.microService.status == "OUTOFSERVICE"){
$scope.outofserviceServices.push(services);
}
diff --git a/frontend/app/scripts/modules/serviceCenter/controllers/schemaCtrl.js b/frontend/app/scripts/modules/serviceCenter/controllers/schemaCtrl.js
index 4ff3e2b..746b96b 100644
--- a/frontend/app/scripts/modules/serviceCenter/controllers/schemaCtrl.js
+++ b/frontend/app/scripts/modules/serviceCenter/controllers/schemaCtrl.js
@@ -44,7 +44,7 @@ angular.module('serviceCenter.sc')
var headers = {
"X-ConsumerId": serviceId
};
- promises.push(httpService.apiRequest(url, method, null, headers, "nopopup"));
+ promises.push(httpService.apiRequest(url, method, null, headers, null));
}
$q.all(promises).then(function(response) {
@@ -109,7 +109,7 @@ angular.module('serviceCenter.sc')
var instanceHeaders = {
"X-ConsumerId": serviceId
};
- httpService.apiRequest(instanceApi, instanceMethod, null, instanceHeaders, "nopopup").then(function(response) {
+ httpService.apiRequest(instanceApi, instanceMethod, null, instanceHeaders, null).then(function(response) {
if (response && response.data && response.data.instances && response.data.instances.length > 0) {
for (var i = 0; i < response.data.instances.length; i++) {
addresses[i] = [];
diff --git a/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js b/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js
index f493fed..a92c95a 100644
--- a/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js
+++ b/frontend/app/scripts/modules/serviceCenter/controllers/serviceInfoCtrl.js
@@ -52,7 +52,7 @@ angular.module('serviceCenter.sc')
var url = apis[i];
var method = "GET";
var headers = {"X-ConsumerId": serviceId};
- promises.push(httpService.apiRequest(url,method,null,headers,"nopopup"));
+ promises.push(httpService.apiRequest(url,method,null,headers,null));
}
$q.all(promises).then(function(response){
diff --git a/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js b/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js
index ec8de04..5f2c432 100644
--- a/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js
+++ b/frontend/app/scripts/modules/serviceCenter/controllers/servicesListCtrl.js
@@ -58,7 +58,7 @@ angular.module('serviceCenter.sc', [])
var url = apiConstant.api.deleteService.url;
var api = url.replace("{{serviceId}}", $scope.deleteServiceId);
var method = apiConstant.api.deleteService.method;
- httpService.apiRequest(api, method, null, null, "nopopup").then(function(response){
+ httpService.apiRequest(api, method, null, null, null).then(function(response){
if(response && response.status == 200){
$(".loader").hide();
$scope.refreshAppList();
@@ -111,7 +111,7 @@ angular.module('serviceCenter.sc', [])
serviceId: service.serviceId,
disableBtn: false
};
- httpService.apiRequest(instanceUrl, instanceMethod, null, headers, "nopopup").then(function(resp){
+ httpService.apiRequest(instanceUrl, instanceMethod, null, headers, null).then(function(resp){
if(resp && resp.data && resp.data.instances){
servicesList.instances = resp.data.instances.length;
if(servicesList.instances > 0){
@@ -134,7 +134,7 @@ angular.module('serviceCenter.sc', [])
serviceId: service.serviceId,
disableBtn: false
};
- httpService.apiRequest(instanceUrl, instanceMethod, null, headers, "nopopup").then(function(resp){
+ httpService.apiRequest(instanceUrl, instanceMethod, null, headers, null).then(function(resp){
if(resp && resp.data && resp.data.instances){
servicesList.instances = resp.data.instances.length;
if(servicesList.instances > 0){
diff --git a/frontend/app/scripts/scRouterConfig.js b/frontend/app/scripts/scRouterConfig.js
index 067415e..e286490 100644
--- a/frontend/app/scripts/scRouterConfig.js
+++ b/frontend/app/scripts/scRouterConfig.js
@@ -59,7 +59,7 @@ angular.module('serviceCenter.router', [])
var deferred = $q.defer();
var url = apiConstant.api.microservice.url;
var method = apiConstant.api.microservice.method;
- httpService.apiRequest(url, method, null, null, "nopopup").then(function(response){
+ httpService.apiRequest(url, method, null, null, null).then(function(response){
$(".loader").hide();
if(response && response.data && response.data.services){
deferred.resolve(response);
@@ -114,7 +114,7 @@ angular.module('serviceCenter.router', [])
var deferred = $q.defer();
var url = apiConstant.api.microservice.url;
var method = apiConstant.api.microservice.method;
- httpService.apiRequest(url, method, null, null, "nopopup").then(function(response){
+ httpService.apiRequest(url, method, null, null, null).then(function(response){
$(".loader").hide();
if(response && response.data && response.data.services){
deferred.resolve(response);
diff --git a/frontend/app/scripts/services/httpService.js b/frontend/app/scripts/services/httpService.js
index 5ff2fb3..b4de85a 100644
--- a/frontend/app/scripts/services/httpService.js
+++ b/frontend/app/scripts/services/httpService.js
@@ -16,39 +16,39 @@
*/
'use strict';
angular.module('serviceCenter')
- .service('httpService', ['$http', '$q', '$mdDialog', 'apiConstant', function($http, $q, $mdDialog, apiConstant){
+ .service('httpService', ['$http', '$q', '$mdDialog', 'apiConstant', function($http, $q, $mdDialog, apiConstant) {
- function apiRequest(requrl, method, payload, headers, nopopup){
+ function apiRequest(requrl, method, payload, headers, nopopup) {
var tenant = localStorage.getItem('tenant');
- if(!tenant || tenant == undefined || tenant == null){
+ if (!tenant || tenant == undefined || tenant == null) {
tenant = 'default';
localStorage.setItem('tenant', 'default');
}
- var defer = $q.defer();
- if(undefined === requrl || null === requrl || undefined === method || null === method){
+ var defer = $q.defer();
+ if (undefined === requrl || null === requrl || undefined === method || null === method) {
defer.reject("invalid params");
return defer.promise;
}
var baseUrl = "/sc"
- if(undefined === headers || null === headers){
+ if (undefined === headers || null === headers) {
headers = {
- 'x-domain-name' : tenant
+ 'x-domain-name': tenant
};
- }else{
+ } else {
headers['x-domain-name'] = tenant;
}
- var url = baseUrl + '/'+ requrl;
+ var url = baseUrl + '/' + requrl;
$http({
url: url,
method: method,
data: payload,
- headers : headers
+ headers: headers
}).then(function(response) {
defer.resolve(response);
}, function(error) {
- if(nopopup){
+ if (nopopup) {
defer.reject(error);
return;
}
@@ -59,8 +59,22 @@ angular.module('serviceCenter')
locals: {
error: error
},
- skipHide : true,
+ skipHide: true,
controller: function($scope, $mdDialog, error) {
+ switch (error.status) {
+ case 502:
+ error.data = "Service-Center is not reachable"
+ break;
+ case 500:
+ error.data = "Mostly probably the Service-Center is not running or crashed"
+ break;
+ case 400:
+ error.data = "The request is in-appropriate"
+ break;
+ case 404:
+ error.data = "Requested entity was not found"
+ break;
+ }
$scope.error = error;
$scope.closeDialog = function() {
$mdDialog.hide();
@@ -70,9 +84,9 @@ angular.module('serviceCenter')
defer.reject(error);
});
return defer.promise;
- }
+ }
- return {
- apiRequest : apiRequest
- };
+ return {
+ apiRequest: apiRequest
+ };
}]);
diff --git a/frontend/app/styles/main.css b/frontend/app/styles/main.css
index 5ad3d4c..774f3e3 100644
--- a/frontend/app/styles/main.css
+++ b/frontend/app/styles/main.css
@@ -389,19 +389,19 @@ md-table-pagination .md-select-icon {
.mainCard .consumers {
background-color: #A9A9A9;
}
-.card .starting {
+.card .STARTING {
background-color: #00c0ef;
border-radius: 6px 0px 0px 6px;
}
-.card .up {
+.card .UP {
background-color: #00a65a;
border-radius: 6px 0px 0px 6px;
}
-.card .down {
+.card .DOWN {
background-color: #dd4b39;
border-radius: 6px 0px 0px 6px;
}
-.card .outofservice {
+.card .OUTOFSERVICE {
background-color: #A9A9A9;
border-radius: 6px 0px 0px 6px;
}
diff --git a/frontend/app/views/serverError.html b/frontend/app/views/serverError.html
index bb5ff9d..6a3fb7a 100644
--- a/frontend/app/views/serverError.html
+++ b/frontend/app/views/serverError.html
@@ -28,10 +28,7 @@ limitations under the License.
<md-content >
<div layout="column" layout-align="space-around stretch">
<div class="md-padding">
- <span class="strongText">{{ "errorCode" | translate }}</span>: {{ error.status }}
- </div>
- <div class="md-padding">
- <span class="strongText">{{ "errorText" | translate }}</span>: {{ error.statusText || "No Error Text found" }}
+ <span class="strongText">{{ "errorCode" | translate }}</span>: {{ error.status }} , {{ error.statusText || "No Error Text found" }}
</div>
<div class="md-padding">
<span class="strongText">{{ "errorStatus" | translate }}</span>: {{ error.data || "No Error Status Found" }}
--
To stop receiving notification emails like this one, please contact
littlecui@apache.org.