|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Bonjour à tous,
J'ai déja posé cette question mais je n'ai pas encore eu de réponse, donc je retente ma chance. J'ai un projet Java dans lequel sont inclus les différents jar et plugin de Birt me permettant entre autre de créer des rapports. Dans mon projet Java j'ai une classe qui s'occupe de récupérer des données dans une DB. Lorque j'exécute un test (JUnit) qui instancie ma classe à laquelle je donne les informations nécessaire pour récupérer mes données dans la db, tout se passe bien mais ensuite je dois mettre à disposition de mon rapport le résultat de ma recherche, or il faut (paraît-il) que je copie cet objet dans un répertoir précis (C:\eclipse\plugins\org.eclipse.birt.report.viewer_2.0.1\birt\WEB-INF\classes) pour que mon rapport travaillant via une ScriptedDataSource et un ScriptedDataSet puisse avoir accès au données via une méthode getData() de mon objet. Mais lorsque je fais un new de mon objet je ne sais pas où il se trouve sur mon disque, de plus je ne sais pas une fois qu'il a récupérer les données le déplacer pour le mettre dans le bon répertoire et le tout pendant que mon test ou mon application tourne. Bref je suis perdu, je reste persuader qu'il est possible que mon rapport accède à ma méthode (et donc aux données) pendant que mon application tourne et tout cela sans trop de manipulations. Voilà, si vous avez une idée ou une aide ou encore mieux un exemple je serai heureux d'en savoir plus. Merci pour tout maxscljava |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
Je pense qu'il y a eu un problème de compréhension dans les réponse que tu as eu.
Quand on te dis de mettre ton objet dans C:\eclipse\plugins\org.eclipse.birt.report.viewer_2.0.1\birt\WEB-INF\classes c'est juste le fichier .class Pour éviter les erreurs du type classcast exception... Par contre le new tonObject(), il faut que tu le fasses directement dans ton rapport.
__________________
Gagnez une place pour Devoxx France 2012 |
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
plop,
salut maxscljava !! hier je t'ai répondu sur le newsgroup de BIRT a peu prés la meme chose que moritan. http://www.eclipse.org/newsportal/ar...pse.birt#12167 ^_^ |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Merci à tous les deux pour vos réponses, mais quelque chose m'échappe.
Je suis dans mon appli Java j'instancie ma class via un new, c'est bien la classe de mon package et non celle du mis dans le répertoire birt_viewer qui est instanciée. De plus, pour mon objet je dois lui transmettre des paramètre encodés par l'utilisateur et ce à partir d'Eclipse, donc il m'est difficile de faire un new dans le script du rapport car comment va-t-il allez récupérer les données encodées par l'utilisateur. Enfin, je procède comme cela sur une action j'ouvre un wizard qui demande les infos de recherche à l'utilisateur, ensuite j'instancie mon objet dans lequel je stocke les données encodées par l'utilisateur,et je devrai mettre à disposition cet objet (a mettre dans le fameux répertoire) pour que lorsque dans mon code java je demande au rapport de se créer il puisse effectuer l'appel à la DB et s'afficher dans un browser sous Eclipse. Ceci n'est peut-être pas la bonne façon, je ne sais pas ....si toutefois vous aviez une autre solution je serai heureux d'en prendre connaissance. Quoiqu'il en soit merci beaucoup pour votre aide. maxscljava |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() |
plop,
En ce qui me concerne moi je procéde de la façon suivante : 1/ je créer mon scripted Data set 2/ je définit dans le "open" de ce Data set les lignes suivante: Code :
voila. |
||
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Merci pour l'info, je vais essayé cette méthode.
Juste un blème je ne sais plus trop comment on passe les paramètres au rapport, aurais-tu une piste ou un exemple ? Merci bcp maxscljava |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() |
Tu utilises le Birt Viewer ou le report Engine??
Pour informations voici un petit tutorial sur la configuration des paramétres http://www.eclipse.org/birt/phoenix/...ts/parameters/ Si tu utilises le Birt Viewer et que tu ne veux pas que tes utilisateurs définissent les paramétres Il faut passer les paramétres dans l'url directement. |
|
|
00
|
|
|
#8 | ||
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Voici avec quoi je travaille :
Code :
Si je te suis bien : 1. Je devrai à partit de mon wizard (qui demande les infos à l'utilisateur) envoyé ces infos au rapports 2. Dans mon rapport instancier ma classe 3. Lui donner les paramètres reçus 4. Lui demander d'aller rechercher les données dans la DB 5. Ensuite demander le résultat 6. afficher mon rapport avec les données. Est-ce comme cela que tu le vois ? Merci d'avance maxscljava |
||
|
|
00
|
|
|
#9 | |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Citation:
Code :
task.setParameterValue(taCle,tonParametre); |
|
|
|
00
|
|
|
#10 | |
|
Membre régulier
![]() |
plop,
En ce qui concerne les paramétres tu peux les définir au niveau de Birt comme non obligatoire ( allow null value). Citation:
Ensuite si tu passe plusieurs paramétres fait attention quand tu les passes à la méthode de ta classe. Au lieu de faire un constructeur ou une méthode avec plusieurs paramétres je te conseille d'utiliser une collection qui stocke tous tes paramètres que tu passe. La ou il faut faire attention c'est que du coté java il faut récuperer sous la forme du type Object puis caster en tableau de String. |
|
|
|
00
|
|
|
#11 | |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Ok, merci à tous pour ces infos, je m'en vais essayer et je vous informe si cela fonctionne.
Encore un grand merci pour votre aide, elle est très précieuse. maxscljava
|
|
|
00
|
|
|
#13 | ||||
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Bonjour à tous,
Voila j'ai commencer mes tests mais un blème vient une fois de + me bloquer Code :
Code :
|
||||
|
|
00
|
|
|
#14 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Ca ressemble a une tentative de preview... Avec les Scripted DataSet, oublie le preview...
|
|
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() ![]() Développeur Java Inscription : juin 2005 Messages : 657 ![]() |
Tu ne lancerais pas ton appli directement dans Eclipse par hasard??
Parceque le message Code :
__________________
Gagnez une place pour Devoxx France 2012 |
||
|
00
|
|
|
#16 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 48 ![]() |
Merci pour ces infos mais il faut savoir que seul le code présent dans mon précédent message est présent dans mon application, et effectivement je suis dans un application Eclipse faisant partie d'un projet dans lequel se trouve un autre composant contenant un li/shared qui lui même contient org.eclipse.birt.report.engine_2.1.0.N20060628-1351.jar.
Je me demande si la ligne config.setEngineHome("C:/Other/Download/birt-runtime-2_1_0/ReportEngine"); ne fait pas double emploi avec je Jar référencé dans l'autre projet qui lui-même est connu par mon projet ? Je suis un pti peu perdu dans tout celà maxscljava |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com