franta-hg@39: package cz.frantovo.hrisniciSpameri.grafy; franta-hg@39: franta-hg@40: import cz.frantovo.hrisniciSpameri.DenniSouhrn; franta-hg@40: import cz.frantovo.hrisniciSpameri.dto.Soucet; franta-hg@39: import de.laures.cewolf.DatasetProduceException; franta-hg@39: import de.laures.cewolf.DatasetProducer; franta-hg@39: import de.laures.cewolf.links.CategoryItemLinkGenerator; franta-hg@39: import de.laures.cewolf.tooltips.CategoryToolTipGenerator; franta-hg@39: import java.io.Serializable; franta-hg@40: import java.util.Collection; franta-hg@39: import java.util.Date; franta-hg@40: import java.util.HashMap; franta-hg@39: import java.util.Map; franta-hg@39: import org.jfree.data.category.CategoryDataset; franta-hg@39: import org.jfree.data.time.Day; franta-hg@39: import org.jfree.data.time.TimeSeries; franta-hg@39: import org.jfree.data.time.TimeSeriesCollection; franta-hg@39: import org.jfree.data.xy.XYDataset; franta-hg@39: franta-hg@39: /** franta-hg@39: * franta-hg@39: * @author fiki franta-hg@39: */ franta-hg@39: public class CasovyGrafUtoku implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable { franta-hg@39: franta-hg@39: private static final long serialVersionUID = -9133218147909088777L; franta-hg@39: franta-hg@40: public XYDataset produceDataset(Map parametry) throws DatasetProduceException { franta-hg@39: franta-hg@40: DenniSouhrn ds = new DenniSouhrn(); franta-hg@40: ds.setZacatekString(String.valueOf(parametry.get("zacatek"))); franta-hg@40: ds.setKonecString(String.valueOf(parametry.get("konec"))); franta-hg@40: ds.setCilString(String.valueOf(parametry.get("cil"))); franta-hg@39: franta-hg@40: HashMap casoveRady = new HashMap(); franta-hg@39: franta-hg@40: for (Collection ss : ds.getSoucty().values()) { franta-hg@39: franta-hg@40: for (Soucet s : ss) { franta-hg@40: if (casoveRady.get(s.getCil().getId()) == null) { franta-hg@40: casoveRady.put(s.getCil().getId(), new TimeSeries(s.getCil().getNazev(), org.jfree.data.time.Day.class)); franta-hg@40: } franta-hg@40: casoveRady.get(s.getCil().getId()).add(new Day(s.getDen()), s.getPocet()); franta-hg@40: } franta-hg@39: } franta-hg@39: franta-hg@40: TimeSeriesCollection dataset = new TimeSeriesCollection(); franta-hg@40: for (TimeSeries ts : casoveRady.values()) { franta-hg@40: dataset.addSeries(ts); franta-hg@40: } franta-hg@40: franta-hg@39: return dataset; franta-hg@39: } franta-hg@39: franta-hg@39: public boolean hasExpired(Map params, Date since) { franta-hg@39: return (System.currentTimeMillis() - since.getTime()) > 5000; franta-hg@39: } franta-hg@39: franta-hg@39: public String getProducerId() { franta-hg@39: return this.getClass().getSimpleName(); franta-hg@39: } franta-hg@39: franta-hg@39: public String generateToolTip(CategoryDataset data, int series, int item) { franta-hg@39: return ""; franta-hg@39: } franta-hg@39: franta-hg@39: public String generateLink(Object dataset, int series, Object category) { franta-hg@39: return ""; franta-hg@39: } franta-hg@39: }