Envoyé par : hhf
Date : 29/08/2008 18:37
Salut Dragou, j'ai bien recu ton mail, et je te recopi ici, pour partager la reponse avec la communaute. Je remet donc ta question :
Bonjour,
je me permet de te demander ton aide concernant la génération d'un
arbre à partir d'un fichier RDF généré dynamiquement en Java. D'après
une ancienne discussion sur le forum de XULFR.org intitulée "arbres :
performances", tu as pu générer un arbre complexe de plusieurs
milliers de lignes en mode remote à partir d'une programmation en java
(API Servlet + tomcat ???). Serait-il possible d'en savoir plus
(présentation du contexte, code source, notamment de l'implémentation
Java) ?
Par avance, merci beaucoup
Et j'y repond...
Envoyé par : hhf
Date : 29/08/2008 19:05
Bon donc je commence a y repondre, mais faudra attendre lundi pour les details si besoin.
Dans mon cas je generais un ResultSet 'hierarchique' avec java. puis je le parcourais en detectant l'incrementation ou decrementation de la colonne 'level'. en le parcourant, je flush directement, via une API que j'ai fait, le RDF resultant sur le response.getOutputStream().
Donc deja pour generer un ResultSet 'hierarchique', c'est Oracle qui me faisait ca, c'est surement possible via mysql, mais je suis pas specialiste BDD, donc.... La commande 'OracleSQL' utilisee est CONNECT BY PRIOR. Faut checher l'equivalent pour d'autres bases.
Au niveau de la base, j'ai une table de data ou, une colonne indique quel est le pere de la ligne via une cle unique (pas forcement primaire). via la requete de la mort qui tue avec le CONNECT BY PRIOR, je recupere le ResultSet.
L'idee est surtout de ne pas parcourir plus d'une fois les donnees pour obtenir le XML. Donc pas question de construire un Object JAVA qui modeliserait la hierarchie. on parcours et on genere en meme temps.
Voila, je tacherais lundi de recuperer des morceau de code et un morceau de la requete pour t'en dire plus.
Dis moi si quelque chose t'echape.
PS : cette technique est aussi valable pour des donnees non hierarchique. Si tu utilise un modele, ou tu as separe la partie metier de la mise en forme.
typiquement : requete client,
controlleur, servlet, DAO database acces object, servlet, jsp,
client.
La technique classique est de : Dans la servlet, metre en forme les donnees recuperer via le DAO et de les mettre a disposition pour la JSP, qui se charge de les mettre en forme (HTML, XML, RDF...)
Le probleme, est que si tu recupere un REsultSet de 10000 lignes, tu parcours le ResultSet pour creer un Vector a mettre a disposition de la JSP.
Puis dans la JSP tu reparcours le Vector pour mettre en forme les donnees.
Tres couteux....
Donc l'idees c'est de ne plus passer par une JSP, mais d'avoir une classe qui genere a la vole le fichier mise en forme(RDF, XML, pas HTML) via le Resultset.
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.