Repository: eagle
Updated Branches:
  refs/heads/master 06a828f08 -> c970bb426


http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java
 
b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java
index 91b3738..cdfc5bc 100644
--- 
a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java
+++ 
b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java
@@ -33,111 +33,112 @@ import org.junit.Test;
 import org.apache.eagle.query.aggregate.timeseries.SortOption;
 
 public class TestPostFlatAggregateSort {
-       private static final Logger logger = 
Logger.getLogger(TestPostFlatAggregateSort.class);
-       @Test
-       public void testSort(){
-               final String aggField1Value1 = "field1value1";
-               final String aggField1Value2 = "field1value2";
-               final String aggField2Value1 = "field2value1";
-               final String aggField2Value2 = "field2value2";
-               final Double d1 = new Double(1);
-               final Double d2 = new Double(2);
-               final Double d3 = new Double(3);
-               final Double d4 = new Double(4);
-               @SuppressWarnings("serial")
-               Map<List<String>, List<Double>> result = new 
HashMap<List<String>, List<Double>>(){{
-                       put(Arrays.asList(aggField1Value1, aggField2Value1), 
Arrays.asList(d2, d3));
-                       put(Arrays.asList(aggField1Value2, aggField2Value2), 
Arrays.asList(d1, d4));
-               }};
-               
-               // sort by function1
-               SortOption so = new SortOption();
-               so.setIndex(0);
-               so.setAscendant(true);
-               List<SortOption> sortOptions = Arrays.asList(so);
-               List<Map.Entry<List<String>, List<Double>>> set = 
-                               PostFlatAggregateSort.sort(result, sortOptions, 
0);
-               JsonFactory factory = new JsonFactory();
-               ObjectMapper mapper = new ObjectMapper(factory);
-               Assert.assertEquals(2, set.size());
-               Iterator<Map.Entry<List<String>, List<Double>>> it = 
set.iterator();
-               Map.Entry<List<String>, List<Double>> e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
-               Assert.assertTrue(e.getValue().get(0).equals(d1));
-               e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
-               Assert.assertTrue(e.getValue().get(0).equals(d2));
-               try{
-                       String value = mapper.writeValueAsString(set);
-                       logger.info(value);
-               }catch(Exception ex){
-                       logger.error("fail with mapping", ex);
-                       Assert.fail("fail with mapping");
-               }
-               
-               
-               // sort by function2
-               so = new SortOption();
-               so.setIndex(1);
-               so.setAscendant(true);
-               sortOptions = Arrays.asList(so);
-               set = PostFlatAggregateSort.sort(result, sortOptions, 0);
-               factory = new JsonFactory();
-               mapper = new ObjectMapper(factory);
-               Assert.assertEquals(2, set.size());
-               it = set.iterator();
-               e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
-               Assert.assertTrue(e.getValue().get(0).equals(d2));
-               e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
-               Assert.assertTrue(e.getValue().get(0).equals(d1));
-               try{
-                       String value = mapper.writeValueAsString(set);
-                       logger.info(value);
-               }catch(Exception ex){
-                       logger.error("fail with mapping", ex);
-                       Assert.fail("fail with mapping");
-               }
-       }
-       
-       @Test
-       public void testDefaultSort(){
-               final String aggField1Value1 = "xyz";
-               final String aggField1Value2 = "xyz";
-               final String aggField2Value1 = "abd";
-               final String aggField2Value2 = "abc";
-               final Double d1 = new Double(1);
-               final Double d2 = new Double(1);
-               @SuppressWarnings("serial")
-               Map<List<String>, List<Double>> result = new 
HashMap<List<String>, List<Double>>(){{
-                       put(Arrays.asList(aggField1Value1, aggField2Value1), 
Arrays.asList(d2));
-                       put(Arrays.asList(aggField1Value2, aggField2Value2), 
Arrays.asList(d1));
-               }};
-               
-               // sort by function1
-               SortOption so = new SortOption();
-               so.setIndex(0);
-               so.setAscendant(true);
-               List<SortOption> sortOptions = Arrays.asList(so);
-               List<Map.Entry<List<String>, List<Double>>> set = 
-                               PostFlatAggregateSort.sort(result, sortOptions, 
0);
-               JsonFactory factory = new JsonFactory();
-               ObjectMapper mapper = new ObjectMapper(factory);
-               Assert.assertEquals(2, set.size());
-               Iterator<Map.Entry<List<String>, List<Double>>> it = 
set.iterator();
-               Map.Entry<List<String>, List<Double>> e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
-               Assert.assertTrue(e.getValue().get(0).equals(d1));
-               e = it.next();
-               Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
-               Assert.assertTrue(e.getValue().get(0).equals(d2));
-               try{
-                       String value = mapper.writeValueAsString(set);
-                       logger.info(value);
-               }catch(Exception ex){
-                       logger.error("fail with mapping", ex);
-                       Assert.fail("fail with mapping");
-               }
-       }
+    private static final Logger logger = 
Logger.getLogger(TestPostFlatAggregateSort.class);
+
+    @Test
+    public void testSort() {
+        final String aggField1Value1 = "field1value1";
+        final String aggField1Value2 = "field1value2";
+        final String aggField2Value1 = "field2value1";
+        final String aggField2Value2 = "field2value2";
+        final Double d1 = new Double(1);
+        final Double d2 = new Double(2);
+        final Double d3 = new Double(3);
+        final Double d4 = new Double(4);
+        @SuppressWarnings("serial")
+        Map<List<String>, List<Double>> result = new HashMap<List<String>, 
List<Double>>() {{
+            put(Arrays.asList(aggField1Value1, aggField2Value1), 
Arrays.asList(d2, d3));
+            put(Arrays.asList(aggField1Value2, aggField2Value2), 
Arrays.asList(d1, d4));
+        }};
+
+        // sort by function1
+        SortOption so = new SortOption();
+        so.setIndex(0);
+        so.setAscendant(true);
+        List<SortOption> sortOptions = Arrays.asList(so);
+        List<Map.Entry<List<String>, List<Double>>> set =
+            PostFlatAggregateSort.sort(result, sortOptions, 0);
+        JsonFactory factory = new JsonFactory();
+        ObjectMapper mapper = new ObjectMapper(factory);
+        Assert.assertEquals(2, set.size());
+        Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator();
+        Map.Entry<List<String>, List<Double>> e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
+        Assert.assertTrue(e.getValue().get(0).equals(d1));
+        e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
+        Assert.assertTrue(e.getValue().get(0).equals(d2));
+        try {
+            String value = mapper.writeValueAsString(set);
+            logger.info(value);
+        } catch (Exception ex) {
+            logger.error("fail with mapping", ex);
+            Assert.fail("fail with mapping");
+        }
+
+
+        // sort by function2
+        so = new SortOption();
+        so.setIndex(1);
+        so.setAscendant(true);
+        sortOptions = Arrays.asList(so);
+        set = PostFlatAggregateSort.sort(result, sortOptions, 0);
+        factory = new JsonFactory();
+        mapper = new ObjectMapper(factory);
+        Assert.assertEquals(2, set.size());
+        it = set.iterator();
+        e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
+        Assert.assertTrue(e.getValue().get(0).equals(d2));
+        e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
+        Assert.assertTrue(e.getValue().get(0).equals(d1));
+        try {
+            String value = mapper.writeValueAsString(set);
+            logger.info(value);
+        } catch (Exception ex) {
+            logger.error("fail with mapping", ex);
+            Assert.fail("fail with mapping");
+        }
+    }
+
+    @Test
+    public void testDefaultSort() {
+        final String aggField1Value1 = "xyz";
+        final String aggField1Value2 = "xyz";
+        final String aggField2Value1 = "abd";
+        final String aggField2Value2 = "abc";
+        final Double d1 = new Double(1);
+        final Double d2 = new Double(1);
+        @SuppressWarnings("serial")
+        Map<List<String>, List<Double>> result = new HashMap<List<String>, 
List<Double>>() {{
+            put(Arrays.asList(aggField1Value1, aggField2Value1), 
Arrays.asList(d2));
+            put(Arrays.asList(aggField1Value2, aggField2Value2), 
Arrays.asList(d1));
+        }};
+
+        // sort by function1
+        SortOption so = new SortOption();
+        so.setIndex(0);
+        so.setAscendant(true);
+        List<SortOption> sortOptions = Arrays.asList(so);
+        List<Map.Entry<List<String>, List<Double>>> set =
+            PostFlatAggregateSort.sort(result, sortOptions, 0);
+        JsonFactory factory = new JsonFactory();
+        ObjectMapper mapper = new ObjectMapper(factory);
+        Assert.assertEquals(2, set.size());
+        Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator();
+        Map.Entry<List<String>, List<Double>> e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2));
+        Assert.assertTrue(e.getValue().get(0).equals(d1));
+        e = it.next();
+        Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1));
+        Assert.assertTrue(e.getValue().get(0).equals(d2));
+        try {
+            String value = mapper.writeValueAsString(set);
+            logger.info(value);
+        } catch (Exception ex) {
+            logger.error("fail with mapping", ex);
+            Assert.fail("fail with mapping");
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java
----------------------------------------------------------------------
diff --git 
a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java
 
b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java
index b72bdb7..0ec00d5 100755
--- 
a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java
+++ 
b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java
@@ -32,144 +32,145 @@ import org.slf4j.LoggerFactory;
 import org.apache.eagle.log.entity.test.TestEntity;
 
 public class TestTimeSeriesAggregator {
-       private static final Logger LOG = 
LoggerFactory.getLogger(TestFlatAggregator.class);
-       @SuppressWarnings("serial")
-       private TestEntity createEntity(final String cluster, final String 
datacenter, final String rack, int numHosts, long numClusters, long timestamp){
-               TestEntity entity = new TestEntity();
-               Map<String, String> tags = new HashMap<String, String>(){{
-                       put("cluster", cluster);
-                       put("datacenter", datacenter);
-                       put("rack", rack);
-               }}; 
-               entity.setTags(tags);
-               entity.setNumHosts(numHosts);
-               entity.setNumClusters(numClusters);
-               entity.setTimestamp(timestamp);
-               return entity;
-       }
-       
-       @Test
-       public void testTimeSeriesAggregator(){
-               TestEntity[] entities = new TestEntity[8];
-               entities[0] = createEntity("cluster1", "dc1", "rack123", 12, 2, 
1386120000*1000); // bucket 0
-               entities[1] = createEntity("cluster1", "dc1", "rack123", 20, 1, 
1386121060*1000); // bucket 17
-               entities[2] = createEntity("cluster1", "dc1", "rack128", 10, 0, 
1386121070*1000); // bucket 17
-               entities[3] = createEntity("cluster2", "dc1", "rack125", 9,   
2, 1386122122*1000); // bucket 35
-               entities[4] = createEntity("cluster2", "dc1", "rack126", 15,  
5, 1386123210*1000); // bucket 53
-               entities[5] = createEntity("cluster2", "dc1", "rack234", 25,  
1, 1386123480*1000); // bucket 58
-               entities[6] = createEntity("cluster2", "dc1", "rack234", 12,  
0, 1386123481*1000); // bucket 58
-               entities[7] = createEntity("cluster1", "dc1", "rack123", 3,    
2, 1386123482*1000); // bucket 58
-               
-               TimeSeriesAggregator tsAgg = new 
TimeSeriesAggregator(Arrays.asList("cluster"), 
Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"),
-                               1386120000*1000, 1386123600*1000, 60*1000);
-               try{
-                       for(TestEntity e : entities){
-                               tsAgg.accumulate(e);
-                       }
-                       Map<List<String>, List<Double>> result = tsAgg.result();
-                       Assert.assertEquals(result.size(), 6);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), 
(double)(entities[0].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), 
(double)(entities[3].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), 
(double)(entities[4].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), 
(double)(entities[7].getNumHosts()), 0.001);
-                       
-                       Map<List<String>, List<double[]>> tsResult = 
tsAgg.getMetric();
-                       Assert.assertEquals(tsResult.size(), 2);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], 
(double)(entities[0].getNumHosts()), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], 
(double)(entities[3].getNumHosts()), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], 
(double)(entities[4].getNumHosts()), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], 
(double)(entities[7].getNumHosts()), 0.001);
-               }catch(Exception ex){
-                       LOG.error("Can not aggregate", ex);
-                       Assert.fail("Can not aggregate");
-               }
-               
-               tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), 
Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"), 
-                               1386120000*1000, 1386123600*1000, 60*1000);
-               try{
-                       for(TestEntity e : entities){
-                               tsAgg.accumulate(e);
-                       }
-                       Map<List<String>, List<Double>> result = tsAgg.result();
-                       Assert.assertEquals(result.size(), 5);
-                       
Assert.assertEquals(result.get(Arrays.asList("0")).get(0), 
(double)(entities[0].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("17")).get(0), 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("35")).get(0), 
(double)(entities[3].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("53")).get(0), 
(double)(entities[4].getNumHosts()), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("58")).get(0), 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()),
 0.001);
