LENS-1475 : Override equals(Object obj) and hashcode() methods of SegmentationCandidate
Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/0f58445e Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/0f58445e Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/0f58445e Branch: refs/heads/current-release-line Commit: 0f58445e0e2bf4262a624f006c678786a00485d5 Parents: ae6bda3 Author: Sushil Mohanty <sushil.k.moha...@gmail.com> Authored: Thu Sep 14 12:42:57 2017 +0530 Committer: rajub <raju.bairishe...@lazada.com> Committed: Thu Oct 5 11:12:29 2017 +0800 ---------------------------------------------------------------------- .../lens/cube/parse/SegmentationCandidate.java | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/0f58445e/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java index 055d6ef..9378009 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/SegmentationCandidate.java @@ -404,4 +404,25 @@ public class SegmentationCandidate implements Candidate { return cubeQueryContextMap.entrySet().stream().filter(entry -> entry.getValue().getPickedCandidate() == null) .collect(toMap(Map.Entry::getKey, entry -> entry.getValue().getStoragePruningMsgs())); } + + @Override + public boolean equals(Object obj) { + if (super.equals(obj)) { + return true; + } + + if (obj == null || !(obj instanceof SegmentationCandidate)) { + return false; + } + + SegmentationCandidate segmantationCandidate = (SegmentationCandidate) obj; + return (segmantationCandidate.segmentation.getSegments().equals(this.segmentation.getSegments()) + && segmantationCandidate.segmentation.getBaseCube().equals(this.segmentation.getBaseCube())); + } + + @Override + public int hashCode() { + return segmentation.hashCode(); + } + }