Boa noite gostaria de exibir neste gráfico o id do produto, o nome e o total de vendido
como posso fazer dessa forma, pois da forma que esta meu DatasetProducer ele so exibe os id com as proporcoes corretas , mas gostaria que exibisse o nome do produto e a quantidade em numeros nao somente em proporçoes graficas.
segue a classe responsavel por buscar as informações no banco
package br.com.dboas.model.dao;
import java.util.Date;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
import org.apache.log4j.Logger;
import org.jfree.data.general.DefaultPieDataset;
import br.com.dboas.model.conexoes.FabricaDeConexoes;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;
public class GeradorGraficosDao implements DatasetProducer {
private static final long serialVersionUID = 1L;
private Connection con;
//Construtor da classe para que toda vez que for instanciada ter uma conexao ao banco
public GeradorGraficosDao() throws SQLException{
this.con= new FabricaDeConexoes().conectar();
}
// vamos utilizar o log4j
Logger log = Logger.getLogger(GeradorGraficosDao.class);
// Retorna uma Dataset com os dados que irão alimentar o gráfico
//public Object produceDataset(Map<String, Object> arg0)
public Object produceDataset(Map arg0) throws DatasetProduceException {
// Criando um Dataset para o gráfico
DefaultPieDataset ds = new DefaultPieDataset();
String sql=("SELECT distinct gcp01_id_produto_PK_produto, gcp01_nome_produto,sum(gcp15_qnt_itens)FROM gcp15_iten_mov,gcp01_produto,gcp14_movimentacao where gcp01_id_produto_PK_produto=gcp01_produto_gcp01_id_produto_PK_produtp AND gcp_14_id_mov=gcp14_movimentacao_gcp_14_id_mov group by gcp01_id_produto_PK_produto order by gcp15_qnt_itens desc");
try {
PreparedStatement ps=con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
// Inserindo no DataSet o estado e a quantidade de pessoas certificadas
// ds.insertValue(position, key, value)
ds.setValue(rs.getString(1), new Double(rs.getInt(3)));//aqui se eu tirar o double da um erro no eclipse se eu inseri mas um o da um erro no ds.setValue.. como posso resolver?
}
} catch (SQLException e) {
// TODO Auto-generated catch block
log.info(e);
e.printStackTrace();
}
return ds;
}
@Override
// Retorna um Id único para este dataset
public String getProducerId() {
// TODO Auto-generated method stub
return "Graficos_de_produtos";
}
@Override
// O dados deste dataset é invalidado imediatamente.
// O tempo de retorno influencia no cachê de dados do cewolf
// Retornando sempre true, os dados do dataset são sempre atualizados a cada request.
public boolean hasExpired(Map arg0, Date arg1) {
// TODO Auto-generated method stub
return true;
}
}
estou seguinto o tutorial de introdução ao cewolf com mysql
desde já grato por qualquer ajuda que possa me abrir os olhos para o problema.