You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/04/05 11:41:26 UTC

kylin git commit: minor, fix bug in KylinConfigExt

Repository: kylin
Updated Branches:
  refs/heads/master 166e8ea5d -> 653743f34


minor, fix bug in KylinConfigExt


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

Branch: refs/heads/master
Commit: 653743f34b3a0fe049ed5b9e48d5ad26114907eb
Parents: 166e8ea
Author: Hongbin Ma <ma...@apache.org>
Authored: Tue Apr 5 17:40:43 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Tue Apr 5 17:40:59 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/common/KylinConfigExt.java | 22 ++++++++++++++++----
 .../org/apache/kylin/cube/model/CubeDesc.java   |  6 ++----
 2 files changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/653743f3/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
index f6e20ff..e34a58a 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
@@ -30,14 +30,28 @@ public class KylinConfigExt extends KylinConfig {
     final private Map<String, String> overrides;
     final KylinConfig base;
 
-    public KylinConfigExt(KylinConfig base, Map<String, String> overrides) {
+    public static KylinConfigExt createInstance(KylinConfig kylinConfig, Map<String, String> overrides) {
+        if (kylinConfig instanceof KylinConfigExt) {
+            return new KylinConfigExt((KylinConfigExt) kylinConfig, overrides);
+        } else {
+            return new KylinConfigExt(kylinConfig, overrides);
+        }
+    }
+
+    private KylinConfigExt(KylinConfig base, Map<String, String> overrides) {
         super(base.getAllProperties());
-        if (base.getClass() != KylinConfig.class)
+        if (base.getClass() != KylinConfig.class) {
             throw new IllegalArgumentException();
+        }
         this.base = base;
         this.overrides = overrides;
     }
-    
+
+    private KylinConfigExt(KylinConfigExt ext, Map<String, String> overrides) {
+        this.base = ext.base;
+        this.overrides = overrides;
+    }
+
     protected String getOptional(String prop, String dft) {
         String value = overrides.get(prop);
         if (value != null)
@@ -51,5 +65,5 @@ public class KylinConfigExt extends KylinConfig {
         result.putAll(overrides);
         return result;
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/653743f3/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
----------------------------------------------------------------------
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 89f297e..240cf52 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
@@ -171,7 +171,6 @@ public class CubeDesc extends RootPersistentEntity {
         return getRowkey().getShardByColumns();
     }
 
-
     /**
      * Error messages during resolving json metadata
      */
@@ -402,7 +401,7 @@ public class CubeDesc extends RootPersistentEntity {
     public void setStatusNeedNotify(List<String> statusNeedNotify) {
         this.statusNeedNotify = statusNeedNotify;
     }
-    
+
     public LinkedHashMap<String, String> getOverrideKylinProps() {
         return overrideKylinProps;
     }
@@ -516,7 +515,7 @@ public class CubeDesc extends RootPersistentEntity {
 
     public void init(KylinConfig config, Map<String, TableDesc> tables) {
         this.errors.clear();
-        this.config = new KylinConfigExt(config, overrideKylinProps);
+        this.config = KylinConfigExt.createInstance(config, overrideKylinProps);
 
         if (this.modelName == null || this.modelName.length() == 0) {
             this.addError("The cubeDesc '" + this.getName() + "' doesn't have data model specified.");
@@ -591,7 +590,6 @@ public class CubeDesc extends RootPersistentEntity {
                 combination = combination * (1 << jointDimsList.size());
             }
 
-
             if (!includeDims.containsAll(mandatoryDims) || !includeDims.containsAll(hierarchyDims) || !includeDims.containsAll(jointDims)) {
                 logger.error("Aggregation group " + index + " Include dims not containing all the used dims");
                 throw new IllegalStateException("Aggregation group " + index + " Include dims not containing all the used dims");