1 22 23 package de.laures.cewolf.example; 24 25 import java.io.Serializable ; 26 import java.util.Date ; 27 import java.util.Map ; 28 29 import org.apache.commons.logging.Log; 30 import org.apache.commons.logging.LogFactory; 31 import org.jfree.data.category.CategoryDataset; 32 import org.jfree.data.category.DefaultCategoryDataset; 33 34 import de.laures.cewolf.DatasetProduceException; 35 import de.laures.cewolf.DatasetProducer; 36 import de.laures.cewolf.links.CategoryItemLinkGenerator; 37 import de.laures.cewolf.tooltips.CategoryToolTipGenerator; 38 39 43 public class PageViewCountData implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable { 44 45 private static final Log log = LogFactory.getLog(PageViewCountData.class); 46 47 private final String [] categories = {"mon", "tue", "wen", "thu", "fri", "sat", "sun"}; 50 private final String [] seriesNames = {"cewolfset.jsp", "tutorial.jsp", "testpage.jsp", "performancetest.jsp"}; 51 52 55 public Object produceDataset(Map params) throws DatasetProduceException { 56 log.debug("producing data."); 57 DefaultCategoryDataset dataset = new DefaultCategoryDataset(){ 58 61 protected void finalize() throws Throwable { 62 super.finalize(); 63 log.debug(this +" finalized."); 64 } 65 }; 66 for (int series = 0; series < seriesNames.length; series ++) { 67 int lastY = (int)(Math.random() * 1000 + 1000); 68 for (int i = 0; i < categories.length; i++) { 69 final int y = lastY + (int)(Math.random() * 200 - 100); 70 lastY = y; 71 dataset.addValue(y, seriesNames[series], categories[i]); 72 } 73 } 74 return dataset; 75 } 76 77 81 public boolean hasExpired(Map params, Date since) { 82 log.debug(getClass().getName() + "hasExpired()"); 83 return (System.currentTimeMillis() - since.getTime()) > 5000; 84 } 85 86 89 public String getProducerId() { 90 return "PageViewCountData DatasetProducer"; 91 } 92 93 96 public String generateLink(Object data, int series, Object category) { 97 return seriesNames[series]; 98 } 99 100 103 protected void finalize() throws Throwable { 104 super.finalize(); 105 log.debug(this + " finalized."); 106 } 107 108 111 public String generateToolTip(CategoryDataset arg0, int series, int arg2) { 112 return seriesNames[series]; 113 } 114 115 } 116 | Popular Tags |