|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2005 Messages : 12 ![]() |
Bonjour,
je suis en train de développer un état avec birt et j'essaye au maximum de tout faire en java pour simplifier la maintenance. Pour le projet nous récupérons les données via des appels EJB, qui nous retournent des objets java dont je fais une liste de tableau d'objet qui est utiliser ensuite dans l'événement fetch. J'ai donc plusieurs ScriptedDataSource en fonction de l'origine de mes données, et après sur chaque datasource j'ai un ou plusieurs dataset. J'ai rajouté des eventhandler sur mes datasource et dataset. Pour rendre mon code efficace, il y a certains objets que je ne voudrais récupérer qu'une seule fois au niveau de mon datasource et ensuite les partager avec ses différents dataset. Ma question est donc de savoir si à partir de la référence du datasource présent dans le eventhander du dataset, si on pouvait avoir une référence sur le eventhandler du datasource. Comme ca avec un cast, je pourrais avoir accès depuis tous mes dataset aux données qui sont chargé à l'évenement "open" de mon datasource... J'espère que vous pourrez m'aider |
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
Je ne comprends pas. Les ScriptedDataSource n'ont aucune particularités. Un ScriptedDataSource 1 est identique à un ScriptedDataSource 2, il ne définit aucune source de données puisqu'en général les ScriptedDataSet récupèreront leurs données dans le DataSet. Après, pour la suite j'ai pas tout compris. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2005 Messages : 12 ![]() |
C'est vrai que mon explication est pas des plus claires...
J'ai plusieurs dataset qui retournent des données basé sur un même objet java. Cet objet java étant long à récupéré (plusieurs secondes par EJB) j'aurais aimé le récupérer au moment de l'ouverture du datasource et le partager ensuite avec mes différents dataset. En fait je cherche un moyen pour partager un objet java entre différents mes différents classe étandant ScriptedDataSetEventAdapter... |
|
|
00
|
|
|
#4 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Pourquoi ne passes-tu pas directement l'objet Java en paramètre ?
|
|
|
00
|
|
|
#5 | ||||
|
Invité régulier
![]() Inscription : avril 2005 Messages : 12 ![]() |
Très bonne question
Je n'avais pas vu qu'on pouvait utiliser le reportContext pour réaliser ce genre de chose. Donc pour ne pas avoir de référence sur les handler, dans le DataSoureHandler je met l'objet à partager en paramètres sur le reportContext : Code :
Code :
|
||||
|
|
00
|
|
|
#6 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Elle est déjà dans la FAQ
En fait, tu n'utilises pas le designer j'ai l'impression. Puisque tu peux mettre dans le beforeOpen via le designer (Tu cliques sur ton_data_source > onglet script > menu déroulant beforeOpen) tout simplement : Code JavaScript :
params["glObal"] = new java.lang.Double(1000000); Code JavaScript :
global = params["glObal"].value; |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : avril 2005 Messages : 12 ![]() |
J'utilise bien le designer, mais pour tout ce qui est script je préfère tout faire en java plutôt que du javascript... Une mauvaise habitude sans doute.
Merci encore une fois |
|
|
00
|
|
|
#8 | |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Citation:
Je ne le fais pas pour la simple et bonne raison que j'ai un service qui s'occupe de BIRT et donc que je n'y touche pas. Mais c'est vrai que c'est plus facile a maintenir comme tu le fais |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com