java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/grafy/CasovyGrafUtoku.java
author František Kučera <franta-hg@frantovo.cz>
Sun Mar 01 13:04:10 2009 +0100 (2009-03-01)
changeset 40 fd29fd5a8e29
parent 39 be6383d38a3a
permissions -rw-r--r--
Graf zobrazuje skutečná data – Počty útoků za den
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
}