java/cewolf-1.0/src/main/java/de/laures/cewolf/dp/MovingAverageDatasetProducer.java
1 package de.laures.cewolf.dp;
3 import java.io.Serializable;
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.jfree.data.general.Dataset;
10 import org.jfree.data.time.MovingAverage;
11 import org.jfree.data.xy.XYDataset;
13 import de.laures.cewolf.DatasetProduceException;
14 import de.laures.cewolf.DatasetProducer;
19 * To change this generated comment edit the template variable "typecomment":
20 * Window>Preferences>Java>Templates.
21 * To enable and disable the creation of type comments go to
22 * Window>Preferences>Java>Code Generation.
24 public class MovingAverageDatasetProducer implements DatasetProducer, Serializable {
26 private static final Log log = LogFactory.getLog(MovingAverageDatasetProducer.class);
29 * @see de.laures.cewolf.DatasetProducer#produceDataset(Map)
31 public Object produceDataset(Map params) throws DatasetProduceException {
33 DatasetProducer datasetProducer = (DatasetProducer)params.get("producer");
34 log.debug(datasetProducer);
35 Dataset dataset = (Dataset)datasetProducer.produceDataset(params);
36 String suffix = (String)params.get("suffix");
37 int period = ((Integer)params.get("period")).intValue();
38 int skip = ((Integer)params.get("skip")).intValue();
39 if(dataset instanceof XYDataset){
40 return MovingAverage.createMovingAverage((XYDataset)dataset, suffix, period, skip);
42 throw new DatasetProduceException("moving average only supported for XYDatasets");
47 * @see de.laures.cewolf.DatasetProducer#hasExpired(Map, Date)
49 public boolean hasExpired(Map params, Date since) {
54 * @see de.laures.cewolf.DatasetProducer#getProducerId()
56 public String getProducerId() {
57 return getClass().getName();