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