Pessoal, não estou conseguindo transcrever os dados que trago de um Select para o gráfico.
O Select já está vindo certo com o group by e queria colocar as 5 ocorrências no gráfico. Não estou conseguindo
A minha Bean está assim:
@ManagedBean(name="chartView")
@ViewScoped
public class ChartView extends DAO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private PieChartModel pieModel1;
private PieChartModel pieModel2;
@PostConstruct
public void init() {
createPieModels();
}
public PieChartModel getPieModel1() {
return pieModel1;
}
public PieChartModel getPieModel2() {
return pieModel2;
}
private void createPieModels() {
createPieModel1();
createPieModel2();
}
public List<Usuario> listar() {
List<Usuario> lista = new ArrayList<>();
try {
Connection conexao = getConexao();
Statement stm = conexao.createStatement();
System.out.println(stm);
String query = "SELECT top 5 count (distinct id) as qtd, nome FROM tbplan group by nome order by 1 desc";
ResultSet rs = stm.executeQuery(query);
int rows = 0;
int columns = 0;
Object[][] resultSet = new Object[rows][columns];
while (rs.next()) {
for (int i = 0; i < 6; i++) {
resultSet[rows][i] = rs.getString("nome");
resultSet[columns][i] = rs.getLong("qtd");
rows++;
}
System.out.println(resultSet[rows][0]);
System.out.println(resultSet[columns][0]);
pieModel2 = new PieChartModel();
pieModel2.set("Brand 1", 540);
pieModel2.set("Brand 2", 325);
pieModel2.set("Brand 3", 702);
pieModel2.set("Brand 4", 421);
}
stm.close();
conexao.close();
} catch (Exception e) {
e.printStackTrace();
}
return lista;
}
private void createPieModel1() {
listar();
}
private void createPieModel2() {
pieModel2 = new PieChartModel();
pieModel2.set("Brand 1", 540);
pieModel2.set("Brand 2", 325);
pieModel2.set("Brand 3", 702);
pieModel2.set("Brand 4", 421);
pieModel2.setTitle("Custom Pie");
pieModel2.setLegendPosition("e");
pieModel2.setFill(false);
pieModel2.setShowDataLabels(true);
pieModel2.setDiameter(150);
}