Ireport com arraylist

0 respostas
J

Galera boa tarde, nao sei se estou fazendo alguma coisa errada, já pesquise e até encontrei muita coisa na internet e inclusive aqui do fórum mas nao consigo fazer funcionar, meu problema é o seguinte: tenho essa classe alunos:

public class Alunos{
public String Nome;
	public void setNome(String Nome) {
		this.Nome= Nome;
	}
public String getNome() { // pode mudar
		return Nome;
	}
}

tenho uma classe conexão que a partir de uma lista de matriculas de alunos cria objetos alunos e adiciona em uma lista de Alunos:

Metodo da clase conexão:

public static List getAprovados(List siape, String Id_Curso) throws Exception {
ArrayList Alunos= new ArrayList<Alunos>();  
	String lista[]=null;
	for(int i =0; i< siape.size();i++){
		Alunos alunos = new Alunos();
	String sql = "SELECT * FROM Aprovados WHERE Id_Curso ="+Id_Curso+ " AND Siape_CPF="+siape.get(i);
	PreparedStatement stmt = getConnection().prepareStatement(sql);
	//stmt.setString(1, nome);
	ResultSet rs = stmt.executeQuery();
		while (rs.next()) {
		alunos.setNome(rs.getString("Nome_Aluno"));
		//alunos.setId_Certificado(rs.getString("Id_Certificado"));
	//	alunos.setEmail(rs.getString("Email"));
		//alunos.setSiape_CPF(rs.getString("Siape_CPF"));
	}
	Alunos.add(i, alunos);
	
	rs.close();
	}
	
   return Alunos;
		}

Quero a partir dessa lista de Alunos gerar meus relatórios no ireport pra isso segue minha classe de gerar relatórios:

public class Buscar_XML 
{	

	String exportPath;
	//private String path; //Caminho base
	
	//private String pathToReportPackage = "/home/jhonnymcosta/Área de Trabalho/certificados IREPORT/";// Caminho para o package onde estão armazenados os relatorios Jarper
	
	//Recupera os caminhos para que a classe possa encontrar os relatórios
	public Buscar_XML() {
		JFileChooser fc = new JFileChooser();
	
		
	    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
	    int res = fc.showOpenDialog(null);
	    if(res == JFileChooser.APPROVE_OPTION){
	        File diretorio = fc.getSelectedFile();
	        
	      exportPath = fc.getSelectedFile().getAbsolutePath();// pega todo o endereco da pasta
	    }
	    else{
	        JOptionPane.showMessageDialog(null, "Voce nao selecionou nenhum diretorio.");}
	   
		System.out.println(exportPath);
	//	this.pathToReportPackage = export
		
	}
	
	//Imprime/gera uma lista de Clientes
	public void imprimir(ArrayList alunos) throws Exception	
	{
		ArrayList<Alunos> novo = new ArrayList<Alunos>();
		novo = alunos;
	//	Map<String, String> nomes = new HashMap<String, String>();
	
		
		for(int i = 0;i<novo.size();i++){System.out.println(novo.get(i).Nome);}
		//System.out.println(novo.get(1).getId_Certificado());
		JRBeanCollectionDataSource beanBurritoWrap = new JRBeanCollectionDataSource(novo);
		
		JasperReport report = JasperCompileManager.compileReport(exportPath);
		 System.out.println(exportPath);
		JasperPrint print = JasperFillManager.fillReport(report, null, beanBurritoWrap);
		System.out.println("aquiii");
		JasperExportManager.exportReportToPdfFile(print, "/home/jhonnymcosta/Área de Trabalho/q/tseste.pdf");		
	}
 
	public String getPathToReportPackage() {
		return this.exportPath;
	}

}

Notem pessoal que meu Buscar_XML, como tenho modelos de relatórios diferentes criei uma maneira de buscar o relatório adequado,
nao importa o que eu faça sempre aparece o erro:

Exception in thread main net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : Nome

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96)

at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100)

at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:818)

at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:782)

at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1433)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:108)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:908)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:830)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:85)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)

at Certificado.Buscar_XML.imprimir(Buscar_XML.java:71)

at Certificado.Lista_Alunos.(Lista_Alunos.java:24)

at Certificado.Teste_Date.main(Teste_Date.java:7)

Caused by: java.lang.NoSuchMethodException: Unknown property 'Nome

at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)

at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)

at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)

at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111)

 13 more

por favor me ajudem

Criado 3 de março de 2017
Respostas 0
Participantes 1