Bonjour à tous,
Je souhaite faire appel à une classe java une fois que mon état birt est construit afin de mettre à jour une base de données.
1) Ma config
- version de birt : 2.2.1.1
- mode d’exécution : utilisation du BIRT Runtime sur Linux
- exécution : en batch
2) Ma classe
J’ai créé ma classe mc.batch.Virements dans laquelle un methode getInstance() me retourne une instance de celle-ci. Comme précisé dans le FAQ Birt, j’ai placé le jar contenant ma classe dans ReportEngine/lib du runtime.
3) Mon état
J’ai placé le code suivant dans la partie initialize ( j’ai fait de même dans beforeOpen => même résultat) :
4) Exécution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var obj; obj = new Packages.mc.batch.Virements.getInstance();
Lors de l’exécution de l'état j’ajoute au classpath l’emplacement de mon jar.
5) Resultat
6) Conclusion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 14 déc. 2007 10:12:21 org.eclipse.birt.report.engine.executor.ExecutionContext evaluate GRAVE: TypeError: [JavaPackage mc.batch.Virements.getInstance] n'est pas une fonction (<inline>#3) org.mozilla.javascript.EcmaError: TypeError: [JavaPackage mc.batch.Virements.getInstance] n'est pas une fonction (<inline>#3) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3240) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3230) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3246) at org.mozilla.javascript.ScriptRuntime.typeError1(ScriptRuntime.java:3258) at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3317) at org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3308) at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2057) at org.mozilla.javascript.gen.c6._c0(<inline>:3) at org.mozilla.javascript.gen.c6.call(<inline>) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.gen.c6.call(<inline>) at org.mozilla.javascript.gen.c6.exec(<inline>) at org.eclipse.birt.core.script.ScriptContext.eval(ScriptContext.java:223) at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:576) at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:555) at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.handleJSInternal(ScriptExecutor.java:61) at org.eclipse.birt.report.engine.script.internal.ScriptExecutor.handleJS(ScriptExecutor.java:45) at org.eclipse.birt.report.engine.script.internal.ReportScriptExecutor.handleInitialize(ReportScriptExecutor.java:30) at org.eclipse.birt.report.engine.api.impl.EngineTask.loadDesign(EngineTask.java:1187) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:82) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:68) at org.eclipse.birt.report.engine.api.ReportRunner.runAndRenderReport(ReportRunner.java:221) at org.eclipse.birt.report.engine.api.ReportRunner.execute(ReportRunner.java:161) at org.eclipse.birt.report.engine.api.ReportRunner.main(ReportRunner.java:117)
J’ai la vague impression qu’il ne trouve pas ma classe !
Là je tourne en rond depuis quelque temps.
Merci de votre aide
Partager