You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/02/21 03:21:35 UTC
[kylin] 06/06: KYLIN-4336 Code review
This is an automated email from the ASF dual-hosted git repository.
nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 93c05dfc09f8fcce505c1ee34f77cd96f69f2988
Author: nichunen <ni...@apache.org>
AuthorDate: Thu Feb 20 21:01:36 2020 +0800
KYLIN-4336 Code review
---
.../java/org/apache/kylin/cube/model/CubeDesc.java | 16 ++++----
.../CubeDescTiretreeGlobalDomainDictUtil.java | 46 ++++++++++++----------
webapp/app/js/controllers/cubeAdvanceSetting.js | 24 ++++++-----
3 files changed, 49 insertions(+), 37 deletions(-)
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index 7c16d33..f0ec311 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -497,10 +497,8 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
if (!name.equals(cubeDesc.name))
return false;
- if (!modelName.equals(cubeDesc.modelName))
- return false;
+ return modelName.equals(cubeDesc.modelName);
- return true;
}
@Override
@@ -1034,7 +1032,7 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
whatsLeft.add(derCol);
}
if (whatsLeft.size() > 0) {
- infoList.add(new DeriveInfo(type, join, (TblColRef[]) whatsLeft.toArray(new TblColRef[whatsLeft.size()]),
+ infoList.add(new DeriveInfo(type, join, whatsLeft.toArray(new TblColRef[whatsLeft.size()]),
false));
}
}
@@ -1379,7 +1377,9 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
//tiretree global domain dic
if (Objects.isNull(dictDesc.getResuseColumnRef()) && Objects.nonNull(dictDesc.getReuseColumn())) {
- logger.info("tiretree global domain dic : column {} use tiretree global domain dic, reuse column {} ", dictDesc.getColumnRef(), dictDesc.getReuseColumn());
+ logger.info(
+ "tiretree global domain dic : column {} use tiretree global domain dic, reuse column {} ",
+ dictDesc.getColumnRef(), dictDesc.getReuseColumn());
result.remove(dictDesc.getColumnRef());
}
@@ -1396,17 +1396,17 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
*/
public List<CubeDescTiretreeGlobalDomainDictUtil.GlobalDict> listDomainDict() {
List<CubeDescTiretreeGlobalDomainDictUtil.GlobalDict> dicts = new ArrayList<>();
- if(dictionaries!=null && dictionaries.size()>0) {
+ if (dictionaries != null && dictionaries.size() > 0) {
for (DictionaryDesc dictionaryDesc : dictionaries) {
if (dictionaryDesc.isDomain()) {
- dicts.add(new CubeDescTiretreeGlobalDomainDictUtil.GlobalDict(dictionaryDesc.getColumnRef(), dictionaryDesc.getReuseColumn(), dictionaryDesc.getCube(), dictionaryDesc.getModel()));
+ dicts.add(new CubeDescTiretreeGlobalDomainDictUtil.GlobalDict(dictionaryDesc.getColumnRef(),
+ dictionaryDesc.getReuseColumn(), dictionaryDesc.getCube(), dictionaryDesc.getModel()));
}
}
}
return dicts;
}
-
/**
* A column may reuse dictionary of another column, find the dict column, return same col if there's no reuse column
*/
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDescTiretreeGlobalDomainDictUtil.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDescTiretreeGlobalDomainDictUtil.java
index 326ce53..0746b9a 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDescTiretreeGlobalDomainDictUtil.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDescTiretreeGlobalDomainDictUtil.java
@@ -18,7 +18,11 @@
package org.apache.kylin.cube.model;
-import com.google.common.collect.ImmutableList;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.cube.CubeInstance;
@@ -33,10 +37,7 @@ import org.apache.kylin.source.SourceManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.Serializable;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import com.google.common.collect.ImmutableList;
public class CubeDescTiretreeGlobalDomainDictUtil {
private static final Logger logger = LoggerFactory.getLogger(CubeDescTiretreeGlobalDomainDictUtil.class);
@@ -56,11 +57,13 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
if (dict.getSrc().getIdentity().equalsIgnoreCase(tblColRef.getIdentity())) {
String model = dict.getModel();
String cube = dict.getCube();
- logger.info("cube:{} column:{} tiretree global domain dic reuse model:{} cube{} column:{} ", cubeDesc.getName() , tblColRef.getName(), model, cube, dict.getDesc());
+ logger.info("cube:{} column:{} tiretree global domain dic reuse model:{} cube{} column:{} ",
+ cubeDesc.getName(), tblColRef.getName(), model, cube, dict.getDesc());
DataModelDesc dataModel = metadataManager.getDataModelDesc(model);
if (Objects.isNull(dataModel)) {
- logger.error("get cube:{} column:{} tiretree global domain dic reuse DataModelDesc error", cubeDesc.getName(), tblColRef.getName());
+ logger.error("get cube:{} column:{} tiretree global domain dic reuse DataModelDesc error",
+ cubeDesc.getName(), tblColRef.getName());
return null;
}
@@ -68,7 +71,7 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
CubeSegment cubeSegment = cubeInstance.getLatestReadySegment();
TblColRef colRef = dataModel.findColumn(dict.getDesc());
- if(Objects.isNull(colRef)){
+ if (Objects.isNull(colRef)) {
logger.error("get cube:{} column:{} tiretree global domain dic TblColRef error");
return null;
}
@@ -78,16 +81,14 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
if (StringUtils.isBlank(globalResumeDictPath)) {
logger.error("get cube:{} column:{} tiretree global domain dic resume dict path error");
}
- logger.error("get cube:{} column:{} tiretree global domain dic resume dict path is {}", globalResumeDictPath);
+ logger.error("get cube:{} column:{} tiretree global domain dic resume dict path is {}",
+ globalResumeDictPath);
break;
}
}
return globalResumeDictPath;
}
-
-
-
/**
* add resuce global tiretree global dic for baseid job
* @param cubeDesc
@@ -96,7 +97,7 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
public static void cuboidJob(CubeDesc cubeDesc, Set<String> dumpList) {
logger.info("cube {} start to add global domain dic", cubeDesc.getName());
CubeManager cubeManager = CubeManager.getInstance(KylinConfig.getInstanceFromEnv());
- DataModelManager metadataManager =DataModelManager.getInstance(KylinConfig.getInstanceFromEnv());
+ DataModelManager metadataManager = DataModelManager.getInstance(KylinConfig.getInstanceFromEnv());
cubeManager.getCube(cubeDesc.getName());
List<GlobalDict> globalDicts = cubeDesc.listDomainDict();
@@ -104,9 +105,11 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
for (GlobalDict dict : globalDicts) {
String cube = dict.getCube();
String model = dict.getModel();
- logger.debug("cube {} column {} start to add global domain dic ,reuse {}.{}.{}", cubeDesc.getName(), dict.getSrc(), model, cube, dict.getDesc());
+ logger.debug("cube {} column {} start to add global domain dic ,reuse {}.{}.{}", cubeDesc.getName(),
+ dict.getSrc(), model, cube, dict.getDesc());
CubeInstance instance = cubeManager.getCube(cube);
- logger.debug("cube {} column {} start to add global domain dic ,reuse cube{} dict", cubeDesc.getName(), dict.getSrc(), instance.getName());
+ logger.debug("cube {} column {} start to add global domain dic ,reuse cube{} dict", cubeDesc.getName(),
+ dict.getSrc(), instance.getName());
// cube, model_desc, cube_desc, table
dumpList.add(instance.getResourcePath());
@@ -121,17 +124,20 @@ public class CubeDescTiretreeGlobalDomainDictUtil {
}
DataModelDesc dataModelDesc = metadataManager.getDataModelDesc(model);
- logger.debug("cube {} column {} start to add global domain dic ,reuse model{} dict", cubeDesc.getName(), dict.getSrc(), dataModelDesc.getName());
+ logger.debug("cube {} column {} start to add global domain dic ,reuse model{} dict", cubeDesc.getName(),
+ dict.getSrc(), dataModelDesc.getName());
TblColRef tblColRef = dataModelDesc.findColumn(dict.getDesc());
- CubeSegment segment = instance.getLatestReadySegment();
- logger.debug("cube {} column {} start to add global domain dic ,reuse mode:{} cube:{} segment:{} dict,tblColRef:{}", cubeDesc.getName(), dict.getSrc(), dataModelDesc.getName(), cube, segment.getName(), tblColRef.getIdentity());
- if(segment.getDictResPath(tblColRef)!=null) {
+ CubeSegment segment = instance.getLatestReadySegment();
+ logger.debug(
+ "cube {} column {} start to add global domain dic ,reuse mode:{} cube:{} segment:{} dict,tblColRef:{}",
+ cubeDesc.getName(), dict.getSrc(), dataModelDesc.getName(), cube, segment.getName(),
+ tblColRef.getIdentity());
+ if (segment.getDictResPath(tblColRef) != null) {
dumpList.addAll(ImmutableList.of(segment.getDictResPath(tblColRef)));
}
}
}
-
public static class GlobalDict implements Serializable {
private TblColRef src;
private String desc;
diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js b/webapp/app/js/controllers/cubeAdvanceSetting.js
index 4b6252e..1048839 100755
--- a/webapp/app/js/controllers/cubeAdvanceSetting.js
+++ b/webapp/app/js/controllers/cubeAdvanceSetting.js
@@ -177,6 +177,12 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
}
+ var ReuseEnum = {
+ BUILD: 1,
+ SELF: 2,
+ DOMAIN: 3
+ };
+
$scope.isReuse=1;
$scope.addNew=false;
$scope.newDictionaries = {
@@ -201,12 +207,12 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
$scope.addNew=true;
$scope.updateDictionariesStatus.editIndex = index;
if(dictionaries.builder==null && dictionaries.model==null){
- $scope.isReuse=2;
- }else if (dictionaries.model!=null){
- $scope.isReuse=3;
+ $scope.isReuse = ReuseEnum.SELF;
+ } else if (dictionaries.model!=null){
+ $scope.isReuse = ReuseEnum.DOMAIN;
}
else{
- $scope.isReuse=1;
+ $scope.isReuse = ReuseEnum.BUILD;
}
}
else{
@@ -235,7 +241,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
$scope.initUpdateDictionariesStatus();
$scope.nextDictionariesInit();
$scope.addNew = !$scope.addNew;
- $scope.isReuse = 1;
+ $scope.isReuse = ReuseEnum.BUILD;
return true;
};
@@ -267,7 +273,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
$scope.clearNewDictionaries = function (){
$scope.newDictionaries = null;
- $scope.isReuse=1;
+ $scope.isReuse = ReuseEnum.BUILD;
$scope.initUpdateDictionariesStatus();
$scope.nextDictionariesInit();
$scope.addNew=!$scope.addNew;
@@ -280,11 +286,11 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
$scope.newDictionaries.model=null;
$scope.newDictionaries.cube=null;
if(type == 'domain'){
- $scope.isReuse=3;
+ $scope.isReuse = ReuseEnum.DOMAIN;
}else if (type == 'builder'){
- $scope.isReuse=1;
+ $scope.isReuse = ReuseEnum.BUILD;
}else if (type == 'reuse'){
- $scope.isReuse=2;
+ $scope.isReuse = ReuseEnum.SELF;
}
}