piątek, 16 listopada 2012

Lift and JasperReports ( postgres db )

Hello,

last days i was trying to run jasper reports on Lift application.
Link for jasper: http://community.jaspersoft.com/project/jasperreports-library

Code for object in scala:

package code.snippet

import java.sql.Connection
import java.sql.DriverManager
import net.sf.jasperreports.engine.JasperRunManager
import net.sf.jasperreports.engine.JasperCompileManager
import net.sf.jasperreports.engine.JasperFillManager
import net.sf.jasperreports.engine.JasperPrint
import net.sf.jasperreports.engine.JasperReport
import net.sf.jasperreports.engine.design.JasperDesign
import net.sf.jasperreports.engine.xml.JRXmlLoader
import net.sf.jasperreports.view.JasperViewer
import net.sf.jasperreports.engine.JasperExportManager


object report {

def run() {
  var cn: Connection = null
try {
Class.forName("org.postgresql.Driver")
cn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test","postgres","password")
} catch {
 case x: Exception => x.printStackTrace()
}

try {
val dis: JasperDesign = JRXmlLoader.load("e:/reports/report1.jrxml")
val rep: JasperReport = JasperCompileManager.compileReport("e:/reports/report1.jrxml")
val imp: JasperPrint = JasperFillManager.fillReport(rep,null,cn)
cn.close();
//JasperViewer.viewReport(imp);
   JasperExportManager.exportReportToHtmlFile(imp, "e://sample_report.html")
} catch{
 case ex: Exception => ex.printStackTrace()
}
}

}

As you can see in code i commented JasperViewer.viewReport(imp), this open view of report in ireport viewer.


To run this from Lift app just add code: "report.run".

Brak komentarzy:

Prześlij komentarz