Java 如何将mongodb的连接对象提供给JasperFillManager.fillReport()-Spring mongodb Jasper Integration
我正在研究Spring MongoDB Jasper集成示例。我已经有了Spring Mysql Jasper示例,它运行良好。我希望为mongodb转换相同的程序 源代码位于: @注意:我遵循了,但我没有看到要下载的jar文件。它不存在于maven回购协议中 LoadJasperReport.javaJava 如何将mongodb的连接对象提供给JasperFillManager.fillReport()-Spring mongodb Jasper Integration,java,spring,mongodb,jasper-reports,Java,Spring,Mongodb,Jasper Reports,我正在研究Spring MongoDB Jasper集成示例。我已经有了Spring Mysql Jasper示例,它运行良好。我希望为mongodb转换相同的程序 源代码位于: @注意:我遵循了,但我没有看到要下载的jar文件。它不存在于maven回购协议中 LoadJasperReport.java @Controller public class LoadJasperReport { private static final Logger LOGGER = LoggerFactor
@Controller
public class LoadJasperReport {
private static final Logger LOGGER = LoggerFactory.getLogger(LoadJasperReport.class);
@ModelAttribute("jasperRptFormats")
public ArrayList<String> getJasperRptFormats() {
ArrayList<String> jasperRptFormats = new ArrayList<String>();
jasperRptFormats.add("Html");
jasperRptFormats.add("PDF");
return jasperRptFormats;
}
@RequestMapping(value = "/loadJasper", method = RequestMethod.GET)
public String loadSurveyPg(@ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm, Model model) {
model.addAttribute("JasperInputForm", jasperInputForm);
return "loadJasper";
}
@RequestMapping(value = "/generateReport", method = RequestMethod.POST)
public String generateReport(@Valid @ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm,
BindingResult result, Model model, HttpServletRequest request, HttpServletResponse response)
throws ParseException {
LOGGER.debug("~~~ Generate Report ~~~");
if (result.hasErrors()) {
LOGGER.error("validation error occured in jasper input form");
return "loadJasper";
}
String reportFileName = "JREmp1";
Connection conn = null;
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
LOGGER.error("Please include Classpath Where your MySQL Driver is located");
e.printStackTrace();
}
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
if (conn != null)
LOGGER.debug("Database Connected");
else
LOGGER.debug(" connection Failed ");
String rptFormat = jasperInputForm.getRptFmt();
String noy = jasperInputForm.getNoofYears();
LOGGER.debug("rpt format " + rptFormat + ", no of years " + noy);
HashMap<String, Object> hmParams = new HashMap<String, Object>();
hmParams.put("noy", new Integer(noy));
hmParams.put("Title", "Employees working more than " + noy + " Years");
JasperReport jasperReport = getCompiledFile(reportFileName, request);
if (rptFormat.equalsIgnoreCase("html")) {
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hmParams, conn);
// For HTML report
generateReportHtml(jasperPrint, request, response);
} else if (rptFormat.equalsIgnoreCase("pdf")) {
// For PDF report
generateReportPDF(response, hmParams, jasperReport, conn);
}
} catch (Exception sqlExp) {
LOGGER.error("Exception::" + sqlExp.toString());
} finally {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException expSQL) {
LOGGER.error("SQLExp::CLOSING::" + expSQL.toString());
}
}
return null;
}
private JasperReport getCompiledFile(String fileName, HttpServletRequest request) throws JRException {
LOGGER.debug("path " + request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
File reportFile = new File(
request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
// If compiled file is not found, then compile XML template
if (!reportFile.exists()) {
JasperCompileManager.compileReportToFile(
request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jrxml"),
request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
}
JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
return jasperReport;
}
private void generateReportHtml(JasperPrint jasperPrint, HttpServletRequest req, HttpServletResponse resp)
throws IOException, JRException {
LOGGER.debug("~~~ Generate HTML Report ~~~");
HtmlExporter exporter = new HtmlExporter();
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList.add(jasperPrint);
exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrintList));
exporter.setExporterOutput(new SimpleHtmlExporterOutput(resp.getWriter()));
SimpleHtmlReportConfiguration configuration = new SimpleHtmlReportConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
}
private void generateReportPDF(HttpServletResponse resp, Map<String, Object> parameters, JasperReport jasperReport,
Connection conn) throws JRException, NamingException, SQLException, IOException {
LOGGER.debug("~~~ Generate PDF Report ~~~");
byte[] bytes = null;
bytes = JasperRunManager.runReportToPdf(jasperReport, parameters, conn);
resp.reset();
resp.resetBuffer();
resp.setContentType("application/pdf");
resp.setContentLength(bytes.length);
ServletOutputStream ouputStream = resp.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}
我更改了如下代码,但它不起作用。请引导。
package net.javaonline.spring.jasper.controller;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.naming.NamingException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.jaspersoft.mongodb.MongoDbDataSource;
import com.jaspersoft.mongodb.connection.MongoDbConnection;
import net.javaonline.spring.jasper.form.JasperInputForm;
import net.sf.jasperreports.engine.JRException;
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.JasperRunManager;
import net.sf.jasperreports.engine.export.HtmlExporter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleHtmlExporterOutput;
import net.sf.jasperreports.export.SimpleHtmlReportConfiguration;
@Controller
public class LoadJasperReport {
private static final Logger LOGGER = LoggerFactory.getLogger(LoadJasperReport.class);
@ModelAttribute("jasperRptFormats")
public ArrayList<String> getJasperRptFormats(){
ArrayList<String> jasperRptFormats = new ArrayList<String>();
jasperRptFormats.add("Html");
jasperRptFormats.add("PDF");
return jasperRptFormats;
}
@RequestMapping(value = "/loadJasper", method = RequestMethod.GET)
public String loadSurveyPg(
@ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm,
Model model) {
model.addAttribute("JasperInputForm", jasperInputForm);
return "loadJasper";
}
@RequestMapping(value = "/generateReport", method = RequestMethod.POST)
public String generateReport(
@Valid @ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm,
BindingResult result,Model model,
HttpServletRequest request, HttpServletResponse response) throws ParseException {
LOGGER.debug("~~~ Generate Report ~~~");
if (result.hasErrors()) {
LOGGER.error("validation error occured in jasper input form");
return "loadJasper";
}
String reportFileName = "JREmp1";
MongoDbConnection conn = null;
try {
try {
conn = new MongoDbConnection("mongodb://localhost:27017/mydb", null, null);
} catch (JRException e) {
System.out.println("JREException : "+e.getMessage());
}
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put(MongoDbDataSource.QUERY_LANGUAGE, conn);
String rptFormat = jasperInputForm.getRptFmt();
String noy = jasperInputForm.getNoofYears();
LOGGER.debug("rpt format " + rptFormat+", no of years " + noy);
HashMap<String,Object> hmParams=new HashMap<String,Object>();
hmParams.put("noy", new Integer(noy));
hmParams.put("Title", "Employees working more than "+ noy + " Years");
JasperReport jasperReport = getCompiledFile(reportFileName, request);
if (rptFormat.equalsIgnoreCase("html") ) {
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hmParams, conn);
// For HTML report
generateReportHtml(jasperPrint, request, response);
}
else if(rptFormat.equalsIgnoreCase("pdf")){
// For PDF report
generateReportPDF(response, hmParams, jasperReport, conn);
}
} catch (JRException | IOException | NamingException | SQLException e) {
System.out.println(e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return null;
}
private JasperReport getCompiledFile(String fileName, HttpServletRequest request) throws JRException {
LOGGER.debug("path " + request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
File reportFile = new File( request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
// If compiled file is not found, then compile XML template
if (!reportFile.exists()) {
JasperCompileManager.compileReportToFile(request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jrxml"),request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
}
JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
return jasperReport;
}
private void generateReportHtml( JasperPrint jasperPrint, HttpServletRequest req, HttpServletResponse resp)
throws IOException, JRException {
LOGGER.debug("~~~ Generate HTML Report ~~~");
HtmlExporter exporter=new HtmlExporter();
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList.add(jasperPrint);
exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrintList));
exporter.setExporterOutput( new SimpleHtmlExporterOutput(resp.getWriter()));
SimpleHtmlReportConfiguration configuration =new SimpleHtmlReportConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
}
private void generateReportPDF (HttpServletResponse resp, Map<String, Object> parameters,
JasperReport jasperReport, Connection conn)throws JRException, NamingException, SQLException, IOException {
LOGGER.debug("~~~ Generate PDF Report ~~~");
byte[] bytes = null;
bytes = JasperRunManager.runReportToPdf(jasperReport, parameters, conn);
resp.reset();
resp.resetBuffer();
resp.setContentType("application/pdf");
resp.setContentLength(bytes.length);
ServletOutputStream ouputStream = resp.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}
package net.javaonline.spring.jasper.controller;
导入java.io.File;
导入java.io.IOException;
导入java.sql.Connection;
导入java.sql.SQLException;
导入java.text.ParseException;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入javax.naming.NamingException;
导入javax.servlet.ServletOutputStream;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入javax.validation.Valid;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入org.springframework.stereotype.Controller;
导入org.springframework.ui.Model;
导入org.springframework.validation.BindingResult;
导入org.springframework.web.bind.annotation.ModelAttribute;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
导入com.jaspersoft.mongodb.MongoDbDataSource;
导入com.jaspersoft.mongodb.connection.MongoDbConnection;
导入net.javaonline.spring.jasper.form.JasperInputForm;
导入net.sf.jasperreports.engine.JRException;
导入net.sf.jasperreports.engine.JasperCompileManager;
导入net.sf.jasperreports.engine.JasperFillManager;
导入net.sf.jasperreports.engine.JasperPrint;
导入net.sf.jasperreports.engine.JasperReport;
导入net.sf.jasperreports.engine.JasperRunManager;
导入net.sf.jasperreports.engine.export.HtmlExporter;
导入net.sf.jasperreports.engine.util.JRLoader;
导入net.sf.jasperreports.export.SimpleExporterInput;
导入net.sf.jasperreports.export.SimpleHtmlExporterOutput;
导入net.sf.jasperreports.export.SimpleHtmlReportConfiguration;
@控制器
公共类LoadJasperReport{
私有静态最终记录器Logger=LoggerFactory.getLogger(LoadJasperReport.class);
@ModelAttribute(“JasperptFormats”)
公共阵列列表getjasperptformats(){
ArrayList JasperptFormats=新的ArrayList();
添加(“Html”);
jasperptformats.add(“PDF”);
返回格式;
}
@RequestMapping(value=“/loadJasper”,method=RequestMethod.GET)
公共字符串loadSurveyPg(
@ModelAttribute(“jasperInputForm”)jasperInputForm jasperInputForm,
(模型){
addAttribute(“JasperInputForm”,JasperInputForm);
返回“loadJasper”;
}
@RequestMapping(value=“/generateReport”,method=RequestMethod.POST)
公共字符串生成器报告(
@有效@ModelAttribute(“jasperInputForm”)jasperInputForm jasperInputForm,
BindingResult,模型,
HttpServletRequest请求、HttpServletResponse响应)引发异常{
LOGGER.debug(“~~~生成报告~~”);
if(result.hasErrors()){
LOGGER.error(“jasper输入表单中发生验证错误”);
返回“loadJasper”;
}
String reportFileName=“JREmp1”;
MongoDbConnection conn=null;
试一试{
试一试{
conn=新的MongoDB连接(“mongodb://localhost:27017/mydb“,空,空);
}捕获(JRE异常){
System.out.println(“JREException:+e.getMessage());
}
映射参数=新的HashMap();
parameters.put(MongoDbDataSource.QUERY_语言,conn);
字符串rptFormat=jasperInputForm.getRptFmt();
字符串noy=jasperInputForm.getNoofYears();
LOGGER.debug(“rpt格式”+rptFormat+”,年份数“+noy);
HashMap hmParams=新的HashMap();
hmParams.put(“noy”,新整数(noy));
hmParams.put(“职称”、“工作年限超过“+noy+”年的员工”);
JasperReport JasperReport=getCompiledFile(报告文件名,请求);
if(rptFormat.equalsIgnoreCase(“html”)){
JasperPrint JasperPrint=JasperFillManager.fillReport(康涅狄格州hmParams的jasperReport);
//用于HTML报告
generateReportHtml(jasperPrint、请求、响应);
}
else if(rptFormat.equalsIgnoreCase(“pdf”)){
//PDF格式的报告
generateReportPDF(响应,hmParams,康涅狄格州jasperReport);
}
}catch(JRException | IOException | NamingException | SQLException e){
System.out.println(e.getMessage());
}最后{
如果(conn!=null){
康涅狄格州关闭();
conn=null;
}
}
返回null;
}
私有JasperReport getCompiledFile(字符串文件名,HttpServletRequest请求)引发异常{
debug(“path”+request.getSession().getServletContext().getRealPath(“/jasper/”+fileName+”.jasper”));
File reportFile=新文件(request.getSession().getServletContext().getRealPath(“/jasper/”+fileName+”.jasper”);
//若未找到已编译的文件,则编译XML模板
如果(!reportFile.exists()){
jaspecompilemanager.compileReportToFile(request.getSession().getServletContext().getRealPath(“/jasper/”+fileName+”.jrxml”)、request.getSession().getServletContext().getRealPath(“/jasper/”+fileName+”.jasper”);
}
JasperReport JasperReport=(JasperReport)JRLoader.loadObjectFromFile(reportFile.getPath());
返回jasperReport;
}
私有void生成器报表HTML(JasperPrint j
package net.javaonline.spring.jasper.controller;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.naming.NamingException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.jaspersoft.mongodb.MongoDbDataSource;
import com.jaspersoft.mongodb.connection.MongoDbConnection;
import net.javaonline.spring.jasper.form.JasperInputForm;
import net.sf.jasperreports.engine.JRException;
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.JasperRunManager;
import net.sf.jasperreports.engine.export.HtmlExporter;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleHtmlExporterOutput;
import net.sf.jasperreports.export.SimpleHtmlReportConfiguration;
@Controller
public class LoadJasperReport {
private static final Logger LOGGER = LoggerFactory.getLogger(LoadJasperReport.class);
@ModelAttribute("jasperRptFormats")
public ArrayList<String> getJasperRptFormats(){
ArrayList<String> jasperRptFormats = new ArrayList<String>();
jasperRptFormats.add("Html");
jasperRptFormats.add("PDF");
return jasperRptFormats;
}
@RequestMapping(value = "/loadJasper", method = RequestMethod.GET)
public String loadSurveyPg(
@ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm,
Model model) {
model.addAttribute("JasperInputForm", jasperInputForm);
return "loadJasper";
}
@RequestMapping(value = "/generateReport", method = RequestMethod.POST)
public String generateReport(
@Valid @ModelAttribute("jasperInputForm") JasperInputForm jasperInputForm,
BindingResult result,Model model,
HttpServletRequest request, HttpServletResponse response) throws ParseException {
LOGGER.debug("~~~ Generate Report ~~~");
if (result.hasErrors()) {
LOGGER.error("validation error occured in jasper input form");
return "loadJasper";
}
String reportFileName = "JREmp1";
MongoDbConnection conn = null;
try {
try {
conn = new MongoDbConnection("mongodb://localhost:27017/mydb", null, null);
} catch (JRException e) {
System.out.println("JREException : "+e.getMessage());
}
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put(MongoDbDataSource.QUERY_LANGUAGE, conn);
String rptFormat = jasperInputForm.getRptFmt();
String noy = jasperInputForm.getNoofYears();
LOGGER.debug("rpt format " + rptFormat+", no of years " + noy);
HashMap<String,Object> hmParams=new HashMap<String,Object>();
hmParams.put("noy", new Integer(noy));
hmParams.put("Title", "Employees working more than "+ noy + " Years");
JasperReport jasperReport = getCompiledFile(reportFileName, request);
if (rptFormat.equalsIgnoreCase("html") ) {
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, hmParams, conn);
// For HTML report
generateReportHtml(jasperPrint, request, response);
}
else if(rptFormat.equalsIgnoreCase("pdf")){
// For PDF report
generateReportPDF(response, hmParams, jasperReport, conn);
}
} catch (JRException | IOException | NamingException | SQLException e) {
System.out.println(e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return null;
}
private JasperReport getCompiledFile(String fileName, HttpServletRequest request) throws JRException {
LOGGER.debug("path " + request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
File reportFile = new File( request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
// If compiled file is not found, then compile XML template
if (!reportFile.exists()) {
JasperCompileManager.compileReportToFile(request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jrxml"),request.getSession().getServletContext().getRealPath("/jasper/" + fileName + ".jasper"));
}
JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
return jasperReport;
}
private void generateReportHtml( JasperPrint jasperPrint, HttpServletRequest req, HttpServletResponse resp)
throws IOException, JRException {
LOGGER.debug("~~~ Generate HTML Report ~~~");
HtmlExporter exporter=new HtmlExporter();
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList.add(jasperPrint);
exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrintList));
exporter.setExporterOutput( new SimpleHtmlExporterOutput(resp.getWriter()));
SimpleHtmlReportConfiguration configuration =new SimpleHtmlReportConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
}
private void generateReportPDF (HttpServletResponse resp, Map<String, Object> parameters,
JasperReport jasperReport, Connection conn)throws JRException, NamingException, SQLException, IOException {
LOGGER.debug("~~~ Generate PDF Report ~~~");
byte[] bytes = null;
bytes = JasperRunManager.runReportToPdf(jasperReport, parameters, conn);
resp.reset();
resp.resetBuffer();
resp.setContentType("application/pdf");
resp.setContentLength(bytes.length);
ServletOutputStream ouputStream = resp.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="FirstReport" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="7ae7f135-7061-4947-be6e-66935e65141a">
<property name="ireport.zoom" value="1.2100000000000006"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<queryString language="MongoDbQuery">
<![CDATA[{ collectionName : 'oms_order' }]]>
</queryString>
<field name="Emp_code" class="java.lang.String"/>
<field name="EmpName" class="java.lang.String"/>
<field name="Salary" class="java.lang.Integer"/>
<field name="Doj" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="31" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="555" height="27" uuid="52aef86d-1b56-49fa-bb20-e4b0ad93e554"/>
<textElement textAlignment="Center">
<font size="15"/>
</textElement>
<text><![CDATA[OMS Order Report]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="435" y="0" width="80" height="20" uuid="1130b204-cf50-4ca0-a8ad-90377eb3c0f4"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement x="515" y="0" width="40" height="20" uuid="9a913f85-d984-4d46-bc15-6223ad0746c3"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="23" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20" uuid="14c1104f-267c-4a8e-90f9-4290ef574993"/>
<text><![CDATA[buySideClientCode]]></text>
</staticText>
<staticText>
<reportElement x="468" y="0" width="87" height="20" uuid="f4886a82-d127-4bd8-8561-8f4571763f98"/>
<text><![CDATA[destId]]></text>
</staticText>
<staticText>
<reportElement x="268" y="0" width="100" height="20" uuid="35a5e86f-5d4c-4be2-be09-e2629a2a089b"/>
<text><![CDATA[orderAction]]></text>
</staticText>
<staticText>
<reportElement x="100" y="0" width="100" height="20" uuid="322fe843-6a8f-4e08-b4bd-15ebf89c4715"/>
<text><![CDATA[clOrdID]]></text>
</staticText>
<staticText>
<reportElement x="368" y="0" width="100" height="20" uuid="c1f05f4c-5f81-43c3-9861-f33d11692874"/>
<text><![CDATA[orderID]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="23" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20" uuid="bce7874d-e031-4c70-86ed-22f6c0033561"/>
<textFieldExpression><![CDATA[$F{buySideClientCode}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="468" y="0" width="87" height="20" uuid="87a25154-2e8c-4bb6-9ef3-a188577b04f6"/>
<textFieldExpression><![CDATA[$F{destId}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="368" y="2" width="100" height="20" uuid="f65ef2db-2117-4bb1-92a6-ac1f0b2f18ef"/>
<textFieldExpression><![CDATA[$F{orderID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="2" width="100" height="20" uuid="88f63e67-0dd6-4e76-a428-c610b3d0ede0"/>
<textFieldExpression><![CDATA[$F{clOrdID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="268" y="3" width="100" height="20" uuid="52daf5f7-09e8-492d-bc46-2d5ebfd13838"/>
<textFieldExpression><![CDATA[$F{orderAction}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="30" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="19" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="22" splitType="Stretch"/>
</summary>
</jasperReport>
String mongoURI = "mongodb://localhost:27017/mybb";
MongoDbConnection mongConnection = null;
Map<String, Object> parameters = new HashMap<String, Object>();
try {
mongConnection = new MongoDbConnection(mongoURI, null, null);
parameters.put(MongoDbDataSource.CONNECTION, mongConnection);
File jasperFile;
jasperFile = new File("JREmp1.jasper");
JasperCompileManager.compileReportToFile("JREmp1.jrxml", "JREmp1.jasper");
JasperFillManager.fillReportToFile("JREmp1.jasper", parameters);
JasperExportManager.exportReportToPdfFile("JREmp1.jrprint");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (mongConnection != null) {
mongConnection.close();
}
}
<!-- but you need one more (secret) from mongoDB site -->
<dependency>
<groupId>com.jaspersoft.connectors.mongodb</groupId>
<artifactId>js-mongodb-datasource</artifactId>
<version>0.9.3</version>
</dependency>
<!-- This is a secret repository for js-mongodb-datasource jar -->
<repositories>
<repository>
<id>MongoJasperRepo</id>
<url>http://jaspersoft.artifactoryonline.com/jaspersoft/jaspersoft-repo</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
MongoDbConnection conn = null;
try {
try {
conn = new MongoDbConnection("mongodb://" + mongoHost + ":" + mongoPort + "/" + mongodb, null, null);
} catch (JRException e) {
System.out.println("JREException : " + e.getMessage());
}