Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2008, 13h44   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
Par défaut [2.2.1.1] Utiliser une classe Java pour DataSource, vieux problème?

bonjour,

en bref : pourquoi ne parviens-je pas à appeler ma classe Java?

Birt 2.2.1.1 tourne dans notre application J2EE/JSF, elle même déployé sur un JBOSS 4.3.0.GA.

Les rapports sont parfaits... tant que la datasource au format SQL est écrit dans les rptdesign.

Je souhaite maintenant être capable de fournir la datasource sous un format arraylist, list Java.

j'ai bien vu de nombreux postes sur comment utiliser une datasource issue d'une classe Java. J'ai suivi plusieurs tutoriaux et j'ai toujours terminé par une exception me signalant que la méthode que j'appelle n'existe pas ou n'est pas public.

Je pense que je ne parviens à atteindre le bon package.

La platform Birt est embarqué dans notre .war.
La classe générant la liste est elle dans un package de l'application.

j'avais relevé particulièrement ce qui suit, qui me semblait aisé :
http://www.developpez.net/forums/sho...d.php?t=173264

mais j'ai la belle erreur suivante :

Citation:
13:35:45,787 ERROR [STDERR] 25 juin 2008 13:35:45 org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor handleJS
ATTENTION: A BIRT exception occurred: Error evaluating Javascript expression. Script engine error: TypeError: getInstance n'est pas une fonction, est un or
g.mozilla.javascript.NativeJavaPackage (DataSet[ScriptedDataSet].__bm_OPEN#12)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: getInstance n'est pas une fonction, est un org.mozilla.javascript.NativeJavaPackage
(DataSet[ScriptedDataSet].__bm_OPEN#12)
Script source: DataSet[ScriptedDataSet].__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: getInst
ance n'est pas une fonction, est un org.mozilla.javascript.NativeJavaPackage (DataSet[ScriptedDataSet].__bm_OPEN#12)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: TypeError: getInstance n'est pas une fonction, est un org.mozilla.javascript.NativeJavaPackage
(DataSet[ScriptedDataSet].__bm_OPEN#12)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN()
at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:118)
at org.eclipse.birt.data.engine.script.ScriptEvalUtil.evaluateJSAsExpr(ScriptEvalUtil.java:680)
at org.eclipse.birt.data.engine.script.JSMethodRunner.runScript(JSMethodRunner.java:79)
at org.eclipse.birt.report.engine.script.internal.DtEScriptExecutor.handleJS(DtEScriptExecutor.java:71)
at org.eclipse.birt.report.engine.script.internal.DataSetScriptExecutor.handleJS(DataSetScriptExecutor.java:159)
at org.eclipse.birt.report.engine.script.internal.ScriptDataSetScriptExecutor.handleOpen(ScriptDataSetScriptExecutor.java:66)
at org.eclipse.birt.data.engine.impl.ScriptDataSetRuntime.open(ScriptDataSetRuntime.java:79)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor$CustomDataSet.open(PreparedScriptDSQuery.java:244)
at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:220)
at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:767)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:217)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:157)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:83)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:155)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:111)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:182)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1685)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:76)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:61)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:45)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:85)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:106)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:189)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:224)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:89)
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 13h57   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

C'est un peu trop vieux.

Regarde sur la FAQ plutôt : http://www.developpez.net/forums/sho...6&postcount=15
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 14h26   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
bonjour "BIM"

certes BIM, mais quid de comment s'assurer avec cette configuration d'appeler une méthode d'une classe Java qui se trouve dans un pacakge autre que celui de BIRT?
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 14h38   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Alors l'idéal serait de faire soit dans le open du DataSet soit dans le initialize de l'état :
Code :
importPackage(Packages.ceci.est.mon.chemin.de.package);
Pour prendre un exemple simple :
Code :
importPackage(Packages.java.util);
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h26   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
et bien là, il me renvoit un message incohérent.

je dis parce que la dite classe a un constructeur sans argument :

Classe :
Citation:

/**
*
* @author acouder
*/

public class UPFunctionLists extends ArrayList {
private static UPFunctionLists m_Instance = null;

private UPFunctionLists() {
super();
add(new String[]{"NOM1","Christophe"});
add(new String[]{"NOM2","Nicolas"});
add(new String[]{"NOM3","Myriam"});
add(new String[]{"NOM4","Anne-Lyse"});
add(new String[]{"NOM5","Jérôme"});
add(new String[]{"NOM6","Lilian"});
add(new String[]{"NOM7","Virginie"});
}

public static UPFunctionLists getInstance() {
if (m_Instance == null)
m_Instance = new UPFunctionLists();
return m_Instance;
}
}
Message d'erreur :
Citation:
ATTENTION: A BIRT exception occurred: Error evaluating Javascript expression. Script engine error: Le constructeur Java de "com.xfp.gui.web.report.service.
util.scripteddatasource.UPFunctionLists" avec les arguments "" est introuvable (DataSet[ScriptedDataSet].__bm_OPEN#31)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: Le constructeur Java de "com.xfp.gui.web.report.service.util.scripteddatasource.UPFunctionList
s" avec les arguments "" est introuvable (DataSet[ScriptedDataSet].__bm_OPEN#31)
Script source: DataSet[ScriptedDataSet].__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: Le constructeur Ja
va de "com.xfp.gui.web.report.service.util.scripteddatasource.UPFunctionLists" avec les arguments "" est introuvable (DataSet[ScriptedDataSet].__bm_OPEN#31
)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN(). See next exception for more information.
Error evaluating Javascript expression. Script engine error: Le constructeur Java de "com.xfp.gui.web.report.service.util.scripteddatasource.UPFunctionList
s" avec les arguments "" est introuvable (DataSet[ScriptedDataSet].__bm_OPEN#31)
Script source: DataSet[ScriptedDataSet].__bm_OPEN, line: 1, text:
__bm_OPEN()
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h29   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Le message d'erreur n'est pas incohérent, tu ne le comprends pas, c'est différent.

Que contient ta méthode OPEN stp ? (En gardant le même nombre de lignes)
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h54   #7
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
elle contient ceci :

Citation:
importPackage(Packages.com.xfp.gui.web.report.service.util.scripteddatasource);

scriptedDataSet = new UPFunctionLists();

nbLignes = 0;
if (scriptedDataSet != null)
nbLignes = scriptedDataSet.size();
ligneEnCours = 0;
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h01   #8
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
Citation:
Envoyé par BiM Voir le message
Le message d'erreur n'est pas incohérent,
disons que si je lis :
Citation:
UPFunctionLists" avec les arguments "" est introuvable
et que ma classe contient :
Citation:
private UPFunctionLists() {
super();
add(new String[]{"NOM1","Christophe"});
add(new String[]{"NOM2","Nicolas"});
add(new String[]{"NOM3","Myriam"});
add(new String[]{"NOM4","Anne-Lyse"});
add(new String[]{"NOM5","Jérôme"});
add(new String[]{"NOM6","Lilian"});
add(new String[]{"NOM7","Virginie"});
}
ben je trouve cela incohérent dans le sens qu'il y a bien un constructeur vide d'argument
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h13   #9
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
private ton constructeur.

Met le public, ca fonctionnera mieux !
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h42   #10
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 36
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : octobre 2007
Messages : 36
Points : 12
Points : 12
Envoyer un message via Skype™ à alfredoc
bon bon bon

ça réagit mieux déjà

le reste des bugs est a moi

merci BIM !
alfredoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h15.


 
 
 
 
Partenaires

Hébergement Web