java/HrisniciSpameri/src/java/cz/frantovo/hrisniciSpameri/grafy/CasovyGrafUtoku.java
author František Kučera <franta-hg@frantovo.cz>
Sun, 01 Mar 2009 01:08:24 +0100
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)
     1 package cz.frantovo.hrisniciSpameri.grafy;
     2 
     3 import de.laures.cewolf.DatasetProduceException;
     4 import de.laures.cewolf.DatasetProducer;
     5 import de.laures.cewolf.links.CategoryItemLinkGenerator;
     6 import de.laures.cewolf.tooltips.CategoryToolTipGenerator;
     7 import java.io.Serializable;
     8 import java.util.Calendar;
     9 import java.util.Date;
    10 import java.util.Map;
    11 import org.jfree.data.category.CategoryDataset;
    12 import org.jfree.data.time.Day;
    13 import org.jfree.data.time.TimeSeries;
    14 import org.jfree.data.time.TimeSeriesCollection;
    15 import org.jfree.data.xy.XYDataset;
    16 
    17 /**
    18  *
    19  * @author fiki
    20  */
    21 public class CasovyGrafUtoku implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable {
    22 
    23     private static final long serialVersionUID = -9133218147909088777L;
    24 
    25     public XYDataset produceDataset(Map params) throws DatasetProduceException {
    26 
    27         System.setProperty("java.awt.headless", "true");
    28 
    29         TimeSeries timeseries = new TimeSeries("fond", org.jfree.data.time.Day.class);
    30         TimeSeriesCollection dataset = new TimeSeriesCollection();
    31 
    32 
    33         Calendar datum = Calendar.getInstance();
    34         for (int i = 0; i < 11; i++) {
    35             datum.add(Calendar.DAY_OF_YEAR, -1);
    36             double nahodneCislo = 100 - 10 * i - 20 * Math.random();
    37             timeseries.add(new Day(datum.getTime()), nahodneCislo);
    38         }
    39 
    40         dataset.addSeries(timeseries);
    41         return dataset;
    42     }
    43 
    44     public boolean hasExpired(Map params, Date since) {
    45         return (System.currentTimeMillis() - since.getTime()) > 5000;
    46     }
    47 
    48     public String getProducerId() {
    49         return this.getClass().getSimpleName();
    50     }
    51 
    52     public String generateToolTip(CategoryDataset data, int series, int item) {
    53         return "";
    54     }
    55 
    56     public String generateLink(Object dataset, int series, Object category) {
    57         return "";
    58     }
    59 }