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;
     }
 }

Reply via email to