Repository: eagle
Updated Branches:
  refs/heads/master 7681287cb -> 49ca3b0ec


http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/TestTestLogAPIEntity.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/TestTestLogAPIEntity.java
 
b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/TestTestLogAPIEntity.java
index 1839a99..63b1d82 100755
--- 
a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/TestTestLogAPIEntity.java
+++ 
b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/TestTestLogAPIEntity.java
@@ -25,9 +25,12 @@ import org.apache.eagle.log.entity.meta.IndexDefinition;
 import org.apache.eagle.log.entity.old.GenericDeleter;
 import org.apache.eagle.log.entity.test.TestLogAPIEntity;
 import org.apache.eagle.service.hbase.TestHBaseBase;
+import org.junit.AfterClass;
 import org.junit.Assert;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -35,371 +38,377 @@ import java.util.List;
 
 public class TestTestLogAPIEntity extends TestHBaseBase {
 
-       @Test 
-       public void testGetValue() throws InstantiationException, 
IllegalAccessException, IllegalArgumentException, InvocationTargetException {
-               EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               if (ed == null) {
-                       
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-                       ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               }
-
-               Assert.assertNotNull(ed);
-               Assert.assertNotNull(ed.getQualifierGetterMap());
-               TestLogAPIEntity e = new TestLogAPIEntity();
-               e.setField1(1);
-               e.setField2(2);
-               e.setField3(3);
-               e.setField4(4L);
-               e.setField5(5.0);
-               e.setField6(6.0);
-               e.setField7("7");
-               e.setTags(new HashMap<String, String>());
-               e.getTags().put("tag1", "value1");
-
-               Assert.assertNotNull(ed.getQualifierGetterMap().get("field1"));
-               Assert.assertEquals(1, ed.getValue(e, "field1"));
-               Assert.assertEquals(2, ed.getValue(e, "field2"));
-               Assert.assertEquals(3L, ed.getValue(e, "field3"));
-               Assert.assertEquals(4L, ed.getValue(e, "field4"));
-               Assert.assertEquals(5.0, ed.getValue(e, "field5"));
-               Assert.assertEquals(6.0, ed.getValue(e, "field6"));
-               Assert.assertEquals("7", ed.getValue(e, "field7"));
-               Assert.assertEquals("value1", ed.getValue(e, "tag1"));
-       }
-       
-       @Test
-       public void testIndexDefinition() throws InstantiationException, 
IllegalAccessException {
-               
-               EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               if (ed == null) {
-                       
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-                       ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               }
-               Assert.assertNotNull(ed);
-               IndexDefinition[] indexDefinitions = ed.getIndexes();
-               Assert.assertNotNull(indexDefinitions);
-               Assert.assertEquals(2, indexDefinitions.length);
-               for (IndexDefinition def : indexDefinitions) {
-                       Assert.assertNotNull(def.getIndexName());
-                       Assert.assertNotNull(def.getIndexColumns());
-                       Assert.assertEquals(1, def.getIndexColumns().length);
-               }
-       }
-       
-       @Test
-       public void testWriteEmptyIndexFieldAndDeleteWithoutPartition() throws 
Exception {
-               EntityDefinition entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
-
-               EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               if (ed == null) {
-                       
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-                       ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               }
-               String[] partitions = ed.getPartitions();
-               ed.setPartitions(null);
-               
-               try {
-                       List<TestLogAPIEntity> list = new 
ArrayList<TestLogAPIEntity>();
-                       TestLogAPIEntity e = new TestLogAPIEntity();
-                       e.setField1(1);
-                       e.setField2(2);
-                       e.setField3(3);
-                       e.setField4(4L);
-                       e.setField5(5.0);
-                       e.setField6(5.0);
-                       e.setField7("7");
-                       e.setTags(new HashMap<String, String>());
+    @BeforeClass
+    public static void createTable() throws IllegalAccessException, 
InstantiationException, IOException {
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        hbase.createTable(ed.getTable(), ed.getColumnFamily());
+    }
+
+    @Test
+    public void testGetValue() throws InstantiationException, 
IllegalAccessException, IllegalArgumentException, InvocationTargetException {
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        if (ed == null) {
+            EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
+            ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        }
+
+        Assert.assertNotNull(ed);
+        Assert.assertNotNull(ed.getQualifierGetterMap());
+        TestLogAPIEntity e = new TestLogAPIEntity();
+        e.setField1(1);
+        e.setField2(2);
+        e.setField3(3);
+        e.setField4(4L);
+        e.setField5(5.0);
+        e.setField6(6.0);
+        e.setField7("7");
+        e.setTags(new HashMap<String, String>());
+        e.getTags().put("tag1", "value1");
+
+        Assert.assertNotNull(ed.getQualifierGetterMap().get("field1"));
+        Assert.assertEquals(1, ed.getValue(e, "field1"));
+        Assert.assertEquals(2, ed.getValue(e, "field2"));
+        Assert.assertEquals(3L, ed.getValue(e, "field3"));
+        Assert.assertEquals(4L, ed.getValue(e, "field4"));
+        Assert.assertEquals(5.0, ed.getValue(e, "field5"));
+        Assert.assertEquals(6.0, ed.getValue(e, "field6"));
+        Assert.assertEquals("7", ed.getValue(e, "field7"));
+        Assert.assertEquals("value1", ed.getValue(e, "tag1"));
+    }
+
+    @Test
+    public void testIndexDefinition() throws InstantiationException, 
IllegalAccessException {
+
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        if (ed == null) {
+            EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
+            ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        }
+        Assert.assertNotNull(ed);
+        IndexDefinition[] indexDefinitions = ed.getIndexes();
+        Assert.assertNotNull(indexDefinitions);
+        Assert.assertEquals(2, indexDefinitions.length);
+        for (IndexDefinition def : indexDefinitions) {
+            Assert.assertNotNull(def.getIndexName());
+            Assert.assertNotNull(def.getIndexColumns());
+            Assert.assertEquals(1, def.getIndexColumns().length);
+        }
+    }
+
+    @Test
+    public void testWriteEmptyIndexFieldAndDeleteWithoutPartition() throws 
Exception {
+        EntityDefinition entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        // hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
+
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        if (ed == null) {
+            EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
+            ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        }
+        String[] partitions = ed.getPartitions();
+        ed.setPartitions(null);
+
+        try {
+            List<TestLogAPIEntity> list = new ArrayList<TestLogAPIEntity>();
+            TestLogAPIEntity e = new TestLogAPIEntity();
+            e.setField1(1);
+            e.setField2(2);
+            e.setField3(3);
+            e.setField4(4L);
+            e.setField5(5.0);
+            e.setField6(5.0);
+            e.setField7("7");
+            e.setTags(new HashMap<String, String>());
             e.getTags().put("tag1", "value1");
-                       list.add(e);
-       
-                       GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
-                       List<String> result = writer.write(list);
-                       Assert.assertNotNull(result);
-                       
-                       List<byte[]> indexRowkeys = new ArrayList<byte[]>();
-                       IndexDefinition[] indexDefs = ed.getIndexes();
-                       for (IndexDefinition index : indexDefs) {
-                               byte[] indexRowkey = 
index.generateIndexRowkey(e);
-                               indexRowkeys.add(indexRowkey);
-                       }
-                       byte[][] qualifiers = new byte[7][];
-                       qualifiers[0] = "a".getBytes();
-                       qualifiers[1] = "b".getBytes();
-                       qualifiers[2] = "c".getBytes();
-                       qualifiers[3] = "d".getBytes();
-                       qualifiers[4] = "e".getBytes();
-                       qualifiers[5] = "f".getBytes();
-                       qualifiers[6] = "g".getBytes();
-                       
-                       UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
-                       reader.open();
-                       InternalLog log = reader.read();
-                       Assert.assertNotNull(log);
-       
-                       TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       TestLogAPIEntity e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       
-                       log = reader.read();
-                       Assert.assertNotNull(log);
-                       newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-       
-                       GenericDeleter deleter = new 
GenericDeleter(ed.getTable(), ed.getColumnFamily());
-                       deleter.delete(list);
-                       
-                       reader = new UniqueIndexLogReader(indexDefs[0], 
indexRowkeys, qualifiers, null);
-                       reader.open();
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-               } finally {
-                       ed.setPartitions(partitions);
-               }
-               hbase.deleteTable(entityDefinition.getTable());
-       }
-       
-
-       /*
-        *  
testWriteEmptyIndexFieldAndDeleteWithPartition(eagle.log.entity.TestTestLogAPIEntity):
 expected:<86400000> but was:<0>
-        */
-       //@Test
-       public void testWriteEmptyIndexFieldAndDeleteWithPartition() throws 
Exception {
+            list.add(e);
+
+            GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
+            List<String> result = writer.write(list);
+            Assert.assertNotNull(result);
+
+            List<byte[]> indexRowkeys = new ArrayList<byte[]>();
+            IndexDefinition[] indexDefs = ed.getIndexes();
+            for (IndexDefinition index : indexDefs) {
+                byte[] indexRowkey = index.generateIndexRowkey(e);
+                indexRowkeys.add(indexRowkey);
+            }
+            byte[][] qualifiers = new byte[7][];
+            qualifiers[0] = "a".getBytes();
+            qualifiers[1] = "b".getBytes();
+            qualifiers[2] = "c".getBytes();
+            qualifiers[3] = "d".getBytes();
+            qualifiers[4] = "e".getBytes();
+            qualifiers[5] = "f".getBytes();
+            qualifiers[6] = "g".getBytes();
+
+            UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
+            reader.open();
+            InternalLog log = reader.read();
+            Assert.assertNotNull(log);
+
+            TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            TestLogAPIEntity e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+
+            log = reader.read();
+            Assert.assertNotNull(log);
+            newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+
+            GenericDeleter deleter = new GenericDeleter(ed.getTable(), 
ed.getColumnFamily());
+            deleter.delete(list);
+
+            reader = new UniqueIndexLogReader(indexDefs[0], indexRowkeys, 
qualifiers, null);
+            reader.open();
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+        } finally {
+            ed.setPartitions(partitions);
+        }
+        // hbase.deleteTable(entityDefinition.getTable());
+    }
+
+
+    /*
+     *  
testWriteEmptyIndexFieldAndDeleteWithPartition(eagle.log.entity.TestTestLogAPIEntity):
 expected:<86400000> but was:<0>
+     */
+    //@Test
+    public void testWriteEmptyIndexFieldAndDeleteWithPartition() throws 
Exception {
         EntityDefinition entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-        hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
-
-               EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               if (ed == null) {
-                       
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-                       ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               }
-               String[] partitions = ed.getPartitions();
-               String[] newPart = new String[2];
-               newPart[0] = "cluster";
-               newPart[1] = "datacenter";
-               ed.setPartitions(newPart);
-               
-               try {
-                       List<TestLogAPIEntity> list = new 
ArrayList<TestLogAPIEntity>();
-                       TestLogAPIEntity e = new TestLogAPIEntity();
-                       e.setField1(1);
-                       e.setField2(2);
-                       e.setField3(3);
-                       e.setField4(4L);
-                       e.setField5(5.0);
-                       e.setField6(5.0);
-                       e.setField7("7");
-                       e.setTags(new HashMap<String, String>());
-                       e.getTags().put("cluster", "test4UT");
-                       e.getTags().put("datacenter", "dc1");
-                       list.add(e);
-       
-                       GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
-                       List<String> result = writer.write(list);
-                       Assert.assertNotNull(result);
-                       
-                       List<byte[]> indexRowkeys = new ArrayList<byte[]>();
-                       IndexDefinition[] indexDefs = ed.getIndexes();
-                       for (IndexDefinition index : indexDefs) {
-                               byte[] indexRowkey = 
index.generateIndexRowkey(e);
-                               indexRowkeys.add(indexRowkey);
-                       }
-                       byte[][] qualifiers = new byte[9][];
-                       qualifiers[0] = "a".getBytes();
-                       qualifiers[1] = "b".getBytes();
-                       qualifiers[2] = "c".getBytes();
-                       qualifiers[3] = "d".getBytes();
-                       qualifiers[4] = "e".getBytes();
-                       qualifiers[5] = "f".getBytes();
-                       qualifiers[6] = "g".getBytes();
-                       qualifiers[7] = "cluster".getBytes();
-                       qualifiers[8] = "datacenter".getBytes();
-                       
-                       UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
-                       reader.open();
-                       InternalLog log = reader.read();
-                       Assert.assertNotNull(log);
-       
-                       TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       TestLogAPIEntity e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       Assert.assertEquals("test4UT", 
e1.getTags().get("cluster"));
-                       Assert.assertEquals("dc1", 
e1.getTags().get("datacenter"));
-                       
Assert.assertEquals(EntityConstants.FIXED_WRITE_TIMESTAMP, e1.getTimestamp());
-
-                       log = reader.read();
-                       Assert.assertNotNull(log);
-                       newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       Assert.assertEquals("test4UT", 
e1.getTags().get("cluster"));
-                       Assert.assertEquals("dc1", 
e1.getTags().get("datacenter"));
-                       
Assert.assertEquals(EntityConstants.FIXED_WRITE_TIMESTAMP, e1.getTimestamp());
-
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-
-                       GenericDeleter deleter = new 
GenericDeleter(ed.getTable(), ed.getColumnFamily());
-                       deleter.delete(list);
-                       
-                       reader = new UniqueIndexLogReader(indexDefs[0], 
indexRowkeys, qualifiers, null);
-                       reader.open();
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-               } finally {
-                       ed.setPartitions(partitions);
-               }
-               hbase.deleteTable(entityDefinition.getTable());
-       }
-
-       /**
-        * 
testWriteEmptyIndexFieldAndDeleteWithPartitionAndTimeSeries(eagle.log.entity.TestTestLogAPIEntity):
 expected:<1434809555569> but was:<0>
-        */
-       
-       //@Test
-       public void 
testWriteEmptyIndexFieldAndDeleteWithPartitionAndTimeSeries() throws Exception {
+        // hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
+
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        if (ed == null) {
+            EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
+            ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        }
+        String[] partitions = ed.getPartitions();
+        String[] newPart = new String[2];
+        newPart[0] = "cluster";
+        newPart[1] = "datacenter";
+        ed.setPartitions(newPart);
+
+        try {
+            List<TestLogAPIEntity> list = new ArrayList<TestLogAPIEntity>();
+            TestLogAPIEntity e = new TestLogAPIEntity();
+            e.setField1(1);
+            e.setField2(2);
+            e.setField3(3);
+            e.setField4(4L);
+            e.setField5(5.0);
+            e.setField6(5.0);
+            e.setField7("7");
+            e.setTags(new HashMap<String, String>());
+            e.getTags().put("cluster", "test4UT");
+            e.getTags().put("datacenter", "dc1");
+            list.add(e);
+
+            GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
+            List<String> result = writer.write(list);
+            Assert.assertNotNull(result);
+
+            List<byte[]> indexRowkeys = new ArrayList<byte[]>();
+            IndexDefinition[] indexDefs = ed.getIndexes();
+            for (IndexDefinition index : indexDefs) {
+                byte[] indexRowkey = index.generateIndexRowkey(e);
+                indexRowkeys.add(indexRowkey);
+            }
+            byte[][] qualifiers = new byte[9][];
+            qualifiers[0] = "a".getBytes();
+            qualifiers[1] = "b".getBytes();
+            qualifiers[2] = "c".getBytes();
+            qualifiers[3] = "d".getBytes();
+            qualifiers[4] = "e".getBytes();
+            qualifiers[5] = "f".getBytes();
+            qualifiers[6] = "g".getBytes();
+            qualifiers[7] = "cluster".getBytes();
+            qualifiers[8] = "datacenter".getBytes();
+
+            UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
+            reader.open();
+            InternalLog log = reader.read();
+            Assert.assertNotNull(log);
+
+            TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            TestLogAPIEntity e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+            Assert.assertEquals("test4UT", e1.getTags().get("cluster"));
+            Assert.assertEquals("dc1", e1.getTags().get("datacenter"));
+            Assert.assertEquals(EntityConstants.FIXED_WRITE_TIMESTAMP, 
e1.getTimestamp());
+
+            log = reader.read();
+            Assert.assertNotNull(log);
+            newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+            Assert.assertEquals("test4UT", e1.getTags().get("cluster"));
+            Assert.assertEquals("dc1", e1.getTags().get("datacenter"));
+            Assert.assertEquals(EntityConstants.FIXED_WRITE_TIMESTAMP, 
e1.getTimestamp());
+
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+
+            GenericDeleter deleter = new GenericDeleter(ed.getTable(), 
ed.getColumnFamily());
+            deleter.delete(list);
+
+            reader = new UniqueIndexLogReader(indexDefs[0], indexRowkeys, 
qualifiers, null);
+            reader.open();
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+        } finally {
+            ed.setPartitions(partitions);
+        }
+        // hbase.deleteTable(entityDefinition.getTable());
+    }
+
+    /**
+     * 
testWriteEmptyIndexFieldAndDeleteWithPartitionAndTimeSeries(eagle.log.entity.TestTestLogAPIEntity):
 expected:<1434809555569> but was:<0>
+     */
+
+    //@Test
+    public void testWriteEmptyIndexFieldAndDeleteWithPartitionAndTimeSeries() 
throws Exception {
         EntityDefinition entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-        hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
-
-               EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               if (ed == null) {
-                       
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-                       ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-               }
-               String[] partitions = ed.getPartitions();
-               String[] newPart = new String[2];
-               newPart[0] = "cluster";
-               newPart[1] = "datacenter";
-               ed.setPartitions(newPart);
-               boolean isTimeSeries = ed.isTimeSeries();
-               ed.setTimeSeries(true);
-               long now = System.currentTimeMillis();
-               
-               try {
-                       List<TestLogAPIEntity> list = new 
ArrayList<TestLogAPIEntity>();
-                       TestLogAPIEntity e = new TestLogAPIEntity();
-                       e.setField1(1);
-                       e.setField2(2);
-                       e.setField3(3);
-                       e.setField4(4L);
-                       e.setField5(5.0);
-                       e.setField6(5.0);
-                       e.setField7("7");
-                       e.setTags(new HashMap<String, String>());
-                       e.getTags().put("cluster", "test4UT");
-                       e.getTags().put("datacenter", "dc1");
-                       e.setTimestamp(now);
-                       list.add(e);
-       
-                       GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
-                       List<String> result = writer.write(list);
-                       Assert.assertNotNull(result);
-                       
-                       List<byte[]> indexRowkeys = new ArrayList<byte[]>();
-                       IndexDefinition[] indexDefs = ed.getIndexes();
-                       for (IndexDefinition index : indexDefs) {
-                               byte[] indexRowkey = 
index.generateIndexRowkey(e);
-                               indexRowkeys.add(indexRowkey);
-                       }
-                       byte[][] qualifiers = new byte[9][];
-                       qualifiers[0] = "a".getBytes();
-                       qualifiers[1] = "b".getBytes();
-                       qualifiers[2] = "c".getBytes();
-                       qualifiers[3] = "d".getBytes();
-                       qualifiers[4] = "e".getBytes();
-                       qualifiers[5] = "f".getBytes();
-                       qualifiers[6] = "g".getBytes();
-                       qualifiers[7] = "cluster".getBytes();
-                       qualifiers[8] = "datacenter".getBytes();
-                       
-                       UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
-                       reader.open();
-                       InternalLog log = reader.read();
-                       Assert.assertNotNull(log);
-       
-                       TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       TestLogAPIEntity e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       Assert.assertEquals("test4UT", 
e1.getTags().get("cluster"));
-                       Assert.assertEquals("dc1", 
e1.getTags().get("datacenter"));
-                       Assert.assertEquals(now, e1.getTimestamp());
-
-                       log = reader.read();
-                       Assert.assertNotNull(log);
-                       newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
-                       Assert.assertEquals(TestLogAPIEntity.class, 
newEntity.getClass());
-                       e1 = (TestLogAPIEntity)newEntity;
-                       Assert.assertEquals(e.getField1(), e1.getField1());
-                       Assert.assertEquals(e.getField2(), e1.getField2());
-                       Assert.assertEquals(e.getField3(), e1.getField3());
-                       Assert.assertEquals(e.getField4(), e1.getField4());
-                       Assert.assertEquals(e.getField5(), e1.getField5(), 
0.001);
-                       Assert.assertEquals(e.getField6(), e1.getField6());
-                       Assert.assertEquals(e.getField7(), e1.getField7());
-                       Assert.assertEquals("test4UT", 
e1.getTags().get("cluster"));
-                       Assert.assertEquals("dc1", 
e1.getTags().get("datacenter"));
-                       Assert.assertEquals(now, e1.getTimestamp());
-
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-
-                       GenericDeleter deleter = new 
GenericDeleter(ed.getTable(), ed.getColumnFamily());
-                       deleter.delete(list);
-                       
-                       reader = new UniqueIndexLogReader(indexDefs[0], 
indexRowkeys, qualifiers, null);
-                       reader.open();
-                       log = reader.read();
-                       Assert.assertNull(log);
-                       reader.close();
-               } finally {
-                       ed.setPartitions(partitions);
-                       ed.setTimeSeries(isTimeSeries);
-               }
-               hbase.deleteTable(entityDefinition.getTable());
-       }
+        // hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
+
+        EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        if (ed == null) {
+            EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
+            ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
+        }
+        String[] partitions = ed.getPartitions();
+        String[] newPart = new String[2];
+        newPart[0] = "cluster";
+        newPart[1] = "datacenter";
+        ed.setPartitions(newPart);
+        boolean isTimeSeries = ed.isTimeSeries();
+        ed.setTimeSeries(true);
+        long now = System.currentTimeMillis();
+
+        try {
+            List<TestLogAPIEntity> list = new ArrayList<TestLogAPIEntity>();
+            TestLogAPIEntity e = new TestLogAPIEntity();
+            e.setField1(1);
+            e.setField2(2);
+            e.setField3(3);
+            e.setField4(4L);
+            e.setField5(5.0);
+            e.setField6(5.0);
+            e.setField7("7");
+            e.setTags(new HashMap<String, String>());
+            e.getTags().put("cluster", "test4UT");
+            e.getTags().put("datacenter", "dc1");
+            e.setTimestamp(now);
+            list.add(e);
+
+            GenericEntityWriter writer = new 
GenericEntityWriter(ed.getService());
+            List<String> result = writer.write(list);
+            Assert.assertNotNull(result);
+
+            List<byte[]> indexRowkeys = new ArrayList<byte[]>();
+            IndexDefinition[] indexDefs = ed.getIndexes();
+            for (IndexDefinition index : indexDefs) {
+                byte[] indexRowkey = index.generateIndexRowkey(e);
+                indexRowkeys.add(indexRowkey);
+            }
+            byte[][] qualifiers = new byte[9][];
+            qualifiers[0] = "a".getBytes();
+            qualifiers[1] = "b".getBytes();
+            qualifiers[2] = "c".getBytes();
+            qualifiers[3] = "d".getBytes();
+            qualifiers[4] = "e".getBytes();
+            qualifiers[5] = "f".getBytes();
+            qualifiers[6] = "g".getBytes();
+            qualifiers[7] = "cluster".getBytes();
+            qualifiers[8] = "datacenter".getBytes();
+
+            UniqueIndexLogReader reader = new 
UniqueIndexLogReader(indexDefs[0], indexRowkeys, qualifiers, null);
+            reader.open();
+            InternalLog log = reader.read();
+            Assert.assertNotNull(log);
+
+            TaggedLogAPIEntity newEntity = 
HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            TestLogAPIEntity e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+            Assert.assertEquals("test4UT", e1.getTags().get("cluster"));
+            Assert.assertEquals("dc1", e1.getTags().get("datacenter"));
+            Assert.assertEquals(now, e1.getTimestamp());
+
+            log = reader.read();
+            Assert.assertNotNull(log);
+            newEntity = HBaseInternalLogHelper.buildEntity(log, ed);
+            Assert.assertEquals(TestLogAPIEntity.class, newEntity.getClass());
+            e1 = (TestLogAPIEntity) newEntity;
+            Assert.assertEquals(e.getField1(), e1.getField1());
+            Assert.assertEquals(e.getField2(), e1.getField2());
+            Assert.assertEquals(e.getField3(), e1.getField3());
+            Assert.assertEquals(e.getField4(), e1.getField4());
+            Assert.assertEquals(e.getField5(), e1.getField5(), 0.001);
+            Assert.assertEquals(e.getField6(), e1.getField6());
+            Assert.assertEquals(e.getField7(), e1.getField7());
+            Assert.assertEquals("test4UT", e1.getTags().get("cluster"));
+            Assert.assertEquals("dc1", e1.getTags().get("datacenter"));
+            Assert.assertEquals(now, e1.getTimestamp());
+
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+
+            GenericDeleter deleter = new GenericDeleter(ed.getTable(), 
ed.getColumnFamily());
+            deleter.delete(list);
+
+            reader = new UniqueIndexLogReader(indexDefs[0], indexRowkeys, 
qualifiers, null);
+            reader.open();
+            log = reader.read();
+            Assert.assertNull(log);
+            reader.close();
+        } finally {
+            ed.setPartitions(partitions);
+            ed.setTimeSeries(isTimeSeries);
+        }
+        // hbase.deleteTable(entityDefinition.getTable());
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
 
b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
index 1b64b20..2904153 100755
--- 
a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
+++ 
b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
@@ -16,6 +16,7 @@
  */
 package org.apache.eagle.log.entity.repo;
 
+import org.apache.eagle.log.entity.MetricMetadataEntity;
 import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
 import org.junit.Assert;
 import org.junit.Test;
@@ -24,7 +25,7 @@ public class TestEntityRepositoryScanner {
 
        @Test
        public void testScan() throws InstantiationException, 
IllegalAccessException {
-               EntityRepositoryScanner.scan();
-               
Assert.assertNotNull(EntityDefinitionManager.getEntityByServiceName("MetricMetadataService"));
+               Assert.assertEquals(MetricMetadataEntity.class,
+                               
EntityDefinitionManager.getEntityByServiceName("MetricMetadataService").getEntityClass());
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestHBaseStatement.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestHBaseStatement.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestHBaseStatement.java
index 6dcbc78..cf73d46 100644
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestHBaseStatement.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestHBaseStatement.java
@@ -28,10 +28,7 @@ import org.apache.eagle.storage.operation.QueryStatement;
 import org.apache.eagle.storage.operation.RawQuery;
 import org.apache.eagle.storage.result.ModifyResult;
 import org.apache.eagle.storage.result.QueryResult;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.*;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -40,20 +37,14 @@ import java.util.List;
 
 public class TestHBaseStatement extends TestHBaseBase {
 
-    EntityDefinition entityDefinition;
+    private static EntityDefinition entityDefinition;
 
-    @Before
-    public void setUp() throws IOException, IllegalAccessException, 
InstantiationException, IllegalDataStorageTypeException {
+    @BeforeClass
+    public static void setUp() throws IOException, IllegalAccessException, 
InstantiationException, IllegalDataStorageTypeException {
         entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestTimeSeriesAPIEntity.class);
         hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
     }
 
-    @After
-    public void cleanUp() throws IOException, IllegalAccessException, 
InstantiationException, IllegalDataStorageTypeException {
-        entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestTimeSeriesAPIEntity.class);
-        hbase.deleteTable(entityDefinition.getTable());
-    }
-
     @Test
     public void testCreate() throws IllegalDataStorageTypeException, 
IOException {
         final List<TestTimeSeriesAPIEntity> entities = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestWithHBaseCoprocessor.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestWithHBaseCoprocessor.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestWithHBaseCoprocessor.java
new file mode 100644
index 0000000..b3d3cfa
--- /dev/null
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/TestWithHBaseCoprocessor.java
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.eagle.storage.hbase;
+
+import 
org.apache.eagle.storage.hbase.query.coprocessor.AggregateProtocolEndPoint;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+
+public class TestWithHBaseCoprocessor {
+    private static final Logger LOG = 
LoggerFactory.getLogger(TestWithHBaseCoprocessor.class);
+    protected static HBaseTestingUtility hbase;
+
+    protected static String getZkZnodeParent() {
+        return "/hbase";
+    }
+
+    @BeforeClass
+    public static void setUpHBase() throws IOException {
+        System.setProperty("config.resource", "/application-co.conf");
+        Configuration conf = HBaseConfiguration.create();
+        conf.setStrings(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY, 
AggregateProtocolEndPoint.class.getName());
+        conf.setInt("hbase.master.info.port", -1);//avoid port clobbering
+        conf.setInt("hbase.regionserver.info.port", -1);//avoid port clobbering
+        hbase = new HBaseTestingUtility();
+        try {
+            hbase.startMiniCluster();
+        } catch (Exception e) {
+            LOG.error("Error to start mini cluster: " + e.getMessage(), e);
+            throw new IllegalStateException(e);
+        }
+
+        HTable table = hbase.createTable(String.valueOf("unittest"),"f");
+        HTableDescriptor descriptor = new 
HTableDescriptor(table.getTableDescriptor());
+        descriptor.addCoprocessor(AggregateProtocolEndPoint.class.getName());
+        hbase.getHBaseAdmin().modifyTable("unittest",descriptor);
+
+        System.setProperty("storage.hbase.autoCreateTable","false");
+        System.setProperty("storage.hbase.coprocessorEnabled", 
String.valueOf(true));
+        System.setProperty("storage.hbase.zookeeperZnodeParent", 
getZkZnodeParent());
+        System.setProperty("storage.hbase.zookeeperPropertyClientPort", 
String.valueOf(hbase.getZkCluster().getClientPort()));
+    }
+
+    @AfterClass
+    public static void shutdownHBase() {
+        try {
+            hbase.shutdownMiniCluster();
+        } catch (Exception e) {
+            LOG.error("Error to shutdown mini cluster: " + e.getMessage(), e);
+            throw new IllegalStateException(e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateClient.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateClient.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateClient.java
index be09f4e..0e37272 100755
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateClient.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateClient.java
@@ -16,28 +16,7 @@
  */
 package org.apache.eagle.storage.hbase.aggregate.coprocessor;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
 import org.apache.eagle.common.config.EagleConfigFactory;
-import 
org.apache.eagle.storage.hbase.query.coprocessor.AggregateProtocolEndPoint;
-import 
org.apache.eagle.storage.hbase.query.coprocessor.impl.AggregateClientImpl;
-
-import org.apache.eagle.storage.hbase.query.coprocessor.AggregateClient;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.client.HTableFactory;
-import org.apache.hadoop.hbase.client.HTableInterface;
-import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
-import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.DoubleWritable;
-import org.junit.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
 import org.apache.eagle.log.entity.GenericEntityWriter;
 import org.apache.eagle.log.entity.meta.EntityDefinition;
@@ -48,12 +27,28 @@ import 
org.apache.eagle.query.aggregate.AggregateFunctionType;
 import org.apache.eagle.query.aggregate.raw.GroupbyKey;
 import org.apache.eagle.query.aggregate.raw.GroupbyKeyValue;
 import org.apache.eagle.query.aggregate.raw.GroupbyValue;
-import org.apache.eagle.service.hbase.TestHBaseBase;
+import org.apache.eagle.storage.hbase.TestWithHBaseCoprocessor;
+import org.apache.eagle.storage.hbase.query.coprocessor.AggregateClient;
+import 
org.apache.eagle.storage.hbase.query.coprocessor.impl.AggregateClientImpl;
+import org.apache.hadoop.hbase.client.HTableInterface;
+import org.apache.hadoop.hbase.client.Scan;
+import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.io.DoubleWritable;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * @since : 10/30/14,2014
  */
-public class TestGroupAggregateClient extends TestHBaseBase {
+public class TestGroupAggregateClient extends TestWithHBaseCoprocessor {
     HTableInterface table;
     long startTime;
     long endTime;
@@ -64,17 +59,8 @@ public class TestGroupAggregateClient extends TestHBaseBase {
 
     private final static Logger LOG = 
LoggerFactory.getLogger(TestGroupAggregateClient.class);
 
-    // This is Bad, It will hide TestHBaseBase.setUpHBase!!!!
-    @BeforeClass
-    public static void setUpHBase() {
-        Configuration conf = new Configuration();
-        
conf.setStrings(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY,AggregateProtocolEndPoint.class.getName());
-        TestHBaseBase.setupHBaseWithConfig(conf);
-    }
-
     @Before
     public void setUp() {
-        hbase.createTable("unittest", "f");
         startTime = System.currentTimeMillis();
         try {
             rowkeys = prepareData(num);
@@ -97,16 +83,6 @@ public class TestGroupAggregateClient extends TestHBaseBase {
         scan.setFilter(compiler.filter());
     }
 
-    @After
-    public void shutdown() {
-        try {
-            hbase.deleteTable("unittest");
-            new HTableFactory().releaseHTableInterface(table);
-        } catch (IOException e) {
-            LOG.error(e.getMessage(), e);
-        }
-    }
-
     private List<String> prepareData(int count) throws Exception {
         List<TaggedLogAPIEntity> list = new ArrayList<TaggedLogAPIEntity>();
         EntityDefinition ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateTimeSeriesClient.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateTimeSeriesClient.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateTimeSeriesClient.java
index d258691..4845fc5 100755
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateTimeSeriesClient.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/aggregate/coprocessor/TestGroupAggregateTimeSeriesClient.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
 import java.util.List;
 
 import org.apache.eagle.common.config.EagleConfigFactory;
+import org.apache.eagle.storage.hbase.TestWithHBaseCoprocessor;
 import 
org.apache.eagle.storage.hbase.query.coprocessor.AggregateProtocolEndPoint;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
@@ -53,30 +54,21 @@ import 
org.apache.eagle.storage.hbase.query.coprocessor.impl.AggregateClientImpl
 /**
  * @since : 11/10/14,2014
  */
-public class TestGroupAggregateTimeSeriesClient extends TestHBaseBase {
+public class TestGroupAggregateTimeSeriesClient extends 
TestWithHBaseCoprocessor {
 
     private final static Logger LOG = 
LoggerFactory.getLogger(TestGroupAggregateTimeSeriesClient.class);
 
-    HTableInterface table;
-    long startTime;
-    long endTime;
-    List<String> rowkeys;
-    AggregateClient client;
-    Scan scan;
-    EntityDefinition ed;
-
-    // This is Bad, It will hide TestHBaseBase.setUpHBase!!!!
-    @BeforeClass
-    public static void setUpHBase() {
-        Configuration conf = new Configuration();
-        
conf.setStrings(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY,AggregateProtocolEndPoint.class.getName());
-        TestHBaseBase.setupHBaseWithConfig(conf);
-    }
+    private HTableInterface table;
+    private long startTime;
+    private long endTime;
+    private List<String> rowkeys;
+    private AggregateClient client;
+    private Scan scan;
+    private EntityDefinition ed;
 
     @Before
     public void setUp() throws IllegalAccessException, InstantiationException {
         ed = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestTimeSeriesAPIEntity.class);
-        hbase.createTable("unittest", "f");
         table = EagleConfigFactory.load().getHTable("unittest");
         startTime = System.currentTimeMillis();
         try {

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorage.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorage.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorage.java
index de24b5d..acd6fe7 100755
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorage.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorage.java
@@ -23,6 +23,7 @@ import 
org.apache.eagle.log.entity.test.TestTimeSeriesAPIEntity;
 import org.apache.eagle.service.hbase.TestHBaseBase;
 import org.apache.eagle.storage.DataStorage;
 import org.apache.eagle.storage.DataStorageManager;
+import org.apache.eagle.storage.exception.IllegalDataStorageTypeException;
 import org.apache.eagle.storage.exception.QueryCompileException;
 import org.apache.eagle.storage.operation.CompiledQuery;
 import org.apache.eagle.storage.operation.RawQuery;
@@ -30,6 +31,7 @@ import org.apache.eagle.storage.result.ModifyResult;
 import org.apache.eagle.storage.result.QueryResult;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -39,10 +41,10 @@ import java.util.*;
 
 public class TestHBaseStorage extends TestHBaseBase {
 
-    static final Logger LOG = LoggerFactory.getLogger(TestHBaseStorage.class);
-    EntityDefinition entityDefinition;
-    DataStorage<String> storage;
-    long baseTimestamp;
+    private static final Logger LOG = 
LoggerFactory.getLogger(TestHBaseStorage.class);
+    private static EntityDefinition entityDefinition;
+    private static DataStorage<String> storage;
+    private long baseTimestamp;
 
     private TestTimeSeriesAPIEntity newInstance() {
         TestTimeSeriesAPIEntity instance = new TestTimeSeriesAPIEntity();
@@ -64,13 +66,17 @@ public class TestHBaseStorage extends TestHBaseBase {
         return instance;
     }
 
-    @Before
-    public void setUp() throws Exception {
+    @BeforeClass
+    public static void initialize() throws IllegalAccessException, 
InstantiationException, IOException, IllegalDataStorageTypeException {
         entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestTimeSeriesAPIEntity.class);
-        entityDefinition.setTags(new String[] {"cluster", "datacenter", 
"random"});
-
+        entityDefinition.setTags(new String[] {"cluster", "datacenter", 
"random"});;
+        hbase.createTable(entityDefinition.getTable(), 
entityDefinition.getColumnFamily());
         storage = DataStorageManager.getDataStorageByEagleConfig();
         storage.init();
+    }
+
+    @Before
+    public void setUp() throws Exception {
         GregorianCalendar gc = new GregorianCalendar();
         gc.clear();
         gc.set(2014, 1, 6, 1, 40, 12);

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageAggregateWithCoprocessor.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageAggregateWithCoprocessor.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageAggregateWithCoprocessor.java
index 8620a5b..c664804 100755
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageAggregateWithCoprocessor.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageAggregateWithCoprocessor.java
@@ -20,17 +20,15 @@ import org.apache.eagle.common.DateTimeUtil;
 import org.apache.eagle.log.entity.meta.EntityDefinition;
 import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
 import org.apache.eagle.log.entity.test.TestTimeSeriesAPIEntity;
-import org.apache.eagle.service.hbase.TestHBaseBase;
 import org.apache.eagle.storage.DataStorage;
 import org.apache.eagle.storage.DataStorageManager;
+import org.apache.eagle.storage.exception.IllegalDataStorageTypeException;
 import org.apache.eagle.storage.exception.QueryCompileException;
-import 
org.apache.eagle.storage.hbase.query.coprocessor.AggregateProtocolEndPoint;
+import org.apache.eagle.storage.hbase.TestWithHBaseCoprocessor;
 import org.apache.eagle.storage.operation.CompiledQuery;
 import org.apache.eagle.storage.operation.RawQuery;
 import org.apache.eagle.storage.result.ModifyResult;
 import org.apache.eagle.storage.result.QueryResult;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
@@ -41,20 +39,11 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.util.*;
 
-public class TestHBaseStorageAggregateWithCoprocessor extends TestHBaseBase {
-    static final Logger LOG = 
LoggerFactory.getLogger(TestHBaseStorageAggregateWithCoprocessor.class);
-    EntityDefinition entityDefinition;
-    DataStorage<String> storage;
-    long baseTimestamp;
-
-    // This is Bad, It will hide TestHBaseBase.setUpHBase!!!!
-    @BeforeClass
-    public static void setUpHBase() {
-        System.setProperty("config.resource", "/application-co.conf");
-        Configuration conf = new Configuration();
-        conf.setStrings(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY, 
AggregateProtocolEndPoint.class.getName());
-        TestHBaseBase.setupHBaseWithConfig(conf);
-    }
+public class TestHBaseStorageAggregateWithCoprocessor extends 
TestWithHBaseCoprocessor {
+    private static final Logger LOG = 
LoggerFactory.getLogger(TestHBaseStorageAggregateWithCoprocessor.class);
+    private static EntityDefinition entityDefinition;
+    private static DataStorage<String> storage;
+    private long baseTimestamp;
 
     private TestTimeSeriesAPIEntity newInstance() {
         TestTimeSeriesAPIEntity instance = new TestTimeSeriesAPIEntity();
@@ -76,13 +65,16 @@ public class TestHBaseStorageAggregateWithCoprocessor 
extends TestHBaseBase {
         return instance;
     }
 
-    @Before
-    public void setUp() throws Exception {
+    @BeforeClass
+    public static void prepare() throws IllegalAccessException, 
InstantiationException, IllegalDataStorageTypeException, IOException {
         entityDefinition = 
EntityDefinitionManager.getEntityDefinitionByEntityClass(TestTimeSeriesAPIEntity.class);
-        entityDefinition.setTags(new String[] {"cluster", "datacenter", 
"random"});
-
+        entityDefinition.setTags(new String[]{"cluster", "datacenter", 
"random"});
         storage = DataStorageManager.getDataStorageByEagleConfig();
         storage.init();
+    }
+
+    @Before
+    public void setUp() throws Exception {
         GregorianCalendar gc = new GregorianCalendar();
         gc.clear();
         gc.set(2014, 1, 6, 1, 40, 12);

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
index dd81eee..b6af836 100644
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
@@ -17,21 +17,26 @@
 package org.apache.eagle.storage.hbase.spi;
 
 import org.apache.eagle.service.hbase.TestHBaseBase;
+import org.apache.eagle.storage.DataStorage;
 import org.apache.eagle.storage.DataStorageManager;
 import org.apache.eagle.storage.exception.IllegalDataStorageTypeException;
 import org.apache.eagle.storage.hbase.HBaseStorage;
 import org.junit.Assert;
 import org.junit.Test;
 
+import java.io.IOException;
+
 /**
  * @since 3/20/15
  */
-public class TestHBaseStorageLoader  extends TestHBaseBase {
+public class TestHBaseStorageLoader extends TestHBaseBase {
     @Test
-    public void testHBaseStorageLoader() throws 
IllegalDataStorageTypeException {
-
-        Assert.assertTrue(DataStorageManager.getDataStorageByEagleConfig() 
instanceof HBaseStorage);
-        Assert.assertTrue(DataStorageManager.newDataStorage("hbase") 
instanceof HBaseStorage);
-
+    public void testHBaseStorageLoader() throws 
IllegalDataStorageTypeException, IOException {
+        DataStorage hBaseStorage1 = 
DataStorageManager.getDataStorageByEagleConfig();
+        DataStorage hBaseStorage2 = DataStorageManager.newDataStorage("hbase");
+        Assert.assertTrue(hBaseStorage1 instanceof HBaseStorage);
+        Assert.assertTrue(hBaseStorage2 instanceof HBaseStorage);
+        hBaseStorage1.close();
+        hBaseStorage2.close();
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-core/eagle-query/eagle-storage-hbase/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/resources/log4j.properties
 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/resources/log4j.properties
index ba06033..9c6875d 100644
--- 
a/eagle-core/eagle-query/eagle-storage-hbase/src/test/resources/log4j.properties
+++ 
b/eagle-core/eagle-query/eagle-storage-hbase/src/test/resources/log4j.properties
@@ -12,7 +12,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-log4j.rootLogger=DEBUG, stdout
+log4j.rootLogger=INFO, stdout
 # standard output
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-examples/eagle-app-example/src/test/java/org/apache/eagle/app/example/ExampleApplicationProviderTest.java
----------------------------------------------------------------------
diff --git 
a/eagle-examples/eagle-app-example/src/test/java/org/apache/eagle/app/example/ExampleApplicationProviderTest.java
 
b/eagle-examples/eagle-app-example/src/test/java/org/apache/eagle/app/example/ExampleApplicationProviderTest.java
index f985ca8..6268428 100644
--- 
a/eagle-examples/eagle-app-example/src/test/java/org/apache/eagle/app/example/ExampleApplicationProviderTest.java
+++ 
b/eagle-examples/eagle-app-example/src/test/java/org/apache/eagle/app/example/ExampleApplicationProviderTest.java
@@ -92,9 +92,12 @@ public class ExampleApplicationProviderTest extends 
ApplicationTestBase {
         statusUpdateService.updateApplicationEntityStatus(applicationEntity);
         // Stop application
         applicationResource.stopApplication(new 
ApplicationOperations.StopOperation(applicationEntity.getUuid()));
-        statusUpdateService.updateApplicationEntityStatus(applicationEntity);
+
+        awaitApplicationStop(applicationEntity);
+
         // Uninstall application
         applicationResource.uninstallApplication(new 
ApplicationOperations.UninstallOperation(applicationEntity.getUuid()));
+
         try {
             
applicationResource.getApplicationEntityByUUID(applicationEntity.getUuid());
             Assert.fail("Application instance (UUID: " + 
applicationEntity.getUuid() + ") should have been uninstalled");

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-jpm/eagle-jpm-web/src/test/java/org/apache/eagle/app/jpm/JPMWebApplicationTest.java
----------------------------------------------------------------------
diff --git 
a/eagle-jpm/eagle-jpm-web/src/test/java/org/apache/eagle/app/jpm/JPMWebApplicationTest.java
 
b/eagle-jpm/eagle-jpm-web/src/test/java/org/apache/eagle/app/jpm/JPMWebApplicationTest.java
index 00c6a91..6cfad57 100644
--- 
a/eagle-jpm/eagle-jpm-web/src/test/java/org/apache/eagle/app/jpm/JPMWebApplicationTest.java
+++ 
b/eagle-jpm/eagle-jpm-web/src/test/java/org/apache/eagle/app/jpm/JPMWebApplicationTest.java
@@ -84,6 +84,7 @@ public class JPMWebApplicationTest extends 
ApplicationTestBase {
 //        // Stop application
 //        applicationResource.stopApplication(new 
ApplicationOperations.StopOperation(applicationEntity.getUuid()));
         //Uninstall application
+        awaitApplicationStop(applicationEntity);
         applicationResource.uninstallApplication(new 
ApplicationOperations.UninstallOperation(applicationEntity.getUuid()));
         try {
             
applicationResource.getApplicationEntityByUUID(applicationEntity.getUuid());

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-security/eagle-security-hdfs-auditlog/src/test/java/org/apache/eagle/security/auditlog/TestHdfsAuditLogApplication.java
----------------------------------------------------------------------
diff --git 
a/eagle-security/eagle-security-hdfs-auditlog/src/test/java/org/apache/eagle/security/auditlog/TestHdfsAuditLogApplication.java
 
b/eagle-security/eagle-security-hdfs-auditlog/src/test/java/org/apache/eagle/security/auditlog/TestHdfsAuditLogApplication.java
index e09f55d..5e76fd8 100644
--- 
a/eagle-security/eagle-security-hdfs-auditlog/src/test/java/org/apache/eagle/security/auditlog/TestHdfsAuditLogApplication.java
+++ 
b/eagle-security/eagle-security-hdfs-auditlog/src/test/java/org/apache/eagle/security/auditlog/TestHdfsAuditLogApplication.java
@@ -32,7 +32,6 @@ import org.junit.Test;
 import java.util.HashMap;
 import java.util.Map;
 
-@Ignore
 public class TestHdfsAuditLogApplication extends ApplicationTestBase {
 
     @Inject
@@ -43,7 +42,7 @@ public class TestHdfsAuditLogApplication extends 
ApplicationTestBase {
     ApplicationStatusUpdateService statusUpdateService;
 
     @Test
-    public void testHdfsAuditLogApplication() {
+    public void testHdfsAuditLogApplication() throws InterruptedException {
         // Create local site
         SiteEntity siteEntity = new SiteEntity();
         siteEntity.setSiteId("test_site");
@@ -52,7 +51,7 @@ public class TestHdfsAuditLogApplication extends 
ApplicationTestBase {
         siteResource.createSite(siteEntity);
         Assert.assertNotNull(siteEntity.getUuid());
 
-        ApplicationOperations.InstallOperation installOperation = new 
ApplicationOperations.InstallOperation("test_site", "HdfsAuditLogApplication", 
ApplicationEntity.Mode.LOCAL);
+        ApplicationOperations.InstallOperation installOperation = new 
ApplicationOperations.InstallOperation("test_site", 
"HDFS_AUDIT_LOG_MONITOR_APP", ApplicationEntity.Mode.LOCAL);
         installOperation.setConfiguration(getConf());
         // Install application
         ApplicationEntity applicationEntity = 
applicationResource.installApplication(installOperation).getData();
@@ -61,7 +60,7 @@ public class TestHdfsAuditLogApplication extends 
ApplicationTestBase {
         statusUpdateService.updateApplicationEntityStatus(applicationEntity);
         // Stop application
         applicationResource.stopApplication(new 
ApplicationOperations.StopOperation(applicationEntity.getUuid()));
-        statusUpdateService.updateApplicationEntityStatus(applicationEntity);
+        awaitApplicationStop(applicationEntity);
         // Uninstall application
         applicationResource.uninstallApplication(new 
ApplicationOperations.UninstallOperation(applicationEntity.getUuid()));
         try {

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/eagle-server/src/main/java/org/apache/eagle/server/ServerApplication.java
----------------------------------------------------------------------
diff --git 
a/eagle-server/src/main/java/org/apache/eagle/server/ServerApplication.java 
b/eagle-server/src/main/java/org/apache/eagle/server/ServerApplication.java
index 4118892..c779201 100644
--- a/eagle-server/src/main/java/org/apache/eagle/server/ServerApplication.java
+++ b/eagle-server/src/main/java/org/apache/eagle/server/ServerApplication.java
@@ -34,8 +34,10 @@ import 
org.apache.eagle.app.service.ApplicationHealthCheckService;
 import org.apache.eagle.app.service.ApplicationProviderService;
 import org.apache.eagle.app.spi.ApplicationProvider;
 import org.apache.eagle.common.Version;
+import org.apache.eagle.common.utils.ReflectionsHelper;
 import org.apache.eagle.log.base.taggedlog.EntityJsonModule;
 import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
+import org.apache.eagle.log.entity.repo.EntityRepositoryScanner;
 import org.apache.eagle.metadata.service.ApplicationStatusUpdateService;
 import org.apache.eagle.server.authentication.BasicAuthProviderBuilder;
 import org.apache.eagle.server.task.ManagedService;
@@ -72,6 +74,12 @@ class ServerApplication extends Application<ServerConfig> {
 
         LOG.debug("Initializing guice injector context for current 
ServerApplication");
         guiceBundle.getInjector().injectMembers(this);
+
+        try {
+            EntityRepositoryScanner.scan();
+        } catch (IllegalAccessException | InstantiationException e) {
+            LOG.error("Failed to scan entity repository", e);
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/eagle/blob/49ca3b0e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2b4fb71..a47309f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -281,8 +281,8 @@
         <!-- Alert Framework -->
         <velocity.version>1.7</velocity.version>
         <javax.mail.version>1.4</javax.mail.version>
-        <extcos4.version>0.4b</extcos4.version>
-        <extcos3.version>0.3b</extcos3.version>
+        <!--<extcos4.version>0.4b</extcos4.version>-->
+        <!--<extcos3.version>0.3b</extcos3.version>-->
         <siddhi.version>3.1.1</siddhi.version>
 
         <!-- Testing -->
@@ -612,11 +612,11 @@
                 <artifactId>antlr4-runtime</artifactId>
                 <version>${antlr4.version}</version>
             </dependency>
-            <dependency>
-                <groupId>net.sf.extcos</groupId>
-                <artifactId>extcos</artifactId>
-                <version>${extcos4.version}</version>
-            </dependency>
+            <!--<dependency>-->
+                <!--<groupId>net.sf.extcos</groupId>-->
+                <!--<artifactId>extcos</artifactId>-->
+                <!--<version>${extcos4.version}</version>-->
+            <!--</dependency>-->
             <dependency>
                 <groupId>org.codehaus.groovy</groupId>
                 <artifactId>groovy-all</artifactId>

Reply via email to