/**
* @author AKAPUSTA
*/
package de.laures.cewolf.example;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import java.util.Random;
import java.lang.Math;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.Minute;
import org.jfree.data.time.TimeSeries;
import de.laures.cewolf.DatasetProducer;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.tooltips.CategoryToolTipGenerator;
import de.laures.cewolf.links.CategoryItemLinkGenerator;
public class ProduceTimeSeriesDataExample implements DatasetProducer, Serializable {
private final int NUM_DATA_POINTS = 20;
private String date = null;
private String[] points = {"Data1", "Data2"};
public Object produceDataset(Map arg1) throws DatasetProduceException {
TimeSeriesCollection ts = new TimeSeriesCollection();
Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR, 6);
cal.set(Calendar.MINUTE, 30);
cal.set(Calendar.AM_PM, Calendar.AM);
Random ran = new Random();
Date[] calDomain = new Date[NUM_DATA_POINTS];
Float[] dset1 = new Float[NUM_DATA_POINTS];
Float[] dset2 = new Float[NUM_DATA_POINTS];
for(int i=0; i<NUM_DATA_POINTS; i++){
calDomain[i] = cal.getTime();
cal.add(Calendar.MINUTE, 15);
}
for (int j=0; j<NUM_DATA_POINTS; j++){
float val1 = ran.nextFloat();
if (val1 < 0.0){
val1 = Math.abs(val1);
}
dset1[j] = new Float(val1);
}
for (int n=0; n<NUM_DATA_POINTS; n++){
float val2 = ran.nextFloat();
if (val2 < 0.0){
val2 = Math.abs(val2);
}
dset2[n] = new Float(val2);
}
for(int w=0; w<points.length; w++){
TimeSeries testts = new TimeSeries(points[w], Minute.class);
for (int count=0; count<NUM_DATA_POINTS; count++){
if (w==0) {
testts.add(new Minute(calDomain[count]), dset1[count]);
} else if (w==1) {
testts.add(new Minute(calDomain[count]), dset2[count]);
}
}
ts.addSeries(testts);
}
return ts;
}
public boolean hasExpired(Map map1, Date date1){
return true;
}
public String getProducerId(){
return "chart data";
}
public String getDate(){
return date;
}
public void setDate(String newD){
this.date = newD;
}
public String[] getPoints(){
return points;
}
public void setPoints(String[] newPoints){
this.points = newPoints;
}
}