java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/grafy/CasovyGrafUtoku.java
author František Kučera <franta-hg@frantovo.cz>
Sun Mar 01 01:08:24 2009 +0100 (2009-03-01)
changeset 39 be6383d38a3a
child 40 fd29fd5a8e29
permissions -rw-r--r--
Zobrazujeme graf – zatím s pokusnými daty. Pozor na chybu: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
V konsoli se vypíše: X11 connection rejected because of wrong authentication.
Je potřeba přidat tuto volbu: -Djava.awt.headless=true
(ve webovém rozhraní GlassFishe a restartovat ho)
franta-hg@39
     1
package cz.frantovo.hrisniciSpameri.grafy;
franta-hg@39
     2
franta-hg@39
     3
import de.laures.cewolf.DatasetProduceException;
franta-hg@39
     4
import de.laures.cewolf.DatasetProducer;
franta-hg@39
     5
import de.laures.cewolf.links.CategoryItemLinkGenerator;
franta-hg@39
     6
import de.laures.cewolf.tooltips.CategoryToolTipGenerator;
franta-hg@39
     7
import java.io.Serializable;
franta-hg@39
     8
import java.util.Calendar;
franta-hg@39
     9
import java.util.Date;
franta-hg@39
    10
import java.util.Map;
franta-hg@39
    11
import org.jfree.data.category.CategoryDataset;
franta-hg@39
    12
import org.jfree.data.time.Day;
franta-hg@39
    13
import org.jfree.data.time.TimeSeries;
franta-hg@39
    14
import org.jfree.data.time.TimeSeriesCollection;
franta-hg@39
    15
import org.jfree.data.xy.XYDataset;
franta-hg@39
    16
franta-hg@39
    17
/**
franta-hg@39
    18
 *
franta-hg@39
    19
 * @author fiki
franta-hg@39
    20
 */
franta-hg@39
    21
public class CasovyGrafUtoku implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable {
franta-hg@39
    22
franta-hg@39
    23
    private static final long serialVersionUID = -9133218147909088777L;
franta-hg@39
    24
franta-hg@39
    25
    public XYDataset produceDataset(Map params) throws DatasetProduceException {
franta-hg@39
    26
franta-hg@39
    27
        System.setProperty("java.awt.headless", "true");
franta-hg@39
    28
franta-hg@39
    29
        TimeSeries timeseries = new TimeSeries("fond", org.jfree.data.time.Day.class);
franta-hg@39
    30
        TimeSeriesCollection dataset = new TimeSeriesCollection();
franta-hg@39
    31
franta-hg@39
    32
franta-hg@39
    33
        Calendar datum = Calendar.getInstance();
franta-hg@39
    34
        for (int i = 0; i < 11; i++) {
franta-hg@39
    35
            datum.add(Calendar.DAY_OF_YEAR, -1);
franta-hg@39
    36
            double nahodneCislo = 100 - 10 * i - 20 * Math.random();
franta-hg@39
    37
            timeseries.add(new Day(datum.getTime()), nahodneCislo);
franta-hg@39
    38
        }
franta-hg@39
    39
franta-hg@39
    40
        dataset.addSeries(timeseries);
franta-hg@39
    41
        return dataset;
franta-hg@39
    42
    }
franta-hg@39
    43
franta-hg@39
    44
    public boolean hasExpired(Map params, Date since) {
franta-hg@39
    45
        return (System.currentTimeMillis() - since.getTime()) > 5000;
franta-hg@39
    46
    }
franta-hg@39
    47
franta-hg@39
    48
    public String getProducerId() {
franta-hg@39
    49
        return this.getClass().getSimpleName();
franta-hg@39
    50
    }
franta-hg@39
    51
franta-hg@39
    52
    public String generateToolTip(CategoryDataset data, int series, int item) {
franta-hg@39
    53
        return "";
franta-hg@39
    54
    }
franta-hg@39
    55
franta-hg@39
    56
    public String generateLink(Object dataset, int series, Object category) {
franta-hg@39
    57
        return "";
franta-hg@39
    58
    }
franta-hg@39
    59
}