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/03/31 05:53:10 UTC
kylin git commit: KYLIN-1534 fix bug, pass CI
Repository: kylin
Updated Branches:
refs/heads/master 10203c1ce -> b121b2722
KYLIN-1534 fix bug, pass CI
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b121b272
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b121b272
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b121b272
Branch: refs/heads/master
Commit: b121b2722a10d0b16357ce6dba94b39a493eba27
Parents: 10203c1
Author: Li Yang <li...@apache.org>
Authored: Thu Mar 31 11:52:44 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Thu Mar 31 11:52:59 2016 +0800
----------------------------------------------------------------------
.../org/apache/kylin/common/KylinConfig.java | 23 ++++++++++++++++++++
.../apache/kylin/common/KylinConfigBase.java | 2 +-
.../org/apache/kylin/common/KylinConfigExt.java | 4 ++++
3 files changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/b121b272/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index 0a8de9f..5a583f6 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -276,4 +276,27 @@ public class KylinConfig extends KylinConfigBase {
}
}
+ private KylinConfig base() {
+ if (this instanceof KylinConfigExt)
+ return ((KylinConfigExt) this).base;
+ else
+ return this;
+ }
+
+ private int superHashCode() {
+ return super.hashCode();
+ }
+
+ @Override
+ public int hashCode() {
+ return base().superHashCode();
+ }
+
+ @Override
+ public boolean equals(Object another) {
+ if (!(another instanceof KylinConfig))
+ return false;
+ else
+ return this.base() == ((KylinConfig) another).base();
+ }
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/b121b272/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index bdcdd1d..3157a96 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -43,7 +43,7 @@ import com.google.common.collect.Sets;
* Subclass can override methods in this class to extend the content of the 'properties',
* with some override values for example.
*/
-public class KylinConfigBase implements Serializable {
+abstract public class KylinConfigBase implements Serializable {
private static final Logger logger = LoggerFactory.getLogger(KylinConfigBase.class);
http://git-wip-us.apache.org/repos/asf/kylin/blob/b121b272/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 520bc6f..f6e20ff 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
@@ -28,9 +28,13 @@ import java.util.Properties;
public class KylinConfigExt extends KylinConfig {
final private Map<String, String> overrides;
+ final KylinConfig base;
public KylinConfigExt(KylinConfig base, Map<String, String> overrides) {
super(base.getAllProperties());
+ if (base.getClass() != KylinConfig.class)
+ throw new IllegalArgumentException();
+ this.base = base;
this.overrides = overrides;
}