From ac67daf70bfd2681063827a071671d880554a73e Mon Sep 17 00:00:00 2001 From: Reid Chan Date: Wed, 29 Aug 2018 18:20:25 +0800 Subject: [PATCH] HBASE-21129 Clean up duplicate codes in #equals and #hashCode methods of Filter --- .../apache/hadoop/hbase/filter/ColumnCountGetFilter.java | 6 +----- .../apache/hadoop/hbase/filter/ColumnPaginationFilter.java | 9 +++------ .../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java | 9 ++------- .../org/apache/hadoop/hbase/filter/ColumnRangeFilter.java | 10 +++------- .../org/apache/hadoop/hbase/filter/ColumnValueFilter.java | 10 +++------- .../java/org/apache/hadoop/hbase/filter/CompareFilter.java | 6 +----- .../apache/hadoop/hbase/filter/DependentColumnFilter.java | 10 +++------- .../java/org/apache/hadoop/hbase/filter/FamilyFilter.java | 12 +----------- .../java/org/apache/hadoop/hbase/filter/FilterList.java | 9 +++------ .../org/apache/hadoop/hbase/filter/FilterListWithAND.java | 5 ++--- .../org/apache/hadoop/hbase/filter/FilterListWithOR.java | 9 ++++----- .../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java | 5 +++++ .../filter/FirstKeyValueMatchingQualifiersFilter.java | 6 +----- .../org/apache/hadoop/hbase/filter/FuzzyRowFilter.java | 6 +----- .../apache/hadoop/hbase/filter/InclusiveStopFilter.java | 9 ++------- .../java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java | 6 +----- .../apache/hadoop/hbase/filter/MultiRowRangeFilter.java | 8 ++------ .../hadoop/hbase/filter/MultipleColumnPrefixFilter.java | 9 ++------- .../java/org/apache/hadoop/hbase/filter/PageFilter.java | 6 +----- .../java/org/apache/hadoop/hbase/filter/PrefixFilter.java | 9 ++------- .../org/apache/hadoop/hbase/filter/QualifierFilter.java | 12 +----------- .../org/apache/hadoop/hbase/filter/RandomRowFilter.java | 6 +----- .../java/org/apache/hadoop/hbase/filter/RowFilter.java | 12 +----------- .../hbase/filter/SingleColumnValueExcludeFilter.java | 5 +++++ .../hadoop/hbase/filter/SingleColumnValueFilter.java | 10 +++------- .../java/org/apache/hadoop/hbase/filter/SkipFilter.java | 6 +----- .../org/apache/hadoop/hbase/filter/TimestampsFilter.java | 6 +----- .../java/org/apache/hadoop/hbase/filter/ValueFilter.java | 12 +----------- .../org/apache/hadoop/hbase/filter/WhileMatchFilter.java | 6 +----- .../hadoop/hbase/regionserver/MobReferenceOnlyFilter.java | 8 ++++++++ .../hadoop/hbase/security/access/AccessControlFilter.java | 14 +++++++------- .../hbase/security/visibility/VisibilityController.java | 5 +++-- .../hbase/security/visibility/VisibilityLabelFilter.java | 6 +++--- .../apache/hadoop/hbase/client/ColumnCountOnRowFilter.java | 2 +- .../org/apache/hadoop/hbase/filter/TestFilterList.java | 4 ++-- .../apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java | 7 +++---- 36 files changed, 85 insertions(+), 195 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java index 3cf6675811..3541886af3 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java @@ -136,11 +136,7 @@ public class ColumnCountGetFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ColumnCountGetFilter))) { - return false; - } - ColumnCountGetFilter f = (ColumnCountGetFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java index 4f592e98ac..e4e925b0fa 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java @@ -234,15 +234,12 @@ public class ColumnPaginationFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ColumnPaginationFilter))) { - return false; - } - ColumnPaginationFilter f = (ColumnPaginationFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(this.limit, this.offset); + return columnOffset == null ? Objects.hash(this.limit, this.offset) : + Objects.hash(this.limit, this.columnOffset); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java index 322cce14fc..a11efc8832 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.filter; import java.io.IOException; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.ByteBufferExtendedCell; import org.apache.hadoop.hbase.Cell; @@ -165,15 +164,11 @@ public class ColumnPrefixFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ColumnPrefixFilter))) { - return false; - } - ColumnPrefixFilter f = (ColumnPrefixFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.getPrefix())); + return Bytes.hashCode(this.getPrefix()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java index 5b30785c29..0d7eccb4fa 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnRangeFilter.java @@ -243,16 +243,12 @@ public class ColumnRangeFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ColumnRangeFilter))) { - return false; - } - ColumnRangeFilter f = (ColumnRangeFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.toStringBinary(this.getMinColumn()), this.getMinColumnInclusive(), - Bytes.toStringBinary(this.getMaxColumn()), this.getMaxColumnInclusive()); + return Objects.hash(Bytes.toStringBinary(getMinColumn()), getMinColumnInclusive(), + Bytes.toStringBinary(getMaxColumn()), getMaxColumnInclusive()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnValueFilter.java index c33d50e184..5fd60cb7ec 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnValueFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ColumnValueFilter.java @@ -242,16 +242,12 @@ public class ColumnValueFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ColumnValueFilter))) { - return false; - } - ColumnValueFilter f = (ColumnValueFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()), - this.getCompareOperator(), this.getComparator()); + return Objects.hash(getFamily(), getQualifier(), + getCompareOperator(), getComparator()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java index 73c60fd646..8dd703d2e0 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java @@ -325,11 +325,7 @@ public abstract class CompareFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof CompareFilter))) { - return false; - } - CompareFilter f = (CompareFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java index f5912e1a03..689de23c5d 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java @@ -315,16 +315,12 @@ public class DependentColumnFilter extends CompareFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof DependentColumnFilter))) { - return false; - } - DependentColumnFilter f = (DependentColumnFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()), - this.dropDependentColumn()); + return Objects.hash(getFamily(), getQualifier(), dropDependentColumn(), + getComparator(), getCompareOperator()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java index 5892c32d24..f7b3929500 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.filter; import java.io.IOException; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CompareOperator; @@ -150,15 +149,6 @@ public class FamilyFilter extends CompareFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof FamilyFilter))) { - return false; - } - FamilyFilter f = (FamilyFilter) obj; - return this.areSerializedFieldsEqual(f); - } - - @Override - public int hashCode() { - return Objects.hash(this.getComparator(), this.getCompareOperator()); + return areSerializedFieldsEqual((Filter) obj); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java index f8be2f6db9..825c18382c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java @@ -277,17 +277,14 @@ final public class FilterList extends FilterBase { public String toString() { return this.filterListBase.toString(); } + @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof FilterList))) { - return false; - } - FilterList f = (FilterList) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(this.getOperator(), Arrays.hashCode(this.getFilters().toArray())); + return Objects.hash(this.getOperator(), this.getFilters().toArray()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java index 65b641b045..fb9276ab64 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java @@ -24,7 +24,6 @@ import org.apache.yetus.audience.InterfaceAudience; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -284,7 +283,7 @@ public class FilterListWithAND extends FilterListBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof FilterListWithAND))) { + if (!(obj instanceof FilterListWithAND)) { return false; } if (this == obj) { @@ -296,6 +295,6 @@ public class FilterListWithAND extends FilterListBase { @Override public int hashCode() { - return Objects.hash(this.seekHintFilters, Arrays.hashCode(this.filters.toArray())); + return Objects.hash(this.seekHintFilters.toArray(), this.filters.toArray()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithOR.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithOR.java index a51daa786e..ab34b1a6d5 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithOR.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithOR.java @@ -26,7 +26,6 @@ import org.apache.yetus.audience.InterfaceAudience; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -405,13 +404,13 @@ public class FilterListWithOR extends FilterListBase { } FilterListWithOR f = (FilterListWithOR) obj; return this.filters.equals(f.getFilters()) && - this.prevFilterRCList.equals(f.prevFilterRCList) && - this.prevCellList.equals(f.prevCellList); + this.prevFilterRCList.equals(f.prevFilterRCList) && + this.prevCellList.equals(f.prevCellList); } @Override public int hashCode() { - return Objects.hash(Arrays.hashCode(this.prevFilterRCList.toArray()), - Arrays.hashCode(this.prevCellList.toArray()), Arrays.hashCode(this.filters.toArray())); + return Objects.hash(this.prevFilterRCList.toArray(), + this.prevCellList.toArray(), this.filters.toArray()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java index a6b990f4b7..cad88c4509 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.java @@ -126,4 +126,9 @@ public class FirstKeyOnlyFilter extends FilterBase { return true; } + + @Override + public boolean equals(Object obj) { + return areSerializedFieldsEqual((Filter) obj); + } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java index 4775643fb3..0f03887db3 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.java @@ -137,11 +137,7 @@ public class FirstKeyValueMatchingQualifiersFilter extends FirstKeyOnlyFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof FirstKeyValueMatchingQualifiersFilter))) { - return false; - } - FirstKeyValueMatchingQualifiersFilter f = (FirstKeyValueMatchingQualifiersFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java index 0db070e224..7030026e2e 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java @@ -650,11 +650,7 @@ public class FuzzyRowFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof FuzzyRowFilter))) { - return false; - } - FuzzyRowFilter f = (FuzzyRowFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java index 0e1749a3ea..5618053148 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/InclusiveStopFilter.java @@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.filter; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellComparator; @@ -135,15 +134,11 @@ public class InclusiveStopFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof InclusiveStopFilter))) { - return false; - } - InclusiveStopFilter f = (InclusiveStopFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.stopRowKey)); + return Bytes.hashCode(this.stopRowKey); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java index cb74f8e9f7..cd528d659d 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/KeyOnlyFilter.java @@ -137,11 +137,7 @@ public class KeyOnlyFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof KeyOnlyFilter))) { - return false; - } - KeyOnlyFilter f = (KeyOnlyFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.java index 00753ae8a7..3421964e9c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.java @@ -516,7 +516,7 @@ public class MultiRowRangeFilter extends FilterBase { @Override public boolean equals(Object obj){ - if (obj == null || (!(obj instanceof RowRange))) { + if (!(obj instanceof RowRange)) { return false; } if (this == obj) { @@ -540,11 +540,7 @@ public class MultiRowRangeFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof MultiRowRangeFilter))) { - return false; - } - MultiRowRangeFilter f = (MultiRowRangeFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java index ec69ae210f..bfb66b78ae 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; -import java.util.Objects; import java.util.TreeSet; import org.apache.hadoop.hbase.Cell; @@ -212,15 +211,11 @@ public class MultipleColumnPrefixFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof MultipleColumnPrefixFilter))) { - return false; - } - MultipleColumnPrefixFilter f = (MultipleColumnPrefixFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Arrays.hashCode(this.sortedPrefixes.toArray())); + return Arrays.hashCode(this.sortedPrefixes.toArray()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PageFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PageFilter.java index 06f777d629..c943e4e3c6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PageFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PageFilter.java @@ -154,11 +154,7 @@ public class PageFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof PageFilter))) { - return false; - } - PageFilter f = (PageFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java index e243933a5b..4647261411 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java @@ -20,7 +20,6 @@ package org.apache.hadoop.hbase.filter; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.ByteBufferExtendedCell; import org.apache.hadoop.hbase.Cell; @@ -160,15 +159,11 @@ public class PrefixFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof PrefixFilter))) { - return false; - } - PrefixFilter f = (PrefixFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.getPrefix())); + return Bytes.hashCode(this.getPrefix()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java index da822ec290..ab5e4324bb 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.filter; import java.io.IOException; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CompareOperator; @@ -147,15 +146,6 @@ public class QualifierFilter extends CompareFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof QualifierFilter))) { - return false; - } - QualifierFilter f = (QualifierFilter) obj; - return this.areSerializedFieldsEqual(f); - } - - @Override - public int hashCode() { - return Objects.hash(this.getComparator(), this.getCompareOperator()); + return areSerializedFieldsEqual((Filter) obj); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java index 2fca487b55..ff67d94733 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RandomRowFilter.java @@ -158,11 +158,7 @@ public class RandomRowFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof RandomRowFilter))) { - return false; - } - RandomRowFilter f = (RandomRowFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java index e106a5651a..ceac04322c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.filter; import java.io.IOException; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CompareOperator; @@ -164,15 +163,6 @@ public class RowFilter extends CompareFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof RowFilter))) { - return false; - } - RowFilter f = (RowFilter) obj; - return this.areSerializedFieldsEqual(f); - } - - @Override - public int hashCode() { - return Objects.hash(this.getComparator(), this.getCompareOperator()); + return areSerializedFieldsEqual((Filter) obj); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java index 566c408d01..ffa96ea3ff 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java @@ -241,4 +241,9 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter { return super.areSerializedFieldsEqual(o); } + + @Override + public boolean equals(Object obj) { + return areSerializedFieldsEqual((Filter) obj); + } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java index 45cc9650fd..73578c17f6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java @@ -464,16 +464,12 @@ public class SingleColumnValueFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(SingleColumnValueFilter.class.isInstance(obj)))) { - return false; - } - SingleColumnValueFilter f = (SingleColumnValueFilter) obj; - return this.areSerializedFieldsEqual(f); + return this.areSerializedFieldsEqual((Filter) obj); } @Override public int hashCode() { - return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()), - this.op, this.getComparator(), this.getFilterIfMissing(), this.getLatestVersionOnly()); + return Objects.hash(getFamily(), getQualifier(), + this.op, getComparator(), getFilterIfMissing(), getLatestVersionOnly()); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java index 2db6abaa1c..acb7d0e4e8 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SkipFilter.java @@ -165,11 +165,7 @@ public class SkipFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { - return false; - } - SkipFilter f = (SkipFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java index cc749a5fbf..1e2d3e3bb0 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/TimestampsFilter.java @@ -242,11 +242,7 @@ public class TimestampsFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof TimestampsFilter))) { - return false; - } - TimestampsFilter f = (TimestampsFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java index 59c27949ad..d4b60884fd 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java @@ -21,7 +21,6 @@ package org.apache.hadoop.hbase.filter; import java.io.IOException; import java.util.ArrayList; -import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CompareOperator; @@ -143,15 +142,6 @@ public class ValueFilter extends CompareFilter { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof ValueFilter))) { - return false; - } - ValueFilter f = (ValueFilter) obj; - return this.areSerializedFieldsEqual(f); - } - - @Override - public int hashCode() { - return Objects.hash(this.getComparator(), this.getCompareOperator()); + return areSerializedFieldsEqual((Filter) obj); } } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java index d501dc4bb6..eb6473e5e5 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/WhileMatchFilter.java @@ -167,11 +167,7 @@ public class WhileMatchFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { - return false; - } - WhileMatchFilter f = (WhileMatchFilter) obj; - return this.areSerializedFieldsEqual(f); + return areSerializedFieldsEqual((Filter) obj); } @Override diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java index b544ea443d..4750beddf3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MobReferenceOnlyFilter.java @@ -39,4 +39,12 @@ class MobReferenceOnlyFilter extends FilterBase { } return ReturnCode.SKIP; } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof MobReferenceOnlyFilter)) { + return false; + } + return obj == this; + } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java index e7cf424707..fd48641999 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java @@ -177,23 +177,23 @@ class AccessControlFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { + if (!(obj instanceof AccessControlFilter)) { return false; } - if(this == obj){ + if (this == obj){ return true; } AccessControlFilter f=(AccessControlFilter)obj; return this.authManager.equals(f.authManager) && - this.table.equals(f.table) && - this.user.equals(f.user) && - this.strategy.equals(f.strategy) && - this.cfVsMaxVersions.equals(f.cfVsMaxVersions); + this.table.equals(f.table) && + this.user.equals(f.user) && + this.strategy.equals(f.strategy) && + this.cfVsMaxVersions.equals(f.cfVsMaxVersions); } @Override public int hashCode() { return Objects.hash(this.authManager, this.table, this.strategy, this.user, - this.cfVsMaxVersions); + this.cfVsMaxVersions); } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java index 3f4b64a730..c44b77b217 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java @@ -1038,12 +1038,13 @@ public class VisibilityController implements MasterCoprocessor, RegionCoprocesso deleteCellVisTagsFormat); return matchFound ? ReturnCode.INCLUDE : ReturnCode.SKIP; } + @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { + if (!(obj instanceof DeleteVersionVisibilityExpressionFilter))) { return false; } - if(this == obj){ + if (this == obj){ return true; } DeleteVersionVisibilityExpressionFilter f = (DeleteVersionVisibilityExpressionFilter)obj; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java index 590a2a420d..4c3f1414b8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java @@ -23,7 +23,6 @@ import java.util.Objects; import org.apache.yetus.audience.InterfaceAudience; import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.PrivateCellUtil; import org.apache.hadoop.hbase.filter.FilterBase; import org.apache.hadoop.hbase.util.ByteRange; @@ -91,9 +90,10 @@ class VisibilityLabelFilter extends FilterBase { this.curFamilyMaxVersions = 0; this.curQualMetVersions = 0; } + @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { + if (!(obj instanceof VisibilityLabelFilter)) { return false; } if(this == obj){ @@ -101,7 +101,7 @@ class VisibilityLabelFilter extends FilterBase { } VisibilityLabelFilter f = (VisibilityLabelFilter)obj; return this.expEvaluator.equals(f.expEvaluator) && - this.cfVsMaxVersions.equals(f.cfVsMaxVersions); + this.cfVsMaxVersions.equals(f.cfVsMaxVersions); } @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/ColumnCountOnRowFilter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/ColumnCountOnRowFilter.java index 5735a981c0..45355f099c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/ColumnCountOnRowFilter.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/ColumnCountOnRowFilter.java @@ -59,7 +59,7 @@ public final class ColumnCountOnRowFilter extends FilterBase { @Override public boolean equals(Object obj) { - if (obj == null || (!(obj.getClass() == this.getClass()))) { + if (!(obj instanceof ColumnCountOnRowFilter)) { return false; } if (this == obj) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java index 4d14cd4491..28f344a203 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java @@ -1027,10 +1027,10 @@ public class TestFilterList { @Override public boolean equals(Object obj) { - if(obj == null || !(obj instanceof TransformFilter)){ + if(!(obj instanceof TransformFilter)){ return false; } - if(obj == this){ + if (obj == this) { return true; } TransformFilter f = (TransformFilter)obj; diff --git a/hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java b/hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java index bcfecac052..f315ef8a55 100644 --- a/hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java +++ b/hbase-spark/src/main/java/org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java @@ -29,7 +29,6 @@ import java.util.Objects; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.exceptions.DeserializationException; -import org.apache.hadoop.hbase.filter.Filter.ReturnCode; import org.apache.hadoop.hbase.filter.FilterBase; import org.apache.hadoop.hbase.spark.datasources.BytesEncoder; import org.apache.hadoop.hbase.spark.datasources.JavaBytesEncoder; @@ -279,7 +278,7 @@ public class SparkSQLPushDownFilter extends FilterBase{ @Override public boolean equals(Object obj) { - if (obj == null || (!(obj instanceof SparkSQLPushDownFilter))) { + if (!(obj instanceof SparkSQLPushDownFilter)) { return false; } if (this == obj) { @@ -297,8 +296,8 @@ public class SparkSQLPushDownFilter extends FilterBase{ i++; } return this.dynamicLogicExpression.equals(f.dynamicLogicExpression) && - this.currentCellToColumnIndexMap.equals(f.currentCellToColumnIndexMap) && - this.encoderClassName.equals(f.encoderClassName); + this.currentCellToColumnIndexMap.equals(f.currentCellToColumnIndexMap) && + this.encoderClassName.equals(f.encoderClassName); } @Override -- 2.15.0