eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h..@apache.org
Subject [17/51] [partial] incubator-eagle git commit: EAGLE-184 Migrate eagle website from https://github.com/eaglemonitoring/eaglemonitoring.github.io to document branch
Date Thu, 03 Mar 2016 18:09:50 GMT
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestEntityQualifierHelper.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestEntityQualifierHelper.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestEntityQualifierHelper.java
deleted file mode 100755
index 090fbc8..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestEntityQualifierHelper.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.filter;
-
-import org.apache.eagle.log.entity.EntityQualifierUtils;
-import org.apache.eagle.log.entity.meta.EntityDefinition;
-import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
-import org.apache.eagle.log.entity.test.TestLogAPIEntity;
-import junit.framework.Assert;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.List;
-
-/**
-* @since : 10/15/14 2014
-*/
-public class TestEntityQualifierHelper {
-	private EntityDefinition ed;
-	@Before
-	public void setUp(){
-		try {
-			if(EntityDefinitionManager.getEntityByServiceName("TestLogAPIEntity") == null){
-				EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-			}
-			ed = EntityDefinitionManager.getEntityByServiceName("TestLogAPIEntity");
-		} catch (InstantiationException e) {
-			e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-		} catch (IllegalAccessException e) {
-			e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-		}
-	}
-
-	@Test
-	public void testEd(){
-		Assert.assertNotNull(ed);
-		Assert.assertNotNull(ed.getQualifierNameMap().get("a"));
-		Assert.assertNull(ed.getQualifierNameMap().get("notexist"));
-	}
-
-	@Test
-	public void  testIntEntityQualifierHelper(){
-		byte[] value = EntityQualifierUtils.toBytes(ed, "field1", "2");
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(1)) > 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(2)) == 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(3)) < 0);
-	}
-
-	@Test
-	public void  testStringEntityQualifierHelper(){
-		byte[] value = EntityQualifierUtils.toBytes(ed, "field7", "xyz");
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes("xyy")) > 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes("xyz")) == 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes("xzz")) < 0);
-
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes("xy")) > 0);
-	}
-
-	@Test
-	public void  testDoubleEntityQualifierHelper(){
-		byte[] value = EntityQualifierUtils.toBytes(ed, "field5", "1.0");
-		Assert.assertTrue(Bytes.compareTo(value,Bytes.toBytes(0.5)) > 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(1.0)) == 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(2.2)) < 0);
-
-//      TODO There is problem with negative double
-//		Assert.assertTrue(Bytes.compareTo(Bytes.toBytes(-0.6),Bytes.toBytes(-0.5)) < 0);
-	}
-
-	@Test
-	public void  testLongEntityQualifierHelper(){
-		byte[] value = EntityQualifierUtils.toBytes(ed, "field4", "100000");
-		Assert.assertTrue(Bytes.compareTo(value,Bytes.toBytes(100000l-1l )) > 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(100000l)) == 0);
-		Assert.assertTrue(Bytes.compareTo(value, Bytes.toBytes(100000l + 1l)) < 0);
-	}
-
-	@Test
-	public void  testNegativeLongEntityQualifierHelper(){
-		Exception ex = null;
-		try{
-			byte[] value = EntityQualifierUtils.toBytes(ed, "field4", "-100000");
-		}catch (IllegalArgumentException e){
-			ex = e;
-		}
-		Assert.assertNull(ex);
-	}
-
-	@Test
-	public void testParseAsList(){
-		List<String> set = EntityQualifierUtils.parseList("(\"abc1\",\"abc2\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("abc1",set.toArray()[0]);
-		Assert.assertEquals("abc2",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(1,\"abc2\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("1",set.toArray()[0]);
-		Assert.assertEquals("abc2",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(-1.5,\"abc2\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("-1.5",set.toArray()[0]);
-		Assert.assertEquals("abc2",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(-1.5,\"-1.5,abc\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("-1.5",set.toArray()[0]);
-		Assert.assertEquals("-1.5,abc",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(-1.5,\"\\\"abc\\\"\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("-1.5",set.toArray()[0]);
-		Assert.assertEquals("\"abc\"",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(-1.5,\"-1.5,\\\"abc\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("-1.5",set.toArray()[0]);
-		Assert.assertEquals("-1.5,\"abc",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(\"\\\"-1.5\\\",abc1\",\"-1.5,\\\"abc2\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("\"-1.5\",abc1",set.toArray()[0]);
-		Assert.assertEquals("-1.5,\"abc2",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(-1.5,\"-1.5,\"abc\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("-1.5",set.toArray()[0]);
-		Assert.assertEquals("-1.5,\"abc",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(\"\\\"value1,part1\\\",\\\"value1,part2\\\"\",\"value2\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("\"value1,part1\",\"value1,part2\"",set.toArray()[0]);
-		Assert.assertEquals("value2",set.toArray()[1]);
-
-		////////////////////////////////
-		// Bad Format
-		////////////////////////////////
-		set = EntityQualifierUtils.parseList("(\"a,b)");
-		Assert.assertEquals(1,set.size());
-		Assert.assertEquals("a,b",set.toArray()[0]);
-
-		set = EntityQualifierUtils.parseList("(a,b\")");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("a",set.toArray()[0]);
-		Assert.assertEquals("b",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(a\",b)");
-		Assert.assertEquals(1,set.size());
-		Assert.assertEquals("a\",b",set.toArray()[0]);
-
-		set = EntityQualifierUtils.parseList("(abc,def)");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("abc",set.toArray()[0]);
-		Assert.assertEquals("def",set.toArray()[1]);
-
-		set = EntityQualifierUtils.parseList("(1.5,def)");
-		Assert.assertEquals(2,set.size());
-		Assert.assertEquals("1.5",set.toArray()[0]);
-		Assert.assertEquals("def",set.toArray()[1]);
-	}
-
-//	@Test
-//	public void testEscapeRegExp(){
-//		Assert.assertEquals("abc\\.def",EntityQualifierHelper.escapeRegExp("abc.def"));
-//	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestExpressionComparator.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestExpressionComparator.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestExpressionComparator.java
deleted file mode 100755
index bdeed52..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestExpressionComparator.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.filter;
-
-import org.apache.eagle.log.entity.meta.EntityDefinition;
-import org.apache.eagle.query.parser.ComparisonOperator;
-import org.apache.eagle.query.parser.TokenType;
-import junit.framework.Assert;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class TestExpressionComparator {
-    @Test
-    public void testCompareToForEval(){
-        QualifierFilterEntity entity = new QualifierFilterEntity();
-        // a+b >= a+100.0
-        entity.setKey("a/b");
-        entity.setKeyType(TokenType.EXP);
-        entity.setValue("c");
-        entity.setValueType(TokenType.EXP);
-        entity.setOp(ComparisonOperator.GREATER_OR_EQUAL);
-        EntityDefinition qualifierDisplayNameMap = null;
-        BooleanExpressionComparator comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        Map<String,Double> context = new HashMap<String,Double>();
-        Assert.assertEquals("Should return 0 because not given enough variable",0,comparator.compareTo(context));
-
-        context.put("a", 80.0);
-        context.put("b",20.0);
-        context.put("c",3.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",80.0);
-        context.put("b",20.0);
-        context.put("c",4.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",80.0);
-        context.put("b",20.0);
-        context.put("c",5.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        // Return false once any Double.isInfinite ( 80.0 / 0.0 )
-        Assert.assertTrue(Double.isInfinite( 80.0 / 0.0 ));
-        context.put("a",80.0);
-        context.put("b",0.0);
-        context.put("c", 5.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-    }
-
-    @Test
-    public void testCompareToForOp(){
-        QualifierFilterEntity entity = new QualifierFilterEntity();
-
-        // a+b >= a+100.0
-        entity.setKey("a + b");
-        entity.setValue("a + 100.0");
-        entity.setOp(ComparisonOperator.GREATER_OR_EQUAL);
-        EntityDefinition qualifierDisplayNameMap = new EntityDefinition();
-
-        BooleanExpressionComparator comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        Map<String,Double> context = new HashMap<String,Double>();
-        context.put("a",100.1);
-        context.put("b",100.1);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",100.1);
-        context.put("b",100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",100.0);
-        context.put("b",99.9);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",-100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        // a+b = a+100.0
-        entity.setOp(ComparisonOperator.GREATER);
-        comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        context.put("a",100.1);
-        context.put("b",100.1);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",100.1);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",100.0);
-        context.put("b",99.9);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",-100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        // a+b = a+100.0
-        entity.setOp(ComparisonOperator.LESS);
-        comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        context.put("a",100.1);
-        context.put("b",100.1);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",100.1);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",100.0);
-        context.put("b",99.9);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",-100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        // a+b <= a+100.0
-        entity.setOp(ComparisonOperator.LESS_OR_EQUAL);
-        comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        context.put("a",100.1);
-        context.put("b",100.1);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",100.1);
-        context.put("b",100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",100.0);
-        context.put("b",99.9);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",-100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        entity.setOp(ComparisonOperator.NOT_EQUAL);
-        comparator = new BooleanExpressionComparator(entity,qualifierDisplayNameMap);
-
-        context.put("a",100.1);
-        context.put("b",100.1);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",100.1);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",100.0);
-        context.put("b",99.9);
-        Assert.assertEquals(1,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b",100.0);
-        Assert.assertEquals(0,comparator.compareTo(context));
-
-        context.put("a",-200.0);
-        context.put("b", -100.0);
-        Assert.assertEquals(1,comparator.compareTo(context));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestHBaseFilterBuilder.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestHBaseFilterBuilder.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestHBaseFilterBuilder.java
deleted file mode 100755
index 968be28..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestHBaseFilterBuilder.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.filter;
-
-import org.apache.eagle.log.entity.meta.EntityDefinition;
-import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
-import org.apache.eagle.log.entity.test.TestLogAPIEntity;
-import org.apache.eagle.query.parser.EagleQueryParseException;
-import org.apache.eagle.query.parser.EagleQueryParser;
-import org.apache.eagle.query.parser.ORExpression;
-import junit.framework.Assert;
-import org.apache.hadoop.hbase.filter.Filter;
-import org.apache.hadoop.hbase.filter.FilterList;
-import org.apache.hadoop.hbase.filter.RowFilter;
-import org.junit.Before;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestHBaseFilterBuilder {
-	private final static Logger LOG = LoggerFactory.getLogger(TestHBaseFilterBuilder.class);
-	private EntityDefinition ed;
-
-	private Filter buildFilter(String query) throws EagleQueryParseException {
-		ORExpression expression = new EagleQueryParser(query).parse();
-		HBaseFilterBuilder builder = new HBaseFilterBuilder(ed,expression);
-		Filter filterList =  builder.buildFilters();
-		LOG.info("\n" + expression + " \n=> " + filterList);
-		return filterList;
-	}
-
-	@Before
-	public void setUp(){
-		try {
-			ed = EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-			if(ed == null){
-				EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
-				ed = EntityDefinitionManager.getEntityDefinitionByEntityClass(TestLogAPIEntity.class);
-			}
-		} catch (InstantiationException e) {
-			Assert.fail(e.getMessage());
-		} catch (IllegalAccessException e) {
-			Assert.fail(e.getMessage());
-		}
-	}
-
-	/**
-	 * Should success without exception
-	 */
-	@Test
-	public void testQueryParseAndBuildFilterSuccess(){
-		String[] queries = new String[]{
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID = \"job_1234\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID = \"PigLatin: \\\"quoted_pig_job_name_value\\\"\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID in (\"job_1234\",\"job_4567\")",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID in (1234,\"job_4567\")",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID in (1234,\"sample job name: \\\"quoted_job_name_value\\\"\")",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID CONTAINS \"job_1234\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID CONTAINS job_1234",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID NOT CONTAINS \"job_456\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is \"job_789\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is not \"job_789\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is null",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is not null",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is NULL",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID is not NULL",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID = NULL",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID != null",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID =~ \".*job_1234.*\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID !=~ \".*job_1234.*\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID !=~ \"\\\\|_\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 ",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field3 = 100000",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field5 = 1.56",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field5 > 1.56",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field5 >= 1.56",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field5 < 1.56",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 = 1 and @field5 <= 1.56",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 < 100000)\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 in (\"100000\",\"1\"))\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 in (\"100000\",\"1\"))\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field7 in (\"\\\"value1-part1,value1-part2\\\"\",\"value2\"))\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 not in (\"100000\",\"1\"))\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 NOT IN (\"100000\",\"1\"))\"",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field7 NOT IN (\"\\\"value1-part1,value1-part2\\\"\",\"value2\"))\"",
-			// expression filter
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and EXP{field3/field7 - field2} > 12",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field5 > EXP{field3/field7 - field2}",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and EXP{field3/field7 - field2} > EXP{field1 * field2}",
-			"@cluster = \"cluster1\" and @datacenter = \"dc1\" and EXP{field3/field7 - field2} > EXP{field1 * field2}",
-		};
-		for(String query: queries){
-			try {
-				Filter filter = buildFilter(query);
-				Assert.assertNotNull(filter);
-			} catch (EagleQueryParseException e) {
-				Assert.fail(e.getMessage());
-			} catch (Exception ex){
-				Assert.fail(ex.getMessage());
-			}
-		}
-	}
-
-	/**
-	 * Should throw exception
-	 */
-	@Test
-	public void testNegativeQueryParseSuccessfullyButBuildFilterFailed(){
-		String[] queries = new String[]{
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @tag < \"job_1234\"",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @tag <= \"job_1234\"",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @tag >= \"job_1234\"",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 < null",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 <= null",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 > NULL",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 >= NULL",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 =~ NULL",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 !=~ NULL",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 contains NULL",
-				"@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field1 not contains NULL"
-		};
-		for(String query: queries){
-			try {
-				@SuppressWarnings("unused")
-				Filter filter = buildFilter(query);
-				Assert.fail("Should throw exception: "+query);
-			} catch (IllegalArgumentException e) {
-				LOG.info("Expect exception: " + e.getMessage());
-			} catch (EagleQueryParseException e) {
-				Assert.fail("Should parse successfully: "+query);
-			}
-		}
-	}
-
-	@Test
-	public void testParsedFilter(){
-		String q1 = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field3 = 100000";
-		try {
-			FilterList filterList = (FilterList) buildFilter(q1);
-			Assert.assertEquals(FilterList.Operator.MUST_PASS_ONE,filterList.getOperator());
-			Assert.assertEquals(1,filterList.getFilters().size());
-			Assert.assertEquals(2,((FilterList) filterList.getFilters().get(0)).getFilters().size());
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		}
-
-		String q2 = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 < 100000)";
-		try {
-			FilterList filterList = (FilterList) buildFilter(q2);
-			Assert.assertEquals(FilterList.Operator.MUST_PASS_ONE,filterList.getOperator());
-			Assert.assertEquals(2,filterList.getFilters().size());
-			Assert.assertEquals(2,((FilterList) filterList.getFilters().get(0)).getFilters().size());
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		}
-
-		// Test parse success but bad type of value
-		String q3 = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and ( @field3 = 100000 or @field3 < \"bad_int_100000\")";
-		boolean q3Ex = false;
-		try {
-			Assert.assertNull(buildFilter(q3));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (IllegalArgumentException e){
-			LOG.debug("Expect: ", e);
-			Assert.assertTrue(e.getCause() instanceof NumberFormatException);
-			q3Ex = true;
-		}
-		Assert.assertTrue(q3Ex);
-	}
-
-	@Test
-	public void testWithUnescapedString(){
-		///////////////////////////////////
-		// Tag filter with IN or EQUAL
-		// Should use RowKeyFilter only
-		///////////////////////////////////
-		String query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID = \"job.1234\"";
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertFalse("Should use rowkey filter only",filter.toString().matches(".*job.1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID in (\"job_1234\")";
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertFalse("Should use rowkey filter only",filter.toString().matches(".*job_1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID in (\"job.1234\")";
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertFalse("Should use rowkey filter only",filter.toString().matches(".*job.*1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-
-		///////////////////////////////
-		// Tag with other operators
-		///////////////////////////////
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID =~ \"job_1234\"";
-
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertTrue(filter.toString().matches(".*job_1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @jobID =~ \"job.1234\"";
-
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertTrue(filter.toString().matches(".*job.1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-
-		///////////////////////////////
-		// Tag with IN
-		// Should escape regexp chars
-		///////////////////////////////
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field7 = \"job_1234\"";
-
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertTrue(filter.toString().matches(".*job_1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			ex.printStackTrace();
-			Assert.fail(ex.getMessage());
-		}
-
-		query = "@cluster = \"cluster1\" and @datacenter = \"dc1\" and @field7 in (\"job.1234\",\"others\")";
-
-		try {
-			FilterList filter = (FilterList) buildFilter(query);
-			Assert.assertEquals(RowFilter.class, ((FilterList) filter.getFilters().get(0)).getFilters().get(0).getClass());
-			Assert.assertTrue(filter.toString().matches(".*job\\.1234.*"));
-		} catch (EagleQueryParseException e) {
-			Assert.fail(e.getMessage());
-		} catch (Exception ex){
-			Assert.fail(ex.getMessage());
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestTypedByteArrayComparator.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestTypedByteArrayComparator.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestTypedByteArrayComparator.java
deleted file mode 100755
index 1c0f416..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/filter/TestTypedByteArrayComparator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.filter;
-
-import org.apache.eagle.log.entity.meta.DoubleSerDeser;
-import org.apache.eagle.log.entity.meta.EntitySerDeser;
-import org.apache.eagle.log.entity.meta.IntSerDeser;
-import org.apache.eagle.log.entity.meta.LongSerDeser;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * @since 2014/11/17
- */
-public class TestTypedByteArrayComparator {
-    @Test
-    public void testCompare(){
-        EntitySerDeser serDeser = new DoubleSerDeser();
-        TypedByteArrayComparator comparator = new TypedByteArrayComparator(serDeser.serialize(0.9),serDeser.type());
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(0.8)) > 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(1.1)) < 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(0.9)) == 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(- 0.9)) > 0);
-
-        serDeser = new IntSerDeser();
-        comparator = new TypedByteArrayComparator(serDeser.serialize(9),serDeser.type());
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(8)) > 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(11)) < 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(9)) == 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(-9)) > 0);
-
-        serDeser = new LongSerDeser();
-        comparator = new TypedByteArrayComparator(serDeser.serialize(9l),serDeser.type());
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(8l)) > 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(11l)) < 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(9l)) == 0);
-        Assert.assertTrue(comparator.compareTo(serDeser.serialize(-9l)) > 0);
-    }
-
-    @Test
-    public void testClassName(){
-        Assert.assertEquals("long",long.class.getName());
-        Assert.assertEquals("java.lang.Long", Long.class.getName());
-        Assert.assertEquals("long",long.class.toString());
-        Assert.assertEquals("class java.lang.Long", Long.class.toString());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestArraySerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestArraySerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestArraySerDeser.java
deleted file mode 100755
index 4807b07..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestArraySerDeser.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.meta;
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-
-public class TestArraySerDeser {
-	
-	@Test
-	public void testIntArraySerDeser(){
-		IntArraySerDeser serDeser = new IntArraySerDeser();
-		int[] ints = new int[] {1, 34, 21, 82};
-		byte[] bytes = serDeser.serialize(ints);
-		Assert.assertEquals((ints.length+1)*4, bytes.length);
-		int[] targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(ints.length, targets.length);
-		for(int i=0; i<ints.length; i++){
-			Assert.assertEquals(ints[i], targets[i]);
-		}
-	}
-	
-	@Test
-	public void testDoubleArraySerDeser(){
-		DoubleArraySerDeser serDeser = new DoubleArraySerDeser();
-		double[] doubles = new double[] {1.0, 34.0, 21.0, 82.0};
-		byte[] bytes = serDeser.serialize(doubles);
-		Assert.assertEquals(4 + doubles.length*8, bytes.length);
-		double[] targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(doubles.length, targets.length);
-		for(int i=0; i<doubles.length; i++){
-			Assert.assertEquals(doubles[i], targets[i]);
-		}
-	}
-
-	@Test
-	public void testStringArraySerDeser(){
-		StringArraySerDeser serDeser = new StringArraySerDeser();
-		String[] sources = new String[] {"a", "", "1", "2", "3"};
-		byte[] bytes = serDeser.serialize(sources);
-		Assert.assertEquals(4 + sources.length*4 + 4, bytes.length);
-		String[] targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.length, targets.length);
-		for(int i=0; i<sources.length; i++){
-			Assert.assertEquals(sources[i], targets[i]);
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestEntityDefinitionManager.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestEntityDefinitionManager.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestEntityDefinitionManager.java
deleted file mode 100755
index ccbca71..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestEntityDefinitionManager.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.meta;
-
-import org.apache.eagle.log.entity.GenericMetricEntity;
-import org.apache.eagle.log.entity.test.TestLogAPIEntity;
-import junit.framework.Assert;
-import org.junit.Test;
-
-public class TestEntityDefinitionManager {
-    @Test
-    public void testCreateEntityDefinition(){
-        EntityDefinition entityDefinition = EntityDefinitionManager.createEntityDefinition(TestLogAPIEntity.class);
-        Assert.assertNotNull(entityDefinition);
-    }
-    @Test
-    public void testCreateMetricEntityDefinition(){
-        EntityDefinition entityDefinition = EntityDefinitionManager.createEntityDefinition(GenericMetricEntity.class);
-        Assert.assertNotNull(entityDefinition);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestListSerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestListSerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestListSerDeser.java
deleted file mode 100644
index 6908815..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestListSerDeser.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.meta;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-
-public class TestListSerDeser {
-
-	@SuppressWarnings("rawtypes")
-	@Test
-	public void testStringListSerDeser() {
-		ListSerDeser serDeser = new ListSerDeser();
-		List<String> sources = new ArrayList<String>();
-		sources.add("value1");
-		sources.add("value2");
-		sources.add("value3");		
-				
-		byte[] bytes = serDeser.serialize(sources);
-		Assert.assertEquals(4 + sources.size() * 8 + 18, bytes.length);
-		List targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-		
-		Assert.assertTrue(targets.contains("value1"));
-		Assert.assertTrue(targets.contains("value2"));
-		Assert.assertTrue(targets.contains("value3"));
-	}
-
-	
-	@SuppressWarnings("rawtypes")
-	@Test
-	public void testIntegerMapSerDeser() {
-		ListSerDeser serDeser = new ListSerDeser();
-		List<Integer> sources = new ArrayList<Integer>();
-		sources.add(1);
-		sources.add(2);
-		sources.add(3);
-		
-		byte[] bytes = serDeser.serialize(sources);
-		Assert.assertEquals(4 + sources.size() * 8 + 12, bytes.length);
-		List targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-		
-		Assert.assertTrue(targets.contains(1));
-		Assert.assertTrue(targets.contains(2));
-		Assert.assertTrue(targets.contains(3));
-	}
-
-	
-	@SuppressWarnings({ "rawtypes", "unchecked" })
-	@Test
-	public void testListListSerDeser() {
-		ListSerDeser serDeser = new ListSerDeser();
-		List<List<String>> sources = new ArrayList<List<String>>();
-		List<String> list1 = new ArrayList<String>();
-		list1.add("value1");
-		list1.add("value2");
-		list1.add("value3");
-		sources.add(list1);
-		
-		List<String> list2 = new ArrayList<String>();
-		list2.add("value4");
-		list2.add("value5");		
-		sources.add(list2);
-		
-		byte[] bytes = serDeser.serialize(sources);
-		List targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-
-		list1 = (List)targets.get(0);
-		Assert.assertNotNull(list1);
-		Assert.assertEquals(3, list1.size());
-		Assert.assertTrue(list1.contains("value1"));
-		Assert.assertTrue(list1.contains("value2"));
-		Assert.assertTrue(list1.contains("value3"));
-
-		list2 = (List)targets.get(1);
-		Assert.assertNotNull(list2);
-		Assert.assertEquals(2, list2.size());
-		Assert.assertTrue(list2.contains("value4"));
-		Assert.assertTrue(list2.contains("value5"));
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestMapSerDeser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestMapSerDeser.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestMapSerDeser.java
deleted file mode 100644
index 29a704d..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/meta/TestMapSerDeser.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.meta;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-
-public class TestMapSerDeser {
-
-	@SuppressWarnings("rawtypes")
-	@Test
-	public void testStringToStringMapSerDeser() {
-		MapSerDeser serDeser = new MapSerDeser();
-		Map<String, String> sources = new HashMap<String, String>();
-		sources.put("test1", "value1");
-		sources.put("test2", null);
-		sources.put("test3", "value3");
-		
-		byte[] bytes = serDeser.serialize(sources);
-		Assert.assertEquals(4 + sources.size() * 16 + 27, bytes.length);
-		Map targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-		
-		Assert.assertEquals("value1", targets.get("test1"));
-		Assert.assertNull(targets.get("test2"));
-		Assert.assertEquals("value3", targets.get("test3"));
-	}
-
-	
-	@SuppressWarnings("rawtypes")
-	@Test
-	public void testStringToIntegerMapSerDeser() {
-		MapSerDeser serDeser = new MapSerDeser();
-		Map<String, Integer> sources = new HashMap<String, Integer>();
-		sources.put("test1", 1);
-		sources.put("test2", null);
-		sources.put("test3", 3);
-		
-		byte[] bytes = serDeser.serialize(sources);
-		Assert.assertEquals(4 + sources.size() * 16 + 23, bytes.length);
-		Map targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-		
-		Assert.assertEquals(1, targets.get("test1"));
-		Assert.assertNull(targets.get("test2"));
-		Assert.assertEquals(3, targets.get("test3"));
-	}
-
-	
-	@SuppressWarnings({ "rawtypes", "unchecked" })
-	@Test
-	public void testStringToMapMapSerDeser() {
-		MapSerDeser serDeser = new MapSerDeser();
-		Map<String, Map<String, String>> sources = new HashMap<String, Map<String, String>>();
-		Map<String, String> map1 = new HashMap<String, String>();
-		map1.put("key11", "value11");
-		map1.put("key12", null);
-		map1.put("key13", "value13");
-		sources.put("test1", map1);
-		sources.put("test2", null);
-		Map<String, String> map3 = new HashMap<String, String>();
-		map3.put("key31", "value31");
-		map3.put("key32", null);
-		map3.put("key33", "value33");
-		sources.put("test3", map3);
-		
-		byte[] bytes = serDeser.serialize(sources);
-		Map targets = serDeser.deserialize(bytes);
-		Assert.assertEquals(sources.size(), targets.size());
-
-		map1 = (Map)targets.get("test1");
-		Assert.assertNotNull(map1);
-		Assert.assertEquals(3, map1.size());
-		Assert.assertEquals("value11", map1.get("key11"));
-		Assert.assertNull(map1.get("key12"));
-		Assert.assertEquals("value13", map1.get("key13"));
-		
-		Assert.assertNull(targets.get("test2"));
-		
-		map3 = (Map)targets.get("test3");
-		Assert.assertNotNull(map3);
-		Assert.assertEquals(3, map3.size());
-		Assert.assertEquals("value31", map3.get("key31"));
-		Assert.assertNull(map3.get("key32"));
-		Assert.assertEquals("value33", map3.get("key33"));
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/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
deleted file mode 100755
index 1b64b20..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/entity/repo/TestEntityRepositoryScanner.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.entity.repo;
-
-import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class TestEntityRepositoryScanner {
-
-	@Test
-	public void testScan() throws InstantiationException, IllegalAccessException {
-		EntityRepositoryScanner.scan();
-		Assert.assertNotNull(EntityDefinitionManager.getEntityByServiceName("MetricMetadataService"));
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionParser.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionParser.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionParser.java
deleted file mode 100755
index 0206b68..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionParser.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.expression;
-/**
- * 
- */
-
-import junit.framework.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-/**
- * @since Nov 10, 2014
- */
-public class TestExpressionParser {
-			
-	@Test
-	public void testSingleVariable() throws Exception{
-		String exprStr = "mapProgress";		
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("mapProgress", 100.0)
-							 .eval();
-		Assert.assertEquals(value, 100.0);
-		List<String> dependentFields = parser.getDependentFields();
-		Assert.assertEquals(dependentFields.size(), 1);
-		Assert.assertEquals(dependentFields.get(0), "mapProgress");
-	}
-	
-	@Test
-	public void testgetDependency() throws Exception{
-		/** NOTICE: expression should be enclosure with "EXP{}" , This is for making antlr easy to parse  
-		  * variable name cannot be "pi" OR "E", there are parssi builtin constants */
-		String exprStr = "min(mAx, Max) / abs(MAX)";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		List<String> variables =  parser.getDependentFields();
-		Assert.assertEquals(variables.size(), 3);
-		Assert.assertTrue(variables.contains("mAx"));
-		Assert.assertTrue(variables.contains("Max"));
-		Assert.assertTrue(variables.contains("MAX"));
-	}
-
-	@Test
-	public void testFunction() throws Exception{
-		String exprStr = "min(mapProgress, reduceProgress) / abs(endTime - startTime)";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("mapProgress", 100.0)
-							 .setVariable("reduceProgress", 20.0)
-							 .setVariable("endTime", 1415590100000.0)
-							 .setVariable("startTime", 1415590000000.0)
-							 .eval();
-		Assert.assertEquals(value, 0.0002);
-	}
-	
-	@Test
-	public void testOperator() throws Exception{
-		String exprStr = "(a+b*c) / (2*(d-e))";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 200.0)
-							 .setVariable("b", 400.0)
-							 .setVariable("c", 3.0)
-							 .setVariable("d", 225.0)
-							 .setVariable("e", -125.0)
-							 .eval();
-		Assert.assertEquals(value, 2.0);
-	}
-	
-	@Test
-	public void testOperatorWithFunction() throws Exception{
-		String exprStr = "(max(a, b)* min(a, b)) / abs(a-b+c-d)";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 300.0)
-							 .setVariable("b", 200.0)
-							 .setVariable("c", -300.0)
-							 .setVariable("d", -300.0)
-							 .eval();
-		Assert.assertEquals(value, 600.0);
-	}
-
-	@Test
-	public void testWithAtFieldName() throws Exception{
-		String exprStr = "(max(a, b)* min(a, b)) / abs(a-b+c-d)";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 300.0)
-							 .setVariable("b", 200.0)
-							 .setVariable("c", -300.0)
-							 .setVariable("d", -300.0)
-							 .eval();
-		Assert.assertEquals(value, 600.0);
-	}
-
-	@Test
-	public void testConstant() throws Exception {
-		String exprStr = "a";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 300.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 300.0);
-
-		value = parser.setVariable("a", 200.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 200.0);
-	}
-
-	@Test
-	public void testBooleanExpression() throws Exception {
-		String exprStr = "a > b";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 300.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 1.0);
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 0.0);
-
-		exprStr = "a < b";
-		parser = new ExpressionParser(exprStr);
-		value = parser.setVariable("a", 300.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 0.0);
-
-		value = parser.setVariable("a", 400.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 0.0);
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0);
-
-		// !!! Not support well >=
-		exprStr = "a >= b";
-		parser = new ExpressionParser(exprStr);
-		value = parser.setVariable("a", 300.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 0.0); // expect 1.0
-
-		value = parser.setVariable("a", 400.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0); // expect 1.0
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0); // expect 0.0
-
-		exprStr = "a <= b";
-		parser = new ExpressionParser(exprStr);
-		value = parser.setVariable("a", 300.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0);
-
-		value = parser.setVariable("a", 400.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 0.0);
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0);
-
-		exprStr = "a = b";
-		parser = new ExpressionParser(exprStr);
-		value = parser.setVariable("a", 300.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 1.0);
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertEquals(value, 0.0);
-	}
-
-	@Test
-	public void testParsiiBug() throws Exception {
-		// !!! Not support >=
-		String exprStr = "a >= b";
-		ExpressionParser parser = new ExpressionParser(exprStr);
-		Double value = parser.setVariable("a", 300.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 0.0); // expect 1.0
-
-		value = parser.setVariable("a", 400.0)
-				.setVariable("b", 300.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0); // expect 1.0
-
-		value = parser.setVariable("a", 100.0)
-				.setVariable("b", 200.0)
-				.setVariable("c", -300.0)
-				.setVariable("d", -300.0)
-				.eval();
-		Assert.assertTrue(value == 1.0); // expect 0.0
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionPerformance.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionPerformance.java b/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionPerformance.java
deleted file mode 100755
index 0a2b729..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/java/org/apache/eagle/log/expression/TestExpressionPerformance.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.log.expression;
-
-import org.junit.Assert;
-import org.junit.Test;
-import parsii.eval.Expression;
-import parsii.eval.Parser;
-import parsii.eval.Scope;
-
-import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * @since Nov 4, 2014
- */
-
-public class TestExpressionPerformance {
-
-	public interface ExpressionParser {
-		double parse(String exprStr, Map<String, Double> tuple) throws Exception;
-	}
-	
-	public class ParsiiParser implements ExpressionParser{
-		public Expression expression;
-		
-		public double parse(String exprStr, Map<String, Double> tuple) throws Exception{		
-			Scope scope = Scope.create();
-			if (expression == null) {
-				expression = Parser.parse(exprStr, scope);
-			}
-			for(String valName : tuple.keySet()) {
-				Object value = tuple.get(valName);
-				if(value instanceof Number) {
-					scope.getVariable(valName).setValue(((Number)value).doubleValue());
-				}
-			}
-			return expression.evaluate();
-		}
-	}
-	
-	public long doParse(ExpressionParser parser, String exprStr, List<String> parameters) throws Exception{
-		long startTime = System.currentTimeMillis();
-		int parNum = parameters.size();
-		Map<String, Double> tuple = new HashMap<String, Double>();
-		for (int i = 1; i < 100000; i++) {
-			for (int j = 0; j < parNum; j++) {
-				tuple.put(parameters.get(j), (double) (i * 3 + j));				
-			}
-			parser.parse(exprStr, tuple);
-		}
-		long endTime = System.currentTimeMillis();
-		return endTime - startTime;
-	}
-	
-	@Test
-	public void TestPerformance() throws Exception{
-		List<ExpressionParser> parsers = new ArrayList<ExpressionParser>();
-		parsers.add(new ParsiiParser());
-
-		String exprStr = "a + b / c * 2"; 
-		List<String> parameters = new ArrayList<String>();
-		parameters.add("a");
-		parameters.add("b");
-		parameters.add("c");
-		
-		Map<String, Long> timeComsued = new HashMap<String, Long>();
-		
-		for (int i = 0; i < 10; i++) {
-			for (ExpressionParser parser : parsers) {
-				String name = parser.getClass().getName();
-				if (timeComsued.get(name) == null) {
-					timeComsued.put(name, 0L);
-				}
-				timeComsued.put(name, timeComsued.get(name) + doParse(parser, exprStr, parameters));			
-			}
-		}
-		for (Entry<String, Long> time : timeComsued.entrySet()) {
-			System.out.println("time consumed of " + time.getKey() + ": " + time.getValue() +"ms");
-		}
-	}
-
-	@Test
-	public void TestEvaluatoinValid() throws Exception{
-		List<ExpressionParser> parsers = new ArrayList<ExpressionParser>();
-		parsers.add(new ParsiiParser());
-
-		String exprStr = "max(a, 3 * b) + min(b, 10000) / abs(c * 2)";
-		Map<String ,Double> tuples = new HashMap<String, Double>();
-		tuples.put("a", 20.5);
-		tuples.put("b", 123.7);
-		tuples.put("c", 97.57);
-		DecimalFormat df = new DecimalFormat("#.00");
-		for (ExpressionParser parser : parsers) {			
-			System.out.println(parser.getClass().getName() + " : " + parser.parse(exprStr, tuples));
-			Assert.assertEquals(df.format(parser.parse(exprStr, tuples)), "371.73");
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/resources/application.conf
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/resources/application.conf b/eagle-core/eagle-query/eagle-entity-base/src/test/resources/application.conf
deleted file mode 100644
index 25257c5..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/resources/application.conf
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-
-eagle{
-	service{
-		env="dev"
-		host="localhost"
-		port=8080
-		storage-type="hbase"
-		table-name-prefixed-with-environment=false
-		coprocessor-enabled=false
-		hbase-zookeeper-quorum="localhost"
-		hbase-zookeeper-property-clientPort=2181
-		zookeeper-znode-parent="/hbase-unsecure"
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-entity-base/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/test/resources/log4j.properties b/eagle-core/eagle-query/eagle-entity-base/src/test/resources/log4j.properties
deleted file mode 100644
index dccbc70..0000000
--- a/eagle-core/eagle-query/eagle-entity-base/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-
-log4j.rootLogger=INFO, stdout
-#eagle.log.dir=./logs
-#eagle.log.file=eagle.log
-
-# standard output
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p [%t] %c{2}[%L]: %m%n
-
-## Daily Rolling File Appender
-#log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
-#log4j.appender.DRFA.File=${eagle.log.dir}/${eagle.log.file}
-#log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
-## 30-day backup
-##log4j.appender.DRFA.MaxBackupIndex=30
-#log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
-#
-## Pattern format: Date LogLevel LoggerName LogMessage
-#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p [%t] %c{2}[%L]: %m%n
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-query-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-query-base/pom.xml b/eagle-core/eagle-query/eagle-query-base/pom.xml
deleted file mode 100644
index ccd42d0..0000000
--- a/eagle-core/eagle-query/eagle-query-base/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ 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.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>eagle-query-parent</artifactId>
-        <groupId>eagle</groupId>
-        <version>0.3.0</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>eagle-query-base</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>eagle</groupId>
-            <artifactId>eagle-antlr</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>eagle</groupId>
-            <artifactId>eagle-entity-base</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericEntityQuery.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericEntityQuery.java b/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericEntityQuery.java
deleted file mode 100755
index 1319f43..0000000
--- a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericEntityQuery.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.query;
-
-import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
-import org.apache.eagle.log.entity.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @since : 10/30/14,2014
- */
-public class GenericEntityQuery implements GenericQuery,EntityCreationListener {
-	private static final Logger LOG = LoggerFactory.getLogger(GenericEntityQuery.class);
-
-	private List<TaggedLogAPIEntity> entities = new ArrayList<TaggedLogAPIEntity>();
-	private StreamReader reader;
-
-	public GenericEntityQuery(String serviceName, SearchCondition condition, String metricName) throws IllegalAccessException, InstantiationException {
-		if(serviceName.equals(GenericMetricEntity.GENERIC_METRIC_SERVICE)){
-			if(LOG.isDebugEnabled()) LOG.debug("List metric query");
-			if(metricName == null || metricName.isEmpty()){
-				throw new IllegalArgumentException("metricName should not be empty for metric list query");
-			}
-			if(!condition.getOutputFields().contains(GenericMetricEntity.VALUE_FIELD)){
-				condition.getOutputFields().add(GenericMetricEntity.VALUE_FIELD);
-			}
-			reader = new GenericEntityStreamReader(serviceName, condition,metricName);
-		}else{
-			if(LOG.isDebugEnabled()) LOG.debug("List entity query");
-			reader = new GenericEntityStreamReader(serviceName, condition);
-		}
-		reader.register(this);
-	}
-
-	@Override
-	public long getLastTimestamp() {
-		return reader.getLastTimestamp();
-	}
-
-	@Override
-	public void entityCreated(TaggedLogAPIEntity entity){
-		entities.add(entity);
-	}
-
-	@Override
-	public List<TaggedLogAPIEntity> result() throws Exception{
-		if(LOG.isDebugEnabled()) LOG.debug("Start reading as batch mode");
-		reader.readAsStream();
-		return entities;
-	}
-
-	@Override
-	public long getFirstTimeStamp() {
-		return reader.getFirstTimestamp();
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericQuery.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericQuery.java b/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericQuery.java
deleted file mode 100755
index d3af151..0000000
--- a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/GenericQuery.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.query;
-
-import java.util.List;
-
-/**
- * @since : 10/30/14,2014
- */
-public interface GenericQuery {
-	/**
-	 * Throw all exceptions to http server
-	 *
-     * @param <T> result entity type
-	 * @return result entities list
-	 *
-     * @throws Exception
-	 */
-	<T> List<T> result() throws Exception;
-
-	/**
-	 * Get last/largest timestamp on all rows
-	 *
-	 * @return last timestamp
-	 */
-	long getLastTimestamp();
-
-	/**
-	 * Get first timestamp on all rows
-	 */
-	long getFirstTimeStamp();
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0ea130ef/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/ListQueryCompiler.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/ListQueryCompiler.java b/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/ListQueryCompiler.java
deleted file mode 100755
index c630c41..0000000
--- a/eagle-core/eagle-query/eagle-query-base/src/main/java/org/apache/eagle/query/ListQueryCompiler.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * 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
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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.query;
-
-import org.apache.eagle.log.entity.filter.HBaseFilterBuilder;
-import org.apache.eagle.log.entity.meta.EntityDefinition;
-import org.apache.eagle.log.entity.meta.EntityDefinitionManager;
-import org.apache.eagle.log.expression.ExpressionParser;
-import org.apache.eagle.query.aggregate.timeseries.SortOption;
-import org.apache.eagle.query.aggregate.timeseries.SortOptionsParser;
-import org.apache.eagle.query.parser.EagleQueryParseException;
-import org.apache.eagle.query.parser.EagleQueryParser;
-import org.apache.eagle.query.parser.ORExpression;
-import org.apache.eagle.query.parser.TokenConstant;
-import org.apache.eagle.query.aggregate.AggregateFunctionType;
-import org.apache.eagle.query.aggregate.AggregateFunctionTypeMatcher;
-import org.apache.hadoop.hbase.filter.Filter;
-import org.apache.hadoop.hbase.filter.FilterList;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class ListQueryCompiler {
-	private final static Logger LOG = LoggerFactory.getLogger(ListQueryCompiler.class);
-	/**
-	 * syntax is <EntityName>[<Filter>]{<Projection>}
-	 */
-	private final static String listRegex = "^([^\\[]+)\\[([^\\]]*)\\]\\{(.+)\\}$";
-	private final static Pattern _listPattern = Pattern.compile(listRegex);
-
-	/**
-	 * syntax is @<fieldname>
-	 */
-	private final static String _fnAnyPattern = "*";
-	private final static Pattern _fnPattern = TokenConstant.ID_PATTERN;
-
-	/**
-	 * syntax is @<expression>
-	 */
-	private final static String expRegex = "^(EXP\\{.*\\})(\\s+AS)?(\\s+.*)?$";
-	private final static Pattern _expPattern = Pattern.compile(expRegex,Pattern.CASE_INSENSITIVE);
-
-	/**
-	 * syntax is <EntityName>[<Filter>]<GroupbyFields>{<AggregateFunctions>}
-	 */
-
-	/** The regular expression before add EXP{<Expression>} in query **/
-	private final static String aggRegex = "^([^\\[]+)\\[([^\\]]*)\\]<([^>]*)>\\{(.+)\\}$";
-	private final static Pattern _aggPattern = Pattern.compile(aggRegex);
-
-	private final static String sortRegex = "^([^\\[]+)\\[([^\\]]*)\\]<([^>]*)>\\{(.+)\\}\\.\\{(.+)\\}$";
-	private final static Pattern _sortPattern = Pattern.compile(sortRegex);
-	
-	private String _serviceName;
-	private Filter _filter;
-	private List<String> _outputFields;
-	private List<String> _groupbyFields;
-	private List<AggregateFunctionType> _aggregateFunctionTypes;
-	private List<String> _aggregateFields;
-	private List<AggregateFunctionType> _sortFunctionTypes;
-	private List<String> _sortFields;
-	private Map<String,String> _outputAlias;
-
-	/**
-	 * Filed that must be required in filter
-	 *
-	 * @return
-	 */
-	public Set<String> getFilterFields() {
-		return _filterFields;
-	}
-
-	private Set<String> _filterFields;
-	private List<SortOption> _sortOptions;
-	private boolean _hasAgg;
-	private List<String[]> _partitionValues;
-	private boolean _filterIfMissing;
-	private ORExpression _queryExpression;
-	private boolean _outputAll = false;
-
-	public ListQueryCompiler(String query) throws Exception {
-		this(query, false);
-	}
-	
-	public ListQueryCompiler(String query, boolean filterIfMissing) throws Exception{
-		this._filterIfMissing = filterIfMissing;
-		Matcher m = _listPattern.matcher(query);
-		if(m.find()){
-			if(m.groupCount() != 3)
-				throw new IllegalArgumentException("List query syntax is <EntityName>[<Filter>]{<Projection>}");
-			compileCollectionQuery(m);
-			_hasAgg = false;
-			partitionConstraintValidate(query);
-			return;
-		}
-		
-		/** match sort pattern fist, otherwise some sort query will be mismatch as agg pattern */
-		m = _sortPattern.matcher(query);
-		if(m.find()){
-			if(m.groupCount() != 5)
-				throw new IllegalArgumentException("Aggregate query syntax is <EntityName>[<Filter>]<GroupbyFields>{<AggregateFunctions>}.{<SortOptions>}");
-			compileAggregateQuery(m);
-			_hasAgg = true;
-			partitionConstraintValidate(query);
-			return;
-		}
-		
-		m = _aggPattern.matcher(query);
-		if(m.find()){
-			if(m.groupCount() != 4)
-			//if(m.groupCount() < 4 || m.groupCount() > 5)
-				throw new IllegalArgumentException("Aggregate query syntax is <EntityName>[<Filter>]<GroupbyFields>{<AggregateFunctions>}.{<SortOptions>}");
-			compileAggregateQuery(m);
-			_hasAgg = true;
-			partitionConstraintValidate(query);
-			return;
-		}
-		
-		throw new IllegalArgumentException("List query syntax is <EntityName>[<Filter>]{<Projection>} \n Aggregate query syntax is <EntityName>[<Filter>]<GroupbyFields>{<AggregateFunctions>}.{<SortOptions>}");
-	}
-	
-	/**
-	 * TODO: For now we don't support one query to query multiple partitions. In future if partition is defined 
-	 * for the entity, internally We need to spawn multiple queries and send one query for each search condition 
-	 * for each partition
-	 * 
-	 * @param query input query to compile
-	 */
-	private void partitionConstraintValidate(String query) {
-		if (_partitionValues != null && _partitionValues.size() > 1) {
-			final String[] values = _partitionValues.get(0);
-			for (int i = 1; i < _partitionValues.size(); ++i) {
-				final String[] tmpValues = _partitionValues.get(i);
-				for (int j = 0; j < values.length; ++j) {
-					if (values[j] == null || (!values[j].equals(tmpValues[j]))) {
-						final String errMsg = "One query for multiple partitions is NOT allowed for now! Query: " + query;
-						LOG.error(errMsg);
-						throw new IllegalArgumentException(errMsg);
-					}
-				}
-			}
-		}
-	}
-
-	public boolean hasAgg(){
-		return _hasAgg;
-	}
-	
-	public List<String[]> getQueryPartitionValues() {
-		return _partitionValues;
-	}
-	
-	public ORExpression getQueryExpression() {
-		return _queryExpression;
-	}
-	
-	private void checkEntityExistence(String entityName) throws EagleQueryParseException {
-		try {
-			if(EntityDefinitionManager.getEntityByServiceName(entityName) == null)
-				throw new EagleQueryParseException(entityName + " entity does not exist!");
-		} catch (InstantiationException e) {
-			final String errMsg = "Got an InstantiationException: " + e.getMessage();
-			throw new EagleQueryParseException(entityName + " entity does not exist! " + errMsg);
-		} catch (IllegalAccessException e) {
-			final String errMsg = "Got an IllegalAccessException: " + e.getMessage();
-			throw new EagleQueryParseException(entityName + " entity does not exist! " + errMsg);
-		}
-	}
-	
-	public String deleteAtSign(String expression) {
-		return expression.replace("@", "");
-	}
-	
-	private void compileCollectionQuery(Matcher m) throws EagleQueryParseException{
-		_serviceName = m.group(1);
-		checkEntityExistence(_serviceName);
-		if(_outputFields==null) _outputFields = new ArrayList<String>();
-		String qy = m.group(2);
-		_filter = compileQy(qy);
-		String prjFields = m.group(3);
-		String[] tmp = prjFields.split(",");
-		for(String str : tmp){
-			str = str.trim();
-			Matcher fnMatcher = _fnPattern.matcher(str);
-			Matcher expMatcher = _expPattern.matcher(str);
-			if(fnMatcher.find()) {
-				if (fnMatcher.groupCount() == 1)
-					_outputFields.add(fnMatcher.group(1));				
-			}else if(_fnAnyPattern.equals(str)){
-				if(LOG.isDebugEnabled()) LOG.debug("Output all fields");
-				// _outputFields.add(_fnAnyPattern);
-				this._outputAll = true;
-			}else if (expMatcher.find()) {
-				String expr = deleteAtSign(expMatcher.group(1));
-				String alias = expMatcher.group(3);
-				try {
-					String exprContent = TokenConstant.parseExpressionContent(expr);
-					_outputFields.addAll(ExpressionParser.parse(exprContent).getDependentFields());
-					if(alias!=null) {
-						if(_outputAlias == null) _outputAlias = new HashMap<String, String>();
-						_outputAlias.put(exprContent,alias.trim());
-					}
-				} catch (Exception ex){
-					LOG.error("Failed to parse expression: " + expr + ", exception: " + ex.getMessage(), ex);
-				} finally {
-					_outputFields.add(expr);
-				}
-			} else {
-				throw new IllegalArgumentException("Field name syntax must be @<FieldName> or * or Expression in syntax EXP{<Expression>}");
-			}
-		}
-	}
-	
-	private void compileAggregateQuery(Matcher m) throws EagleQueryParseException{
-		_serviceName = m.group(1);
-		checkEntityExistence(_serviceName);
-		String qy = m.group(2);
-		_filter = compileQy(qy);
-		String groupbyFields = m.group(3);
-		// groupbyFields could be empty
-		List<String> groupbyFieldList = null;
-		_groupbyFields = new ArrayList<String>();
-		if(!groupbyFields.isEmpty()){
-			groupbyFieldList = Arrays.asList(groupbyFields.split(","));
-			for(String str : groupbyFieldList){
-				Matcher fnMatcher = _fnPattern.matcher(str.trim());
-				if(!fnMatcher.find() || fnMatcher.groupCount() != 1)
-					throw new IllegalArgumentException("Field name syntax must be @<FieldName>");
-				_groupbyFields.add(fnMatcher.group(1));
-			}
-		}
-		String functions = m.group(4);
-		// functions
-		List<String> functionList = Arrays.asList(functions.split(","));
-		_aggregateFunctionTypes = new ArrayList<AggregateFunctionType>();
-		_aggregateFields = new ArrayList<String>();
-		for(String function : functionList){
-			AggregateFunctionTypeMatcher matcher = AggregateFunctionType.matchAll(function.trim());
-			if(!matcher.find()){
-				throw new IllegalArgumentException("Aggregate function must have format of count|sum|avg|max|min(<fieldname|expression>)");
-			}
-			_aggregateFunctionTypes.add(matcher.type());
-			String aggField = deleteAtSign(matcher.field().trim());
-			try {
-				if(_outputFields == null) _outputFields = new ArrayList<String>();
-				if(TokenConstant.isExpression(aggField)) {
-					_outputFields.addAll(ExpressionParser.parse(TokenConstant.parseExpressionContent(aggField)).getDependentFields());
-				}else{
-					_outputFields.add(aggField);
-				}
-			} catch (Exception ex){
-				LOG.error("Failed to parse expression: " + aggField + ", exception: " + ex.getMessage(), ex);
-			} finally {
-				_aggregateFields.add(aggField);
-			}
-		}
-		
-		// sort options
-		if(m.groupCount() < 5 || m.group(5) == null) // no sort options
-			return;
-		String sortOptions = m.group(5);
-		if(sortOptions != null){
-			LOG.info("SortOptions: " + sortOptions);
-			List<String> sortOptionList = Arrays.asList(sortOptions.split(","));
-			List<String> rawSortFields = new ArrayList<String>();
-			this._sortOptions = SortOptionsParser.parse(groupbyFieldList, functionList, sortOptionList, rawSortFields);
-			this._sortFunctionTypes = new ArrayList<>();
-			this._sortFields = new ArrayList<>();
-			for (String sortField : rawSortFields) {
-				AggregateFunctionTypeMatcher matcher = AggregateFunctionType.matchAll(sortField);
-				if(matcher.find()) {
-					_sortFunctionTypes.add(matcher.type());
-					_sortFields.add(deleteAtSign(matcher.field().trim()));
-				}
-			}
-		}
-	}
-	
-	/**
-	 * 1. syntax level - use antlr to pass the queries
-	 * 2. semantics level - can't distinguish tag or qualifier
-	 * @param qy
-	 * @return
-	 */
-	private Filter compileQy(String qy) throws EagleQueryParseException{
-		try {
-			EntityDefinition ed = EntityDefinitionManager.getEntityByServiceName(_serviceName);
-			if(qy == null || qy.isEmpty()){
-				if (ed.getPartitions() == null) {
-					if(LOG.isDebugEnabled()) LOG.warn("Query string is empty, full table scan query: " + qy);
-					// For hbase 0.98+, empty FilterList() will filter all rows, so we need return null instead
-                    return null;
-				} else {
-					final String errMsg = "Entity " + ed.getEntityClass().getSimpleName() + " defined partition, "
-							+ "but query doesn't provide partition condition! Query: " + qy; 
-					LOG.error(errMsg);
-					throw new IllegalArgumentException(errMsg);
-				}
-			}
-			EagleQueryParser parser = new EagleQueryParser(qy);
-			_queryExpression = parser.parse();
-			
-			//TODO: build customize filter for EXP{<Expression>}
-			HBaseFilterBuilder builder = new HBaseFilterBuilder(ed, _queryExpression, _filterIfMissing);
-			FilterList flist = builder.buildFilters();
-			_partitionValues = builder.getPartitionValues();
-			_filterFields = builder.getFilterFields();
-			return flist;
-		} catch (InstantiationException e) {
-			final String errMsg = "Got an InstantiationException: " + e.getMessage();
-			throw new EagleQueryParseException(_serviceName + " entity does not exist! " + errMsg);
-		} catch (IllegalAccessException e) {
-			final String errMsg = "Got an IllegalAccessException: " + e.getMessage();
-			throw new EagleQueryParseException(_serviceName + " entity does not exist! " + errMsg);
-		}
-	}
-	
-	public String serviceName(){
-		return _serviceName;
-	}
-	
-	public List<String> outputFields(){
-		return _outputFields;
-	}
-
-	public Filter filter(){
-		return _filter;
-	}
-	
-	public List<String> groupbyFields(){
-		return _groupbyFields;
-	}
-	
-	public List<AggregateFunctionType> aggregateFunctionTypes(){
-		return _aggregateFunctionTypes;
-	}
-	
-	public List<String> aggregateFields(){
-		return _aggregateFields;
-	}
-	
-	public List<SortOption> sortOptions(){
-		return _sortOptions;
-	}
-
-	public List<AggregateFunctionType> sortFunctions() {
-		return _sortFunctionTypes;
-	}
-	
-	public List<String> sortFields() {
-		return _sortFields;
-	}
-
-	/**
-	 * Output all fields (i.e. has * in out fields)
-	 *
-	 * @return
-	 */
-	public boolean isOutputAll(){ return _outputAll;}
-	public Map<String,String> getOutputAlias(){
-		return _outputAlias;
-	}
-}



Mime
View raw message