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;
     }
   }