1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
package metier;
import java.awt.Color;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Minute;
import org.jfree.data.time.Month;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.Year;
import org.jfree.data.time.TimeSeries;
import org.jfree.ui.RectangleInsets;
import marouene.TimeSeriesDemoTest;
public class ftpcompare extends HttpServlet {
/**
*
*/int i=0;
private static final long serialVersionUID = 1L;
@SuppressWarnings("deprecation")
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException {
response.setContentType("image/png");
connexionBD con = new connexionBD();
ResultSet rs = con.execute("select heure,ftp from ftptable where (date=left(now(),10)) order by heure;");
ResultSet rs1 = con.execute("select heure,ftp from ftptable2 where (date=left(now(),10)) order by heure;");
ResultSet rs2 = con.execute("select heure,ftp from ftptable3 where (date=left(now(),10)) order by heure;");
final TimeSeries series = new TimeSeries("Débit 1", Minute.class);
final TimeSeries series1 = new TimeSeries("Débit 2", Minute.class);
final TimeSeries series2 = new TimeSeries("Débit 3", Minute.class);
while(rs.next() & rs2.next() & rs1.next()){
Timestamp v1;
v1 = rs.getTimestamp("heure");
double v2=rs.getDouble("ftp");
double v3=rs1.getDouble("ftp");
double v4=rs2.getDouble("ftp");
series.addOrUpdate( new Minute(v1), v2);
series1.addOrUpdate( new Minute(v1), v3);
series2.addOrUpdate( new Minute(v1), v4);
}
DateAxis domain = new DateAxis("Time");
NumberAxis range = new NumberAxis("Débit en Ko/s");
final TimeSeriesCollection dataset = new TimeSeriesCollection(series);
dataset.addSeries(series1);
dataset.addSeries(series2);
XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
renderer.setSeriesPaint(0, Color.green);
renderer.setSeriesPaint(2, Color.red);
XYPlot plot = new XYPlot(dataset, domain, range, renderer);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));
range.setAutoRange(true);
range.setLowerMargin(0.0);
range.setUpperMargin(0.0);
range.setTickLabelsVisible(true);
range.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
JFreeChart chart = new JFreeChart(plot);
chart.setTitle(new TextTitle("Comparaison du débit ftp"));
XYItemRenderer r = plot.getRenderer();
if (r instanceof XYLineAndShapeRenderer) {
XYLineAndShapeRenderer renderer1 = (XYLineAndShapeRenderer) r;
renderer1.setBaseShapesVisible(true);
renderer1.setBaseShapesFilled(true);
}
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(600, 300));
chartPanel.setMouseZoomable(true, false);
OutputStream out = response.getOutputStream();
ChartUtilities.writeChartAsPNG(out, chart, 700, 500);
request.setAttribute("image",out);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} |