Revision: 5025
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 6, 2008 08:38 by narkisr
Initial Code
import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; import java.util.*; public class HibernateQueryResultDataSource implements JRDataSource { private final Iterator<Map<String, Object>> iterator; private Map<String, Object> currentValue; /** this is only for clarity */ private final String name; public HibernateQueryResultDataSource(List<Map<String, Object>> list, String name) { this.iterator = list.iterator(); this.name=name; } public Object getFieldValue(JRField field) throws JRException { return currentValue.get(field.getName()); } public boolean next() throws JRException { currentValue = iterator.hasNext() ? iterator.next() : null; return (currentValue != null); } public Iterator<Map<String, Object>> getIterator() { return iterator; } } // A usage example private JRPdfExporter jRPdfExporter; private boolean compileAndCreatePDF(final String pdfFileName, final JRDataSource ds){ try { jRPdfExporter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8"); jRPdfExporter.setParameter(JRPdfExporterParameter.FONT_MAP, fontMap); final JasperPrint jasperPrint = JasperFillManager.fillReport(GeneratedPath + compiler.getRelevantEntryReportName(), new HashMap(0), ds); jRPdfExporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); jRPdfExporter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, System.getProperty("java.io.tmpdir") + "/" + pdfFileName); jRPdfExporter.exportReport(); return true; } catch (Exception e) { log.error(e); return false; } }
Initial URL
Initial Description
The data source which can be used in combination with jasper reports.
Initial Title
Jasper report hibernate data source
Initial Tags
java
Initial Language
Java