http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawSerializer.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawSerializer.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawSerializer.java
index c23d649..021c146 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawSerializer.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawSerializer.java
@@ -18,15 +18,15 @@
 
 package org.apache.kylin.measure.raw;
 
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.kylin.common.util.ByteArray;
 import org.apache.kylin.common.util.BytesUtil;
 import org.apache.kylin.metadata.datatype.DataType;
 import org.apache.kylin.metadata.datatype.DataTypeSerializer;
 
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-
 @SuppressWarnings("unused")
 public class RawSerializer extends DataTypeSerializer<List<ByteArray>> {
 
@@ -98,7 +98,7 @@ public class RawSerializer extends 
DataTypeSerializer<List<ByteArray>> {
         if (size >= 0) {
             for (int i = 0; i < size; i++) {
                 ByteArray ba = new ByteArray(BytesUtil.readByteArray(in));
-                if (ba.length() != 0){
+                if (ba.length() != 0) {
                     values.add(ba);
                 }
             }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/topn/Counter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/Counter.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/Counter.java
index 8dc9e7e..041ea2b 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/topn/Counter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/topn/Counter.java
@@ -18,7 +18,6 @@
 
 package org.apache.kylin.measure.topn;
 
-
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
@@ -33,7 +32,7 @@ public class Counter<T> implements Externalizable {
 
     protected T item;
     protected double count;
-//    protected double error;
+    //    protected double error;
 
     /**
      * For de-serialization
@@ -43,25 +42,25 @@ public class Counter<T> implements Externalizable {
 
     public Counter(T item) {
         this.count = 0;
-//        this.error = 0;
+        //        this.error = 0;
         this.item = item;
     }
 
     public T getItem() {
         return item;
     }
-    
+
     public double getCount() {
         return count;
     }
 
-//    public double getError() {
-//        return error;
-//    }
+    //    public double getError() {
+    //        return error;
+    //    }
 
     @Override
     public String toString() {
-//        return item + ":" + count + ':' + error;
+        //        return item + ":" + count + ':' + error;
         return item + ":" + count;
     }
 
@@ -80,4 +79,3 @@ public class Counter<T> implements Externalizable {
         //out.writeDouble(error);
     }
 }
-

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoubleDeltaSerializer.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoubleDeltaSerializer.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoubleDeltaSerializer.java
index 2d9e3ee..38d5b20 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoubleDeltaSerializer.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoubleDeltaSerializer.java
@@ -30,7 +30,7 @@ public class DoubleDeltaSerializer {
     static final int PRECISION_BITS = 3;
     static final int DELTA_SIZE_BITS = 6;
     static final int LENGTH_BITS = 23;
-    
+
     static final long[] MASKS = new long[64];
     {
         for (int i = 0; i < MASKS.length; i++) {
@@ -41,7 +41,6 @@ public class DoubleDeltaSerializer {
     final private int precision;
     final private int multiplier;
 
-
     transient ThreadLocal<long[]> deltasThreadLocal;
 
     public DoubleDeltaSerializer() {
@@ -59,7 +58,7 @@ public class DoubleDeltaSerializer {
         this.deltasThreadLocal = new ThreadLocal<long[]>();
     }
 
-    public void serialize(double values[], ByteBuffer buf) {
+    public void serialize(double[] values, ByteBuffer buf) {
         long[] deltas = calculateDeltas(values);
         int deltaSize = maxDeltaSize(deltas, values.length - 1);
 
@@ -118,7 +117,7 @@ public class DoubleDeltaSerializer {
             deltas = new long[len];
             deltasThreadLocal.set(deltas);
         }
-                
+
         if (len == 0)
             return deltas;
 
@@ -144,17 +143,17 @@ public class DoubleDeltaSerializer {
     public double[] deserialize(ByteBuffer buf) {
         int meta = buf.getInt();
         int len = meta & ((1 << LENGTH_BITS) - 1);
-        
+
         double[] result = new double[len];
         deserialize(buf, meta, result);
-        
+
         return result;
     }
-    
+
     public int deserialize(ByteBuffer buf, double[] result) {
         return deserialize(buf, buf.getInt(), result);
     }
-    
+
     private int deserialize(ByteBuffer buf, int meta, double[] result) {
         int precision = meta >>> (DELTA_SIZE_BITS + LENGTH_BITS);
         assert precision == this.precision;
@@ -172,7 +171,7 @@ public class DoubleDeltaSerializer {
         int left = 0;
         for (int i = 1; i < len; i++) {
             long delta = 0;
-            
+
             if (left >= deltaSize) {
                 delta = (bits >> (left - deltaSize)) & MASKS[deltaSize];
                 left -= deltaSize;
@@ -184,7 +183,7 @@ public class DoubleDeltaSerializer {
                 delta |= (bits >> (left - more)) & MASKS[more];
                 left -= more;
             }
-            
+
             current += delta;
             result[i] = (double) current / multiplier;
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoublyLinkedList.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoublyLinkedList.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoublyLinkedList.java
index 03e4066..bb4fa6d 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoublyLinkedList.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/DoublyLinkedList.java
@@ -18,7 +18,6 @@
 
 package org.apache.kylin.measure.topn;
 
-
 /**
  * Modified from DoublyLinkedList.java in https://github.com/addthis/stream-lib
  * 
@@ -45,7 +44,7 @@ public class DoublyLinkedList<T> {
      */
     public ListNode2<T> enqueue(T value) {
         ListNode2<T> node = new ListNode2<T>(value);
-       
+
         return enqueue(node);
     }
 
@@ -93,7 +92,6 @@ public class DoublyLinkedList<T> {
         size++;
     }
 
-
     public void addBefore(ListNode2<T> node, ListNode2<T> newNode) {
         newNode.prev = node.prev;
         newNode.next = node;
@@ -124,7 +122,6 @@ public class DoublyLinkedList<T> {
     public int size() {
         return size;
     }
-    
 
     public ListNode2<T> head() {
         return head;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounter.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounter.java
index fd35309..ab4b40e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounter.java
@@ -18,11 +18,17 @@
 
 package org.apache.kylin.measure.topn;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.kylin.common.util.Pair;
 
-import java.util.*;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 
 /**
  * Modified from the StreamSummary.java in 
https://github.com/addthis/stream-lib
@@ -115,8 +121,8 @@ public class TopNCounter<T> implements Iterable<Counter<T>> 
{
         Counter<T> counter = counterNode.getValue();
         counter.count += incrementCount;
 
-        ListNode2<Counter<T>> nodeNext; 
-                
+        ListNode2<Counter<T>> nodeNext;
+
         if (incrementCount > 0) {
             nodeNext = counterNode.getNext();
         } else {
@@ -135,7 +141,7 @@ public class TopNCounter<T> implements Iterable<Counter<T>> 
{
             } else {
                 counterList.add(counterNode);
             }
-            
+
         } else {
             while (nodeNext != null && counter.count < 
nodeNext.getValue().count) {
                 nodeNext = nodeNext.getPrev();
@@ -147,8 +153,6 @@ public class TopNCounter<T> implements Iterable<Counter<T>> 
{
             }
         }
 
-       
-
     }
 
     public List<T> peek(int k) {
@@ -227,10 +231,10 @@ public class TopNCounter<T> implements 
Iterable<Counter<T>> {
         if (another.size() >= another.capacity) {
             m2 = another.counterList.tail().getValue().count;
         }
-        
-        Set<T> duplicateItems = Sets.newHashSet(); 
+
+        Set<T> duplicateItems = Sets.newHashSet();
         List<T> notDuplicateItems = Lists.newArrayList();
-        
+
         for (Map.Entry<T, ListNode2<Counter<T>>> entry : 
this.counterMap.entrySet()) {
             T item = entry.getKey();
             ListNode2<Counter<T>> existing = another.counterMap.get(item);
@@ -241,11 +245,11 @@ public class TopNCounter<T> implements 
Iterable<Counter<T>> {
             }
         }
 
-        for(T item : duplicateItems) {
+        for (T item : duplicateItems) {
             this.offer(item, another.counterMap.get(item).getValue().count);
         }
-        
-        for(T item : notDuplicateItems) {
+
+        for (T item : notDuplicateItems) {
             this.offer(item, m2);
         }
 
@@ -301,7 +305,7 @@ public class TopNCounter<T> implements Iterable<Counter<T>> 
{
     public Iterator<Counter<T>> iterator() {
         return new TopNCounterIterator();
     }
-    
+
     /**
      * Iterator from the tail (smallest) to head (biggest);
      */
@@ -331,5 +335,5 @@ public class TopNCounter<T> implements Iterable<Counter<T>> 
{
             throw new UnsupportedOperationException();
         }
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
index e2eaf22..ad42824 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
@@ -18,10 +18,14 @@
 
 package org.apache.kylin.measure.topn;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.kylin.common.util.*;
+import org.apache.kylin.common.util.ByteArray;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.common.util.Dictionary;
 import org.apache.kylin.dimension.DictionaryDimEnc;
 import org.apache.kylin.dimension.DimensionEncoding;
@@ -32,7 +36,9 @@ import org.apache.kylin.measure.MeasureType;
 import org.apache.kylin.measure.MeasureTypeFactory;
 import org.apache.kylin.metadata.datatype.DataType;
 import org.apache.kylin.metadata.datatype.DataTypeSerializer;
-import org.apache.kylin.metadata.model.*;
+import org.apache.kylin.metadata.model.FunctionDesc;
+import org.apache.kylin.metadata.model.MeasureDesc;
+import org.apache.kylin.metadata.model.TblColRef;
 import 
org.apache.kylin.metadata.realization.CapabilityResult.CapabilityInfluence;
 import org.apache.kylin.metadata.realization.SQLDigest;
 import org.apache.kylin.metadata.tuple.Tuple;
@@ -206,13 +212,13 @@ public class TopNMeasureType extends 
MeasureType<TopNCounter<ByteArray>> {
 
     @Override
     public List<TblColRef> getColumnsNeedDictionary(FunctionDesc functionDesc) 
{
-        List <TblColRef> columnsNeedDict = Lists.newArrayList();
-        List <TblColRef> allCols = functionDesc.getParameter().getColRefs();
+        List<TblColRef> columnsNeedDict = Lists.newArrayList();
+        List<TblColRef> allCols = functionDesc.getParameter().getColRefs();
         int start = (functionDesc.getParameter().isColumnType() == true) ? 1 : 
0;
         for (int i = start; i < allCols.size(); i++) {
             TblColRef tblColRef = allCols.get(i);
             String encoding = 
functionDesc.getConfiguration().get(CONFIG_ENCODING_PREFIX + 
tblColRef.getName());
-            if(StringUtils.isEmpty(encoding) || 
DictionaryDimEnc.ENCODING_NAME.equals(encoding)) {
+            if (StringUtils.isEmpty(encoding) || 
DictionaryDimEnc.ENCODING_NAME.equals(encoding)) {
                 columnsNeedDict.add(tblColRef);
             }
         }
@@ -324,14 +330,14 @@ public class TopNMeasureType extends 
MeasureType<TopNCounter<ByteArray>> {
         final TblColRef numericCol = getTopNNumericColumn(function);
         final int[] literalTupleIdx = new int[literalCols.size()];
         final DimensionEncoding[] dimensionEncodings = 
getDimensionEncodings(function, literalCols, dictionaryMap);
-        for (int i=0; i< literalCols.size(); i++) {
+        for (int i = 0; i < literalCols.size(); i++) {
             TblColRef colRef = literalCols.get(i);
             literalTupleIdx[i] = tupleInfo.hasColumn(colRef) ? 
tupleInfo.getColumnIndex(colRef) : -1;
         }
 
         // for TopN, the aggr must be SUM, so the number fill into the column 
position (without rewrite)
         final int numericTupleIdx;
-        if (numericCol != null ) {
+        if (numericCol != null) {
             numericTupleIdx = tupleInfo.hasColumn(numericCol) ? 
tupleInfo.getColumnIndex(numericCol) : -1;
         } else {
             numericTupleIdx = tupleInfo.getFieldIndex("COUNT__");
@@ -361,7 +367,7 @@ public class TopNMeasureType extends 
MeasureType<TopNCounter<ByteArray>> {
 
                 Counter<ByteArray> counter = topNCounterIterator.next();
                 int offset = counter.getItem().offset();
-                for (int i = 0; i< dimensionEncodings.length; i++) {
+                for (int i = 0; i < dimensionEncodings.length; i++) {
                     String colValue = 
dimensionEncodings[i].decode(counter.getItem().array(), offset, 
dimensionEncodings[i].getLengthOfEncoding());
                     tuple.setDimensionValue(literalTupleIdx[i], colValue);
                     offset += dimensionEncodings[i].getLengthOfEncoding();
@@ -373,10 +379,10 @@ public class TopNMeasureType extends 
MeasureType<TopNCounter<ByteArray>> {
 
     private static DimensionEncoding[] getDimensionEncodings(FunctionDesc 
function, List<TblColRef> literalCols, Map<TblColRef, Dictionary<String>> 
dictionaryMap) {
         final DimensionEncoding[] dimensionEncodings = new 
DimensionEncoding[literalCols.size()];
-        for (int i=0; i< literalCols.size(); i++) {
+        for (int i = 0; i < literalCols.size(); i++) {
             TblColRef colRef = literalCols.get(i);
             String encoding = 
function.getConfiguration().get(TopNMeasureType.CONFIG_ENCODING_PREFIX + 
colRef.getName());
-            if(StringUtils.isEmpty(encoding) || 
DictionaryDimEnc.ENCODING_NAME.equals(encoding)) {
+            if (StringUtils.isEmpty(encoding) || 
DictionaryDimEnc.ENCODING_NAME.equals(encoding)) {
                 dimensionEncodings[i] = new 
DictionaryDimEnc(dictionaryMap.get(colRef));
             } else {
                 Object[] encodingConf = 
DimensionEncoding.parseEncodingConf(encoding);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataConstants.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataConstants.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataConstants.java
index a45a20f..0fc96c3 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataConstants.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataConstants.java
@@ -21,8 +21,6 @@ package org.apache.kylin.metadata;
 /**
  * Constances to describe metadata and it's change.
  * 
- * @author jianliu
- * 
  */
 public interface MetadataConstants {
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java
index 02ea6ef..c78215d 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/badquery/BadQueryEntry.java
@@ -18,6 +18,8 @@
 
 package org.apache.kylin.metadata.badquery;
 
+import java.util.Objects;
+
 import org.apache.kylin.common.persistence.RootPersistentEntity;
 import org.apache.kylin.common.util.DateFormat;
 
@@ -113,6 +115,11 @@ public class BadQueryEntry extends RootPersistentEntity 
implements Comparable<Ba
     }
 
     @Override
+    public int hashCode() {
+        return Objects.hash(sql, startTime);
+    }
+
+    @Override
     public boolean equals(Object o) {
         if (this == o)
             return true;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
index 3706e77..032fba2 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataType.java
@@ -52,9 +52,10 @@ public class DataType implements Serializable {
             VALID_TYPES.add(typeName);
         }
 
-        TYPE_PATTERN = Pattern.compile( //
+        TYPE_PATTERN = Pattern.compile(//
                 "(" + StringUtils.join(VALID_TYPES, "|") + ")" //
-                        + TYPE_PATTEN_TAIL, Pattern.CASE_INSENSITIVE);
+                        + TYPE_PATTEN_TAIL,
+                Pattern.CASE_INSENSITIVE);
     }
 
     // standard sql types, ref: 
http://www.w3schools.com/sql/sql_datatypes_general.asp

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeSerializer.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeSerializer.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeSerializer.java
index 51c33c2..a739377 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeSerializer.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DataTypeSerializer.java
@@ -50,7 +50,7 @@ abstract public class DataTypeSerializer<T> implements 
BytesSerializer<T> {
         implementations.put("datetime", DateTimeSerializer.class);
         implementations.put("timestamp", DateTimeSerializer.class);
     }
-    
+
     public static void register(String dataTypeName, Class<? extends 
DataTypeSerializer<?>> impl) {
         implementations.put(dataTypeName, impl);
     }
@@ -70,7 +70,7 @@ abstract public class DataTypeSerializer<T> implements 
BytesSerializer<T> {
             throw new RuntimeException(e); // never happen
         }
     }
-    
+
     /** Peek into buffer and return the length of serialization which is 
previously written by this.serialize().
      *  The current position of input buffer is guaranteed to be at the 
beginning of the serialization.
      *  The implementation must not alter the buffer position by its return. */
@@ -81,7 +81,7 @@ abstract public class DataTypeSerializer<T> implements 
BytesSerializer<T> {
 
     /** Get an estimate of the average size in bytes of this kind of 
serialized data */
     abstract public int getStorageBytesEstimate();
-    
+
     /** An optional convenient method that converts a string to this data type 
(for dimensions) */
     public T valueOf(String str) {
         throw new UnsupportedOperationException();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DateTimeSerializer.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DateTimeSerializer.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DateTimeSerializer.java
index b7156b4..07f98b3 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DateTimeSerializer.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/DateTimeSerializer.java
@@ -70,5 +70,5 @@ public class DateTimeSerializer extends 
DataTypeSerializer<LongMutable> {
     public LongMutable valueOf(String str) {
         return new LongMutable(DateFormat.stringToMillis(str));
     }
-    
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuildInFunctionTupleFilter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuildInFunctionTupleFilter.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuildInFunctionTupleFilter.java
index 9d283fd..004a3ff 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuildInFunctionTupleFilter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuildInFunctionTupleFilter.java
@@ -45,7 +45,6 @@ public class BuildInFunctionTupleFilter extends 
FunctionTupleFilter {
     private Method method;
     private List<Serializable> methodParams;
     private boolean isValid = false;
-   
 
     public BuildInFunctionTupleFilter(String name) {
         super(Lists.<TupleFilter> newArrayList(), FilterOperatorEnum.FUNCTION);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
index aed5702..8c5e989 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
@@ -84,7 +84,7 @@ public class ColumnTupleFilter extends TupleFilter {
     }
 
     @Override
-    public void serialize(IFilterCodeSystem<?> cs,ByteBuffer buffer) {
+    public void serialize(IFilterCodeSystem<?> cs, ByteBuffer buffer) {
         String table = columnRef.getTable();
         BytesUtil.writeUTFString(table, buffer);
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
index 7124fed..fe51710 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/CompareTupleFilter.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.kylin.common.util.BytesUtil;
-import org.apache.kylin.metadata.model.FunctionDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.tuple.IEvaluatableTuple;
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
index bc5a284..4647c51 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
@@ -38,7 +38,7 @@ import com.google.common.collect.Maps;
 public abstract class TupleFilter {
 
     public enum FilterOperatorEnum {
-        EQ(1), NEQ(2), GT(3), LT(4), GTE(5), LTE(6), ISNULL(7), ISNOTNULL(8), 
IN(9), NOTIN(10), AND(20), OR(21), NOT(22), COLUMN(30), CONSTANT(31), 
DYNAMIC(32), EXTRACT(33), CASE(34), FUNCTION(35),MASSIN(36);
+        EQ(1), NEQ(2), GT(3), LT(4), GTE(5), LTE(6), ISNULL(7), ISNOTNULL(8), 
IN(9), NOTIN(10), AND(20), OR(21), NOT(22), COLUMN(30), CONSTANT(31), 
DYNAMIC(32), EXTRACT(33), CASE(34), FUNCTION(35), MASSIN(36);
 
         private final int value;
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Functions.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Functions.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Functions.java
index 7931437..401c90b 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Functions.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Functions.java
@@ -53,7 +53,7 @@ public class Functions {
                 throw new RuntimeException("Failed to on constructing 
FunctionTupleFilter for " + name);
             }
         }
-        
+
         return new BuildInFunctionTupleFilter(name);
 
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Like.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Like.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Like.java
index 5908d3d..a97244e 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Like.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/function/Like.java
@@ -27,22 +27,7 @@ package org.apache.kylin.metadata.filter.function;
 public class Like {
     private static final String JAVA_REGEX_SPECIALS = "[]()|^-+*?{}$\\";
     private static final String SQL_SIMILAR_SPECIALS = "[]()|^-+*_%?{}";
-    private static final String [] REG_CHAR_CLASSES = {
-            "[:ALPHA:]", "\\p{Alpha}",
-            "[:alpha:]", "\\p{Alpha}",
-            "[:UPPER:]", "\\p{Upper}",
-            "[:upper:]", "\\p{Upper}",
-            "[:LOWER:]", "\\p{Lower}",
-            "[:lower:]", "\\p{Lower}",
-            "[:DIGIT:]", "\\d",
-            "[:digit:]", "\\d",
-            "[:SPACE:]", " ",
-            "[:space:]", " ",
-            "[:WHITESPACE:]", "\\s",
-            "[:whitespace:]", "\\s",
-            "[:ALNUM:]", "\\p{Alnum}",
-            "[:alnum:]", "\\p{Alnum}"
-    };
+    private static final String[] REG_CHAR_CLASSES = { "[:ALPHA:]", 
"\\p{Alpha}", "[:alpha:]", "\\p{Alpha}", "[:UPPER:]", "\\p{Upper}", 
"[:upper:]", "\\p{Upper}", "[:LOWER:]", "\\p{Lower}", "[:lower:]", 
"\\p{Lower}", "[:DIGIT:]", "\\d", "[:digit:]", "\\d", "[:SPACE:]", " ", 
"[:space:]", " ", "[:WHITESPACE:]", "\\s", "[:whitespace:]", "\\s", 
"[:ALNUM:]", "\\p{Alnum}", "[:alnum:]", "\\p{Alnum}" };
 
     private Like() {
     }
@@ -51,9 +36,7 @@ public class Like {
      * Translates a SQL LIKE pattern to Java regex pattern, with optional
      * escape string.
      */
-    static String sqlToRegexLike(
-            String sqlPattern,
-            CharSequence escapeStr) {
+    static String sqlToRegexLike(String sqlPattern, CharSequence escapeStr) {
         final char escapeChar;
         if (escapeStr != null) {
             if (escapeStr.length() != 1) {
@@ -69,9 +52,7 @@ public class Like {
     /**
      * Translates a SQL LIKE pattern to Java regex pattern.
      */
-    static String sqlToRegexLike(
-            String sqlPattern,
-            char escapeChar) {
+    static String sqlToRegexLike(String sqlPattern, char escapeChar) {
         int i;
         final int len = sqlPattern.length();
         final StringBuilder javaPattern = new StringBuilder(len + len);
@@ -85,9 +66,7 @@ public class Like {
                     throw invalidEscapeSequence(sqlPattern, i);
                 }
                 char nextChar = sqlPattern.charAt(i + 1);
-                if ((nextChar == '_')
-                        || (nextChar == '%')
-                        || (nextChar == escapeChar)) {
+                if ((nextChar == '_') || (nextChar == '%') || (nextChar == 
escapeChar)) {
                     javaPattern.append(nextChar);
                     i++;
                 } else {
@@ -106,18 +85,14 @@ public class Like {
     }
 
     private static RuntimeException invalidEscapeCharacter(String s) {
-        return new RuntimeException(
-                "Invalid escape character '" + s + "'");
+        return new RuntimeException("Invalid escape character '" + s + "'");
     }
 
     private static RuntimeException invalidEscapeSequence(String s, int i) {
-        return new RuntimeException(
-                "Invalid escape sequence '" + s + "', " + i);
+        return new RuntimeException("Invalid escape sequence '" + s + "', " + 
i);
     }
 
-    private static void similarEscapeRuleChecking(
-            String sqlPattern,
-            char escapeChar) {
+    private static void similarEscapeRuleChecking(String sqlPattern, char 
escapeChar) {
         if (escapeChar == 0) {
             return;
         }
@@ -130,8 +105,7 @@ public class Like {
                         throw invalidEscapeSequence(sqlPattern, i);
                     }
                     char c = sqlPattern.charAt(i + 1);
-                    if ((SQL_SIMILAR_SPECIALS.indexOf(c) < 0)
-                            && (c != escapeChar)) {
+                    if ((SQL_SIMILAR_SPECIALS.indexOf(c) < 0) && (c != 
escapeChar)) {
                         throw invalidEscapeSequence(sqlPattern, i);
                     }
                 }
@@ -151,17 +125,11 @@ public class Like {
         }
     }
 
-    private static RuntimeException invalidRegularExpression(
-            String pattern, int i) {
-        return new RuntimeException(
-                "Invalid regular expression '" + pattern + "'");
+    private static RuntimeException invalidRegularExpression(String pattern, 
int i) {
+        return new RuntimeException("Invalid regular expression '" + pattern + 
"'");
     }
 
-    private static int sqlSimilarRewriteCharEnumeration(
-            String sqlPattern,
-            StringBuilder javaPattern,
-            int pos,
-            char escapeChar) {
+    private static int sqlSimilarRewriteCharEnumeration(String sqlPattern, 
StringBuilder javaPattern, int pos, char escapeChar) {
         int i;
         for (i = pos + 1; i < sqlPattern.length(); i++) {
             char c = sqlPattern.charAt(i);
@@ -212,9 +180,7 @@ public class Like {
      * Translates a SQL SIMILAR pattern to Java regex pattern, with optional
      * escape string.
      */
-    static String sqlToRegexSimilar(
-            String sqlPattern,
-            CharSequence escapeStr) {
+    static String sqlToRegexSimilar(String sqlPattern, CharSequence escapeStr) 
{
         final char escapeChar;
         if (escapeStr != null) {
             if (escapeStr.length() != 1) {
@@ -230,14 +196,11 @@ public class Like {
     /**
      * Translates SQL SIMILAR pattern to Java regex pattern.
      */
-    static String sqlToRegexSimilar(
-            String sqlPattern,
-            char escapeChar) {
+    static String sqlToRegexSimilar(String sqlPattern, char escapeChar) {
         similarEscapeRuleChecking(sqlPattern, escapeChar);
 
         boolean insideCharacterEnumeration = false;
-        final StringBuilder javaPattern =
-                new StringBuilder(sqlPattern.length() * 2);
+        final StringBuilder javaPattern = new 
StringBuilder(sqlPattern.length() * 2);
         final int len = sqlPattern.length();
         for (int i = 0; i < len; i++) {
             char c = sqlPattern.charAt(i);
@@ -264,40 +227,36 @@ public class Like {
                 i++; // we already process the next char.
             } else {
                 switch (c) {
-                    case '_':
-                        javaPattern.append('.');
-                        break;
-                    case '%':
-                        javaPattern.append('.');
-                        javaPattern.append('*');
-                        break;
-                    case '[':
-                        javaPattern.append('[');
-                        insideCharacterEnumeration = true;
-                        i = sqlSimilarRewriteCharEnumeration(
-                                sqlPattern,
-                                javaPattern,
-                                i,
-                                escapeChar);
-                        break;
-                    case ']':
-                        if (!insideCharacterEnumeration) {
-                            throw invalidRegularExpression(sqlPattern, i);
-                        }
-                        insideCharacterEnumeration = false;
-                        javaPattern.append(']');
-                        break;
-                    case '\\':
-                        javaPattern.append("\\\\");
-                        break;
-                    case '$':
+                case '_':
+                    javaPattern.append('.');
+                    break;
+                case '%':
+                    javaPattern.append('.');
+                    javaPattern.append('*');
+                    break;
+                case '[':
+                    javaPattern.append('[');
+                    insideCharacterEnumeration = true;
+                    i = sqlSimilarRewriteCharEnumeration(sqlPattern, 
javaPattern, i, escapeChar);
+                    break;
+                case ']':
+                    if (!insideCharacterEnumeration) {
+                        throw invalidRegularExpression(sqlPattern, i);
+                    }
+                    insideCharacterEnumeration = false;
+                    javaPattern.append(']');
+                    break;
+                case '\\':
+                    javaPattern.append("\\\\");
+                    break;
+                case '$':
 
-                        // $ is special character in java regex, but regular in
-                        // SQL regex.
-                        javaPattern.append("\\$");
-                        break;
-                    default:
-                        javaPattern.append(c);
+                    // $ is special character in java regex, but regular in
+                    // SQL regex.
+                    javaPattern.append("\\$");
+                    break;
+                default:
+                    javaPattern.append(c);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
index 27cb6b6..73cad1f 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
@@ -58,12 +58,12 @@ public class ColumnDesc implements Serializable {
     private TableDesc table;
     private int zeroBasedIndex = -1;
     private boolean isNullable = true;
-    
+
     private TblColRef ref;
 
     public ColumnDesc() { // default constructor for Jackson
     }
-    
+
     public TblColRef getRef() {
         if (ref == null) {
             ref = new TblColRef(this);
@@ -154,7 +154,7 @@ public class ColumnDesc implements Serializable {
         return StringUtils.equalsIgnoreCase(table.getIdentity(), tableName) && 
//
                 StringUtils.equalsIgnoreCase(name, columnName);
     }
-    
+
     @Override
     public int hashCode() {
         final int prime = 31;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
index 13ed011..c6fa1bc 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
@@ -25,7 +25,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.Lists;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.kylin.common.persistence.ResourceStore;
 import org.apache.kylin.common.persistence.RootPersistentEntity;
@@ -35,6 +34,8 @@ import org.apache.kylin.metadata.MetadataConstants;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.fasterxml.jackson.annotation.JsonProperty;
+
+import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
 @SuppressWarnings("serial")
@@ -65,7 +66,7 @@ public class DataModelDesc extends RootPersistentEntity {
 
     @JsonProperty("filter_condition")
     private String filterCondition;
-    
+
     @JsonProperty("partition_desc")
     PartitionDesc partitionDesc;
 
@@ -73,7 +74,7 @@ public class DataModelDesc extends RootPersistentEntity {
     private RealizationCapacity capacity = RealizationCapacity.MEDIUM;
 
     private TableDesc factTableDesc;
-    
+
     private List<TableDesc> lookupTableDescs = Lists.newArrayList();
 
     /**
@@ -181,11 +182,11 @@ public class DataModelDesc extends RootPersistentEntity {
         }
         return candidate;
     }
-    
+
     // TODO let this replace CubeDesc.buildColumnNameAbbreviation()
     public ColumnDesc findColumn(String column) {
         ColumnDesc colDesc = null;
-        
+
         int cut = column.lastIndexOf('.');
         if (cut > 0) {
             // table specified
@@ -203,25 +204,25 @@ public class DataModelDesc extends RootPersistentEntity {
                 }
             }
         }
-        
+
         if (colDesc == null)
             throw new IllegalArgumentException("Column not found by " + 
column);
-        
+
         return colDesc;
     }
-    
+
     public TableDesc findTable(String table) {
         if (factTableDesc.getName().equalsIgnoreCase(table) || 
factTableDesc.getIdentity().equalsIgnoreCase(table))
             return factTableDesc;
-        
+
         for (TableDesc desc : lookupTableDescs) {
             if (desc.getName().equalsIgnoreCase(table) || 
desc.getIdentity().equalsIgnoreCase(table))
                 return desc;
         }
-        
+
         throw new IllegalArgumentException("Table not found by " + table);
     }
-    
+
     public void init(Map<String, TableDesc> tables) {
         this.factTable = this.factTable.toUpperCase();
         this.factTableDesc = tables.get(this.factTable.toUpperCase());

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/ExternalFilterDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ExternalFilterDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ExternalFilterDesc.java
index 0110aa0..115b154 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ExternalFilterDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ExternalFilterDesc.java
@@ -58,7 +58,6 @@ public class ExternalFilterDesc extends RootPersistentEntity 
implements ISourceA
 
     // 
============================================================================
 
-
     public String getFilterResourceIdentifier() {
         return filterResourceIdentifier;
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index c8d6ab2..9fb9164 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -18,9 +18,13 @@
 
 package org.apache.kylin.metadata.model;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Set;
 
-import com.fasterxml.jackson.annotation.JsonInclude;
 import org.apache.kylin.measure.MeasureType;
 import org.apache.kylin.measure.MeasureTypeFactory;
 import org.apache.kylin.measure.basic.BasicMeasureType;
@@ -28,7 +32,9 @@ import org.apache.kylin.metadata.datatype.DataType;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
+
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
@@ -275,7 +281,6 @@ public class FunctionDesc {
         this.configuration = configurations;
     }
 
-
     @Override
     public int hashCode() {
         final int prime = 31;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/IEngineAware.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IEngineAware.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IEngineAware.java
index a9fb491..882b2e3 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IEngineAware.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IEngineAware.java
@@ -24,6 +24,6 @@ public interface IEngineAware {
     public static final int ID_MR_V2 = 2;
     public static final int ID_MR_II = 3;
     public static final int ID_SPARK = 5;
-    
+
     int getEngineType();
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/IStorageAware.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IStorageAware.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IStorageAware.java
index 9f9edca..e552574 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IStorageAware.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IStorageAware.java
@@ -23,6 +23,6 @@ public interface IStorageAware {
     public static final int ID_HBASE = 0;
     public static final int ID_HYBRID = 1;
     public static final int ID_SHARDED_HBASE = 2;
-    
+
     int getStorageType();
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
index 19792cb..7abfad1 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
@@ -18,9 +18,10 @@
 
 package org.apache.kylin.metadata.model;
 
+import java.util.Objects;
+
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
@@ -29,7 +30,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = 
Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = 
Visibility.NONE)
 public class MeasureDesc {
 
-   
     @JsonProperty("name")
     private String name;
     @JsonProperty("function")
@@ -62,6 +62,11 @@ public class MeasureDesc {
     }
 
     @Override
+    public int hashCode() {
+        return Objects.hash(function, dependentMeasureRef.toLowerCase());
+    }
+
+    @Override
     public boolean equals(Object o) {
         if (this == o)
             return true;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/ParameterDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ParameterDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ParameterDesc.java
index 2cf4374..329799f 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ParameterDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ParameterDesc.java
@@ -34,7 +34,7 @@ public class ParameterDesc {
     private String type;
     @JsonProperty("value")
     private String value;
-    
+
     @JsonProperty("next_parameter")
     private ParameterDesc nextParameter;
 
@@ -67,7 +67,7 @@ public class ParameterDesc {
     public void setColRefs(List<TblColRef> colRefs) {
         this.colRefs = colRefs;
     }
-    
+
     public ParameterDesc getNextParameter() {
         return nextParameter;
     }
@@ -82,14 +82,19 @@ public class ParameterDesc {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
 
         ParameterDesc that = (ParameterDesc) o;
 
-        if (nextParameter != null ? !nextParameter.equals(that.nextParameter) 
: that.nextParameter != null) return false;
-        if (type != null ? !type.equals(that.type) : that.type != null) return 
false;
-        if (value != null ? !value.equals(that.value) : that.value != null) 
return false;
+        if (nextParameter != null ? !nextParameter.equals(that.nextParameter) 
: that.nextParameter != null)
+            return false;
+        if (type != null ? !type.equals(that.type) : that.type != null)
+            return false;
+        if (value != null ? !value.equals(that.value) : that.value != null)
+            return false;
 
         return true;
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
index f1339cd..3f265e2 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
@@ -49,7 +49,7 @@ public class PartitionDesc {
 
     @JsonProperty("partition_date_start")
     private long partitionDateStart = 0L;//Deprecated
-    
+
     @JsonProperty("partition_date_format")
     private String partitionDateFormat = DateFormat.DEFAULT_DATE_PATTERN;
 
@@ -58,7 +58,7 @@ public class PartitionDesc {
 
     @JsonProperty("partition_type")
     private PartitionType partitionType = PartitionType.APPEND;
-    
+
     @JsonProperty("partition_condition_builder")
     private String partitionConditionBuilderClz = 
DefaultPartitionConditionBuilder.class.getName();
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
index c5d2290..f3d5318 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
@@ -178,7 +178,7 @@ public class TableDesc extends RootPersistentEntity 
implements ISourceAware {
             }
         }
     }
-    
+
     @Override
     public int hashCode() {
         return getIdentity().hashCode();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectInstance.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectInstance.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectInstance.java
index 74f843f..8dff7c9 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectInstance.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/project/ProjectInstance.java
@@ -33,6 +33,7 @@ import org.apache.kylin.metadata.realization.RealizationType;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.fasterxml.jackson.annotation.JsonProperty;
+
 import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
@@ -210,8 +211,8 @@ public class ProjectInstance extends RootPersistentEntity {
     public void removeTable(String tableName) {
         tables.remove(tableName.toUpperCase());
     }
-    
-    public void addExtFilter(String extFilterName){
+
+    public void addExtFilter(String extFilterName) {
         this.getExtFilters().add(extFilterName);
     }
 
@@ -231,8 +232,7 @@ public class ProjectInstance extends RootPersistentEntity {
         return tables;
     }
 
-
-    public Set<String> getExtFilters(){
+    public Set<String> getExtFilters() {
         return extFilters;
     }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
index 2241e6a..3699b09 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
@@ -25,13 +25,13 @@ import org.apache.kylin.metadata.model.FunctionDesc;
 import com.google.common.collect.Lists;
 
 public class CapabilityResult {
-    
+
     /** Is capable or not */
     public boolean capable;
 
     /** The smaller the cost, the more capable the realization */
     public int cost;
-    
+
     /**
      * Marker objects to indicate all special features
      * (dimension-as-measure, topN etc.) that have influenced the capability 
check.
@@ -42,11 +42,11 @@ public class CapabilityResult {
         /** Suggest a multiplier to influence query cost */
         double suggestCostMultiplier();
     }
-    
+
     public static class DimensionAsMeasure implements CapabilityInfluence {
-        
+
         final FunctionDesc function;
-        
+
         public DimensionAsMeasure(FunctionDesc function) {
             this.function = function;
         }
@@ -55,7 +55,7 @@ public class CapabilityResult {
         public double suggestCostMultiplier() {
             return 1;
         }
-        
+
         public FunctionDesc getMeasureFunction() {
             return function;
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealization.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealization.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealization.java
index 1857c85..10a810b 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealization.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealization.java
@@ -26,7 +26,7 @@ import org.apache.kylin.metadata.model.MeasureDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 
 public interface IRealization extends IStorageAware {
-    
+
     /**
      * Given the features of a query, check how capable the realization is to 
answer the query.
      */

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationConstants.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationConstants.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationConstants.java
index f5c6428..2a3b01e 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationConstants.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationConstants.java
@@ -31,9 +31,9 @@ public class IRealizationConstants {
      * which kylin server(represented by its kylin_metadata prefix) owns this 
htable
      */
     public final static String HTableTag = "KYLIN_HOST";
-    
+
     public final static String HTableOwner = "OWNER";
-    
+
     public final static String HTableUser = "USER";
 
     public final static String HTableCreationTime = "CREATION_TIME";

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationSegment.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationSegment.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationSegment.java
index 0df1be7..3a1a2e7 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationSegment.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/IRealizationSegment.java
@@ -27,14 +27,14 @@ import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
 public interface IRealizationSegment extends IBuildable {
 
     public KylinConfig getConfig();
-    
+
     public String getUuid();
-    
+
     public String getName();
 
     public String getStorageLocationIdentifier();
-    
+
     public IRealization getRealization();
-    
+
     public IJoinedFlatTableDesc getJoinedFlatTableDesc();
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
index a0cbbb6..14d717e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
@@ -115,14 +115,14 @@ public class Tuple implements ITuple {
         } else if ("float".equals(dataType) && fieldValue instanceof 
BigDecimal) {
             fieldValue = ((BigDecimal) fieldValue).floatValue();
         } else if ("date".equals(dataType) && fieldValue instanceof Long) {
-            long millis = ((Long)fieldValue).longValue();
+            long millis = ((Long) fieldValue).longValue();
             fieldValue = (int) (millis / (1000 * 3600 * 24));
         } else if ("smallint".equals(dataType) && fieldValue instanceof Long) {
-            fieldValue = ((Long)fieldValue).shortValue();
+            fieldValue = ((Long) fieldValue).shortValue();
         } else if ((!"varchar".equals(dataType) || !"char".equals(dataType)) 
&& fieldValue instanceof String) {
-            fieldValue = convertOptiqCellValue((String)fieldValue, dataType);
+            fieldValue = convertOptiqCellValue((String) fieldValue, dataType);
         } else if ("bigint".equals(dataType) && fieldValue instanceof Double) {
-            fieldValue = ((Double)fieldValue).longValue();
+            fieldValue = ((Double) fieldValue).longValue();
         }
 
         values[idx] = fieldValue;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/dimension/DateDimEncTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/dimension/DateDimEncTest.java 
b/core-metadata/src/test/java/org/apache/kylin/dimension/DateDimEncTest.java
index 6a583ae..0183b5f 100644
--- a/core-metadata/src/test/java/org/apache/kylin/dimension/DateDimEncTest.java
+++ b/core-metadata/src/test/java/org/apache/kylin/dimension/DateDimEncTest.java
@@ -46,7 +46,7 @@ public class DateDimEncTest {
         enc.encode(value, buf, 0);
         return BytesUtil.readLong(buf, 0, buf.length);
     }
-    
+
     private String decode(long code) {
         BytesUtil.writeLong(code, buf, 0, buf.length);
         return enc.decode(buf, 0, buf.length);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/dimension/TimeDimEncTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/dimension/TimeDimEncTest.java 
b/core-metadata/src/test/java/org/apache/kylin/dimension/TimeDimEncTest.java
index d5a69c3..2ccb0ef 100644
--- a/core-metadata/src/test/java/org/apache/kylin/dimension/TimeDimEncTest.java
+++ b/core-metadata/src/test/java/org/apache/kylin/dimension/TimeDimEncTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.dimension;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.fail;
 
 import org.apache.kylin.common.util.BytesUtil;
 import org.apache.kylin.common.util.DateFormat;
@@ -44,7 +44,7 @@ public class TimeDimEncTest {
         enc.encode(value, buf, 0);
         return BytesUtil.readLong(buf, 0, buf.length);
     }
-    
+
     private String decode(long code) {
         BytesUtil.writeLong(code, buf, 0, buf.length);
         return enc.decode(buf, 0, buf.length);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapAggregatorTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapAggregatorTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapAggregatorTest.java
index 1114801..a930db7 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapAggregatorTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapAggregatorTest.java
@@ -18,11 +18,11 @@
 
 package org.apache.kylin.measure.bitmap;
 
-import org.junit.Test;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
+import org.junit.Test;
+
 /**
  * Created by sunyerui on 15/12/31.
  */

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapCounterTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapCounterTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapCounterTest.java
index b416ec0..f0e21cf 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapCounterTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapCounterTest.java
@@ -18,12 +18,12 @@
 
 package org.apache.kylin.measure.bitmap;
 
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
 
 /**
  * Created by sunyerui on 15/12/31.

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapSerializerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapSerializerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapSerializerTest.java
index b9d846b..97b86ed 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapSerializerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/bitmap/BitmapSerializerTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.measure.bitmap;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import java.nio.ByteBuffer;
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/hll/HyperLogLogCounterTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/hll/HyperLogLogCounterTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/hll/HyperLogLogCounterTest.java
index be93f8a..5b7c565 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/hll/HyperLogLogCounterTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/hll/HyperLogLogCounterTest.java
@@ -18,7 +18,8 @@
 
 package org.apache.kylin.measure.hll;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawAggregatorTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawAggregatorTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawAggregatorTest.java
index a94a55c..ebdb7ef 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawAggregatorTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawAggregatorTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.measure.raw;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import java.util.ArrayList;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawSerializerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawSerializerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawSerializerTest.java
index 5bb83b0..14049d0 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawSerializerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/raw/RawSerializerTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.measure.raw;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/topn/DoubleDeltaSerializerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/DoubleDeltaSerializerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/DoubleDeltaSerializerTest.java
index 3c742a9..e979791 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/DoubleDeltaSerializerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/DoubleDeltaSerializerTest.java
@@ -17,7 +17,8 @@
  */
 package org.apache.kylin.measure.topn;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterBasicTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterBasicTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterBasicTest.java
index a55b493..cb92338 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterBasicTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterBasicTest.java
@@ -16,13 +16,13 @@
 
 package org.apache.kylin.measure.topn;
 
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 import java.util.List;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.junit.Test;
 
 public class TopNCounterBasicTest {
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterCombinationTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterCombinationTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterCombinationTest.java
index bf51112..282f648 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterCombinationTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterCombinationTest.java
@@ -16,13 +16,13 @@
 
 package org.apache.kylin.measure.topn;
 
+import java.util.Arrays;
+import java.util.Collection;
+
 import org.junit.Ignore;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.Arrays;
-import java.util.Collection;
-
 @RunWith(Parameterized.class)
 @Ignore("For collecting accuracy statistics, not for functional test")
 public class TopNCounterCombinationTest extends TopNCounterTest {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterTest.java
index 7b7031b..aa8b2fe 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/measure/topn/TopNCounterTest.java
@@ -16,8 +16,16 @@
 
 package org.apache.kylin.measure.topn;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.commons.math3.distribution.ZipfDistribution;
@@ -25,11 +33,8 @@ import org.apache.kylin.common.util.Pair;
 import org.junit.Ignore;
 import org.junit.Test;
 
-import java.io.*;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 
 @Ignore("For collecting accuracy statistics, not for functional test")
 public class TopNCounterTest {
@@ -43,7 +48,7 @@ public class TopNCounterTest {
     protected static int SPACE_SAVING_ROOM;
 
     protected static int PARALLEL = 10;
-    
+
     protected static boolean verbose = true;
 
     public TopNCounterTest() {
@@ -72,7 +77,7 @@ public class TopNCounterTest {
         FileWriter fw = new FileWriter(tempFile);
         try {
             for (int i = 0; i < TOTAL_RECORDS; i++) {
-                keyIndex = zipf.sample() -1;
+                keyIndex = zipf.sample() - 1;
                 fw.write(allKeys[keyIndex]);
                 fw.write('\n');
             }
@@ -124,12 +129,12 @@ public class TopNCounterTest {
 
         org.junit.Assert.assertEquals(0, error);
     }
-    
+
     private boolean isClose(double value1, double value2) {
-        
-        if(Math.abs(value1 - value2) < 5.0)
+
+        if (Math.abs(value1 - value2) < 5.0)
             return true;
-        
+
         return false;
     }
 
@@ -166,14 +171,14 @@ public class TopNCounterTest {
             return consumers;
 
         TopNCounterTest.SpaceSavingConsumer merged = new 
TopNCounterTest.SpaceSavingConsumer(TOP_K * SPACE_SAVING_ROOM);
-        
-        for (int i=0, n=consumers.length; i<n; i++) {
+
+        for (int i = 0, n = consumers.length; i < n; i++) {
             merged.vs.merge(consumers[i].vs);
         }
 
         merged.vs.retain(TOP_K * SPACE_SAVING_ROOM); // remove extra elements;
-        return new TopNCounterTest.SpaceSavingConsumer[] {merged};
-        
+        return new TopNCounterTest.SpaceSavingConsumer[] { merged };
+
     }
 
     private TopNCounterTest.SpaceSavingConsumer[] 
binaryMerge(TopNCounterTest.SpaceSavingConsumer[] consumers) throws 
IOException, ClassNotFoundException {
@@ -181,7 +186,6 @@ public class TopNCounterTest {
         if (consumers.length == 1)
             return consumers;
 
-        
         for (int i = 0, n = consumers.length; i < n; i = i + 2) {
             if (i + 1 < n) {
                 consumers[i].vs.merge(consumers[i + 1].vs);
@@ -192,7 +196,6 @@ public class TopNCounterTest {
 
         return binaryMerge(list.toArray(new 
TopNCounterTest.SpaceSavingConsumer[list.size()]));
     }
-    
 
     private void feedDataToConsumer(String dataFile, 
TopNCounterTest.TestDataConsumer consumer, int startLine, int endLine) throws 
IOException {
         long startTime = System.currentTimeMillis();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/metadata/MetadataManagerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/metadata/MetadataManagerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/metadata/MetadataManagerTest.java
index d2ff496..a4977c4 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/metadata/MetadataManagerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/metadata/MetadataManagerTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.metadata;
 
-import static org.apache.kylin.metadata.MetadataManager.*;
+import static org.apache.kylin.metadata.MetadataManager.getInstance;
 
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java
index 562f356..0e0df70 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/metadata/badquery/BadQueryHistoryManagerTest.java
@@ -18,7 +18,8 @@
 
 package org.apache.kylin.metadata.badquery;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 import java.util.NavigableSet;
@@ -96,7 +97,7 @@ public class BadQueryHistoryManagerTest extends 
LocalFileMetadataTestCase {
         assertEquals("adj2", newEntry.getAdj());
         assertEquals("server2", newEntry.getServer());
         assertEquals("t-1", newEntry.getThread());
-        assertEquals(120, (int)newEntry.getRunningSec());
+        assertEquals(120, (int) newEntry.getRunningSec());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
 
b/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
index c6a0de0..5be5806 100644
--- 
a/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
+++ 
b/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.metadata.datatype;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import java.math.BigDecimal;
 import java.nio.ByteBuffer;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeSegmentScanner.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeSegmentScanner.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeSegmentScanner.java
index c12159d..15e3272 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeSegmentScanner.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeSegmentScanner.java
@@ -52,7 +52,7 @@ public class CubeSegmentScanner implements IGTScanner {
     final GTScanRequest scanRequest;
 
     public CubeSegmentScanner(CubeSegment cubeSeg, Cuboid cuboid, 
Set<TblColRef> dimensions, Set<TblColRef> groups, //
-            Collection<FunctionDesc> metrics, TupleFilter filter, 
StorageContext context,String gtStorage) {
+            Collection<FunctionDesc> metrics, TupleFilter filter, 
StorageContext context, String gtStorage) {
         this.cuboid = cuboid;
         this.cubeSeg = cubeSeg;
 
@@ -74,7 +74,7 @@ public class CubeSegmentScanner implements IGTScanner {
             if (context.isLimitEnabled())
                 scanRequest.setRowLimit(context.getLimit());
         }
-        scanner = new ScannerWorker(cubeSeg, cuboid, scanRequest,gtStorage);
+        scanner = new ScannerWorker(cubeSeg, cuboid, scanRequest, gtStorage);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeTupleConverter.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeTupleConverter.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeTupleConverter.java
index d6917e1..7b442b4 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeTupleConverter.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/CubeTupleConverter.java
@@ -56,10 +56,10 @@ public class CubeTupleConverter {
     final int[] tupleIdx;
     final Object[] gtValues;
     final MeasureType<?>[] measureTypes;
-    
+
     final List<IAdvMeasureFiller> advMeasureFillers;
     final List<Integer> advMeasureIndexInGTValues;
-    
+
     final int nSelectedDims;
 
     public CubeTupleConverter(CubeSegment cubeSeg, Cuboid cuboid, //
@@ -79,10 +79,10 @@ public class CubeTupleConverter {
 
         // measure types don't have this many, but aligned length make 
programming easier
         measureTypes = new MeasureType[selectedDimensions.size() + 
selectedMetrics.size()];
-        
+
         advMeasureFillers = Lists.newArrayListWithCapacity(1);
         advMeasureIndexInGTValues = Lists.newArrayListWithCapacity(1);
-        
+
         int iii = 0;
 
         // pre-calculate dimension index mapping to tuple
@@ -96,7 +96,7 @@ public class CubeTupleConverter {
         for (FunctionDesc metric : selectedMetrics) {
             int i = mapping.getIndexOf(metric);
             gtColIdx[iii] = i;
-            
+
             if (metric.needRewrite()) {
                 String rewriteFieldName = metric.getRewriteFieldName();
                 tupleIdx[iii] = tupleInfo.hasField(rewriteFieldName) ? 
tupleInfo.getFieldIndex(rewriteFieldName) : -1;
@@ -106,7 +106,7 @@ public class CubeTupleConverter {
                 TblColRef col = metric.getParameter().getColRefs().get(0);
                 tupleIdx[iii] = tupleInfo.hasColumn(col) ? 
tupleInfo.getColumnIndex(col) : -1;
             }
-            
+
             MeasureType<?> measureType = metric.getMeasureType();
             if (measureType.needAdvancedTupleFilling()) {
                 Map<TblColRef, Dictionary<String>> dictionaryMap = 
buildDictionaryMap(measureType.getColumnsNeedDictionary(metric));
@@ -115,7 +115,7 @@ public class CubeTupleConverter {
             } else {
                 measureTypes[iii] = measureType;
             }
-                
+
             iii++;
         }
 
@@ -165,7 +165,7 @@ public class CubeTupleConverter {
         for (IDerivedColumnFiller filler : derivedColFillers) {
             filler.fillDerivedColumns(gtValues, tuple);
         }
-        
+
         // advanced measure filling, due to possible row split, will complete 
at caller side
         if (advMeasureFillers.isEmpty()) {
             return null;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
index 3681e5e..3c992d2 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
@@ -54,7 +54,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
     protected Iterator<GTRecord> curRecordIterator;
     protected CubeTupleConverter curTupleConverter;
     protected Tuple next;
-    
+
     private List<IAdvMeasureFiller> advMeasureFillers;
     private int advMeasureRowsRemaining;
     private int advMeasureRowIndex;
@@ -77,10 +77,10 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
     public boolean hasNext() {
         if (next != null)
             return true;
-        
+
         if (hitLimitAndThreshold())
             return false;
-        
+
         // consume any left rows from advanced measure filler
         if (advMeasureRowsRemaining > 0) {
             for (IAdvMeasureFiller filler : advMeasureFillers) {
@@ -115,7 +115,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
 
         // now we have a GTRecord
         GTRecord curRecord = curRecordIterator.next();
-        
+
         // translate into tuple
         advMeasureFillers = curTupleConverter.translateResult(curRecord, 
tuple);
 
@@ -124,7 +124,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
             next = tuple;
             return true;
         }
-        
+
         // advanced measure filling, like TopN, will produce multiple tuples 
out of one record
         advMeasureRowsRemaining = -1;
         for (IAdvMeasureFiller filler : advMeasureFillers) {
@@ -135,11 +135,10 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
         }
         if (advMeasureRowsRemaining < 0)
             throw new IllegalStateException();
-        
+
         advMeasureRowIndex = 0;
         return hasNext();
     }
-    
 
     private boolean hitLimitAndThreshold() {
         // check limit

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java
index 5b4682b..4009f7d 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java
@@ -40,6 +40,7 @@ import org.slf4j.LoggerFactory;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
+
 import com.google.common.collect.Lists;
 
 /**
@@ -169,7 +170,7 @@ public class HybridInstance extends RootPersistentEntity 
implements IRealization
     public CapabilityResult isCapable(SQLDigest digest) {
         CapabilityResult result = new CapabilityResult();
         result.cost = Integer.MAX_VALUE;
-        
+
         for (IRealization realization : getRealizations()) {
             CapabilityResult child = realization.isCapable(digest);
             if (child.capable) {
@@ -178,10 +179,10 @@ public class HybridInstance extends RootPersistentEntity 
implements IRealization
                 result.influences.addAll(child.influences);
             }
         }
-        
+
         if (result.cost > 0)
             result.cost--; // let hybrid win its children
-        
+
         return result;
     }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java 
b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
index a203c6c..6e54899 100644
--- a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
+++ b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
@@ -89,7 +89,6 @@ public class StorageMockUtils {
         f1.setReturnType("decimal(19,4)");
         functions.add(f1);
 
-
         return functions;
     }
 
@@ -168,7 +167,6 @@ public class StorageMockUtils {
         return compareFilter;
     }
 
-
     public static TupleFilter buildAndFilter(List<TblColRef> columns) {
         CompareTupleFilter compareFilter1 = buildFilter1(columns.get(0));
         CompareTupleFilter compareFilter2 = buildFilter2(columns.get(1));

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/test/java/org/apache/kylin/storage/cache/EhcacheTest.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/test/java/org/apache/kylin/storage/cache/EhcacheTest.java 
b/core-storage/src/test/java/org/apache/kylin/storage/cache/EhcacheTest.java
index b069979..e089387 100644
--- a/core-storage/src/test/java/org/apache/kylin/storage/cache/EhcacheTest.java
+++ b/core-storage/src/test/java/org/apache/kylin/storage/cache/EhcacheTest.java
@@ -20,6 +20,9 @@ package org.apache.kylin.storage.cache;
 
 import java.util.Random;
 
+import org.junit.Ignore;
+import org.junit.Test;
+
 import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.Element;
@@ -28,9 +31,6 @@ import net.sf.ehcache.config.Configuration;
 import net.sf.ehcache.config.PersistenceConfiguration;
 import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
 
-import org.junit.Ignore;
-import org.junit.Test;
-
 @Ignore("trial for dev")
 public class EhcacheTest {
 
@@ -50,7 +50,7 @@ public class EhcacheTest {
                         timeToIdleSeconds(86400).//
                         diskExpiryThreadIntervalSeconds(0).//
                         //maxBytesLocalHeap(1000, MemoryUnit.MEGABYTES).//
-                                persistence(new 
PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.NONE)));
+                        persistence(new 
PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.NONE)));
 
         cacheManager.addCache(testCache);
 
@@ -61,12 +61,11 @@ public class EhcacheTest {
             blob[i] = (byte) random.nextInt();
         }
 
-
-//        List<String> manyObjects = Lists.newArrayList();
-//        for (int i = 0; i < 10000; i++) {
-//            manyObjects.add(new String("" + i));
-//        }
-//        testCache.put(new Element("0", manyObjects));
+        //        List<String> manyObjects = Lists.newArrayList();
+        //        for (int i = 0; i < 10000; i++) {
+        //            manyObjects.add(new String("" + i));
+        //        }
+        //        testCache.put(new Element("0", manyObjects));
 
         testCache.put(new Element("1", blob));
         System.out.println(testCache.get("1") == null);
@@ -78,7 +77,7 @@ public class EhcacheTest {
         for (int i = 0; i < blob.length; i++) {
             blob[i] = (byte) random.nextInt();
         }
-        
+
         testCache.put(new Element("2", blob));
         System.out.println(testCache.get("1") == null);
         System.out.println(testCache.get("2") == null);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5d4982e2/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
----------------------------------------------------------------------
diff --git 
a/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
 
b/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
index 8c8a3e6..36d9ea6 100644
--- 
a/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
+++ 
b/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
@@ -18,7 +18,8 @@
 
 package org.apache.kylin.storage.translate;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import java.util.Arrays;
 import java.util.HashSet;

Reply via email to