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 org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; public class RandomXYData implements DatasetProducer, Serializable { public Object produceDataset (Map params) throws DatasetProduceException { XYSeries xys = new XYSeries("Example XY Dataset"); int maxVal = 100; if (params.containsKey("maxVal")) maxVal = Integer.parseInt((String) params.get("maxVal")); int minVal = -100; if (params.containsKey("minVal")) minVal = Integer.parseInt((String) params.get("minVal")); int inset = (maxVal - minVal) / 2; double last = (double) (maxVal - inset); for (int i = -10; i <= 10; i++) { double y = Math.max(Math.min(last + (Math.random() * (double) inset - (double) (inset / 2)), (double) maxVal), (double) minVal); xys.add((double) i, y); last = y; } return new XYSeriesCollection(xys); } public boolean hasExpired(Map params, Date since) { return false; } public String getProducerId() { return "RandomXYData DatsetProducer"; } }