cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Re: XMLDBSource, cacheable + questions
Date Thu, 22 Dec 2005 13:24:32 GMT
Frédéric Glorieux wrote:
>
> Bonjour,
>
> Je cherche à avoir un générateur xmldb cacheable.
> J'utilise Exist.
> Dans certains cas, Exist sait donner une date de modification (quand 
> on demande une ressource précise). Il est possible que ceci puisse 
> s'étendre aux collections, et donc aux requêtes effectuées sur une 
> collection.
>
> Je fais marcher, mais je ne sais pas si c'est optimal.
>
> Comme je vois que Sylvain à toucher à XMLDBSource il y a moins de 3 
> semaines
> http://svn.apache.org/viewcvs.cgi/cocoon/blocks/xmldb/trunk/java/org/apache/cocoon/components/source/impl/

>
> Mes questions ont peut être un peu d'actualité.
>
> (Je m'en suis d'ailleurs aperçu un peu tard. Je travaillais sur une 
> vieille version de la classe, beaucoup moins bien factorisée)
>
> J'ai surchargé
> XMLDBSource.getValidity()
> pour qu'il renvoit un TimeStampValidity(lastModified) quand il est 
> possible de récupérer un long lastModified.
> ça marche.

J'ai vu ces méthodes complémentaires sur l'interface EXistResource qu'il 
serait bien pratique d'utiliser pour avoir une implémentation plus 
complète de l'interface Source. Malheureusement, la license d'Exist 
interdit ces extensions spécifiques d'être utilisées dans le code 
disponible chez Apache...

> (Je le vérifie avec une xsl qui me tagge le xml généré avec une date. 
> Tant que je n'ai pas touché à la ressource Exist (ou à une xsl du 
> tuyau) la date ne change pas, et si je modifie la ressource exist, 
> tout est regénéré )
>
> Maintenant, les questions que je me pose
>
>  * Faut il fabriquer un TimeStampValidity à chaque fois que 
> getValidity() est appelé ?

Oui. La création d'un petit objet n'est pas coûteuse, et si on le 
gardait dans l'objet Source, cela complexifierait inutilement le code 
pour la gestion d'état.

>  * C'est certainement une mauvaise pratique, mais j'ai eu besoin d'un 
> getter sur user:password, cela me permet de reprendre la connexion 
> configurée en cocoon.xconf depuis ailleurs

Ca n'est pas forcément une mauvaise pratique. Lorsqu'on est sûr de 
l'implémentation concrète de Source qu'on utilise, des méthodes 
supplémentaires peuvent faciliter la vie. FileSource par exemple, permet 
d'accéder au File sous-jacent. Je pensais d'ailleurs mettre un accès 
public à la ressource et la collection dans XMLDBSource. Ca pourrait aider?

>  * J'imagine que tant que l'api xmldb ne proposera pas un équivalent 
> de getLastModified() ce ne serait pas une bonne pratique de mettre ce 
> genre de choses selon chaque implémentation xmldb ?

C'est plus une question de licence que de bonne pratique...

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://bluxte.net                     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message