Repository: kylin Updated Branches: refs/heads/master aebdd66fe -> a22200730
KYLIN-1612 Fix equals check on ColumnDesc and TableDesc Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/a2220073 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/a2220073 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/a2220073 Branch: refs/heads/master Commit: a2220073074d07d4cd52e5c66e8d83ef571ff500 Parents: aebdd66 Author: Li Yang <liy...@apache.org> Authored: Tue Apr 26 16:19:02 2016 +0800 Committer: Li Yang <liy...@apache.org> Committed: Tue Apr 26 16:19:14 2016 +0800 ---------------------------------------------------------------------- .../apache/kylin/metadata/model/ColumnDesc.java | 31 ++++++++++++++++++++ .../apache/kylin/metadata/model/TableDesc.java | 17 +++++++++++ .../kylin/metadata/project/ProjectL2Cache.java | 1 + 3 files changed, 49 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/a2220073/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java index 2ddc75a..b48622a 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java @@ -145,6 +145,37 @@ public class ColumnDesc implements Serializable { return StringUtils.equalsIgnoreCase(table.getIdentity(), tableName) && // StringUtils.equalsIgnoreCase(name, columnName); } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + ((table == null) ? 0 : table.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ColumnDesc other = (ColumnDesc) obj; + if (name == null) { + if (other.name != null) + return false; + } else if (!name.equals(other.name)) + return false; + if (table == null) { + if (other.table != null) + return false; + } else if (!table.equals(other.table)) + return false; + return true; + } @Override public String toString() { http://git-wip-us.apache.org/repos/asf/kylin/blob/a2220073/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java index 65d85dd..9d016d3 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java @@ -163,6 +163,23 @@ public class TableDesc extends RootPersistentEntity implements ISourceAware { } } } + + @Override + public int hashCode() { + return getIdentity().hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + TableDesc other = (TableDesc) obj; + return getIdentity().equals(other.getIdentity()); + } @Override public String toString() { http://git-wip-us.apache.org/repos/asf/kylin/blob/a2220073/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java index 3006773..da2cf98 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectL2Cache.java @@ -160,6 +160,7 @@ class ProjectL2Cache { // ---------------------------------------------------------------------------- private ProjectCache getCache(String project) { + project = ProjectInstance.getNormalizedProjectName(project); ProjectCache result = projectCaches.get(project); if (result == null) { result = loadCache(project);