Home » Archived » BIRT » Class not loading in Scripted DataSet
Class not loading in Scripted DataSet [message #213216] |
Tue, 23 January 2007 05:05  |
Eclipse User |
|
|
|
Sorry for double-post, but my posting seemed to be hidden
------------------------------------------------------------ -----------
Hello,
I think I have a similar problem, I get my classes not loaded to a
ScriptedDataSet:
in a servlet I do the following:
IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask(design);
contextMap.put(EngineConstants.WEBAPP_CLASSPATH_KEY,
sc.getRealPath("classes")); // sc = ServletContext
task.setAppContext(contextMap);
Map appContext = task.getAppContext();
for (Iterator iterator = appContext.entrySet().iterator();
iterator.hasNext();) {
Entry entry = (Entry) iterator.next();
log.debug("AppContext: " + entry.getKey() + " - " + entry.getValue());
}
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_PDF);
options.setOutputStream(resp.getOutputStream());
task.setRenderOption(options);
task.run();
In a report, I use a ScriptedDataSet, which tries to instantiate a POJO from
webapp:
<script-data-set name="DataSet" id="19">
<property name="dataSource">DataSource</property>
<list-property name="resultSet">
....define some properties...
</list-property>
<method name="open"><![CDATA[currs = new
Packages.com.equirion.printing.CurrencyListPrintingDataSet() ;]] ></method>
</script-data-set>
This produces the followin error:
WARNING: A BIRT exception occurred: Error evaluating Javascript expression.
Script engine error: TypeError: [JavaPackage
com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
(DataSet[DataSet].__bm_OPEN#2)
Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError:
[JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
function. (DataSet[DataSet].__bm_OPEN#2)
Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
__bm_OPEN()
org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred:
Error evaluating Javascript expression. Script engine error: TypeError:
[JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
function. (DataSet[DataSet].__bm_OPEN#2)
Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError:
[JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
function. (DataSet[DataSet].__bm_OPEN#2)
Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
__bm_OPEN()
at
org.eclipse.birt.data.engine.core.DataException.wrap(DataExc eption.java:114)
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)
at
org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.handleJS(DataSetScriptExecutor.java:159)
at
org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:6 6)
at
org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open( ScriptDataSetRuntime.java:68)
at
org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.j ava:227)
at
org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java :203)
at
org.eclipse.birt.data.engine.impl.QueryExecutor.execute(Quer yExecutor.java:695)
at
org.eclipse.birt.data.engine.impl.ServiceForQueryResults.exe cuteQuery(ServiceForQueryResults.java:152)
at
org.eclipse.birt.data.engine.impl.QueryResults.getResultIter ator(QueryResults.java:158)
at
org.eclipse.birt.report.engine.data.dte.DteResultSet.<init>(DteResultSet.java:79)
at
org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:113)
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:1541)
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.content.BlockStackingE xecutor.getNextChild(BlockStackingExecutor.java:47)
at
org.eclipse.birt.report.engine.layout.pdf.PDFBlockStackingLM .traverseChildren(PDFBlockStackingLM.java:72)
at
org.eclipse.birt.report.engine.layout.pdf.PDFStackingLM.layo utChildren(PDFStackingLM.java:130)
at
org.eclipse.birt.report.engine.layout.pdf.PDFPageLM.layout(P DFPageLM.java:198)
at
org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layoutReport(PDFReportLayoutEngine.java:55)
at
org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layout(PDFReportLayoutEngine.java:68)
at
org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:187)
at com.equirion.tntf.wal.printing.PrintServlet.doGet(PrintServl et.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1282)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1239)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:136)
at
com.equirion.tntf.cal.http.SessionFilter.doFilter(SessionFil ter.java:149)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte r(FilterInstanceWrapper.java:142)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:121)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(W ebAppFilterChain.java:82)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:670)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRe quest(CacheServletWrapper.java:89)
at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContai ner.java:1878)
at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChanne lLink.java:84)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleD iscrimination(HttpInboundLink.java:472)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleN ewInformation(HttpInboundLink.java:411)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(H ttpInboundLink.java:288)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .sendToDiscriminaters(NewConnectionInitialReadCallback.java: 207)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .complete(NewConnectionInitialReadCallback.java:109)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete (WorkQueueManager.java:566)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQ ueueManager.java:619)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQ ueueManager.java:952)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(Work QueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
Caused by: org.eclipse.birt.core.exception.CoreException: Error evaluating
Javascript expression. Script engine error: TypeError: [JavaPackage
com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
(DataSet[DataSet].__bm_OPEN#2)
Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
__bm_OPEN()
at
org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoExc eption(JavascriptEvalUtil.java:280)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:104)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScri pt(JavascriptEvalUtil.java:136)
at
org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJ SAsExpr(ScriptEvalUtil.java:548)
... 48 more
Caused by: org.mozilla.javascript.EcmaError: TypeError: [JavaPackage
com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
(DataSet[DataSet].__bm_OPEN#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.notFunctionError(Script Runtime.java:3308)
at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime .java:2057)
at org.mozilla.javascript.gen.c5._c1(DataSet[DataSet].__bm_OPEN :2)
at org.mozilla.javascript.gen.c5.call(DataSet[DataSet].__bm_OPE N)
at
org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRun time.java:105)
at org.mozilla.javascript.gen.c6._c0(DataSet[DataSet].__bm_OPEN :1)
at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFacto ry.java:304)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime .java:2769)
at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
at org.mozilla.javascript.gen.c6.exec(DataSet[DataSet].__bm_OPE N)
at
org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:97)
... 50 more
"Jason Weathersby" <jweathersby@actuate.com> schrieb im Newsbeitrag
news:ekkbb4$sq$1@utils.eclipse.org...
> WEBAPP_CLASSPATH_KEY is located in the org.eclipse.birt.report.engine.api
> package.
> Specifically EngineConstants.WEBAPP_CLASSPATH_KEY.
> I am not certain about the second error.
>
> Can you post the source code?
>
> Jason
>
> "Nico" <neptune3122@yahoo.fr> wrote in message
> news:988ec86eaa9d4e8fbd3d0b40f80a5ca4$1@www.eclipse.org...
>> Hello,
>>
>> I tried to update my version of BIRT (2.0.1 to 2.1) and I had two
>> compilation errors in my code :
>>
>> The first error : The class
>> " org.eclipse.birt.report.engine.script.internal.ScriptExecuto r " does not
>> exist any more. I used it for "ScriptExecutor.WEBAPP_CLASSPATH_KEY"
>>
>> The second error : The class
>> "org.eclipse.birt.report.engine.executor.ExecutionContext" does not exist
>> any more. I used it for "myClassLoader =
>> ExecutionContext.getCustomClassLoader(ScriptExecutor.WEBAPP_ CLASSPATH_KEY,
>> (Map)null);"
>>
>> So, what can I use to replace this code please?
>>
>> Thank you very much
>>
>> Nico
>>
>
>
|
|
|
Re: Class not loading in Scripted DataSet [message #213252 is a reply to message #213216] |
Tue, 23 January 2007 05:34   |
Eclipse User |
|
|
|
another Test in my PrintServlet:
I tried to load the class with a local loader and with the Loader used in
the IReportEngine, this produces the following output:
ClassLoader loaderLocal = this.getClass().getClassLoader();
ClassLoader loaderBirt = birtReportEngine.getClass().getClassLoader();
log.debug("Classloader PrintServlet:" + loaderLocal);
log.debug("Classloader birtReportEngine:" + loaderBirt);
try {
loaderLocal.loadClass("com.equirion.printing.CurrencyListPrintingDataSet ");
} catch (ClassNotFoundException e1) {
log.error("Local Loader class not found");
}
try {
loaderBirt.loadClass("com.equirion.printing.CurrencyListPrintingDataSet ");
} catch (ClassNotFoundException e1) {
log.error("Birt Loader class not found");
}
Log:
[23.01.07 11:29:36:567 CET] 00000036 SystemOut O POC DEBUG Classloader
PrintServlet:
com.ibm.ws.classloader.CompoundClassLoader@5fff4fe Local ClassPath: <
includes also my WEB-INF\lib and WEB-INF\classes>...
[23.01.07 11:29:36:567 CET] 00000036 SystemOut O POC DEBUG Classloader
birtReportEngine:org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@382b34f8
...... at
com.equirion.tntf.wal.printing.PrintServlet.doGet(PrintServl et.java:98)
[23.01.07 11:29:39:020 CET] 00000036 SystemOut O POC ERROR Birt Loader
class not found ..... at
com.equirion.tntf.wal.printing.PrintServlet.doGet(PrintServl et.java:145)
"Wolfgang Herr" <herr@tambas.at> schrieb im Newsbeitrag
news:ep4mkf$k32$1@utils.eclipse.org...
> Sorry for double-post, but my posting seemed to be hidden
> ------------------------------------------------------------ -----------
> Hello,
>
> I think I have a similar problem, I get my classes not loaded to a
> ScriptedDataSet:
>
> in a servlet I do the following:
> IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask(design);
>
> contextMap.put(EngineConstants.WEBAPP_CLASSPATH_KEY,
> sc.getRealPath("classes")); // sc = ServletContext
>
> task.setAppContext(contextMap);
>
> Map appContext = task.getAppContext();
>
> for (Iterator iterator = appContext.entrySet().iterator();
> iterator.hasNext();) {
>
> Entry entry = (Entry) iterator.next();
>
> log.debug("AppContext: " + entry.getKey() + " - " + entry.getValue());
>
> }
>
> HTMLRenderOption options = new HTMLRenderOption();
>
> options.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_PDF);
>
> options.setOutputStream(resp.getOutputStream());
>
> task.setRenderOption(options);
>
> task.run();
>
> In a report, I use a ScriptedDataSet, which tries to instantiate a POJO
> from
> webapp:
> <script-data-set name="DataSet" id="19">
> <property name="dataSource">DataSource</property>
> <list-property name="resultSet">
> ...define some properties...
> </list-property>
> <method name="open"><![CDATA[currs = new
> Packages.com.equirion.printing.CurrencyListPrintingDataSet() ;]] ></method>
> </script-data-set>
> This produces the followin error:
>
> WARNING: A BIRT exception occurred: Error evaluating Javascript
> expression.
> Script engine error: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN(). See next exception for more information.
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> org.eclipse.birt.data.engine.core.DataException: A BIRT exception
> occurred:
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN(). See next exception for more information.
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> at
> org.eclipse.birt.data.engine.core.DataException.wrap(DataExc eption.java:114)
> 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)
> at
> org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.handleJS(DataSetScriptExecutor.java:159)
> at
> org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:6 6)
> at
> org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open( ScriptDataSetRuntime.java:68)
> at
> org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.j ava:227)
> at
> org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java :203)
> at
> org.eclipse.birt.data.engine.impl.QueryExecutor.execute(Quer yExecutor.java:695)
> at
> org.eclipse.birt.data.engine.impl.ServiceForQueryResults.exe cuteQuery(ServiceForQueryResults.java:152)
> at
> org.eclipse.birt.data.engine.impl.QueryResults.getResultIter ator(QueryResults.java:158)
> at
> org.eclipse.birt.report.engine.data.dte.DteResultSet.<init>(DteResultSet.java:79)
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:113)
> 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:1541)
> 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.content.BlockStackingE xecutor.getNextChild(BlockStackingExecutor.java:47)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFBlockStackingLM .traverseChildren(PDFBlockStackingLM.java:72)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFStackingLM.layo utChildren(PDFStackingLM.java:130)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFPageLM.layout(P DFPageLM.java:198)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layoutReport(PDFReportLayoutEngine.java:55)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layout(PDFReportLayoutEngine.java:68)
> at
> org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:187)
> at
> com.equirion.tntf.wal.printing.PrintServlet.doGet(PrintServl et.java:133)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1282)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1239)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:136)
> at
> com.equirion.tntf.cal.http.SessionFilter.doFilter(SessionFil ter.java:149)
> at
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte r(FilterInstanceWrapper.java:142)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:121)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(W ebAppFilterChain.java:82)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:670)
> at
> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRe quest(CacheServletWrapper.java:89)
> at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContai ner.java:1878)
> at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChanne lLink.java:84)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleD iscrimination(HttpInboundLink.java:472)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleN ewInformation(HttpInboundLink.java:411)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(H ttpInboundLink.java:288)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .sendToDiscriminaters(NewConnectionInitialReadCallback.java: 207)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .complete(NewConnectionInitialReadCallback.java:109)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete (WorkQueueManager.java:566)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQ ueueManager.java:619)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQ ueueManager.java:952)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(Work QueueManager.java:1039)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
> Caused by: org.eclipse.birt.core.exception.CoreException: Error evaluating
> Javascript expression. Script engine error: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoExc eption(JavascriptEvalUtil.java:280)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:104)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScri pt(JavascriptEvalUtil.java:136)
> at
> org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJ SAsExpr(ScriptEvalUtil.java:548)
> ... 48 more
> Caused by: org.mozilla.javascript.EcmaError: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#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.notFunctionError(Script Runtime.java:3308)
> at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime .java:2057)
> at org.mozilla.javascript.gen.c5._c1(DataSet[DataSet].__bm_OPEN :2)
> at org.mozilla.javascript.gen.c5.call(DataSet[DataSet].__bm_OPE N)
> at
> org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRun time.java:105)
> at org.mozilla.javascript.gen.c6._c0(DataSet[DataSet].__bm_OPEN :1)
> at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
> at
> org.mozilla.javascript.ContextFactory.doTopCall(ContextFacto ry.java:304)
> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime .java:2769)
> at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
> at org.mozilla.javascript.gen.c6.exec(DataSet[DataSet].__bm_OPE N)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:97)
> ... 50 more
>
>
> "Jason Weathersby" <jweathersby@actuate.com> schrieb im Newsbeitrag
> news:ekkbb4$sq$1@utils.eclipse.org...
>> WEBAPP_CLASSPATH_KEY is located in the org.eclipse.birt.report.engine.api
>> package.
>> Specifically EngineConstants.WEBAPP_CLASSPATH_KEY.
>> I am not certain about the second error.
>>
>> Can you post the source code?
>>
>> Jason
>>
>> "Nico" <neptune3122@yahoo.fr> wrote in message
>> news:988ec86eaa9d4e8fbd3d0b40f80a5ca4$1@www.eclipse.org...
>>> Hello,
>>>
>>> I tried to update my version of BIRT (2.0.1 to 2.1) and I had two
>>> compilation errors in my code :
>>>
>>> The first error : The class
>>> " org.eclipse.birt.report.engine.script.internal.ScriptExecuto r " does not
>>> exist any more. I used it for "ScriptExecutor.WEBAPP_CLASSPATH_KEY"
>>>
>>> The second error : The class
>>> "org.eclipse.birt.report.engine.executor.ExecutionContext" does not
>>> exist
>>> any more. I used it for "myClassLoader =
>>> ExecutionContext.getCustomClassLoader(ScriptExecutor.WEBAPP_ CLASSPATH_KEY,
>>> (Map)null);"
>>>
>>> So, what can I use to replace this code please?
>>>
>>> Thank you very much
>>>
>>> Nico
>>>
>>
>>
>
>
>
|
|
|
Re: Class not loading in Scripted DataSet [message #213408 is a reply to message #213216] |
Tue, 23 January 2007 14:29   |
Eclipse User |
|
|
|
This may be an issue with your classes depending on other classes.
Can you try a single class in a package that does not depend on others?
Jason
"Wolfgang Herr" <herr@tambas.at> wrote in message
news:ep4mkf$k32$1@utils.eclipse.org...
> Sorry for double-post, but my posting seemed to be hidden
> ------------------------------------------------------------ -----------
> Hello,
>
> I think I have a similar problem, I get my classes not loaded to a
> ScriptedDataSet:
>
> in a servlet I do the following:
> IRunAndRenderTask task = birtReportEngine.createRunAndRenderTask(design);
>
> contextMap.put(EngineConstants.WEBAPP_CLASSPATH_KEY,
> sc.getRealPath("classes")); // sc = ServletContext
>
> task.setAppContext(contextMap);
>
> Map appContext = task.getAppContext();
>
> for (Iterator iterator = appContext.entrySet().iterator();
> iterator.hasNext();) {
>
> Entry entry = (Entry) iterator.next();
>
> log.debug("AppContext: " + entry.getKey() + " - " + entry.getValue());
>
> }
>
> HTMLRenderOption options = new HTMLRenderOption();
>
> options.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_PDF);
>
> options.setOutputStream(resp.getOutputStream());
>
> task.setRenderOption(options);
>
> task.run();
>
> In a report, I use a ScriptedDataSet, which tries to instantiate a POJO
> from
> webapp:
> <script-data-set name="DataSet" id="19">
> <property name="dataSource">DataSource</property>
> <list-property name="resultSet">
> ...define some properties...
> </list-property>
> <method name="open"><![CDATA[currs = new
> Packages.com.equirion.printing.CurrencyListPrintingDataSet() ;]] ></method>
> </script-data-set>
> This produces the followin error:
>
> WARNING: A BIRT exception occurred: Error evaluating Javascript
> expression.
> Script engine error: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN(). See next exception for more information.
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> org.eclipse.birt.data.engine.core.DataException: A BIRT exception
> occurred:
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN(). See next exception for more information.
> Error evaluating Javascript expression. Script engine error: TypeError:
> [JavaPackage com.equirion.printing.CurrencyListPrintingDataSet] is not a
> function. (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> at
> org.eclipse.birt.data.engine.core.DataException.wrap(DataExc eption.java:114)
> 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)
> at
> org.eclipse.birt.report.engine.script.internal.DataSetScript Executor.handleJS(DataSetScriptExecutor.java:159)
> at
> org.eclipse.birt.report.engine.script.internal.ScriptDataSet ScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:6 6)
> at
> org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open( ScriptDataSetRuntime.java:68)
> at
> org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.j ava:227)
> at
> org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$Scri ptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java :203)
> at
> org.eclipse.birt.data.engine.impl.QueryExecutor.execute(Quer yExecutor.java:695)
> at
> org.eclipse.birt.data.engine.impl.ServiceForQueryResults.exe cuteQuery(ServiceForQueryResults.java:152)
> at
> org.eclipse.birt.data.engine.impl.QueryResults.getResultIter ator(QueryResults.java:158)
> at
> org.eclipse.birt.report.engine.data.dte.DteResultSet.<init>(DteResultSet.java:79)
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:113)
> 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:1541)
> 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.content.BlockStackingE xecutor.getNextChild(BlockStackingExecutor.java:47)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFBlockStackingLM .traverseChildren(PDFBlockStackingLM.java:72)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFStackingLM.layo utChildren(PDFStackingLM.java:130)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFPageLM.layout(P DFPageLM.java:198)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layoutReport(PDFReportLayoutEngine.java:55)
> at
> org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEng ine.layout(PDFReportLayoutEngine.java:68)
> at
> org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run (RunAndRenderTask.java:187)
> at
> com.equirion.tntf.wal.printing.PrintServlet.doGet(PrintServl et.java:133)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1282)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servl etWrapper.java:1239)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:136)
> at
> com.equirion.tntf.cal.http.SessionFilter.doFilter(SessionFil ter.java:149)
> at
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilte r(FilterInstanceWrapper.java:142)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(We bAppFilterChain.java:121)
> at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(W ebAppFilterChain.java:82)
> at
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest (ServletWrapper.java:670)
> at
> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRe quest(CacheServletWrapper.java:89)
> at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContai ner.java:1878)
> at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChanne lLink.java:84)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleD iscrimination(HttpInboundLink.java:472)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleN ewInformation(HttpInboundLink.java:411)
> at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(H ttpInboundLink.java:288)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .sendToDiscriminaters(NewConnectionInitialReadCallback.java: 207)
> at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .complete(NewConnectionInitialReadCallback.java:109)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete (WorkQueueManager.java:566)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQ ueueManager.java:619)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQ ueueManager.java:952)
> at
> com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(Work QueueManager.java:1039)
> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
> Caused by: org.eclipse.birt.core.exception.CoreException: Error evaluating
> Javascript expression. Script engine error: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#2)
> Script source: DataSet[DataSet].__bm_OPEN, line: 1, text:
> __bm_OPEN()
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoExc eption(JavascriptEvalUtil.java:280)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:104)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateScri pt(JavascriptEvalUtil.java:136)
> at
> org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJ SAsExpr(ScriptEvalUtil.java:548)
> ... 48 more
> Caused by: org.mozilla.javascript.EcmaError: TypeError: [JavaPackage
> com.equirion.printing.CurrencyListPrintingDataSet] is not a function.
> (DataSet[DataSet].__bm_OPEN#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.notFunctionError(Script Runtime.java:3308)
> at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime .java:2057)
> at org.mozilla.javascript.gen.c5._c1(DataSet[DataSet].__bm_OPEN :2)
> at org.mozilla.javascript.gen.c5.call(DataSet[DataSet].__bm_OPE N)
> at
> org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRun time.java:105)
> at org.mozilla.javascript.gen.c6._c0(DataSet[DataSet].__bm_OPEN :1)
> at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
> at
> org.mozilla.javascript.ContextFactory.doTopCall(ContextFacto ry.java:304)
> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime .java:2769)
> at org.mozilla.javascript.gen.c6.call(DataSet[DataSet].__bm_OPE N)
> at org.mozilla.javascript.gen.c6.exec(DataSet[DataSet].__bm_OPE N)
> at
> org.eclipse.birt.core.script.JavascriptEvalUtil.evaluateRawS cript(JavascriptEvalUtil.java:97)
> ... 50 more
>
>
> "Jason Weathersby" <jweathersby@actuate.com> schrieb im Newsbeitrag
> news:ekkbb4$sq$1@utils.eclipse.org...
>> WEBAPP_CLASSPATH_KEY is located in the org.eclipse.birt.report.engine.api
>> package.
>> Specifically EngineConstants.WEBAPP_CLASSPATH_KEY.
>> I am not certain about the second error.
>>
>> Can you post the source code?
>>
>> Jason
>>
>> "Nico" <neptune3122@yahoo.fr> wrote in message
>> news:988ec86eaa9d4e8fbd3d0b40f80a5ca4$1@www.eclipse.org...
>>> Hello,
>>>
>>> I tried to update my version of BIRT (2.0.1 to 2.1) and I had two
>>> compilation errors in my code :
>>>
>>> The first error : The class
>>> " org.eclipse.birt.report.engine.script.internal.ScriptExecuto r " does not
>>> exist any more. I used it for "ScriptExecutor.WEBAPP_CLASSPATH_KEY"
>>>
>>> The second error : The class
>>> "org.eclipse.birt.report.engine.executor.ExecutionContext" does not
>>> exist
>>> any more. I used it for "myClassLoader =
>>> ExecutionContext.getCustomClassLoader(ScriptExecutor.WEBAPP_ CLASSPATH_KEY,
>>> (Map)null);"
>>>
>>> So, what can I use to replace this code please?
>>>
>>> Thank you very much
>>>
>>> Nico
>>>
>>
>>
>
>
>
|
|
| | | |
Goto Forum:
Current Time: Sat Jul 19 05:59:06 EDT 2025
Powered by FUDForum. Page generated in 0.06693 seconds
|