You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by zh...@apache.org on 2016/02/23 13:02:59 UTC

[1/2] kylin git commit: KYLIN-1438, auto generate aggregation group when user create cube

Repository: kylin
Updated Branches:
  refs/heads/2.x-staging 44b020199 -> 1c4d3a158


KYLIN-1438, auto generate aggregation group when user create cube


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2c602a0e
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2c602a0e
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2c602a0e

Branch: refs/heads/2.x-staging
Commit: 2c602a0eac368720bc1108e1f515bda36b68e691
Parents: 44b0201
Author: janzhongi <ji...@ebay.com>
Authored: Tue Feb 23 19:13:26 2016 +0800
Committer: janzhongi <ji...@ebay.com>
Committed: Tue Feb 23 19:13:39 2016 +0800

----------------------------------------------------------------------
 webapp/app/js/controllers/cubeEdit.js | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/2c602a0e/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index 578f6c8..7d8c299 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -30,7 +30,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
   var absUrl = $location.absUrl();
   $scope.cubeMode = absUrl.indexOf("/cubes/add") != -1 ? 'addNewCube' : absUrl.indexOf("/cubes/edit") != -1 ? 'editExistCube' : 'default';
 
-  if ($scope.cubeMode == "addNewCube" && ProjectModel.selectedProject==null) {
+  if ($scope.cubeMode == "addNewCube" &&ProjectModel.selectedProject==null) {
     SweetAlert.swal('Oops...', 'Please select your project first.', 'warning');
     $location.path("/models");
     return;
@@ -544,7 +544,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
     }
 
     if ($scope.cubeMode === "addNewCube") {
-      //only first time will after edit model will generate agg group auto
+      //only first time will will generate agg group auto
       if($scope.cubeMetaFrame.aggregation_groups.length){
         return;
       }
@@ -563,12 +563,14 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
       });
 
       $scope.cubeMetaFrame.aggregation_groups = [];
-      var increasedDataGroups = sliceGroupItemToGroups(newUniqAggregationItem);
-      for(var i in increasedDataGroups){
-       var newGroup =  CubeDescModel.createAggGroup();
-        newGroup.includes = increasedDataGroups[i];
-        $scope.cubeMetaFrame.aggregation_groups.push(newGroup);
+      var initJointGroups = sliceGroupItemToGroups(newUniqAggregationItem);
+      var newGroup =  CubeDescModel.createAggGroup();
+      newGroup.includes = newUniqAggregationItem;
+      for(var i=1;i<initJointGroups.length;i++){
+        newGroup.select_rule.joint_dims[i-1] = initJointGroups[i];
       }
+      $scope.cubeMetaFrame.aggregation_groups.push(newGroup);
+
     }
   }
 
@@ -636,7 +638,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
     var groups = [];
     var j = -1;
     for (var i = 0; i < groupItems.length; i++) {
-      if (i % 10 == 0) {
+      if (i % 8 == 0) {
         j++;
         groups[j] = [];
       }


[2/2] kylin git commit: KYLIN-1438 rm unused dimension from aggregation group when auto gen aggregation group

Posted by zh...@apache.org.
KYLIN-1438 rm unused dimension from aggregation group when auto gen aggregation group


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1c4d3a15
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1c4d3a15
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1c4d3a15

Branch: refs/heads/2.x-staging
Commit: 1c4d3a158934ab86b13bce84e2ecbbd68540ef19
Parents: 2c602a0
Author: janzhongi <ji...@ebay.com>
Authored: Tue Feb 23 20:02:36 2016 +0800
Committer: janzhongi <ji...@ebay.com>
Committed: Tue Feb 23 20:02:36 2016 +0800

----------------------------------------------------------------------
 webapp/app/js/controllers/cubeEdit.js | 81 +++++++++++++++++++++---------
 1 file changed, 58 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c4d3a15/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index 7d8c299..6f0df38 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -518,34 +518,17 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
     $scope.cubeMetaFrame.rowkey.rowkey_columns = newRowKeyColumns;
 
     if ($scope.cubeMode === "editExistCube") {
+      //clear dims will not be used
       var aggregationGroups = $scope.cubeMetaFrame.aggregation_groups;
-      // rm unused item from group,will only rm when [edit] dimension
-      angular.forEach(aggregationGroups, function (group, index) {
-        if (group) {
-          for (var j = 0; j < group.includes.length; j++) {
-            var elemStillExist = false;
-            for (var k = 0; k < tmpAggregationItems.length; k++) {
-              if (group.includes[j] == tmpAggregationItems[k]) {
-                elemStillExist = true;
-                break;
-              }
-            }
-            if (!elemStillExist) {
-              group.includes.splice(j, 1);
-              j--;
-            }
-          }
-        }
-        else {
-          aggregationGroups.splice(index, 1);
-          index--;
-        }
-      });
+      rmDeprecatedDims(aggregationGroups,tmpAggregationItems);
     }
 
     if ($scope.cubeMode === "addNewCube") {
-      //only first time will will generate agg group auto
+
+      //clear dims will not be used
       if($scope.cubeMetaFrame.aggregation_groups.length){
+        var aggregationGroups = $scope.cubeMetaFrame.aggregation_groups;
+        rmDeprecatedDims(aggregationGroups,tmpAggregationItems);
         return;
       }
 
@@ -574,6 +557,58 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
     }
   }
 
+  function rmDeprecatedDims(aggregationGroups,tmpAggregationItems){
+    angular.forEach(aggregationGroups, function (group, index) {
+      if (group) {
+        for (var j = 0; j < group.includes.length; j++) {
+          var elemStillExist = false;
+          for (var k = 0; k < tmpAggregationItems.length; k++) {
+            if (group.includes[j] == tmpAggregationItems[k]) {
+              elemStillExist = true;
+              break;
+            }
+          }
+          if (!elemStillExist) {
+            var deprecatedItem = group.includes[j];
+            //rm deprecated dimension from include
+            group.includes.splice(j, 1);
+            j--;
+
+            //rm deprecated dimension in mandatory dimensions
+            var mandatory = group.select_rule.mandatory_dims;
+            if(mandatory && mandatory.length){
+              var columnIndex = mandatory.indexOf(deprecatedItem);
+              group.select_rule.mandatory_dims.splice(columnIndex,1);
+            }
+
+            var hierarchys =  group.select_rule.hierarchy_dims;
+            if(hierarchys && hierarchys.length){
+              for(var i=0;i<hierarchys.length;i++){
+                var hierarchysIndex = hierarchys[i].indexOf(deprecatedItem);
+                group.select_rule.hierarchy_dims[i].splice(hierarchysIndex,1);
+              }
+
+            }
+
+            var joints =  group.select_rule.joint_dims;
+            if(joints && joints.length){
+              for(var i=0;i<joints.length;i++){
+                var jointIndex = joints[i].indexOf(deprecatedItem);
+                group.select_rule.joint_dims[i].splice(jointIndex,1);
+              }
+
+            }
+
+          }
+        }
+      }
+      else {
+        aggregationGroups.splice(index, 1);
+        index--;
+      }
+    });
+  }
+
   function sortSharedData(oldArray, tmpArr) {
     var newArr = [];
     for (var j = 0; j < oldArray.length; j++) {