-                       
-                       Map<List<String>, List<double[]>> tsResult = 
tsAgg.getMetric();
-                       Assert.assertEquals(tsResult.size(), 1);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0).length, 60);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[0], (double)(entities[0].getNumHosts()), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[17], 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[35], (double)(entities[3].getNumHosts()), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[53], (double)(entities[4].getNumHosts()), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[58], 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()),
 0.001);
-               }catch(Exception ex){
-                       LOG.error("Can not aggregate", ex);
-                       Assert.fail("Can not aggregate");
-               }
-               
-               tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), 
Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), 
-                               1386120000*1000, 1386123600*1000, 60*1000);
-               try{
-                       for(TestEntity e : entities){
-                               tsAgg.accumulate(e);
-                       }
-                       Map<List<String>, List<Double>> result = tsAgg.result();
-                       Assert.assertEquals(result.size(), 6);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), 
(double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), 
(double)(2), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), 
(double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), 
(double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), 
(double)(2), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), 
(double)(1), 0.001);
-                       
-                       Map<List<String>, List<double[]>> tsResult = 
tsAgg.getMetric();
-                       Assert.assertEquals(tsResult.size(), 2);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], 
(double)(1), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], 
(double)(2), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], 
(double)(1), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], 
(double)(1), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], 
(double)(2), 0.001);
-                       
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], 
(double)(1), 0.001);
-               }catch(Exception ex){
-                       LOG.error("Can not aggregate", ex);
-                       Assert.fail("Can not aggregate");
-               }
-               
-               tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), 
Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), 
-                               1386120000*1000, 1386123600*1000, 60*1000);
-               try{
-                       for(TestEntity e : entities){
-                               tsAgg.accumulate(e);
-                       }
-                       Map<List<String>, List<Double>> result = tsAgg.result();
-                       Assert.assertEquals(result.size(), 5);
-                       
Assert.assertEquals(result.get(Arrays.asList("0")).get(0), (double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("17")).get(0), (double)(2), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("35")).get(0), (double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("53")).get(0), (double)(1), 0.001);
-                       
Assert.assertEquals(result.get(Arrays.asList("58")).get(0), (double)(3), 0.001);
-                       
-                       Map<List<String>, List<double[]>> tsResult = 
tsAgg.getMetric();
-                       Assert.assertEquals(tsResult.size(), 1);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0).length, 60);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[0], (double)(1), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[17], (double)(2), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[35], (double)(1), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[53], (double)(1), 0.001);
-                       Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[58], (double)(3), 0.001);
-               }catch(Exception ex){
-                       LOG.error("Can not aggregate", ex);
-                       Assert.fail("Can not aggregate");
-               }
-       }
+    private static final Logger LOG = 
LoggerFactory.getLogger(TestFlatAggregator.class);
+
+    @SuppressWarnings("serial")
+    private TestEntity createEntity(final String cluster, final String 
datacenter, final String rack, int numHosts, long numClusters, long timestamp) {
+        TestEntity entity = new TestEntity();
+        Map<String, String> tags = new HashMap<String, String>() {{
+            put("cluster", cluster);
+            put("datacenter", datacenter);
+            put("rack", rack);
+        }};
+        entity.setTags(tags);
+        entity.setNumHosts(numHosts);
+        entity.setNumClusters(numClusters);
+        entity.setTimestamp(timestamp);
+        return entity;
+    }
+
+    @Test
+    public void testTimeSeriesAggregator() {
+        TestEntity[] entities = new TestEntity[8];
+        entities[0] = createEntity("cluster1", "dc1", "rack123", 12, 2, 
1386120000*1000); // bucket 0
+        entities[1] = createEntity("cluster1", "dc1", "rack123", 20, 1, 
1386121060*1000); // bucket 17
+        entities[2] = createEntity("cluster1", "dc1", "rack128", 10, 0, 
1386121070*1000); // bucket 17
+        entities[3] = createEntity("cluster2", "dc1", "rack125", 9,   2, 
1386122122*1000); // bucket 35
+        entities[4] = createEntity("cluster2", "dc1", "rack126", 15,  5, 
1386123210*1000); // bucket 53
+        entities[5] = createEntity("cluster2", "dc1", "rack234", 25,  1, 
1386123480*1000); // bucket 58
+        entities[6] = createEntity("cluster2", "dc1", "rack234", 12,  0, 
1386123481*1000); // bucket 58
+        entities[7] = createEntity("cluster1", "dc1", "rack123", 3,    2, 
1386123482*1000); // bucket 58
+
+        TimeSeriesAggregator tsAgg = new 
TimeSeriesAggregator(Arrays.asList("cluster"), 
Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"),
+                                                              1386120000*1000, 
1386123600*1000, 60*1000);
+        try {
+            for (TestEntity e : entities) {
+                tsAgg.accumulate(e);
+            }
+            Map<List<String>, List<Double>> result = tsAgg.result();
+            Assert.assertEquals(result.size(), 6);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"0")).get(0), (double)(entities[0].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"17")).get(0), (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 
0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"35")).get(0), (double)(entities[3].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"53")).get(0), (double)(entities[4].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"58")).get(0), (double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 
0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"58")).get(0), (double)(entities[7].getNumHosts()), 0.001);
+
+            Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric();
+            Assert.assertEquals(tsResult.size(), 2);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], 
(double)(entities[0].getNumHosts()), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], 
(double)(entities[3].getNumHosts()), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], 
(double)(entities[4].getNumHosts()), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], 
(double)(entities[7].getNumHosts()), 0.001);
+        } catch (Exception ex) {
+            LOG.error("Can not aggregate", ex);
+            Assert.fail("Can not aggregate");
+        }
+
+        tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), 
Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"),
+                                         1386120000*1000, 1386123600*1000, 
60*1000);
+        try {
+            for (TestEntity e : entities) {
+                tsAgg.accumulate(e);
+            }
+            Map<List<String>, List<Double>> result = tsAgg.result();
+            Assert.assertEquals(result.size(), 5);
+            Assert.assertEquals(result.get(Arrays.asList("0")).get(0), 
(double)(entities[0].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("17")).get(0), 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("35")).get(0), 
(double)(entities[3].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("53")).get(0), 
(double)(entities[4].getNumHosts()), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("58")).get(0), 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()),
 0.001);
