Bonjour à tous !
j'ai besoin d'un petit coup de main sur un problème relatif à SmartGWT :
En une phrase : Je cherche à présenter à l'utilisateur (sous SmartGWT) la structure d'un objet java, c'est à dire pour chaque attribut sa valeur associée, et la possiblité de parcourir les classes rattachées ainsi que les collections
concrêtement, je cherche à avoir la vue "Variables" d'Eclipse
Je précise : mes objets sont relativements complexes, et leur structure (nom des attributs, types, classes rattachées) n'est PAS connue à l'avance.
J'entame tout juste ma réflexion... et à première vue, je serai tenté d'aborder le problème sous cet angle :
1) GWT aime bien les datasources en XML... donc je verrai bien GWT manipuler un XML décrivant l'objet que je dois afficher. et un treegrid pour le rendu.
2) Je dois alors trouver une lib java me permettant de générer un XML à la volée à partir d'un objet java passé en paramètre, par introspection des attributs (ou éventuellement utilisation des getters).
Pour le point 2) les libs foisonnent, et permettent de générer sans trop de difficultés un outputstream XML décrivant la structure de l'objet...
Là où ça se corse, c'est que la sortie est systématiquement présentée sous forme d'un arbre XML, du type :
Ce qui n'est visiblement pas compatible avec le mode de fonctionnement de SmartGWT sur les datasources, qui s'attend à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <objet> <champ1>valeur1</champ1> <classeA> <champ2>valeur2</champ2> <champ3>valeur3</champ3> </classeA> </object>
A) la nécessité de définir l'exhaustivité des noms des attributs à mapper (alors que j'en ai AUCUNE idée)
B) une arborescence présentée "à plat", avec pour chaque entité une FK vers son parent
A votre avis, comment faire ?
- J'ai pas trouvé dans la doc de smartGWT de moyen de personnaliser la datasource (mais bon vu la doc succinte)
- J'ai pas trouvé de lib permettant de convertir un XML sous forme d'arborescence en un XML "à plat" avec FK
Merci d'avance
PS : j'espère avoir été suffisamment exhaustif... mais n'hésitez pas si j'ai omis quelques informations...
Partager