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 <n...@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; } }