minor, massin udf reverse

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/b1b90adb
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b1b90adb
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b1b90adb

Branch: refs/heads/master
Commit: b1b90adbe896e808776caf49ad7172979cf860df
Parents: 875a593
Author: Roger Shi <rogershijich...@hotmail.com>
Authored: Wed Nov 30 13:35:12 2016 +0800
Committer: Hongbin Ma <mahong...@apache.org>
Committed: Wed Nov 30 13:49:16 2016 +0800

----------------------------------------------------------------------
 .../metadata/filter/UDF/MassInTupleFilter.java  | 28 +++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/b1b90adb/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 3f0546c..29c5550 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
@@ -50,6 +50,7 @@ public class MassInTupleFilter extends FunctionTupleFilter {
     private String filterTableName;//key in MetadataManager.extFilterMap
     private String filterTableResourceIdentifier;//HDFS path, or hbase table 
name depending on FilterTableType
     private Functions.FilterTableType filterTableType;
+    private boolean reverse = false;
 
     public MassInTupleFilter() {
         super(Lists.<TupleFilter> newArrayList(), 
TupleFilter.FilterOperatorEnum.MASSIN);
@@ -66,7 +67,18 @@ public class MassInTupleFilter extends FunctionTupleFilter {
             valueProvider = 
VALUE_PROVIDER_FACTORY.getProvider(filterTableType, 
filterTableResourceIdentifier, column);
         }
         boolean ret = valueProvider.getMassInValues().contains(colValue);
-        return ret;
+        return reverse ? !ret : ret;
+    }
+
+    @Override
+    public TupleFilter reverse() {
+        try {
+            MassInTupleFilter result = (MassInTupleFilter) this.clone();
+            result.setReverse(!this.isReverse());
+            return result;
+        } catch (CloneNotSupportedException e) {
+            throw new UnsupportedOperationException(e);
+        }
     }
 
     @Override
@@ -144,4 +156,18 @@ public class MassInTupleFilter extends FunctionTupleFilter 
{
         return false;
     }
 
+    public boolean isReverse() {
+        return reverse;
+    }
+
+    public void setReverse(boolean reverse) {
+        this.reverse = reverse;
+    }
+
+    @Override
+    protected Object clone() throws CloneNotSupportedException {
+        MassInTupleFilter result = new MassInTupleFilter();
+        result.setReverse(this.isReverse());
+        return result;
+    }
 }

Reply via email to