Dúvida Gráficos ChartDirector e V-Raptor

Olá, estou desenvolvendo um sistema WEB e estou usando na parte de gráficos o ChartDirector, iniciei a aprendizado essa semana no ChartDirector, basicamente a minha dúvida é em criar um gráfico com parâmetros, ou seja, eu teria um formulário onde o usuário entra com a data inicial e final e o gráfico é gerado usando estes filtros. Seguem as classes e JSP:

JSP com o formulário:

<form method="post" action="Gera_Grafico_Venda_Web"> <p>Data Inicial: <input name="grafico.data_inicial" type="text" id="data_inicial" value="" size="17"/> Data Final: <input name="grafico.data_final" type="text" id="grafico.data_final" value="" size="17"/> Meta: <input name="grafico.meta" type="text" id="grafico.meta" value="" size="17"/> </p> <input name="grafico.cod_funcinario" type="text" value="${cod_funcionario}" size="5"/> <input name="Gerar_Grafico" type="submit" id="Gerar_Grafico" value="Gerar Grafico"/> </form>
Classe Grafico (usada para armazenar os dados do formulario):

[code]public class Grafico {
private Date data_inicial, data_final;
private int meta, cod_funcionario;

public Date getData_final() {
    return data_final;
}

public void setData_final(Date data_final) {
    this.data_final = data_final;
}

public Date getData_inicial() {
    return data_inicial;
}

public void setData_inicial(Date data_inicial) {
    this.data_inicial = data_inicial;
    System.out.println("Dat: " + data_inicial);
}

public int getMeta() {
    return meta;
}

public void setMeta(int meta) {
    this.meta = meta;
}

public int getCod_funcionario() {
    return cod_funcionario;
}

public void setCod_funcionario(int cod_funcionario) {
    this.cod_funcionario = cod_funcionario;
}

}[/code]
ConsultorController (usada para chamar a action do formulário):

public void Gera_Grafico_Venda_Web(Grafico grafico) { grafico.setData_inicial(new Date()); System.out.println("Data: " + grafico.getData_inicial()); result.redirectTo(ConsultorController.class).anglepie(); }
JSP anglepie (jsp do gráfico):

[code]<%@page import=“ChartDirector." %>
<%@page import="javax.servlet.http.
” %>
<%@page import=“br.bmweb.dao.VendaDao” %>
<%@page import=“br.bmweb.controller.GraficoController” %>
<%@ page import=“java.util.Vector” %>
<%@ page import=“java.io.*” %>
<%@ page import=“java.util.ArrayList” %>
<%@ page import=“java.util.List” %>
<%@page import=“br.bmweb.bean.Grafico” %>
<%!
// A simple structure to represent a chart image with an image map
private static class ImageWithHotSpot
{
String imageURL;
String imageMap;
}

// Function to create the demo charts
ImageWithHotSpot createChart(HttpServletRequest request, int index)
{
// Determine the starting angle and direction based on input parameter
int angle = 0;
boolean clockwise = true;
if (index != 0) {
angle = 90;
clockwise = false;
}
VendaDao vendadao = new VendaDao();
Grafico g = new Grafico();
System.out.println("Inicial: " + g.getData_inicial());

//vendadao.venda_web_Tipo(request.getAttribute("data_inicial"), request.getAttribute("data_final"), request.getAttribute("meta"));

// GraficoController grafico = new GraficoController();
VendaDao ven = new VendaDao();
// The data for the pie chart
double[] data = ven.venda_web_valor();
// System.out.println("A "+data[0]);
// System.out.println("B "+data[1]);
// The labels for the pie chart

/----------------------Nessa linha tento pegar os parâmetros do formulário e passar para a consulta------------------------------------------/
String [] labels = vendadao.venda_web_Tipo(request.getAttribute(“data_inicial”), request.getAttribute(“data_final”), request.getAttribute(“meta”));

// Create a PieChart object of size 280 x 240 pixels
PieChart c = new PieChart(280, 240);

// Set the center of the pie at (140, 130) and the radius to 80 pixels
c.setPieSize(140, 130, 80);

// Add a title to the pie to show the start angle and direction
if (clockwise) {
    c.addTitle("Start Angle = " + angle + " degrees\nDirection = Clockwise");
} else {
    c.addTitle("Start Angle = " + angle + " degrees\nDirection = AntiClockwise");
}

// Set the pie start angle and direction
c.setStartAngle(angle, clockwise);

// Draw the pie in 3D
c.set3D();

// Set the pie data and the pie labels
c.setData(data, labels);

// Explode the 1st sector (index = 0)
c.setExplode(0);

// Output the chart
ImageWithHotSpot ret = new ImageWithHotSpot();
ret.imageURL = c.makeSession(request, "chart" + index);

// Include tool tip for the chart
ret.imageMap = c.getHTMLImageMap("", "",
    "title='{label}: US${value}K ({percent}%)'");

return ret;

}
%>
<%
ImageWithHotSpot chart0 = createChart(request, 0);
ImageWithHotSpot chart1 = createChart(request, 1);
%>

Start Angle and Direction

View Source Code
<%=chart0.imageMap%> <%=chart1.imageMap%> [/code] VendaDao: [code]public String[] venda_web_Tipo(Object dataInicial, Object dataFinal, Object meta){ System.out.println("Atingimos a meta !!!!"); Grafico param = new Grafico(); System.out.println("Data inicial: " + param.getData_inicial()); System.out.println("Data final: " + param.getData_final()); Session session = new AbreSession().getSession(); Transaction tx = session.beginTransaction(); Query query = session.createQuery("SELECT a.tipo_venda FROM Venda a WHERE a.cod_funcionario in (22,6)");
    List<String> x = query.list();


    String []resultado = {"",""};
    Iterator it = x.iterator();
    int i = 0;
   // for (int i = 0; i < documento2.size(); i++) {
     while(it.hasNext()) {
        resultado[i] = (String) it.next();
        i++;
    }
    tx.commit();
    session.close();
    return resultado;
}

public double[] venda_web_valor(){
Session session = new AbreSession().getSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery(“SELECT COUNT(*) FROM Venda a WHERE a.cod_funcionario in (22,6) group by a.tipo_venda”);

    List<Integer> x = query.list();
    int i = 0;
    double [] resultado = {0,0};
    Iterator it = x.iterator();
    while(it.hasNext()) {
        resultado[i] = Double.parseDouble(it.next().toString());
        i++;
    }
    tx.commit();
    session.close();
    return resultado;
}[/code]

O que está ocorrendo de problemas é: Ao preencher o formulário e chamar o método “Gera_Grafico_Venda_Web” a classe Grafico está indo nula para este método, já revirei o código e não encontrei nada de errado para não estar setando.
Na linha 42 do anglepie.jsp tentei mandar executar o SELECT com os parâmetros vindos do formulário mas não deu certo pela classe Grafico estar nula. Alguém tem idéia de onde estou errando?