Galera,
Estou criando um relatorio cujo datasource é um array list que eu passo pro construtor do JRBeanCollectionDataSource(list) ao gerar o relatorio…
Ta funcionando beleza…
Porem como sub-relatorio eu tenho um data-source que é um arquivo XML…
Só que ta gerando sempre null os fields… apliquei o xPath, setei o diretorio do arquivo xml etc… segue o codigo:
public static void main(String argv[]) {
try {
String reportFileName = "reports/addressbook.jasper";
String outFileName = "reports/addressbook.pdf";
String xmlFileName = "reports/addressbook.xml";
String recordPath = "/addressbook/category/person";
JRXmlDataSource jrxmlds = new JRXmlDataSource(xmlFileName,
recordPath);
HashMap hm = new HashMap();
JasperPrint print = JasperFillManager.fillReport(reportFileName,
hm, jrxmlds);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.exportReport();
System.out.println("Created file: " + outFileName);
} catch (JRException e) {
e.printStackTrace();
System.exit(1);
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}