minor, refine MassInTupleFilter Signed-off-by: Hongbin Ma <mahong...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/a03eec88 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/a03eec88 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/a03eec88 Branch: refs/heads/master Commit: a03eec88f3b4e60d1f1d6bd2fd5922a97aec23f5 Parents: fe9efa8 Author: Roger Shi <rogershijich...@hotmail.com> Authored: Sun Dec 4 16:28:47 2016 +0800 Committer: Hongbin Ma <mahong...@apache.org> Committed: Sun Dec 4 21:28:17 2016 +0800 ---------------------------------------------------------------------- .../metadata/filter/UDF/MassInTupleFilter.java | 34 +++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/a03eec88/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java index 29c5550..e4e311e 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java @@ -19,6 +19,7 @@ package org.apache.kylin.metadata.filter.UDF; import java.nio.ByteBuffer; +import java.util.ArrayList; import java.util.Collection; import org.apache.kylin.common.KylinConfig; @@ -40,7 +41,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; public class MassInTupleFilter extends FunctionTupleFilter { - public static final Logger logger = LoggerFactory.getLogger(MassInTupleFilter.class); public static MassInValueProviderFactory VALUE_PROVIDER_FACTORY = null; @@ -56,6 +56,16 @@ public class MassInTupleFilter extends FunctionTupleFilter { super(Lists.<TupleFilter> newArrayList(), TupleFilter.FilterOperatorEnum.MASSIN); } + public MassInTupleFilter(MassInTupleFilter filter) { + super(new ArrayList<TupleFilter>(filter.children), filter.operator); + this.valueProvider = filter.getValueProvider(); + this.column = filter.getColumn(); + this.filterTableName = filter.getFilterTableName(); + this.filterTableResourceIdentifier = filter.getFilterTableResourceIdentifier(); + this.filterTableType = filter.getFilterTableType(); + this.reverse = filter.isReverse(); + } + @Override public boolean evaluate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) { Preconditions.checkNotNull(tuple); @@ -132,6 +142,7 @@ public class MassInTupleFilter extends FunctionTupleFilter { BytesUtil.writeUTFString(filterTableName, buffer); BytesUtil.writeUTFString(filterTableResourceIdentifier, buffer); BytesUtil.writeUTFString(filterTableType.toString(), buffer); + BytesUtil.writeUTFString(String.valueOf(reverse), buffer); } @Override @@ -139,6 +150,7 @@ public class MassInTupleFilter extends FunctionTupleFilter { filterTableName = BytesUtil.readUTFString(buffer); filterTableResourceIdentifier = BytesUtil.readUTFString(buffer); filterTableType = Functions.FilterTableType.valueOf(BytesUtil.readUTFString(buffer)); + reverse = Boolean.valueOf(BytesUtil.readUTFString(buffer)); } public static boolean containsMassInTupleFilter(TupleFilter filter) { @@ -166,8 +178,22 @@ public class MassInTupleFilter extends FunctionTupleFilter { @Override protected Object clone() throws CloneNotSupportedException { - MassInTupleFilter result = new MassInTupleFilter(); - result.setReverse(this.isReverse()); - return result; + return new MassInTupleFilter(this); + } + + public MassInValueProvider getValueProvider() { + return valueProvider; + } + + public String getFilterTableName() { + return filterTableName; + } + + public String getFilterTableResourceIdentifier() { + return filterTableResourceIdentifier; + } + + public Functions.FilterTableType getFilterTableType() { + return filterTableType; } }