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++) {