KickJava   Java API By Example, From Geeks To Geeks.

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


1 package net.sf.jasperreports.mysql.reports;
2
3 import java.awt.Color JavaDoc;
4 import java.util.Date 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.Day;
14 import org.jfree.data.time.Hour;
15 import org.jfree.data.time.TimeSeries;
16 import org.jfree.data.time.TimeSeriesCollection;
17
18 /**
19  *
20  */

21 public class StatusCScriptlet extends JRDefaultScriptlet
22 {
23
24     /**
25      *
26      */

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

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

46     public void afterDetailEval() throws JRScriptletException
47     {
48         Hour hour = new Hour(((Integer JavaDoc)getFieldValue("report_hour")).intValue(), new Day((Date JavaDoc)getFieldValue("report_date")));
49         bytesReceivedTimeSeries.add(hour, (Number JavaDoc)getFieldValue("bytes_received"));
50         bytesSentTimeSeries.add(hour, (Number JavaDoc)getFieldValue("bytes_sent"));
51         selectsTimeSeries.add(hour, (Number JavaDoc)getFieldValue("total_selects"));
52         insertsTimeSeries.add(hour, (Number JavaDoc)getFieldValue("total_insert"));
53     }
54
55     /**
56      *
57      */

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

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