franta-hg@39
|
1 |
package cz.frantovo.hrisniciSpameri.grafy;
|
franta-hg@39
|
2 |
|
franta-hg@40
|
3 |
import cz.frantovo.hrisniciSpameri.DenniSouhrn;
|
franta-hg@40
|
4 |
import cz.frantovo.hrisniciSpameri.dto.Soucet;
|
franta-hg@39
|
5 |
import de.laures.cewolf.DatasetProduceException;
|
franta-hg@39
|
6 |
import de.laures.cewolf.DatasetProducer;
|
franta-hg@39
|
7 |
import de.laures.cewolf.links.CategoryItemLinkGenerator;
|
franta-hg@39
|
8 |
import de.laures.cewolf.tooltips.CategoryToolTipGenerator;
|
franta-hg@39
|
9 |
import java.io.Serializable;
|
franta-hg@40
|
10 |
import java.util.Collection;
|
franta-hg@39
|
11 |
import java.util.Date;
|
franta-hg@40
|
12 |
import java.util.HashMap;
|
franta-hg@39
|
13 |
import java.util.Map;
|
franta-hg@39
|
14 |
import org.jfree.data.category.CategoryDataset;
|
franta-hg@39
|
15 |
import org.jfree.data.time.Day;
|
franta-hg@39
|
16 |
import org.jfree.data.time.TimeSeries;
|
franta-hg@39
|
17 |
import org.jfree.data.time.TimeSeriesCollection;
|
franta-hg@39
|
18 |
import org.jfree.data.xy.XYDataset;
|
franta-hg@39
|
19 |
|
franta-hg@39
|
20 |
/**
|
franta-hg@39
|
21 |
*
|
franta-hg@39
|
22 |
* @author fiki
|
franta-hg@39
|
23 |
*/
|
franta-hg@39
|
24 |
public class CasovyGrafUtoku implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable {
|
franta-hg@39
|
25 |
|
franta-hg@39
|
26 |
private static final long serialVersionUID = -9133218147909088777L;
|
franta-hg@39
|
27 |
|
franta-hg@40
|
28 |
public XYDataset produceDataset(Map parametry) throws DatasetProduceException {
|
franta-hg@39
|
29 |
|
franta-hg@40
|
30 |
DenniSouhrn ds = new DenniSouhrn();
|
franta-hg@40
|
31 |
ds.setZacatekString(String.valueOf(parametry.get("zacatek")));
|
franta-hg@40
|
32 |
ds.setKonecString(String.valueOf(parametry.get("konec")));
|
franta-hg@40
|
33 |
ds.setCilString(String.valueOf(parametry.get("cil")));
|
franta-hg@39
|
34 |
|
franta-hg@40
|
35 |
HashMap<Integer, TimeSeries> casoveRady = new HashMap<Integer, TimeSeries>();
|
franta-hg@39
|
36 |
|
franta-hg@40
|
37 |
for (Collection<Soucet> ss : ds.getSoucty().values()) {
|
franta-hg@39
|
38 |
|
franta-hg@40
|
39 |
for (Soucet s : ss) {
|
franta-hg@40
|
40 |
if (casoveRady.get(s.getCil().getId()) == null) {
|
franta-hg@40
|
41 |
casoveRady.put(s.getCil().getId(), new TimeSeries(s.getCil().getNazev(), org.jfree.data.time.Day.class));
|
franta-hg@40
|
42 |
}
|
franta-hg@40
|
43 |
casoveRady.get(s.getCil().getId()).add(new Day(s.getDen()), s.getPocet());
|
franta-hg@40
|
44 |
}
|
franta-hg@39
|
45 |
}
|
franta-hg@39
|
46 |
|
franta-hg@40
|
47 |
TimeSeriesCollection dataset = new TimeSeriesCollection();
|
franta-hg@40
|
48 |
for (TimeSeries ts : casoveRady.values()) {
|
franta-hg@40
|
49 |
dataset.addSeries(ts);
|
franta-hg@40
|
50 |
}
|
franta-hg@40
|
51 |
|
franta-hg@39
|
52 |
return dataset;
|
franta-hg@39
|
53 |
}
|
franta-hg@39
|
54 |
|
franta-hg@39
|
55 |
public boolean hasExpired(Map params, Date since) {
|
franta-hg@39
|
56 |
return (System.currentTimeMillis() - since.getTime()) > 5000;
|
franta-hg@39
|
57 |
}
|
franta-hg@39
|
58 |
|
franta-hg@39
|
59 |
public String getProducerId() {
|
franta-hg@39
|
60 |
return this.getClass().getSimpleName();
|
franta-hg@39
|
61 |
}
|
franta-hg@39
|
62 |
|
franta-hg@39
|
63 |
public String generateToolTip(CategoryDataset data, int series, int item) {
|
franta-hg@39
|
64 |
return "";
|
franta-hg@39
|
65 |
}
|
franta-hg@39
|
66 |
|
franta-hg@39
|
67 |
public String generateLink(Object dataset, int series, Object category) {
|
franta-hg@39
|
68 |
return "";
|
franta-hg@39
|
69 |
}
|
franta-hg@39
|
70 |
}
|