| Generating report with BIRT 2.1.1 (Nightly Build) fails with Javascript errors while fetching data [message #190397] |
Thu, 14 September 2006 05:09 |
Eclipse User |
|
|
|
Hi,
currently i'm testing the BIRT 2.1.1 Version. Under 2.1.0 it works fine
but after updating the following error occurs:
Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT
exception occurred: Error evaluating Javascript expression. Script
engine error: TypeError: getDataSet is not a function.
(DataSet[dataSet1].__bm_FETCH#2)
Script source: DataSet[dataSet1].__bm_FETCH, line: 1, text:
__bm_FETCH(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError:
getDataSet is not a function. (DataSet[dataSet1].__bm_FETCH#2)
Script source: DataSet[dataSet1].__bm_FETCH, line: 1, text:
__bm_FETCH()
It seems that birt can not find the method getDataSet from the
dataCollection object.
Has anyone an idea where the error is or what i can do?
The following lines shows how i build the javascript to fetch the data:
==============================
ScriptDataSetHandle ds = design.getElementFactory().newScriptDataSet(
dataSetName );
design.getDataSets().add( ds );
ds.setDataSource( dataSource.getName() );
ds.setOpen( "count = 0;" );
StringBuffer sb = new StringBuffer();
sb.append( "var ds = params[\"dataCollection\"].getDataSet(\""
).append( dataSetName ).append( "\");\n" );
sb.append( "if( count < ds.size() )\n" );
sb.append( "{\n" );
sb.append( "var columns = ds.get(count);\n" );
for( int i=0; i<columns.length; i++ )
{
sb.append( "dataSetRow[\"" ).append( columns[i].getName() ).append(
"\"]=columns[" );
sb.append( i ).append( "];\n");
}
sb.append( "count++;\n" );
sb.append( "return true;\n" );
sb.append( "}\n" );
sb.append( "return false;\n" );
ds.setFetch( sb.toString() );
=============================
Following lines shows how i start generating the report:
======================
IRunAndRenderTask runTask = birtEngine.createRunAndRenderTask(
ticket.getReportDescriptorImpl().getBirtDesignFile().getAbso lutePath(),
design );
// Run birt task
runTask.setLocale( session.getOutputLocale() );
runTask.setRenderOption( option );
runTask.setAppContext( appCtx );
runTask.setParameterValue( "dataCollection", session.getDataCollection() );
runTask.setParameterValue( "renderUtils", session.getRenderUtils() );
runTask.setParameterValue( "linkBuilder", session.getLinkBuilder() );
runTask.run();
=====================
Complete error message:
The following items have errors:
Table (id = 78):
- There are errors evaluating script "var ds =
params["dataCollection"].getDataSet("dataSet1");
if( count < ds.size() )
{
var columns = ds.get(count);
dataSetRow["timespan"]=columns[0];
dataSetRow["smtp"]=columns[1];
dataSetRow["pop3"]=columns[2];
dataSetRow["linkparam1"]=columns[3];
count++;
return true;
}
return false;".
Error.ScriptEvaluationError ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: There are
errors evaluating script "var ds =
params["dataCollection"].getDataSet("dataSet1");
if( count < ds.size() )
{
var columns = ds.get(count);
dataSetRow["timespan"]=columns[0];
dataSetRow["smtp"]=columns[1];
dataSetRow["pop3"]=columns[2];
dataSetRow["linkparam1"]=columns[3];
count++;
return true;
}
return false;".
at
org.eclipse.birt.report.engine.script.internal.DtEScriptExec utor.handleJS(DtEScriptExecutor.java:76)
at
org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.handleJS(DataSetScriptExecutor.java:159)
at
org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.handleFetch(ScriptDataSetScriptExecutor.java: 100)
at
org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.fetch (ScriptDataSetRuntime.java:84)
at
org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor$CustomDataSet.fetch(PreparedScriptDSQuery. java:246)
at
org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch (OdiAdapter.java:148)
at
org.eclipse.birt.data.engine.executor.cache.RowResultSet.nex t(RowResultSet.java:91)
at
org.eclipse.birt.data.engine.executor.cache.ExpandableRowRes ultSet.next(ExpandableRowResultSet.java:62)
at
org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper .populateData(SmartCacheHelper.java:268)
at
org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper .initInstance(SmartCacheHelper.java:243)
at
org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper .getResultSetCache(SmartCacheHelper.java:206)
at
org.eclipse.birt.data.engine.executor.cache.SmartCache.<init >(SmartCache.java:65)
at
org.eclipse.birt.data.engine.executor.transform.pass.PassUti l.populateOdiResultSet(PassUtil.java:109)
at
org.eclipse.birt.data.engine.executor.transform.pass.PassUti l.pass(PassUtil.java:65)
at
org.eclipse.birt.data.engine.executor.transform.pass.PassMan ager.doSinglePass(PassManager.java:120)
at
org.eclipse.birt.data.engine.executor.transform.pass.PassMan ager.pass(PassManager.java:80)
at
org.eclipse.birt.data.engine.executor.transform.pass.PassMan ager.populateResultSet(PassManager.java:62)
at
org.eclipse.birt.data.engine.executor.transform.ResultSetPop ulator.populateResultSet(ResultSetPopulator.java:207)
at
org.eclipse.birt.data.engine.executor.transform.CachedResult Set. <init>(CachedResultSet.java:118)
at
org.eclipse.birt.data.engine.executor.CandidateQuery.execute (CandidateQuery.java:88)
at
org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java :212)
at
org.eclipse.birt.data.engine.impl.QueryExecutor.execute(Quer yExecutor.java:735)
at
org.eclipse.birt.data.engine.impl.ServiceForQueryResults.exe cuteQuery(ServiceForQueryResults.java:181)
at
org.eclipse.birt.data.engine.impl.QueryResults.getResultIter ator(QueryResults.java:137)
at
org.eclipse.birt.report.engine.data.dte.DteResultSet.<init>(DteResultSet.java:86)
at
org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:115)
at
org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.e xecute(AbstractDataEngine.java:208)
at
org.eclipse.birt.report.engine.executor.ExecutionContext.exe cuteQuery(ExecutionContext.java:1640)
at
org.eclipse.birt.report.engine.executor.QueryItemExecutor.ex ecuteQuery(QueryItemExecutor.java:62)
at
org.eclipse.birt.report.engine.executor.TableItemExecutor.ex ecute(TableItemExecutor.java:74)
at
org.eclipse.birt.report.engine.internal.executor.l18n.Locali zedReportItemExecutor.execute(LocalizedReportItemExecutor.ja va:35)
at
org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking LM.layoutChildren(HTMLBlockStackingLM.java:63)
at
org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.la yout(HTMLAbstractLM.java:159)
at
org.eclipse.birt.report.engine.layout.html.HTMLInlineStackin gLM.resumeLayout(HTMLInlineStackingLM.java:94)
at
org.eclipse.birt.report.engine.layout.html.HTMLInlineStackin gLM.layoutChildren(HTMLInlineStackingLM.java:138)
at
org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.la yout(HTMLAbstractLM.java:159)
at
org.eclipse.birt.report.engine.layout.html.HTMLRowLM.layout( HTMLRowLM.java:30)
at
org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking LM.layoutChildren(HTMLBlockStackingLM.java:68)
at
org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layou tChildren(HTMLTableLM.java:74)
at
org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.la yout(HTMLAbstractLM.java:159)
at
org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout Children(HTMLPageLM.java:139)
at
org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout (HTMLPageLM.java:81)
at
org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutE ngine.layout(HTMLReportLayoutEngine.java:80)
at
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:194)
at
com.inxmail.xreport.internal.engine.ReportEngineImpl.generat eReport(ReportEngineImpl.java:321)
at
com.inxmail.xreport.internal.engine.ReportEngineImpl.access$ 3(ReportEngineImpl.java:232)
at
com.inxmail.xreport.internal.engine.ReportEngineImpl$1.run(R eportEngineImpl.java:219)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT
exception occurred: Error evaluating Javascript expression. Script
engine error: TypeError: getDataSet is not a function.
(DataSet[dataSet1].__bm_FETCH#2)
Script source: DataSet[dataSet1].__bm_FETCH, line: 1, text:
__bm_FETCH(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError:
getDataSet is not a function. (DataSet[dataSet1].__bm_FETCH#2)
Script source: DataSet[dataSet1].__bm_FETCH, line: 1, text:
__bm_FETCH()
at
org.eclipse.birt.data.engine.core.DataException.wrap(DataExc eption.java:118)
at
org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJ SAsExpr(ScriptEvalUtil.java:552)
at
org.eclipse.birt.data.engine.script.JSMethodRunner.runScript (JSMethodRunner.java:79)
at
org.eclipse.birt.report.engine.script.internal.DtEScriptExec utor.handleJS(DtEScriptExecutor.java:71)
... 47 more
Caused by: org.eclipse.birt.core.exception.CoreException: Error
evaluating Javascript expression. Script engine error: TypeError:
getDataSet is not a function. (DataSet[dataSet1].__bm_FETCH#2)
Script source: DataSet[dataSet1].__bm_FETCH, line: 1, text:
__bm_FETCH()
at
org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoExc eption(JavascriptEvalUtil.java:281)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:105)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScri pt(JavascriptEvalUtil.java:137)
at
org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJ SAsExpr(ScriptEvalUtil.java:548)
... 49 more
Caused by: org.mozilla.javascript.EcmaError: TypeError: getDataSet is
not a function. (DataSet[dataSet1].__bm_FETCH#2)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRu ntime.java:3240)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRu ntime.java:3230)
at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime .java:3246)
at
org.mozilla.javascript.ScriptRuntime.typeError1(ScriptRuntim e.java:3258)
at
org.mozilla.javascript.ScriptRuntime.notFunctionError(Script Runtime.java:3317)
at
org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis( ScriptRuntime.java:1987)
at org.mozilla.javascript.gen.c41._c1(DataSet[dataSet1].__bm_FE TCH:2)
at org.mozilla.javascript.gen.c41.call(DataSet[dataSet1].__bm_F ETCH)
at
org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRun time.java:105)
at org.mozilla.javascript.gen.c42._c0(DataSet[dataSet1].__bm_FE TCH:1)
at org.mozilla.javascript.gen.c42.call(DataSet[dataSet1].__bm_F ETCH)
at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFacto ry.java:304)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime .java:2769)
at org.mozilla.javascript.gen.c42.call(DataSet[dataSet1].__bm_F ETCH)
at org.mozilla.javascript.gen.c42.exec(DataSet[dataSet1].__bm_F ETCH)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:98)
... 51 more
|
|
|
Powered by
FUDForum. Page generated in 0.03428 seconds