KickJava   Java API By Example, From Geeks To Geeks.

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


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 StatusBScriptlet extends JRDefaultScriptlet
21 {
22
23     /**
24      *
25      */

26     private TimeSeries bytesTimeSeries = null;
27     private TimeSeries connectionsTimeSeries = null;
28     
29     /**
30      *
31      */

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     /**
39      *
40      */

41     public void afterDetailEval() throws JRScriptletException
42     {
43         Second second = new Second((Timestamp JavaDoc)getFieldValue("report_time"));
44         bytesTimeSeries.addOrUpdate(
45             second,
46             new Long JavaDoc(
47                 ((Number JavaDoc)getFieldValue("bytes_received")).longValue()
48                 + ((Number JavaDoc)getFieldValue("bytes_sent")).longValue()
49                 )
50             );
51         connectionsTimeSeries.addOrUpdate(
52             second,
53             (Number JavaDoc)getFieldValue("connections")
54             );
55     }
56
57     /**
58      *
59      */

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     /**
82      *
83      */

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