You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ja...@apache.org on 2018/02/07 07:07:11 UTC

[04/10] eagle git commit: [EAGLE-1081] Checkstyle fixes for eagle-entity-base module

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MapSerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MapSerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MapSerDeser.java
index d16fe3a..bb9889e 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MapSerDeser.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MapSerDeser.java
@@ -24,145 +24,148 @@ import java.util.TreeMap;
 
 /**
  * Serialization/deserialization for map type
- *
  */
 @SuppressWarnings("rawtypes")
 public class MapSerDeser implements EntitySerDeser<Map> {
 
-	@SuppressWarnings({ "unchecked" })
-	@Override
-	public Map deserialize(byte[] bytes) {
-		if (bytes == null || bytes.length == 0) {
-			return null;
-		}
-		final Map map = new TreeMap();
-		int offset = 0;
-		// get size of int array
-		final int size = ByteUtil.bytesToInt(bytes, offset);
-		offset += 4;
-		
-		for (int i = 0; i < size; ++i) {
-			final int keyID = ByteUtil.bytesToInt(bytes, offset);
-			offset += 4;
-			final Class<?> keyClass = EntityDefinitionManager.getClassByID(keyID);
-			if (keyClass == null) {
-				throw new IllegalArgumentException("Unsupported key type ID: " + keyID);
-			}
-			final EntitySerDeser keySerDer = EntityDefinitionManager.getSerDeser(keyClass);
-			final int keyLength = ByteUtil.bytesToInt(bytes, offset);
-			offset += 4;
-			final byte[] keyContent = new byte[keyLength];
-			System.arraycopy(bytes, offset, keyContent, 0, keyLength);
-			offset += keyLength;
-			final Object key = keySerDer.deserialize(keyContent);
-			
-			final int valueID = ByteUtil.bytesToInt(bytes, offset);
-			offset += 4;
-			final Class<?> valueClass = EntityDefinitionManager.getClassByID(valueID);
-			if (valueClass == null) {
-				throw new IllegalArgumentException("Unsupported value type ID: " + valueID);
-			}
-			final EntitySerDeser valueSerDer = EntityDefinitionManager.getSerDeser(valueClass);
-			final int valueLength = ByteUtil.bytesToInt(bytes, offset);
-			offset += 4;
-			final byte[] valueContent = new byte[valueLength];
-			System.arraycopy(bytes, offset, valueContent, 0, valueLength);
-			offset += valueLength;
-			final Object value = valueSerDer.deserialize(valueContent);
-			
-			map.put(key, value);
-		}
-		return map;
-	}
+    @SuppressWarnings({
+        "unchecked"
+        })
+    @Override
+    public Map deserialize(byte[] bytes) {
+        if (bytes == null || bytes.length == 0) {
+            return null;
+        }
+        final Map map = new TreeMap();
+        int offset = 0;
+        // get size of int array
+        final int size = ByteUtil.bytesToInt(bytes, offset);
+        offset += 4;
 
-	/**
-	 *  size + key1 type ID + key1 length + key1 binary content + value1 type id + value length + value1 binary content + ...
-	 *   4B        4B             4B             key1 bytes            4B              4B              value1 bytes
-	 */
-	@SuppressWarnings({ "unchecked" })
-	@Override
-	public byte[] serialize(Map map) {
-		if(map == null)
-			return null;
-		final int size = map.size();
-		final int[] keyIDs = new int[size];
-		final int[] valueIDs = new int[size];
-		final byte[][] keyBytes = new byte[size][];
-		final byte[][] valueBytes = new byte[size][];
-		
-		int totalSize = 4 + size * 16;
-		int i = 0;
-		Iterator iter = map.entrySet().iterator();
-		while (iter.hasNext()) {
-			final Map.Entry entry = (Map.Entry)iter.next();
-			final Object key = entry.getKey();
-			final Object value = entry.getValue();
-			Class<?> keyClass = key.getClass();
-			Class<?> valueClass = NullObject.class;
-			if (value != null) {
-				valueClass = value.getClass();
-			}
-			int keyTypeID = EntityDefinitionManager.getIDBySerDerClass(keyClass);
-			int valueTypeID = 0; // default null object
-			if (valueClass != null) {
-				valueTypeID = EntityDefinitionManager.getIDBySerDerClass(valueClass);
-			}
-			if (keyTypeID == -1) {
-				if (key instanceof Map) {
-					keyClass = Map.class;
-					keyTypeID = EntityDefinitionManager.getIDBySerDerClass(keyClass);
-				} else {
-					throw new IllegalArgumentException("Unsupported class: " + keyClass.getName());
-				}
-			}
-			if (valueTypeID == -1) {
-				if (value instanceof Map) {
-					valueClass = Map.class;
-					valueTypeID = EntityDefinitionManager.getIDBySerDerClass(valueClass);
-				} else {
-					throw new IllegalArgumentException("Unsupported class: " + valueClass.getName());
-				}
-			}
-			keyIDs[i] = keyTypeID;
-			valueIDs[i] = valueTypeID;
-			final EntitySerDeser keySerDer = EntityDefinitionManager.getSerDeser(keyClass);
-			final EntitySerDeser valueSerDer = EntityDefinitionManager.getSerDeser(valueClass);
-			if (keySerDer == null) {
-				throw new IllegalArgumentException("Unsupported class: " + keyClass.getName());
-			}
-			if (valueSerDer == null) {
-				throw new IllegalArgumentException("Unsupported class: " + valueClass.getName());
-			}
-			keyBytes[i] = keySerDer.serialize(key);
-			valueBytes[i] = valueSerDer.serialize(value);
-			totalSize += keyBytes[i].length + valueBytes[i].length;
-			++i;
-		}
-		final byte[] result = new byte[totalSize];
-		int offset = 0;
-		ByteUtil.intToBytes(size, result, offset);
-		offset += 4;
-		for (i = 0; i < size; ++i) {
-			ByteUtil.intToBytes(keyIDs[i], result, offset);
-			offset += 4;
-			ByteUtil.intToBytes(keyBytes[i].length, result, offset);
-			offset += 4;
-			System.arraycopy(keyBytes[i], 0, result, offset, keyBytes[i].length);
-			offset += keyBytes[i].length;
-			
-			ByteUtil.intToBytes(valueIDs[i], result, offset);
-			offset += 4;
-			ByteUtil.intToBytes(valueBytes[i].length, result, offset);
-			offset += 4;
-			System.arraycopy(valueBytes[i], 0, result, offset, valueBytes[i].length);
-			offset += valueBytes[i].length;
-		}
-		return result;
-	}
+        for (int i = 0; i < size; ++i) {
+            final int keyID = ByteUtil.bytesToInt(bytes, offset);
+            offset += 4;
+            final Class<?> keyClass = EntityDefinitionManager.getClassByID(keyID);
+            if (keyClass == null) {
+                throw new IllegalArgumentException("Unsupported key type ID: " + keyID);
+            }
+            final EntitySerDeser keySerDer = EntityDefinitionManager.getSerDeser(keyClass);
+            final int keyLength = ByteUtil.bytesToInt(bytes, offset);
+            offset += 4;
+            final byte[] keyContent = new byte[keyLength];
+            System.arraycopy(bytes, offset, keyContent, 0, keyLength);
+            offset += keyLength;
+            final Object key = keySerDer.deserialize(keyContent);
 
-	@Override
-	public Class<Map> type() {
-		return Map.class;
-	}
-}
+            final int valueID = ByteUtil.bytesToInt(bytes, offset);
+            offset += 4;
+            final Class<?> valueClass = EntityDefinitionManager.getClassByID(valueID);
+            if (valueClass == null) {
+                throw new IllegalArgumentException("Unsupported value type ID: " + valueID);
+            }
+            final EntitySerDeser valueSerDer = EntityDefinitionManager.getSerDeser(valueClass);
+            final int valueLength = ByteUtil.bytesToInt(bytes, offset);
+            offset += 4;
+            final byte[] valueContent = new byte[valueLength];
+            System.arraycopy(bytes, offset, valueContent, 0, valueLength);
+            offset += valueLength;
+            final Object value = valueSerDer.deserialize(valueContent);
+
+            map.put(key, value);
+        }
+        return map;
+    }
+
+    /**
+     * size + key1 type ID + key1 length + key1 binary content + value1 type id + value length + value1 binary
+     * content + ... 4B 4B 4B key1 bytes 4B 4B value1 bytes
+     */
+    @SuppressWarnings({
+        "unchecked"
+        })
+    @Override
+    public byte[] serialize(Map map) {
+        if (map == null) {
+            return null;
+        }
+        final int size = map.size();
+        final int[] keyIDs = new int[size];
+        final int[] valueIDs = new int[size];
+        final byte[][] keyBytes = new byte[size][];
+        final byte[][] valueBytes = new byte[size][];
 
+        int totalSize = 4 + size * 16;
+        int i = 0;
+        Iterator iter = map.entrySet().iterator();
+        while (iter.hasNext()) {
+            final Map.Entry entry = (Map.Entry)iter.next();
+            final Object key = entry.getKey();
+            final Object value = entry.getValue();
+            Class<?> keyClass = key.getClass();
+            Class<?> valueClass = NullObject.class;
+            if (value != null) {
+                valueClass = value.getClass();
+            }
+            int keyTypeID = EntityDefinitionManager.getIDBySerDerClass(keyClass);
+            int valueTypeID = 0; // default null object
+            if (valueClass != null) {
+                valueTypeID = EntityDefinitionManager.getIDBySerDerClass(valueClass);
+            }
+            if (keyTypeID == -1) {
+                if (key instanceof Map) {
+                    keyClass = Map.class;
+                    keyTypeID = EntityDefinitionManager.getIDBySerDerClass(keyClass);
+                } else {
+                    throw new IllegalArgumentException("Unsupported class: " + keyClass.getName());
+                }
+            }
+            if (valueTypeID == -1) {
+                if (value instanceof Map) {
+                    valueClass = Map.class;
+                    valueTypeID = EntityDefinitionManager.getIDBySerDerClass(valueClass);
+                } else {
+                    throw new IllegalArgumentException("Unsupported class: " + valueClass.getName());
+                }
+            }
+            keyIDs[i] = keyTypeID;
+            valueIDs[i] = valueTypeID;
+            final EntitySerDeser keySerDer = EntityDefinitionManager.getSerDeser(keyClass);
+            final EntitySerDeser valueSerDer = EntityDefinitionManager.getSerDeser(valueClass);
+            if (keySerDer == null) {
+                throw new IllegalArgumentException("Unsupported class: " + keyClass.getName());
+            }
+            if (valueSerDer == null) {
+                throw new IllegalArgumentException("Unsupported class: " + valueClass.getName());
+            }
+            keyBytes[i] = keySerDer.serialize(key);
+            valueBytes[i] = valueSerDer.serialize(value);
+            totalSize += keyBytes[i].length + valueBytes[i].length;
+            ++i;
+        }
+        final byte[] result = new byte[totalSize];
+        int offset = 0;
+        ByteUtil.intToBytes(size, result, offset);
+        offset += 4;
+        for (i = 0; i < size; ++i) {
+            ByteUtil.intToBytes(keyIDs[i], result, offset);
+            offset += 4;
+            ByteUtil.intToBytes(keyBytes[i].length, result, offset);
+            offset += 4;
+            System.arraycopy(keyBytes[i], 0, result, offset, keyBytes[i].length);
+            offset += keyBytes[i].length;
+
+            ByteUtil.intToBytes(valueIDs[i], result, offset);
+            offset += 4;
+            ByteUtil.intToBytes(valueBytes[i].length, result, offset);
+            offset += 4;
+            System.arraycopy(valueBytes[i], 0, result, offset, valueBytes[i].length);
+            offset += valueBytes[i].length;
+        }
+        return result;
+    }
+
+    @Override
+    public Class<Map> type() {
+        return Map.class;
+    }
+}

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Metric.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Metric.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Metric.java
index 0e3e776..5f5bb6e 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Metric.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Metric.java
@@ -21,9 +21,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Metric {
-	// interval with million seconds
-	long interval() default 60000;
+    // interval with million seconds
+    long interval() default 60000;
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MetricDefinition.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MetricDefinition.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MetricDefinition.java
index 06bbed3..4b23ea9 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MetricDefinition.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/MetricDefinition.java
@@ -25,44 +25,54 @@ import java.io.DataOutput;
 import java.io.IOException;
 
 public class MetricDefinition implements Writable {
-	private final static Logger LOG = LoggerFactory.getLogger(MetricDefinition.class);
-	private long interval;
-	private Class<?> singleTimestampEntityClass;
-	public long getInterval() {
-		return interval;
-	}
-	public void setInterval(long interval) {
-		this.interval = interval;
-	}
-	public Class<?> getSingleTimestampEntityClass() {
-		return singleTimestampEntityClass;
-	}
-	public void setSingleTimestampEntityClass(Class<?> singleTimestampEntityClass) {
-		this.singleTimestampEntityClass = singleTimestampEntityClass;
-	}
+    private static final Logger LOG = LoggerFactory.getLogger(MetricDefinition.class);
+    private long interval;
+    private Class<?> singleTimestampEntityClass;
 
-	private final static String EMPTY="";
-	@Override
-	public void write(DataOutput out) throws IOException {
-		if(LOG.isDebugEnabled()) LOG.debug("Writing metric definition: interval = "+interval+" singleTimestampEntityClass = "+ this.singleTimestampEntityClass);
-		out.writeLong(interval);
-		if(this.singleTimestampEntityClass == null){
-			out.writeUTF(EMPTY);
-		}else {
-			out.writeUTF(this.singleTimestampEntityClass.getName());
-		}
-	}
+    public long getInterval() {
+        return interval;
+    }
 
-	@Override
-	public void readFields(DataInput in) throws IOException {
-		interval = in.readLong();
-		String singleTimestampEntityClassName = in.readUTF();
-		if(!EMPTY.equals(singleTimestampEntityClassName)) {
-			try {
-				this.singleTimestampEntityClass = Class.forName(singleTimestampEntityClassName);
-			} catch (ClassNotFoundException e) {
-				if(LOG.isDebugEnabled()) LOG.warn("Class " + singleTimestampEntityClassName + " not found ");
-			}
-		}
-	}
+    public void setInterval(long interval) {
+        this.interval = interval;
+    }
+
+    public Class<?> getSingleTimestampEntityClass() {
+        return singleTimestampEntityClass;
+    }
+
+    public void setSingleTimestampEntityClass(Class<?> singleTimestampEntityClass) {
+        this.singleTimestampEntityClass = singleTimestampEntityClass;
+    }
+
+    private static final String EMPTY = "";
+
+    @Override
+    public void write(DataOutput out) throws IOException {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Writing metric definition: interval = " + interval + " singleTimestampEntityClass = "
+                      + this.singleTimestampEntityClass);
+        }
+        out.writeLong(interval);
+        if (this.singleTimestampEntityClass == null) {
+            out.writeUTF(EMPTY);
+        } else {
+            out.writeUTF(this.singleTimestampEntityClass.getName());
+        }
+    }
+
+    @Override
+    public void readFields(DataInput in) throws IOException {
+        interval = in.readLong();
+        String singleTimestampEntityClassName = in.readUTF();
+        if (!EMPTY.equals(singleTimestampEntityClassName)) {
+            try {
+                this.singleTimestampEntityClass = Class.forName(singleTimestampEntityClassName);
+            } catch (ClassNotFoundException e) {
+                if (LOG.isDebugEnabled()) {
+                    LOG.warn("Class " + singleTimestampEntityClassName + " not found ");
+                }
+            }
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndex.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndex.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndex.java
index 9fb05a3..01536f1 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndex.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndex.java
@@ -21,7 +21,9 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface NonUniqueIndex {
 

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndexes.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndexes.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndexes.java
index ff11397..f838590 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndexes.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NonUniqueIndexes.java
@@ -21,11 +21,12 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface NonUniqueIndexes {
-	
-	public NonUniqueIndex[] value();
+
+    public NonUniqueIndex[] value();
 
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NullSerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NullSerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NullSerDeser.java
index 1778788..fd76999 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NullSerDeser.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/NullSerDeser.java
@@ -16,22 +16,22 @@
  */
 package org.apache.eagle.log.entity.meta;
 
-public class NullSerDeser implements EntitySerDeser<NullObject>{
+public class NullSerDeser implements EntitySerDeser<NullObject> {
 
-	private static final byte[] EMPTY_NULL_ARRAY = new byte[0];
-	
-	@Override
-	public NullObject deserialize(byte[] bytes) {
-		return null;
-	}
+    private static final byte[] EMPTY_NULL_ARRAY = new byte[0];
 
-	@Override
-	public byte[] serialize(NullObject t) {
-		return EMPTY_NULL_ARRAY;
-	}
+    @Override
+    public NullObject deserialize(byte[] bytes) {
+        return null;
+    }
 
-	@Override
-	public Class<NullObject> type() {
-		return NullObject.class;
-	}
+    @Override
+    public byte[] serialize(NullObject t) {
+        return EMPTY_NULL_ARRAY;
+    }
+
+    @Override
+    public Class<NullObject> type() {
+        return NullObject.class;
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Partition.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Partition.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Partition.java
index cb60016..479cb33 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Partition.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Partition.java
@@ -22,19 +22,18 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * Partition annotation will impact the rowkey generation for Eagle entities. Once an entity class 
- * has defined the partition fields for an Eagle entity, the hash codes of the defined partition 
- * fields will be placed just after prefix field, and before timestamp field.
- * 
- *
+ * Partition annotation will impact the rowkey generation for Eagle entities. Once an entity class has defined
+ * the partition fields for an Eagle entity, the hash codes of the defined partition fields will be placed
+ * just after prefix field, and before timestamp field.
  */
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
-public @interface Partition
-{
+public @interface Partition {
     /**
      * Order in which annotated tags are to be regarded as data partitions.
      */
-    public String[] value() default { };
+    public String[] value() default {};
 
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Prefix.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Prefix.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Prefix.java
index 36f404c..587243d 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Prefix.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Prefix.java
@@ -21,8 +21,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Prefix {
-	String value() default "";
-}
\ No newline at end of file
+    String value() default "";
+}

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Qualifier.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Qualifier.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Qualifier.java
index 64d73dd..7f849ff 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Qualifier.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Qualifier.java
@@ -27,74 +27,83 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-public class Qualifier implements Writable{
-	private final static Logger LOG = LoggerFactory.getLogger(Qualifier.class);
+public class Qualifier implements Writable {
+    private static final Logger LOG = LoggerFactory.getLogger(Qualifier.class);
 
-	private String displayName;
-	private String qualifierName;
-	private EntitySerDeser<Object> serDeser;
-	@JsonIgnore
-	public EntitySerDeser<Object> getSerDeser() {
-		return serDeser;
-	}
-	public void setSerDeser(EntitySerDeser<Object> serDeser) {
-		this.serDeser = serDeser;
-	}
-	public String getDisplayName() {
-		return displayName;
-	}
-	public void setDisplayName(String displayName) {
-		this.displayName = displayName;
-	}
-	public String getQualifierName() {
-		return qualifierName;
-	}
-	public void setQualifierName(String qualifierName) {
-		this.qualifierName = qualifierName;
-	}
-	
-	public String toString(){
-		StringBuffer sb = new StringBuffer();
-		sb.append("displayName:");
-		sb.append(displayName);
-		sb.append(",");
-		sb.append("qualifierName:");
-		sb.append(qualifierName);
-		sb.append(",");
-		sb.append("serDeser class:");
-		sb.append(serDeser.getClass().getName());
-		return sb.toString();
-	}
+    private String displayName;
+    private String qualifierName;
+    private EntitySerDeser<Object> serDeser;
 
-	@Override
-	public void write(DataOutput out) throws IOException {
-		out.writeUTF(displayName);
-		out.writeUTF(qualifierName);
-		out.writeUTF(serDeser.getClass().getName());
-	}
+    @JsonIgnore
+    public EntitySerDeser<Object> getSerDeser() {
+        return serDeser;
+    }
 
-	private final static Map<String, EntitySerDeser> _entitySerDeserCache = new HashMap<String,EntitySerDeser>();
+    public void setSerDeser(EntitySerDeser<Object> serDeser) {
+        this.serDeser = serDeser;
+    }
 
-	@Override
-	public void readFields(DataInput in) throws IOException {
-		displayName = in.readUTF();
-		qualifierName = in.readUTF();
-		String serDeserClassName = in.readUTF();
+    public String getDisplayName() {
+        return displayName;
+    }
 
-		EntitySerDeser _cached = _entitySerDeserCache.get(serDeserClassName);
-		if(_cached != null){
-			this.serDeser = _cached;
-		}else {
-			try {
-				if (LOG.isDebugEnabled()) LOG.debug("Creating new instance for " + serDeserClassName);
-				Class serDeserClass = Class.forName(serDeserClassName);
-				this.serDeser = (EntitySerDeser) serDeserClass.newInstance();
-				_entitySerDeserCache.put(serDeserClassName, this.serDeser);
-			} catch (Exception e) {
-				if (LOG.isDebugEnabled()) {
-					LOG.warn("Class not found for " + serDeserClassName + ": " + e.getMessage(), e);
-				}
-			}
-		}
-	}
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public String getQualifierName() {
+        return qualifierName;
+    }
+
+    public void setQualifierName(String qualifierName) {
+        this.qualifierName = qualifierName;
+    }
+
+    @Override
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("displayName:");
+        sb.append(displayName);
+        sb.append(",");
+        sb.append("qualifierName:");
+        sb.append(qualifierName);
+        sb.append(",");
+        sb.append("serDeser class:");
+        sb.append(serDeser.getClass().getName());
+        return sb.toString();
+    }
+
+    @Override
+    public void write(DataOutput out) throws IOException {
+        out.writeUTF(displayName);
+        out.writeUTF(qualifierName);
+        out.writeUTF(serDeser.getClass().getName());
+    }
+
+    private static final Map<String, EntitySerDeser> _entitySerDeserCache = new HashMap<String, EntitySerDeser>();
+
+    @Override
+    public void readFields(DataInput in) throws IOException {
+        displayName = in.readUTF();
+        qualifierName = in.readUTF();
+        String serDeserClassName = in.readUTF();
+
+        EntitySerDeser _cached = _entitySerDeserCache.get(serDeserClassName);
+        if (_cached != null) {
+            this.serDeser = _cached;
+        } else {
+            try {
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Creating new instance for " + serDeserClassName);
+                }
+                Class serDeserClass = Class.forName(serDeserClassName);
+                this.serDeser = (EntitySerDeser)serDeserClass.newInstance();
+                _entitySerDeserCache.put(serDeserClassName, this.serDeser);
+            } catch (Exception e) {
+                if (LOG.isDebugEnabled()) {
+                    LOG.warn("Class not found for " + serDeserClassName + ": " + e.getMessage(), e);
+                }
+            }
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Service.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Service.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Service.java
index 22d70ed..f6e9700 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Service.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Service.java
@@ -21,8 +21,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Service {
-	String value() default "";
+    String value() default "";
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/ServicePath.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/ServicePath.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/ServicePath.java
index 8c712d0..6dc15c5 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/ServicePath.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/ServicePath.java
@@ -23,9 +23,10 @@ import java.lang.annotation.Target;
 
 /**
  * This class is for service client for generic entity creation API (entities and metrics)
- *
  */
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ServicePath {
 

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringArraySerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringArraySerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringArraySerDeser.java
index 635065b..2e5fa8d 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringArraySerDeser.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringArraySerDeser.java
@@ -22,73 +22,73 @@ import org.apache.eagle.common.ByteUtil;
 
 /**
  * String array entity serializer and deserializer
- *
  */
 public class StringArraySerDeser implements EntitySerDeser<String[]> {
 
-	public static final int MAX_STRING_LENGTH = 65535;
-	public static final String UTF_8 = "UTF-8";
-	
-	@Override
-	public String[] deserialize(byte[] bytes) {
-		if(bytes == null || bytes.length < 4)
-			return null;
-		int offset = 0;
-		// get size of int array
-		final int size = ByteUtil.bytesToInt(bytes, offset);
-		offset += 4;
-		final String[] strings = new String[size];
-		try {
-			for(int i = 0; i < size; i++) {
-				final int len = ByteUtil.bytesToInt(bytes, offset);
-				offset += 4;
-				strings[i] = new String(bytes, offset, len, UTF_8);
-				offset += len;
-			}
-		} catch (UnsupportedEncodingException e) {
-			throw new IllegalArgumentException("Invalid byte array");
-		}
-		return strings;
-	}
-	
-	/**
-	 *  size + str1 length + str1 + str2 length + str2 + ...
-	 *   4B        4B         n1B        4B        n2B
-	 *  
-	 * @param obj
-	 * @return
-	 */
-	@Override
-	public byte[] serialize(String[] array) {
-		if(array == null)
-			return null;
-		final int size = array.length;
-		final byte[][] tmp = new byte[size][];
-		int total = 4 + 4 * size;
-		for (int i = 0; i < size; ++i) {
-			try {
-				tmp[i] = array[i].getBytes(UTF_8);
-			} catch (UnsupportedEncodingException e) {
-				throw new IllegalArgumentException("String doesn't support UTF-8 encoding: " + array[i]);
-			}
-			total += tmp[i].length;
-		}
-		final byte[] result = new byte[total];
-		int offset = 0;
-		ByteUtil.intToBytes(size, result, offset);
-		offset += 4;
-		for (int i = 0; i < size; ++i) {
-			ByteUtil.intToBytes(tmp[i].length, result, offset);
-			offset += 4;
-			System.arraycopy(tmp[i], 0, result, offset, tmp[i].length);
-			offset += tmp[i].length;
-		}
-		return result;
-	}
+    public static final int MAX_STRING_LENGTH = 65535;
+    public static final String UTF_8 = "UTF-8";
+
+    @Override
+    public String[] deserialize(byte[] bytes) {
+        if (bytes == null || bytes.length < 4) {
+            return null;
+        }
+        int offset = 0;
+        // get size of int array
+        final int size = ByteUtil.bytesToInt(bytes, offset);
+        offset += 4;
+        final String[] strings = new String[size];
+        try {
+            for (int i = 0; i < size; i++) {
+                final int len = ByteUtil.bytesToInt(bytes, offset);
+                offset += 4;
+                strings[i] = new String(bytes, offset, len, UTF_8);
+                offset += len;
+            }
+        } catch (UnsupportedEncodingException e) {
+            throw new IllegalArgumentException("Invalid byte array");
+        }
+        return strings;
+    }
+
+    /**
+     * size + str1 length + str1 + str2 length + str2 + ... 4B 4B n1B 4B n2B
+     * 
+     * @param obj
+     * @return
+     */
+    @Override
+    public byte[] serialize(String[] array) {
+        if (array == null) {
+            return null;
+        }
+        final int size = array.length;
+        final byte[][] tmp = new byte[size][];
+        int total = 4 + 4 * size;
+        for (int i = 0; i < size; ++i) {
+            try {
+                tmp[i] = array[i].getBytes(UTF_8);
+            } catch (UnsupportedEncodingException e) {
+                throw new IllegalArgumentException("String doesn't support UTF-8 encoding: " + array[i]);
+            }
+            total += tmp[i].length;
+        }
+        final byte[] result = new byte[total];
+        int offset = 0;
+        ByteUtil.intToBytes(size, result, offset);
+        offset += 4;
+        for (int i = 0; i < size; ++i) {
+            ByteUtil.intToBytes(tmp[i].length, result, offset);
+            offset += 4;
+            System.arraycopy(tmp[i], 0, result, offset, tmp[i].length);
+            offset += tmp[i].length;
+        }
+        return result;
+    }
 
-	@Override
-	public Class<String[]> type() {
-		return String[].class;
-	}
+    @Override
+    public Class<String[]> type() {
+        return String[].class;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringSerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringSerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringSerDeser.java
index eef6e4f..532e27a 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringSerDeser.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/StringSerDeser.java
@@ -18,22 +18,24 @@ package org.apache.eagle.log.entity.meta;
 
 public class StringSerDeser implements EntitySerDeser<String> {
 
-	public StringSerDeser(){}
+    public StringSerDeser() {
+    }
 
-	@Override
-	public String deserialize(byte[] bytes){
-		return new String(bytes);
-	}
-	
-	@Override
-	public byte[] serialize(String obj){
-		if(obj == null)
-			return null;
-		return obj.getBytes();
-	}
+    @Override
+    public String deserialize(byte[] bytes) {
+        return new String(bytes);
+    }
 
-	@Override
-	public Class<String> type() {
-		return String.class;
-	}
+    @Override
+    public byte[] serialize(String obj) {
+        if (obj == null) {
+            return null;
+        }
+        return obj.getBytes();
+    }
+
+    @Override
+    public Class<String> type() {
+        return String.class;
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Table.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Table.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Table.java
index ac722cd..d36487a 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Table.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Table.java
@@ -21,8 +21,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Table {
-	String value() default "";
+    String value() default "";
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Tags.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Tags.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Tags.java
index ac9b328..0f5c38d 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Tags.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/Tags.java
@@ -27,5 +27,7 @@ import java.lang.annotation.Target;
 @Target(ElementType.TYPE)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Tags {
-	String[] value() default {""};
+    String[] value() default {
+                              ""
+    };
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/TimeSeries.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/TimeSeries.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/TimeSeries.java
index 01023bc..e708f14 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/TimeSeries.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/meta/TimeSeries.java
@@ -21,8 +21,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-@Target({ElementType.TYPE})
+@Target({
+         ElementType.TYPE
+})
 @Retention(RetentionPolicy.RUNTIME)
 public @interface TimeSeries {
-	boolean value() default true;
+    boolean value() default true;
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericByRowkeyReader.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericByRowkeyReader.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericByRowkeyReader.java
index 43a7073..5744ee8 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericByRowkeyReader.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericByRowkeyReader.java
@@ -30,49 +30,51 @@ import org.apache.eagle.log.entity.InternalLog;
 import org.apache.eagle.common.EagleBase64Wrapper;
 
 public class GenericByRowkeyReader {
-	private static final Logger LOG = LoggerFactory.getLogger(GenericByRowkeyReader.class);
+    private static final Logger LOG = LoggerFactory.getLogger(GenericByRowkeyReader.class);
 
-	private TaggedLogObjectMapper mapper;
-	private String table;
-	private String columnFamily;
-	private boolean outputAll;
-	private List<String> outputColumns;
-	private GenericReader.EntityFactory entityFactory;
-	
-	public GenericByRowkeyReader(TaggedLogObjectMapper mapper, GenericReader.EntityFactory entityFactory, String table, String columnFamily, boolean outputAll, List<String> outputColumns){
-		this.mapper = mapper;
-		this.entityFactory = entityFactory;
-		this.table = table;
-		this.columnFamily = columnFamily;
-		this.outputAll = outputAll;
-		this.outputColumns = outputColumns;
-	}
-	
-	public List<TaggedLogAPIEntity> read(List<String> rowkeys) throws IOException{
-		HBaseLogByRowkeyReader reader = new HBaseLogByRowkeyReader(this.table, this.columnFamily, 
-				outputAll, outputColumns);
-		List<TaggedLogAPIEntity> entities = new ArrayList<TaggedLogAPIEntity>();
-		try{
-			reader.open();
-			for(String rowkeyString : rowkeys){
-				byte[] rowkey = EagleBase64Wrapper.decode(rowkeyString);
-				InternalLog log = reader.get(rowkey);
-				TaggedLogAPIEntity entity = entityFactory.create();
-				entities.add(entity);
-				entity.setTags(log.getTags());
-				entity.setTimestamp(log.getTimestamp());
-				entity.setEncodedRowkey(log.getEncodedRowkey());
-				entity.setPrefix(log.getPrefix());
-				Map<String, byte[]> qualifierValues = log.getQualifierValues();
-				mapper.populateQualifierValues(entity, qualifierValues);
-			}
-		}catch(IOException ex){
-			LOG.error("Fail read by rowkey", ex);
-			throw ex;
-		}finally{
-			reader.close();
-		}
-		
-		return entities;
-	}
+    private TaggedLogObjectMapper mapper;
+    private String table;
+    private String columnFamily;
+    private boolean outputAll;
+    private List<String> outputColumns;
+    private GenericReader.EntityFactory entityFactory;
+
+    public GenericByRowkeyReader(TaggedLogObjectMapper mapper, GenericReader.EntityFactory entityFactory,
+                                 String table, String columnFamily, boolean outputAll,
+                                 List<String> outputColumns) {
+        this.mapper = mapper;
+        this.entityFactory = entityFactory;
+        this.table = table;
+        this.columnFamily = columnFamily;
+        this.outputAll = outputAll;
+        this.outputColumns = outputColumns;
+    }
+
+    public List<TaggedLogAPIEntity> read(List<String> rowkeys) throws IOException {
+        HBaseLogByRowkeyReader reader = new HBaseLogByRowkeyReader(this.table, this.columnFamily, outputAll,
+                                                                   outputColumns);
+        List<TaggedLogAPIEntity> entities = new ArrayList<TaggedLogAPIEntity>();
+        try {
+            reader.open();
+            for (String rowkeyString : rowkeys) {
+                byte[] rowkey = EagleBase64Wrapper.decode(rowkeyString);
+                InternalLog log = reader.get(rowkey);
+                TaggedLogAPIEntity entity = entityFactory.create();
+                entities.add(entity);
+                entity.setTags(log.getTags());
+                entity.setTimestamp(log.getTimestamp());
+                entity.setEncodedRowkey(log.getEncodedRowkey());
+                entity.setPrefix(log.getPrefix());
+                Map<String, byte[]> qualifierValues = log.getQualifierValues();
+                mapper.populateQualifierValues(entity, qualifierValues);
+            }
+        } catch (IOException ex) {
+            LOG.error("Fail read by rowkey", ex);
+            throw ex;
+        } finally {
+            reader.close();
+        }
+
+        return entities;
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericDeleter.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericDeleter.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericDeleter.java
index e97b522..f2acd85 100755
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericDeleter.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericDeleter.java
@@ -32,20 +32,19 @@ import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
 import org.apache.eagle.log.entity.meta.IndexDefinition;
 
 public class GenericDeleter {
-	private static final Logger LOG = LoggerFactory.getLogger(GenericDeleter.class);
+    private static final Logger LOG = LoggerFactory.getLogger(GenericDeleter.class);
 
-	private final HBaseLogDeleter deleter;
-	private final HBaseLogByRowkeyReader reader;
-	
-	
-	public GenericDeleter(EntityDefinition ed) {
-		this(ed.getTable(), ed.getColumnFamily());
-	}
-	
-	public GenericDeleter(String table, String columnFamily) {
-		this.deleter = new HBaseLogDeleter(table, columnFamily);
-		this.reader = new HBaseLogByRowkeyReader(table, columnFamily, true, null);
-	}
+    private final HBaseLogDeleter deleter;
+    private final HBaseLogByRowkeyReader reader;
+
+    public GenericDeleter(EntityDefinition ed) {
+        this(ed.getTable(), ed.getColumnFamily());
+    }
+
+    public GenericDeleter(String table, String columnFamily) {
+        this.deleter = new HBaseLogDeleter(table, columnFamily);
+        this.reader = new HBaseLogByRowkeyReader(table, columnFamily, true, null);
+    }
 
     public void deleteByRowkeys(List<byte[]> rowkeys) throws Exception {
         try {
@@ -66,70 +65,73 @@ public class GenericDeleter {
             throw e;
         }
     }
-	
-	public List<String> delete(List<? extends TaggedLogAPIEntity> entities) throws Exception{
+
+    public List<String> delete(List<? extends TaggedLogAPIEntity> entities) throws Exception {
         List<String> encodedRowkey = new LinkedList<String>();
-		try{
-			deleter.open();
-			final Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> entityClassMap = classifyEntities(entities);
-			for (Map.Entry<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> entry : entityClassMap.entrySet()) {
-				final Class<? extends TaggedLogAPIEntity> clazz = entry.getKey();
-				final List<? extends TaggedLogAPIEntity> entityList = entry.getValue();
+        try {
+            deleter.open();
+            final Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> entityClassMap = classifyEntities(entities);
+            for (Map.Entry<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> entry : entityClassMap
+                .entrySet()) {
+                final Class<? extends TaggedLogAPIEntity> clazz = entry.getKey();
+                final List<? extends TaggedLogAPIEntity> entityList = entry.getValue();
 
-				final EntityDefinition entityDef = EntityDefinitionManager.getEntityDefinitionByEntityClass(clazz);
-				// TODO: we should fix this hardcoded prefix hack
-				fixPrefixAndTimestampIssue(entityList, entityDef);
+                final EntityDefinition entityDef = EntityDefinitionManager
+                    .getEntityDefinitionByEntityClass(clazz);
+                // TODO: we should fix this hardcoded prefix hack
+                fixPrefixAndTimestampIssue(entityList, entityDef);
 
-				final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEntities(entityList, entityDef);
-				// Check index
-				final IndexDefinition[] indexes = entityDef.getIndexes();
-				if (indexes != null && indexes.length > 0) {
-					reader.open();
-					final List<InternalLog> logs = reader.get(rowkeys);
-					final List<TaggedLogAPIEntity> newEntities = HBaseInternalLogHelper.buildEntities(logs, entityDef);
-					for (TaggedLogAPIEntity entity : newEntities) {
-						// Add index rowkeys
-						for (IndexDefinition index : indexes) {
-							final byte[] indexRowkey = index.generateIndexRowkey(entity);
-							rowkeys.add(indexRowkey);
-						}
-					}
-				}
-                for(byte[] rowkey:rowkeys) {
+                final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEntities(entityList, entityDef);
+                // Check index
+                final IndexDefinition[] indexes = entityDef.getIndexes();
+                if (indexes != null && indexes.length > 0) {
+                    reader.open();
+                    final List<InternalLog> logs = reader.get(rowkeys);
+                    final List<TaggedLogAPIEntity> newEntities = HBaseInternalLogHelper
+                        .buildEntities(logs, entityDef);
+                    for (TaggedLogAPIEntity entity : newEntities) {
+                        // Add index rowkeys
+                        for (IndexDefinition index : indexes) {
+                            final byte[] indexRowkey = index.generateIndexRowkey(entity);
+                            rowkeys.add(indexRowkey);
+                        }
+                    }
+                }
+                for (byte[] rowkey : rowkeys) {
                     encodedRowkey.add(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
                 }
-				deleter.deleteRowkeys(rowkeys);
-			}
-		}catch(IOException ioe){
-			LOG.error("Fail writing tagged log", ioe);
-			throw ioe;
-		}finally{
-			deleter.close();
-	 	}
+                deleter.deleteRowkeys(rowkeys);
+            }
+        } catch (IOException ioe) {
+            LOG.error("Fail writing tagged log", ioe);
+            throw ioe;
+        } finally {
+            deleter.close();
+        }
         return encodedRowkey;
-	}
+    }
 
-	private void fixPrefixAndTimestampIssue(List<? extends TaggedLogAPIEntity> entities, EntityDefinition entityDef) {
-		for (TaggedLogAPIEntity e : entities) {
-			e.setPrefix(entityDef.getPrefix());
-			if (!entityDef.isTimeSeries()) {
-				e.setTimestamp(EntityConstants.FIXED_WRITE_TIMESTAMP); // set timestamp to MAX, then actually stored 0
-			}
-		}
-	}
+    private void fixPrefixAndTimestampIssue(List<? extends TaggedLogAPIEntity> entities,
+                                            EntityDefinition entityDef) {
+        for (TaggedLogAPIEntity e : entities) {
+            e.setPrefix(entityDef.getPrefix());
+            if (!entityDef.isTimeSeries()) {
+                e.setTimestamp(EntityConstants.FIXED_WRITE_TIMESTAMP); // set timestamp to MAX, then actually stored 0
+            }
+        }
+    }
 
-	private Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> classifyEntities(List<? extends TaggedLogAPIEntity> entities) {
-		final Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> result = new 
-				HashMap<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>>();
-		for (TaggedLogAPIEntity entity : entities) {
-			final Class<? extends TaggedLogAPIEntity> clazz = entity.getClass();
-			List<TaggedLogAPIEntity> list = result.get(clazz);
-			if (list == null) {
-				list = new ArrayList<TaggedLogAPIEntity>();
-				result.put(clazz, list);
-			}
-			list.add(entity);
-		}
-		return result;
-	}
+    private Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> classifyEntities(List<? extends TaggedLogAPIEntity> entities) {
+        final Map<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>> result = new HashMap<Class<? extends TaggedLogAPIEntity>, List<TaggedLogAPIEntity>>();
+        for (TaggedLogAPIEntity entity : entities) {
+            final Class<? extends TaggedLogAPIEntity> clazz = entity.getClass();
+            List<TaggedLogAPIEntity> list = result.get(clazz);
+            if (list == null) {
+                list = new ArrayList<TaggedLogAPIEntity>();
+                result.put(clazz, list);
+            }
+            list.add(entity);
+        }
+        return result;
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericReader.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericReader.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericReader.java
index 76e314b..09ff861 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericReader.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericReader.java
@@ -32,84 +32,87 @@ import org.apache.eagle.log.entity.InternalLog;
 import org.apache.eagle.common.DateTimeUtil;
 
 public class GenericReader {
-	private static final Logger LOG = LoggerFactory.getLogger(GenericReader.class);
+    private static final Logger LOG = LoggerFactory.getLogger(GenericReader.class);
 
-	public interface EntityFactory{
-		public TaggedLogAPIEntity create();
-	}
-	
-	private Schema schema;
-	private EntityFactory entityFactory;
-	private TaggedLogObjectMapper mapper;
-	
-	public GenericReader(TaggedLogObjectMapper mapper, Schema schema, EntityFactory factory){
-		this.mapper = mapper;
-		this.schema = schema;
-		this.entityFactory = factory;
-	}
-	
-	public List<TaggedLogAPIEntity> read(String startTime, 
-			String endTime, List<String> tagNameValues, List<String> outputTags, 
-			List<String> outputFields, String startRowkey, int pageSize) throws Exception{
-		Date start = DateTimeUtil.humanDateToDate(startTime);
-		Date end = DateTimeUtil.humanDateToDate(endTime);
-		
-		// decode the query parameters
-		// TODO should support one tag has multiple tag values
-		Map<String, List<String>> searchTags = new HashMap<String, List<String>>();
-		for(String tagNameValue : tagNameValues){
-			String[] tmp = tagNameValue.split("=");
-			if(tmp == null || tmp.length <=1){
-				continue; // silently ignore this parameter
-			}
-			List<String> tagValues = searchTags.get(tmp[0]);
-			if(tagValues == null){
-				tagValues = new ArrayList<String>();
-				searchTags.put(tmp[0], tagValues);
-			}
-			tagValues.add(tmp[1]);
-		}
-		
-		int numTags = outputTags.size();
-		int numFields = outputFields.size();
-		byte[][] outputQualifiers = new byte[numTags+numFields][];
-		int i = 0;
-		for(String tag : outputTags){
-			outputQualifiers[i++] = tag.getBytes();
-		}
-		for(String field : outputFields){
-			outputQualifiers[i++] = field.getBytes();
-		}
-		// shortcut to avoid read when pageSize=0
-		List<TaggedLogAPIEntity> entities = new ArrayList<TaggedLogAPIEntity>();
-		if(pageSize <= 0){
-			return entities; // return empty entities
-		}
+    public interface EntityFactory {
+        public TaggedLogAPIEntity create();
+    }
 
-		HBaseLogReader reader = new HBaseLogReader(schema, start, end, searchTags, startRowkey, outputQualifiers);
-		try{
-			reader.open();
-			InternalLog log;
-			int count = 0;
-			while ((log = reader.read()) != null) {
-				TaggedLogAPIEntity entity = entityFactory.create();
-				entity.setTags(log.getTags());
-				entity.setTimestamp(log.getTimestamp());
-				entity.setEncodedRowkey(log.getEncodedRowkey());
-				entity.setPrefix(log.getPrefix());
-				entities.add(entity);
-				
-				Map<String, byte[]> qualifierValues = log.getQualifierValues();
-				mapper.populateQualifierValues(entity, qualifierValues);
-				if(++count == pageSize)
-					break;
-			}
-		}catch(IOException ioe){
-			LOG.error("Fail reading log", ioe);
-			throw ioe;
-		}finally{
-			reader.close();
-		}		
-		return entities;
-	}
+    private Schema schema;
+    private EntityFactory entityFactory;
+    private TaggedLogObjectMapper mapper;
+
+    public GenericReader(TaggedLogObjectMapper mapper, Schema schema, EntityFactory factory) {
+        this.mapper = mapper;
+        this.schema = schema;
+        this.entityFactory = factory;
+    }
+
+    public List<TaggedLogAPIEntity> read(String startTime, String endTime, List<String> tagNameValues,
+                                         List<String> outputTags, List<String> outputFields,
+                                         String startRowkey, int pageSize)
+        throws Exception {
+
+        // decode the query parameters
+        // TODO should support one tag has multiple tag values
+        Map<String, List<String>> searchTags = new HashMap<String, List<String>>();
+        for (String tagNameValue : tagNameValues) {
+            String[] tmp = tagNameValue.split("=");
+            if (tmp == null || tmp.length <= 1) {
+                continue; // silently ignore this parameter
+            }
+            List<String> tagValues = searchTags.get(tmp[0]);
+            if (tagValues == null) {
+                tagValues = new ArrayList<String>();
+                searchTags.put(tmp[0], tagValues);
+            }
+            tagValues.add(tmp[1]);
+        }
+
+        int numTags = outputTags.size();
+        int numFields = outputFields.size();
+        byte[][] outputQualifiers = new byte[numTags + numFields][];
+        int i = 0;
+        for (String tag : outputTags) {
+            outputQualifiers[i++] = tag.getBytes();
+        }
+        for (String field : outputFields) {
+            outputQualifiers[i++] = field.getBytes();
+        }
+        // shortcut to avoid read when pageSize=0
+        List<TaggedLogAPIEntity> entities = new ArrayList<TaggedLogAPIEntity>();
+        if (pageSize <= 0) {
+            return entities; // return empty entities
+        }
+
+        Date start = DateTimeUtil.humanDateToDate(startTime);
+        Date end = DateTimeUtil.humanDateToDate(endTime);
+        HBaseLogReader reader = new HBaseLogReader(schema, start, end, searchTags, startRowkey,
+                                                   outputQualifiers);
+        try {
+            reader.open();
+            InternalLog log;
+            int count = 0;
+            while ((log = reader.read()) != null) {
+                TaggedLogAPIEntity entity = entityFactory.create();
+                entity.setTags(log.getTags());
+                entity.setTimestamp(log.getTimestamp());
+                entity.setEncodedRowkey(log.getEncodedRowkey());
+                entity.setPrefix(log.getPrefix());
+                entities.add(entity);
+
+                Map<String, byte[]> qualifierValues = log.getQualifierValues();
+                mapper.populateQualifierValues(entity, qualifierValues);
+                if (++count == pageSize) {
+                    break;
+                }
+            }
+        } catch (IOException ioe) {
+            LOG.error("Fail reading log", ioe);
+            throw ioe;
+        } finally {
+            reader.close();
+        }
+        return entities;
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericWriter.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericWriter.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericWriter.java
index 3d29237..9f3765a 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericWriter.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/GenericWriter.java
@@ -32,62 +32,62 @@ import org.slf4j.LoggerFactory;
 import org.apache.eagle.common.EagleBase64Wrapper;
 
 public class GenericWriter {
-	private static final Logger LOG = LoggerFactory.getLogger(GenericWriter.class);
+    private static final Logger LOG = LoggerFactory.getLogger(GenericWriter.class);
 
-	private String table;
-	private String columnFamily;
-	private TaggedLogObjectMapper mapper;
-	
-	public GenericWriter(TaggedLogObjectMapper mapper, String table, String columnFamily){
-		this.mapper = mapper;
-		this.table = table;
-		this.columnFamily = columnFamily;
-	}
-	
-	public List<String> write(List<? extends TaggedLogAPIEntity> entities) throws IOException{
-		HBaseLogWriter writer = new HBaseLogWriter(table, columnFamily);
-		List<String> rowkeys = new ArrayList<String>();
-		
-		try{
-			writer.open();
-			for(TaggedLogAPIEntity entity : entities){
-				InternalLog log = new InternalLog();
-				Map<String, String> inputTags = entity.getTags();
-				Map<String, String> tags = new TreeMap<String, String>();
-				for(Map.Entry<String, String> entry : inputTags.entrySet()){
-					tags.put(entry.getKey(), entry.getValue());
-				}
-				log.setTags(tags);
-				log.setTimestamp(entity.getTimestamp());
-				log.setPrefix(entity.getPrefix());
-				log.setQualifierValues(mapper.createQualifierValues(entity));
-				byte[] rowkey  = writer.write(log);
-				rowkeys.add(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
-			}
-		}catch(IOException ioe){
-			LOG.error("Fail writing tagged log", ioe);
-			throw ioe;
-		}finally{
-			writer.close();
-	 	}
-		return rowkeys;
-	}
-	
-	public void updateByRowkey(List<? extends TaggedLogAPIEntity> entities) throws IOException{
-		HBaseLogWriter writer = new HBaseLogWriter(table, columnFamily);
-		try{
-			writer.open();
-			for(TaggedLogAPIEntity entity : entities){
-				byte[] rowkey = EagleBase64Wrapper.decode(entity.getEncodedRowkey());
-				InternalLog log = new InternalLog();
-				log.setQualifierValues(mapper.createQualifierValues(entity));
-				writer.updateByRowkey(rowkey, log);
-			}
-		}catch(IOException ioe){
-			LOG.error("Fail writing tagged log", ioe);
-			throw ioe;
-		}finally{
-			writer.close();
-	 	}
-	}
+    private String table;
+    private String columnFamily;
+    private TaggedLogObjectMapper mapper;
+
+    public GenericWriter(TaggedLogObjectMapper mapper, String table, String columnFamily) {
+        this.mapper = mapper;
+        this.table = table;
+        this.columnFamily = columnFamily;
+    }
+
+    public List<String> write(List<? extends TaggedLogAPIEntity> entities) throws IOException {
+        HBaseLogWriter writer = new HBaseLogWriter(table, columnFamily);
+        List<String> rowkeys = new ArrayList<String>();
+
+        try {
+            writer.open();
+            for (TaggedLogAPIEntity entity : entities) {
+                InternalLog log = new InternalLog();
+                Map<String, String> inputTags = entity.getTags();
+                Map<String, String> tags = new TreeMap<String, String>();
+                for (Map.Entry<String, String> entry : inputTags.entrySet()) {
+                    tags.put(entry.getKey(), entry.getValue());
+                }
+                log.setTags(tags);
+                log.setTimestamp(entity.getTimestamp());
+                log.setPrefix(entity.getPrefix());
+                log.setQualifierValues(mapper.createQualifierValues(entity));
+                byte[] rowkey = writer.write(log);
+                rowkeys.add(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
+            }
+        } catch (IOException ioe) {
+            LOG.error("Fail writing tagged log", ioe);
+            throw ioe;
+        } finally {
+            writer.close();
+        }
+        return rowkeys;
+    }
+
+    public void updateByRowkey(List<? extends TaggedLogAPIEntity> entities) throws IOException {
+        HBaseLogWriter writer = new HBaseLogWriter(table, columnFamily);
+        try {
+            writer.open();
+            for (TaggedLogAPIEntity entity : entities) {
+                byte[] rowkey = EagleBase64Wrapper.decode(entity.getEncodedRowkey());
+                InternalLog log = new InternalLog();
+                log.setQualifierValues(mapper.createQualifierValues(entity));
+                writer.updateByRowkey(rowkey, log);
+            }
+        } catch (IOException ioe) {
+            LOG.error("Fail writing tagged log", ioe);
+            throw ioe;
+        } finally {
+            writer.close();
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogByRowkeyReader.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogByRowkeyReader.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogByRowkeyReader.java
index 37e55ac..6b49cf7 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogByRowkeyReader.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogByRowkeyReader.java
@@ -36,126 +36,129 @@ import org.apache.eagle.common.ByteUtil;
 import org.apache.eagle.common.EagleBase64Wrapper;
 
 /**
- * Get details of rowkey and qualifiers given a raw rowkey. This function mostly is used for inspecting one row's content 
- * This only supports single column family, which is mostly used in log application 
+ * Get details of rowkey and qualifiers given a raw rowkey. This function mostly is used for inspecting one
+ * row's content This only supports single column family, which is mostly used in log application
  */
-public class HBaseLogByRowkeyReader implements Closeable{
-	private String table;
-	private String columnFamily;
-	private byte[][] outputQualifiers;
-	private boolean includingAllQualifiers;
-	private HTableInterface tbl;
-	private boolean isOpen;
-	
-	/**
-	 * if includingAllQualifiers is true, then the fourth argument outputQualifiers is ignored
-	 * if includingAllQualifiers is false, then need calculate based on the fourth argument outputQualifiers
-	 */
-	public HBaseLogByRowkeyReader(String table, String columnFamily, boolean includingAllQualifiers, List<String> qualifiers){
-		this.table = table;
-		this.columnFamily = columnFamily;
-		if(qualifiers != null){
-			this.outputQualifiers = new byte[qualifiers.size()][];
-			int i = 0;
-			for(String qualifier : qualifiers){
-				this.outputQualifiers[i++] = qualifier.getBytes();
-			}
-		}
-		this.includingAllQualifiers = includingAllQualifiers;
-	}
-	
-	
-	public void open() throws IOException {
-		if (isOpen)
-			return; // silently return
-		try {
-			tbl = EagleConfigFactory.load().getHTable(this.table);
-		} catch (RuntimeException ex) {
-			throw new IOException(ex);
-		}
-		
-		isOpen = true;
-	}
+public class HBaseLogByRowkeyReader implements Closeable {
+    private String table;
+    private String columnFamily;
+    private byte[][] outputQualifiers;
+    private boolean includingAllQualifiers;
+    private HTableInterface tbl;
+    private boolean isOpen;
 
-	/**
-	 * Here all qualifiers' values goes into qualifierValues of InternalLog as given a row, we can't differentiate it's a tag or a field
-	 * @param rowkeys
-	 * @return
-	 * @throws IOException
-	 */
-	public List<InternalLog> get(List<byte[]> rowkeys) throws IOException, NoSuchRowException {
-		final List<Get> gets = createGets(rowkeys);
-		final Result[] results = tbl.get(gets);
-		final List<InternalLog> logs = new ArrayList<InternalLog>();
-		for (Result result : results) {
-			final InternalLog log = buildLog(result);
-			logs.add(log);
-		}
-		return logs;
-	}
-	
-	private List<Get> createGets(List<byte[]> rowkeys) {
-		final List<Get> gets = new ArrayList<Get>();
-		for (byte[] rowkey : rowkeys) {
-			final Get get = createGet(rowkey);
-			gets.add(get);
-		}
-		return gets;
-	}
+    /**
+     * if includingAllQualifiers is true, then the fourth argument outputQualifiers is ignored if
+     * includingAllQualifiers is false, then need calculate based on the fourth argument outputQualifiers
+     */
+    public HBaseLogByRowkeyReader(String table, String columnFamily, boolean includingAllQualifiers,
+                                  List<String> qualifiers) {
+        this.table = table;
+        this.columnFamily = columnFamily;
+        if (qualifiers != null) {
+            this.outputQualifiers = new byte[qualifiers.size()][];
+            int i = 0;
+            for (String qualifier : qualifiers) {
+                this.outputQualifiers[i++] = qualifier.getBytes();
+            }
+        }
+        this.includingAllQualifiers = includingAllQualifiers;
+    }
 
+    public void open() throws IOException {
+        if (isOpen) {
+            return; // silently return
+        }
+        try {
+            tbl = EagleConfigFactory.load().getHTable(this.table);
+        } catch (RuntimeException ex) {
+            throw new IOException(ex);
+        }
 
-	private Get createGet(byte[] rowkey) {
-		final Get get = new Get(rowkey);
-		byte[] cf = this.columnFamily.getBytes();
-		if(includingAllQualifiers){
-			get.addFamily(cf);
-		}else{
-			for(byte[] outputQualifier : outputQualifiers){
-				get.addColumn(cf, outputQualifier);
-			}
-		}
-		return get;
-	}
+        isOpen = true;
+    }
 
+    /**
+     * Here all qualifiers' values goes into qualifierValues of InternalLog as given a row, we can't
+     * differentiate it's a tag or a field
+     *
+     * @param rowkeys
+     * @return
+     * @throws IOException
+     */
+    public List<InternalLog> get(List<byte[]> rowkeys) throws IOException, NoSuchRowException {
+        final List<Get> gets = createGets(rowkeys);
+        final Result[] results = tbl.get(gets);
+        final List<InternalLog> logs = new ArrayList<InternalLog>();
+        for (Result result : results) {
+            final InternalLog log = buildLog(result);
+            logs.add(log);
+        }
+        return logs;
+    }
 
-	/**
-	 * Here all qualifiers' values goes into qualifierValues of InternalLog as given a row, we can't differentiate it's a tag or a field
-	 * @param rowkey
-	 * @return
-	 * @throws IOException
-	 */
-	public InternalLog get(byte[] rowkey) throws IOException, NoSuchRowException{
-		final Get get = createGet(rowkey);
-		final Result result = tbl.get(get);
-		final InternalLog log = buildLog(result);
-		return log;
-	}
-	
-	private InternalLog buildLog(Result result) {
-		final InternalLog log = new InternalLog();
-		final byte[] rowkey = result.getRow();
-		log.setEncodedRowkey(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
-		long timestamp = ByteUtil.bytesToLong(rowkey, 4);
-		timestamp = Long.MAX_VALUE - timestamp;
-		log.setTimestamp(timestamp);
-		Map<String, byte[]> qualifierValues = new HashMap<String, byte[]>();
-		log.setQualifierValues(qualifierValues);
-		NavigableMap<byte[], byte[]> map = result.getFamilyMap(this.columnFamily.getBytes());
-		if(map == null){
-			throw new NoSuchRowException(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
-		}
-		for(Map.Entry<byte[], byte[]> entry : map.entrySet()){
-			byte[] qualifier = entry.getKey();
-			byte[] value = entry.getValue();
-			qualifierValues.put(new String(qualifier), value);
-		}
-		return log;
-	}
+    /**
+     * Here all qualifiers' values goes into qualifierValues of InternalLog as given a row, we can't
+     * differentiate it's a tag or a field
+     *
+     * @param rowkey
+     * @return
+     * @throws IOException
+     */
+    public InternalLog get(byte[] rowkey) throws IOException, NoSuchRowException {
+        final Get get = createGet(rowkey);
+        final Result result = tbl.get(get);
+        final InternalLog log = buildLog(result);
+        return log;
+    }
 
+    private List<Get> createGets(List<byte[]> rowkeys) {
+        final List<Get> gets = new ArrayList<Get>();
+        for (byte[] rowkey : rowkeys) {
+            final Get get = createGet(rowkey);
+            gets.add(get);
+        }
+        return gets;
+    }
 
-	public void close() throws IOException {
-		if(tbl != null){
-			new HTableFactory().releaseHTableInterface(tbl);
-		}
-	}
+    private Get createGet(byte[] rowkey) {
+        final Get get = new Get(rowkey);
+        byte[] cf = this.columnFamily.getBytes();
+        if (includingAllQualifiers) {
+            get.addFamily(cf);
+        } else {
+            for (byte[] outputQualifier : outputQualifiers) {
+                get.addColumn(cf, outputQualifier);
+            }
+        }
+        return get;
+    }
+
+    private InternalLog buildLog(Result result) {
+        final InternalLog log = new InternalLog();
+        final byte[] rowkey = result.getRow();
+        log.setEncodedRowkey(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
+        long timestamp = ByteUtil.bytesToLong(rowkey, 4);
+        timestamp = Long.MAX_VALUE - timestamp;
+        log.setTimestamp(timestamp);
+        Map<String, byte[]> qualifierValues = new HashMap<String, byte[]>();
+        log.setQualifierValues(qualifierValues);
+        NavigableMap<byte[], byte[]> map = result.getFamilyMap(this.columnFamily.getBytes());
+        if (map == null) {
+            throw new NoSuchRowException(EagleBase64Wrapper.encodeByteArray2URLSafeString(rowkey));
+        }
+        for (Map.Entry<byte[], byte[]> entry : map.entrySet()) {
+            byte[] qualifier = entry.getKey();
+            byte[] value = entry.getValue();
+            qualifierValues.put(new String(qualifier), value);
+        }
+        return log;
+    }
+
+    @Override
+    public void close() throws IOException {
+        if (tbl != null) {
+            new HTableFactory().releaseHTableInterface(tbl);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/6e919c2e/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogDeleter.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogDeleter.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogDeleter.java
index 3460949..ae69321 100644
--- a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogDeleter.java
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/entity/old/HBaseLogDeleter.java
@@ -30,102 +30,105 @@ import org.apache.eagle.log.entity.InternalLog;
 import org.apache.eagle.log.entity.meta.EntityDefinition;
 import org.apache.eagle.common.EagleBase64Wrapper;
 
-public class HBaseLogDeleter implements LogDeleter{
-	private HTableInterface tbl;
-	private String table;
-	private String columnFamily;
-	
-	public HBaseLogDeleter(String table, String columnFamily) {
-		this.table = table;
-		this.columnFamily = columnFamily;
-	}
-	
-	@Override
-	public void open() throws IOException {
-		try{
-			tbl = EagleConfigFactory.load().getHTable(this.table);
-		}catch(RuntimeException ex){
-			throw new IOException(ex);
-		}
-	}
-
-	@Override
-	public void close() throws IOException {
-		if(tbl != null){
-			new HTableFactory().releaseHTableInterface(tbl);
-		}
-	}
-	
-	@Override
-	public void flush() throws IOException{
-		throw new IllegalArgumentException("Not supported flush for hbase delete");
-	}
-	
-	/**
-	 * support delete by constructing a rowkey or by encoded rowkey passed from client
-	 */
-	@Override
-	public void delete(InternalLog log) throws IOException{
-		final byte[] rowkey = RowkeyHelper.getRowkey(log);
-		final Delete delete = createDelete(rowkey);
-		tbl.delete(delete);
-	}
-	
-	public void delete(TaggedLogAPIEntity entity, EntityDefinition entityDef) throws Exception {
-		final byte[] rowkey = RowkeyHelper.getRowkey(entity, entityDef);
-		final Delete delete = createDelete(rowkey);
-		tbl.delete(delete);
-	}
-	
-	/**
-	 * Batch delete
-	 * @param logs
-	 * @throws IOException
-	 */
-	public void delete(List<InternalLog> logs) throws IOException{
-		final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByLogs(logs);
-		deleteRowkeys(rowkeys);
-	}
-
-
-	/**
-	 * Batch delete
-	 * @throws Exception
-	 */
-	public void deleteEntities(List<? extends TaggedLogAPIEntity> entities, EntityDefinition entityDef) throws Exception{
-		final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEntities(entities, entityDef);
-		deleteRowkeys(rowkeys);
-	}
-	
-	/**
-	 * Batch delete
-	 * @throws IOException
-	 */
-	public void deleteRowkeys(List<byte[]> rowkeys) throws IOException {
-		final List<Delete> deletes = new ArrayList<Delete>(rowkeys.size());
-		for (byte[] rowkey : rowkeys) {
-			final Delete delete = createDelete(rowkey);
-			deletes.add(delete);
-		}
-		tbl.delete(deletes);
-	}
-	
-	@Override
-	public void deleteRowByRowkey(String encodedRowkey) throws IOException{
-		byte[] row = EagleBase64Wrapper.decode(encodedRowkey);
-		final Delete delete = createDelete(row);
-		tbl.delete(delete);
-	}
-
-	public void deleteRowByRowkey(List<String> encodedRowkeys) throws IOException {
-		final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEncodedRowkeys(encodedRowkeys);
-		deleteRowkeys(rowkeys);
-	}
-	
-	private Delete createDelete(byte[] row) throws IOException{
-		Delete delete = new Delete(row);
-		delete.deleteFamily(columnFamily.getBytes());
-		return delete;
-	}
+public class HBaseLogDeleter implements LogDeleter {
+    private HTableInterface tbl;
+    private String table;
+    private String columnFamily;
+
+    public HBaseLogDeleter(String table, String columnFamily) {
+        this.table = table;
+        this.columnFamily = columnFamily;
+    }
+
+    @Override
+    public void open() throws IOException {
+        try {
+            tbl = EagleConfigFactory.load().getHTable(this.table);
+        } catch (RuntimeException ex) {
+            throw new IOException(ex);
+        }
+    }
+
+    @Override
+    public void close() throws IOException {
+        if (tbl != null) {
+            new HTableFactory().releaseHTableInterface(tbl);
+        }
+    }
+
+    @Override
+    public void flush() throws IOException {
+        throw new IllegalArgumentException("Not supported flush for hbase delete");
+    }
+
+    /**
+     * support delete by constructing a rowkey or by encoded rowkey passed from client.
+     */
+    @Override
+    public void delete(InternalLog log) throws IOException {
+        final byte[] rowkey = RowkeyHelper.getRowkey(log);
+        final Delete delete = createDelete(rowkey);
+        tbl.delete(delete);
+    }
+
+    public void delete(TaggedLogAPIEntity entity, EntityDefinition entityDef) throws Exception {
+        final byte[] rowkey = RowkeyHelper.getRowkey(entity, entityDef);
+        final Delete delete = createDelete(rowkey);
+        tbl.delete(delete);
+    }
+
+    /**
+     * Batch delete.
+     *
+     * @param logs
+     * @throws IOException
+     */
+    public void delete(List<InternalLog> logs) throws IOException {
+        final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByLogs(logs);
+        deleteRowkeys(rowkeys);
+    }
+
+    /**
+     * Batch delete.
+     *
+     * @throws Exception
+     */
+    public void deleteEntities(List<? extends TaggedLogAPIEntity> entities, EntityDefinition entityDef)
+        throws Exception {
+        final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEntities(entities, entityDef);
+        deleteRowkeys(rowkeys);
+    }
+
+    /**
+     * Batch delete.
+     *
+     * @throws IOException
+     */
+    public void deleteRowkeys(List<byte[]> rowkeys) throws IOException {
+        final List<Delete> deletes = new ArrayList<Delete>(rowkeys.size());
+        for (byte[] rowkey : rowkeys) {
+            final Delete delete = createDelete(rowkey);
+            deletes.add(delete);
+        }
+        tbl.delete(deletes);
+    }
+
+    @Override
+    public void deleteRowByRowkey(String encodedRowkey) throws IOException {
+        byte[] row = EagleBase64Wrapper.decode(encodedRowkey);
+        final Delete delete = createDelete(row);
+        tbl.delete(delete);
+    }
+
+    public void deleteRowByRowkey(List<String> encodedRowkeys) throws IOException {
+        final List<byte[]> rowkeys = RowkeyHelper.getRowkeysByEncodedRowkeys(encodedRowkeys);
+        deleteRowkeys(rowkeys);
+    }
+
+    private Delete createDelete(byte[] row) throws IOException {
+        Delete delete = new Delete(row);
+        delete.deleteFamily(columnFamily.getBytes());
+        return delete;
+    }
 
 }