package de.laures.cewolf.example;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;
import de.laures.cewolf.links.CategoryItemLinkGenerator;
import de.laures.cewolf.tooltips.CategoryToolTipGenerator;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class PageViewCountData
implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable
{
private final String categories[] = {
"mon", "tue", "wen", "thu", "fri", "sat", "sun"
};
private final String seriesNames[] = {
"cewolfset.jsp", "tutorial.jsp", "testpage.jsp", "performancetest.jsp"
};
public Object produceDataset (Map params) throws DatasetProduceException
{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int series = 0; series < seriesNames.length; series++)
{
int lastY = (int)(Math.random() * 1000D + 1000D);
for (int i = 0; i < categories.length; i++)
{
int y = lastY + (int)(Math.random() * 200D - 100D);
lastY = y;
dataset.addValue(y, seriesNames[series], categories[i]);
}
}
return dataset;
}
public boolean hasExpired (Map params, Date since)
{
return System.currentTimeMillis() - since.getTime() > 0L;
}
public String getProducerId()
{
return "PageViewCountData DatasetProducer";
}
public String generateLink (Object data, int series, Object category)
{
return seriesNames[series];
}
public String generateToolTip(CategoryDataset arg0, int series, int arg2)
{
return seriesNames[series];
}
}