Jfree barchart avec valeur de type datetime

Fermé
ibtissem - Modifié le 3 mai 2017 à 07:12
Bonjour,
Je suis entrain de créer un graphique avec jfree bar chart dans lequel je dois mettre des valeurs à partir de la base de donnée. Les valeurs sont de type int et datetime (exp: 2017-04-21 11:29:12.623).
Voila le code de la servlet :
package com.simplecodestuffs.action;

import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.jdbc.JDBCCategoryDataset;

import com.simplecodestuffs.jdbc.DataAccessObject;

/** Servlet implementation class CpuChartServlet */
public class CpuChartServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    private Connection dbConnection = null;

    public CpuChartServlet() {
        dbConnection = DataAccessObject.getConnection();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        JDBCCategoryDataset dataset = new JDBCCategoryDataset(dbConnection);
        try {
            dataset.executeQuery("SELECT valfree,date FROM etatCPU ORDER BY valfree");
            JFreeChart chart = ChartFactory.createBarChart3D("CPU Usage", "Free", "date", dataset, PlotOrientation.VERTICAL, true, true, false);
            chart.setBorderVisible(true);
            if (chart != null) {
                int width = 600;
                int height = 400;
                response.setContentType("image/jpeg");
                OutputStream out = response.getOutputStream();
                ChartUtilities.writeChartAsJPEG(out, chart, width, height);
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}


J'ai eu cette erreur : java.sql.Timestamp cannot be cast to java.sql.Date
Qu'est ce que je dois faire s'il vous plait ?