/**
*
*/
package ua.vntu.amon.provider.test;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import ua.vntu.amon.provider.AbstractEntity;
import ua.vntu.amon.provider.Counter;
/**
* Test counter implementation.
* @author Sergey
*/
public class TestCounter extends AbstractEntity implements Counter {
private static final int MAX_VAL= 1000;
private static final int VALUES_COUNT= 5000;
private List<Integer> data;
private Date start;
private Date end;
private int avg;
private int max;
private int min;
public TestCounter(String id, String name) {
generateData();
}
private void generateData() {
Random r = new Random(System.nanoTime());
long now = System.currentTimeMillis();
start = new Date(now - r.nextInt(10000000));
end = new Date(start.getTime() - r.nextInt(1000000));
data = new ArrayList<Integer>(VALUES_COUNT);
long sum = 0;
max = Integer.MIN_VALUE;
min = Integer.MAX_VALUE;
for(int i=0;i < VALUES_COUNT; i++) {
int val = r.nextInt(MAX_VAL);
sum += val;
if(min > val) min = val;
if(max < val) max = val;
data.add(val);
}
avg = (int) (sum / VALUES_COUNT);
}
public Integer getMax() {
return max;
}
public Integer getMin() {
return min;
}
public Integer getAverage() {
return avg;
}
public List<Integer> getValues(Date since, Date until) {
return null;
}
public Date getMinDate() { return start; }
public Date getMaxDate() { return end; }
}