1 package net.sf.jasperreports.mysql.reports; 2 3 import java.awt.Color ; 4 import java.sql.Timestamp ; 5 6 import net.sf.jasperreports.engine.JRDefaultScriptlet; 7 import net.sf.jasperreports.engine.JRRenderable; 8 import net.sf.jasperreports.engine.JRScriptletException; 9 import net.sf.jasperreports.renderers.JCommonDrawableRenderer; 10 11 import org.jfree.chart.ChartFactory; 12 import org.jfree.chart.JFreeChart; 13 import org.jfree.data.time.Second; 14 import org.jfree.data.time.TimeSeries; 15 import org.jfree.data.time.TimeSeriesCollection; 16 17 20 public class StatusBScriptlet extends JRDefaultScriptlet 21 { 22 23 26 private TimeSeries bytesTimeSeries = null; 27 private TimeSeries connectionsTimeSeries = null; 28 29 32 public void afterReportInit() throws JRScriptletException 33 { 34 bytesTimeSeries = new TimeSeries("Bytes in/out", Second.class); 35 connectionsTimeSeries = new TimeSeries("Commands", Second.class); 36 } 37 38 41 public void afterDetailEval() throws JRScriptletException 42 { 43 Second second = new Second((Timestamp )getFieldValue("report_time")); 44 bytesTimeSeries.addOrUpdate( 45 second, 46 new Long ( 47 ((Number )getFieldValue("bytes_received")).longValue() 48 + ((Number )getFieldValue("bytes_sent")).longValue() 49 ) 50 ); 51 connectionsTimeSeries.addOrUpdate( 52 second, 53 (Number )getFieldValue("connections") 54 ); 55 } 56 57 60 public JRRenderable getNetworkChart() 61 { 62 TimeSeriesCollection dataset = new TimeSeriesCollection(); 63 dataset.addSeries(bytesTimeSeries); 64 65 JFreeChart chart = 66 ChartFactory.createTimeSeriesChart( 67 "Network traffic", 68 "Time", 69 "Bytes", 70 dataset, 71 true, 72 true, 73 false 74 ); 75 76 chart.setBackgroundPaint(Color.white); 77 78 return new JCommonDrawableRenderer(chart); 79 } 80 81 84 public JRRenderable getConnectionsChart() 85 { 86 TimeSeriesCollection dataset = new TimeSeriesCollection(); 87 dataset.addSeries(connectionsTimeSeries); 88 89 JFreeChart chart = 90 ChartFactory.createTimeSeriesChart( 91 "Connections", 92 "Time", 93 "Connections", 94 dataset, 95 true, 96 true, 97 false 98 ); 99 100 chart.setBackgroundPaint(Color.white); 101 102 return new JCommonDrawableRenderer(chart); 103 } 104 105 } 106 | Popular Tags |