KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > jasperreports > mysql > reports > StatusAScriptlet


1 package net.sf.jasperreports.mysql.reports;
2
3 import java.awt.Color JavaDoc;
4 import java.sql.Timestamp JavaDoc;
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 /**
18  *
19  */

20 public class StatusAScriptlet extends JRDefaultScriptlet
21 {
22
23     /**
24      *
25      */

26     private TimeSeries bytesReceivedTimeSeries = null;
27     private TimeSeries bytesSentTimeSeries = null;
28     private TimeSeries selectsTimeSeries = null;
29     private TimeSeries insertsTimeSeries = null;
30     
31     /**
32      *
33      */

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     /**
43      *
44      */

45     public void afterDetailEval() throws JRScriptletException
46     {
47         bytesReceivedTimeSeries.addOrUpdate(new Second((Timestamp JavaDoc)getFieldValue("report_time")), (Number JavaDoc)getFieldValue("bytes_received"));
48         bytesSentTimeSeries.addOrUpdate(new Second((Timestamp JavaDoc)getFieldValue("report_time")), (Number JavaDoc)getFieldValue("bytes_sent"));
49         selectsTimeSeries.addOrUpdate(new Second((Timestamp JavaDoc)getFieldValue("report_time")), (Number JavaDoc)getFieldValue("total_selects"));
50         insertsTimeSeries.addOrUpdate(new Second((Timestamp JavaDoc)getFieldValue("report_time")), (Number JavaDoc)getFieldValue("total_insert"));
51     }
52
53     /**
54      *
55      */

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     /**
79      *
80      */

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