Hello, I'm new to Birt. <br />
<br />
I'm trying to pass the connection to the report from my java application, but I get an error:<br />
<br />
<span style='color: #FF0000'><span style='font-size: 8px;'>The following items have errors:<br />
<br />
ReportDesign (id = 1):<br />
+ There are errors evaluating script "importPackage(Packages.it.lfiammetta.birt);<br />
var conn = new ReportRenderer(); <br />
reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn);":<br />
Fail to execute script in function __bm_beforeOpen(). Source:<br />
<br />
" + importPackage(Packages.it.lfiammetta.birt);<br />
var conn = new ReportRenderer(); <br />
reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn); + "<br />
<br />
A BIRT exception occurred. See next exception for more information.<br />
Error evaluating Javascript expression. Script engine error: ReferenceError: "ReportRenderer" is not defined. (/report/data-sources/oda-data-source[
@id="43"]/method[
@name="beforeOpen"]#2)<br />
Script source: /report/data-sources/oda-data-source[
@id="43"]/method[
@name="beforeOpen"], line: 0, text:<br />
__bm_beforeOpen(). (Element ID:1)</span></span><br />
<br />
<br />
This is my java code that creates and launches report:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
package it.lfiammetta.birt;
public class ReportRenderer {
public void executeReport() {
code...
Map<String, Object> appContext = task.getAppContext();
appContext.put("OdaJDBCDriverPassInConnection", myConnection);
appContext.put("OdaJDBCDriverPassInConnectionCloseAfterUse", false);
task.setAppContext(appContext);
task.run();
code...
}
}
</pre>
<br />
This is the code I wrote in the script 'beforeOpen' the datasource:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
importPackage(Packages.it.lfiammetta.birt);
var conn = new ReportRenderer();
reportContext.getAppContext().put("OdaJDBCDriverPassInConnection", conn);
</pre>
<br />
I set the classpath.<br />
<br />
Birt version I'm using is 4.2.1.<br />
<br />
Thanks in advance for your help and I apologize for my English.