1 package net.sf.jasperreports.mysql.reports; 2 3 import java.awt.Color ; 4 import java.util.Date ; 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.Day; 14 import org.jfree.data.time.Hour; 15 import org.jfree.data.time.TimeSeries; 16 import org.jfree.data.time.TimeSeriesCollection; 17 18 21 public class StatusCScriptlet extends JRDefaultScriptlet 22 { 23 24 27 private TimeSeries bytesReceivedTimeSeries = null; 28 private TimeSeries bytesSentTimeSeries = null; 29 private TimeSeries selectsTimeSeries = null; 30 private TimeSeries insertsTimeSeries = null; 31 32 35 public void afterReportInit() throws JRScriptletException 36 { 37 bytesReceivedTimeSeries = new TimeSeries("Bytes received", Hour.class); 38 bytesSentTimeSeries = new TimeSeries("Bytes sent", Hour.class); 39 selectsTimeSeries = new TimeSeries("Selects", Hour.class); 40 insertsTimeSeries = new TimeSeries("Inserts", Hour.class); 41 } 42 43 46 public void afterDetailEval() throws JRScriptletException 47 { 48 Hour hour = new Hour(((Integer )getFieldValue("report_hour")).intValue(), new Day((Date )getFieldValue("report_date"))); 49 bytesReceivedTimeSeries.add(hour, (Number )getFieldValue("bytes_received")); 50 bytesSentTimeSeries.add(hour, (Number )getFieldValue("bytes_sent")); 51 selectsTimeSeries.add(hour, (Number )getFieldValue("total_selects")); 52 insertsTimeSeries.add(hour, (Number )getFieldValue("total_insert")); 53 } 54 55 58 public JRRenderable getNetworkChart() 59 { 60 TimeSeriesCollection dataset = new TimeSeriesCollection(); 61 dataset.addSeries(bytesReceivedTimeSeries); 62 dataset.addSeries(bytesSentTimeSeries); 63 64 JFreeChart chart = 65 ChartFactory.createTimeSeriesChart( 66 "Network traffic", 67 "Time", 68 "Bytes", 69 dataset, 70 true, 71 true, 72 false 73 ); 74 75 chart.setBackgroundPaint(Color.white); 76 77 return new JCommonDrawableRenderer(chart); 78 } 79 80 83 public JRRenderable getActivityChart() 84 { 85 TimeSeriesCollection dataset = new TimeSeriesCollection(); 86 dataset.addSeries(selectsTimeSeries); 87 dataset.addSeries(insertsTimeSeries); 88 89 JFreeChart chart = 90 ChartFactory.createTimeSeriesChart( 91 "Activity", 92 "Time", 93 "Value", 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 |