+
+            Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric();
+            Assert.assertEquals(tsResult.size(), 1);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0).length, 60);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[0], (double)(entities[0].getNumHosts()), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[17], 
(double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[35], (double)(entities[3].getNumHosts()), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[53], (double)(entities[4].getNumHosts()), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[58], 
(double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()),
 0.001);
+        } catch (Exception ex) {
+            LOG.error("Can not aggregate", ex);
+            Assert.fail("Can not aggregate");
+        }
+
+        tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), 
Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"),
+                                         1386120000*1000, 1386123600*1000, 
60*1000);
+        try {
+            for (TestEntity e : entities) {
+                tsAgg.accumulate(e);
+            }
+            Map<List<String>, List<Double>> result = tsAgg.result();
+            Assert.assertEquals(result.size(), 6);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"0")).get(0), (double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"17")).get(0), (double)(2), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"35")).get(0), (double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"53")).get(0), (double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster2", 
"58")).get(0), (double)(2), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("cluster1", 
"58")).get(0), (double)(1), 0.001);
+
+            Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric();
+            Assert.assertEquals(tsResult.size(), 2);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], 
(double)(1), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], 
(double)(2), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], 
(double)(1), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], 
(double)(1), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], 
(double)(2), 0.001);
+            
Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], 
(double)(1), 0.001);
+        } catch (Exception ex) {
+            LOG.error("Can not aggregate", ex);
+            Assert.fail("Can not aggregate");
+        }
+
+        tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), 
Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"),
+                                         1386120000*1000, 1386123600*1000, 
60*1000);
+        try {
+            for (TestEntity e : entities) {
+                tsAgg.accumulate(e);
+            }
+            Map<List<String>, List<Double>> result = tsAgg.result();
+            Assert.assertEquals(result.size(), 5);
+            Assert.assertEquals(result.get(Arrays.asList("0")).get(0), 
(double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("17")).get(0), 
(double)(2), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("35")).get(0), 
(double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("53")).get(0), 
(double)(1), 0.001);
+            Assert.assertEquals(result.get(Arrays.asList("58")).get(0), 
(double)(3), 0.001);
+
+            Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric();
+            Assert.assertEquals(tsResult.size(), 1);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0).length, 60);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[0], (double)(1), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[17], (double)(2), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[35], (double)(1), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[53], (double)(1), 0.001);
+            Assert.assertEquals(tsResult.get(new 
ArrayList<String>()).get(0)[58], (double)(3), 0.001);
+        } catch (Exception ex) {
+            LOG.error("Can not aggregate", ex);
+            Assert.fail("Can not aggregate");
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-dev/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/eagle-dev/checkstyle-suppressions.xml 
b/eagle-dev/checkstyle-suppressions.xml
index 74b63c5..81431ba 100644
--- a/eagle-dev/checkstyle-suppressions.xml
+++ b/eagle-dev/checkstyle-suppressions.xml
@@ -20,4 +20,6 @@
     <!-- Suppresses files in the src/main folder. To be used for rules which 
only apply to test
          code. -->
     <suppress files="[\\/]src[\\/]main[\\/].*" id="TestScope"/>
+
+    <suppress checks="Javadoc" files="."/>
 </suppressions>

Reply via email to