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 StatusAScriptlet extends JRDefaultScriptlet 21 { 22 23 26 private TimeSeries bytesReceivedTimeSeries = null; 27 private TimeSeries bytesSentTimeSeries = null; 28 private TimeSeries selectsTimeSeries = null; 29 private TimeSeries insertsTimeSeries = null; 30 31 34 public void afterReportInit() throws JRScriptletException 35 { 36 bytesReceivedTimeSeries = new TimeSeries("Bytes received", Second.class); 37 bytesSentTimeSeries = new TimeSeries("Bytes sent", Second.class); 38 selectsTimeSeries = new TimeSeries("Selects", Second.class); 39 insertsTimeSeries = new TimeSeries("Inserts", Second.class); 40 } 41 42 45 public void afterDetailEval() throws JRScriptletException 46 { 47 bytesReceivedTimeSeries.addOrUpdate(new Second((Timestamp )getFieldValue("report_time")), (Number )getFieldValue("bytes_received")); 48 bytesSentTimeSeries.addOrUpdate(new Second((Timestamp )getFieldValue("report_time")), (Number )getFieldValue("bytes_sent")); 49 selectsTimeSeries.addOrUpdate(new Second((Timestamp )getFieldValue("report_time")), (Number )getFieldValue("total_selects")); 50 insertsTimeSeries.addOrUpdate(new Second((Timestamp )getFieldValue("report_time")), (Number )getFieldValue("total_insert")); 51 } 52 53 56 public JRRenderable getNetworkChart() 57 { 58 TimeSeriesCollection dataset = new TimeSeriesCollection(); 59 dataset.addSeries(bytesReceivedTimeSeries); 60 dataset.addSeries(bytesSentTimeSeries); 61 62 JFreeChart chart = 63 ChartFactory.createTimeSeriesChart( 64 "Network traffic", 65 "Time", 66 "Bytes", 67 dataset, 68 true, 69 true, 70 false 71 ); 72 73 chart.setBackgroundPaint(Color.white); 74 75 return new JCommonDrawableRenderer(chart); 76 } 77 78 81 public JRRenderable getActivityChart() 82 { 83 TimeSeriesCollection dataset = new TimeSeriesCollection(); 84 dataset.addSeries(selectsTimeSeries); 85 dataset.addSeries(insertsTimeSeries); 86 87 JFreeChart chart = 88 ChartFactory.createTimeSeriesChart( 89 "Activity", 90 "Time", 91 "Value", 92 dataset, 93 true, 94 true, 95 false 96 ); 97 98 chart.setBackgroundPaint(Color.white); 99 100 return new JCommonDrawableRenderer(chart); 101 } 102 103 } 104 | Popular Tags |