You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/12/02 13:18:56 UTC
[03/27] kylin git commit: filter null value in cubedesc and model desc
filter null value in cubedesc and model desc
Signed-off-by: Hongbin Ma <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/875a5931
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/875a5931
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/875a5931
Branch: refs/heads/KYLIN-1875
Commit: 875a5931ad8cad79cdec1e80ab9388ded9446091
Parents: 3186d17
Author: luguosheng <55...@qq.com>
Authored: Wed Nov 30 10:51:51 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Wed Nov 30 13:48:29 2016 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/cubeEdit.js | 4 ++--
webapp/app/js/controllers/modelEdit.js | 13 ++++++++++---
webapp/app/js/utils/utils.js | 24 ++++++++++++++++++++++++
3 files changed, 36 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/875a5931/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index 888662d..0704a62 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -413,7 +413,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
if ($scope.isEdit) {
CubeService.update({}, {
- cubeDescData: $scope.state.cubeSchema,
+ cubeDescData: VdmUtil.filterNullValInObj($scope.state.cubeSchema),
cubeName: $routeParams.cubeName,
project: $scope.state.project
}, function (request) {
@@ -453,7 +453,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
});
} else {
CubeService.save({}, {
- cubeDescData: $scope.state.cubeSchema,
+ cubeDescData: VdmUtil.filterNullValInObj($scope.state.cubeSchema),
project: $scope.state.project
}, function (request) {
if (request.successful) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/875a5931/webapp/app/js/controllers/modelEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/modelEdit.js b/webapp/app/js/controllers/modelEdit.js
index 0b3db66..2f1b35e 100644
--- a/webapp/app/js/controllers/modelEdit.js
+++ b/webapp/app/js/controllers/modelEdit.js
@@ -19,7 +19,7 @@
'use strict';
-KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $location, $templateCache, $interpolate, MessageService, TableService, CubeDescService, ModelService, loadingRequest, SweetAlert,$log,cubeConfig,CubeDescModel,ModelDescService,MetaModel,TableModel,ProjectService,ProjectModel,modelsManager) {
+KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $location, $templateCache, $interpolate, MessageService, TableService, CubeDescService, ModelService, loadingRequest, SweetAlert,$log,cubeConfig,CubeDescModel,ModelDescService,MetaModel,TableModel,ProjectService,ProjectModel,modelsManager,VdmUtil) {
//add or edit ?
var absUrl = $location.absUrl();
$scope.modelMode = absUrl.indexOf("/models/add")!=-1?'addNewModel':absUrl.indexOf("/models/edit")!=-1?'editExistModel':'default';
@@ -188,7 +188,11 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
loadingRequest.show();
if ($scope.isEdit) {
- ModelService.update({}, {modelDescData:$scope.state.modelSchema, modelName: $routeParams.modelName, project: $scope.state.project}, function (request) {
+ ModelService.update({}, {
+ modelDescData:VdmUtil.filterNullValInObj($scope.state.modelSchema),
+ modelName: $routeParams.modelName,
+ project: $scope.state.project
+ }, function (request) {
if (request.successful) {
$scope.state.modelSchema = request.modelSchema;
SweetAlert.swal('', 'Updated the model successfully.', 'success');
@@ -216,7 +220,10 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
loadingRequest.hide();
});
} else {
- ModelService.save({}, {modelDescData:$scope.state.modelSchema, project: $scope.state.project}, function (request) {
+ ModelService.save({}, {
+ modelDescData:VdmUtil.filterNullValInObj($scope.state.modelSchema),
+ project: $scope.state.project
+ }, function (request) {
if(request.successful) {
$scope.state.modelSchema = request.modelSchema;
http://git-wip-us.apache.org/repos/asf/kylin/blob/875a5931/webapp/app/js/utils/utils.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/utils/utils.js b/webapp/app/js/utils/utils.js
index 9da6196..0875e52 100644
--- a/webapp/app/js/utils/utils.js
+++ b/webapp/app/js/utils/utils.js
@@ -116,6 +116,30 @@ KylinApp.factory('VdmUtil', function ($modal, $timeout, $location, $anchorScroll
}
}
return newArr;
+ },
+ //\u8fc7\u6ee4\u5bf9\u8c61\u4e2d\u7684\u7a7a\u503c
+ filterNullValInObj:function(needFilterObj){
+ var newFilterObj,newObj;
+ if(typeof needFilterObj=='string'){
+ newObj=angular.fromJson(needFilterObj);
+ }else{
+ newObj=angular.extend({},needFilterObj);
+ }
+ function filterData(data){
+ var obj=data;
+ for(var i in obj){
+ if(obj[i]===null){
+ if(Object.prototype.toString.call(obj)=='[object Object]'){
+ delete obj[i];
+ }
+ }
+ else if(typeof obj[i]=== 'object'){
+ obj[i]=filterData(obj[i]);
+ }
+ }
+ return obj;
+ }
+ return angular.toJson(filterData(newObj),true);
}
}