You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Sébastien ARBOGAST <se...@epseelon.org> on 2005/03/24 02:30:22 UTC

Cocoon, Hibernate et XSP ?

Bonjour,

En attendant de pouvoir utiliser HSQLDB comme datasource pour Hibernate 
(cf. mon autre message), j'ai suivi le tutoriel du Wiki pour connecter 
une datasource sur ma base MySQL et j'ai continué avec l'excellent 
tutoriel CocoonAndHibernateTutorial pour créer le composant Avalon et le 
filtre de servlet pour déposer la session. A priori tout fonctionne bien 
d'après les logs mais maintenant j'aimerais bien écrire une page XSP 
pour écrire un objet et le persister.

 Malheureusement je n'ai trouvé aucun tutoriel qui me permette de faire 
vraiment ça. UsingHibernateToPersistYourJavaBeans m'a servi à créer le 
POJO et la base de données avec le fichier de mapping. Tout est bien 
chargé mais la page XSP ne semble pas compatible avec Hibernate 3. En 
tout cas à aucun moment on n'ouvre de session ou on utilise 
Session.save(). J'ai bien essayé de repomper le code flowscript pour 
ouvrir la session mais je ne sais pas comment récupérer une référence 
vers le composant HibernateFactory (toujours en suivant la logique du 
CocoonAndHibernateTutorial).

Auriez-vous un exemple simple, une page XSP qui me permette de récupérer 
une référence vers mon HibernateFactory, de créer une session et de 
persister une nouvelle instance de User 
(UsingHibernateToPersistYourJavaBeans ) ?

Merci beaucoup par avance

Sébastien

---------------------------------------------------------------------
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


Re: Cocoon, Hibernate et XSP ?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 24 mars 05, à 12:32, Sylvain Wallez a écrit :
> As-tu regardé jDBI? http://jdbi.codehaus.org/
>
> Ca fait un moment que ça me démange de construire un joli sample avec 
> ça, mais malheureusement le temps n'est pas extensible...

Ca a l'air super intéressant, je vais essayer d'extensibler un peu de 
temps ;-)

-Bertrand

Re: Cocoon, Hibernate et XSP ?

Posted by Sylvain Wallez <sy...@apache.org>.
Bertrand Delacretaz wrote:

> Le 24 mars 05, à 11:13, Aurélien DEHAY a écrit :
>
>> ...J'utilise ce qu'il y a dans le block petstore (qui ne contient
>> semble-t-il que ça d'ailleurs :p ), ça marche vraiment bien. Quelle
>> genre d'idée as-tu?
>
>
> L'idée serait de créer des wrappers java pour faciliter l'accès à SQL 
> depuis le flowscript, du genre (j'invente, c'est très approximatif):
>
> var connection = dbWrapper.getConnection("my-connection");
> var resultSetWrapper = connection.query("select * from planets");
>
> cocoon.sendPage(
>   "mon-jx-qui-dumpe-le-resultset.jx",
>   { "conn" : connection, "rs" : resultSetWrapper }
> )
>
> Et il manque le 3ème paramètre à sendPage pour être sur d'appeler 
> connection.close() quand on en a fini avec la page.
>
> En fait je pense qu'il manque très peu pour pouvoir réaliser cela, 
> peut-être même que nous avons déjà tout ce qu'il faut dans Cocoon et 
> qu'il suffit de créer quelques exemples.
>
> Un des problèmes est de créer des requêtes supplémentaires en fonction 
> du résultat, du genre (pseudocode):
>
> foreach rs.lines
>   id = rs.column["planet_id"];
>   newRs = conn.query("select * from otherDb where stuff = 
> someFunctionOf(id))
>
> Ce que ESQL permet assez facilement.


As-tu regardé jDBI? http://jdbi.codehaus.org/

Ca fait un moment que ça me démange de construire un joli sample avec 
ça, mais malheureusement le temps n'est pas extensible...

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://apache.org/~sylvain            http://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


Re: Cocoon, Hibernate et XSP ?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 24 mars 05, à 11:13, Aurélien DEHAY a écrit :

> ...J'utilise ce qu'il y a dans le block petstore (qui ne contient
> semble-t-il que ça d'ailleurs :p ), ça marche vraiment bien. Quelle
> genre d'idée as-tu?

L'idée serait de créer des wrappers java pour faciliter l'accès à SQL 
depuis le flowscript, du genre (j'invente, c'est très approximatif):

var connection = dbWrapper.getConnection("my-connection");
var resultSetWrapper = connection.query("select * from planets");

cocoon.sendPage(
   "mon-jx-qui-dumpe-le-resultset.jx",
   { "conn" : connection, "rs" : resultSetWrapper }
)

Et il manque le 3ème paramètre à sendPage pour être sur d'appeler 
connection.close() quand on en a fini avec la page.

En fait je pense qu'il manque très peu pour pouvoir réaliser cela, 
peut-être même que nous avons déjà tout ce qu'il faut dans Cocoon et 
qu'il suffit de créer quelques exemples.

Un des problèmes est de créer des requêtes supplémentaires en fonction 
du résultat, du genre (pseudocode):

foreach rs.lines
   id = rs.column["planet_id"];
   newRs = conn.query("select * from otherDb where stuff = 
someFunctionOf(id))

Ce que ESQL permet assez facilement.

-Bertrand



Re: Cocoon, Hibernate et XSP ?

Posted by Aurélien DEHAY <ad...@zorel.org>.
Le jeudi 24 mars 2005 à 10:33 +0100, Bertrand Delacretaz a écrit :
> Le 24 mars 05, à 10:22, Aurélien DEHAY a écrit :
> 
> > ...Java, c'est gentil, mais il faut connaitre, et la simplicité d'un
> > fichier ESQL, accessible même pour nous les non-développeurs, est quand
> > même appréciable...
> 
> Oui, c'est justement le cas auquel je pensais, ESQL est encore bien 
> pratique pour faire du SQL direct. J'ai quelques idées pour améliorer 
> les possibilités d'accès SQL direct depuis le flowscript, mais les 
> idées sont bon marché, l'implémentation est plus coûteuse ;-)

J'utilise ce qu'il y a dans le block petstore (qui ne contient
semble-t-il que ça d'ailleurs :p ), ça marche vraiment bien. Quelle
genre d'idée as-tu?
-- 
Aurélien


---------------------------------------------------------------------
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


Re: Cocoon, Hibernate et XSP ?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 24 mars 05, à 10:22, Aurélien DEHAY a écrit :

> ...Java, c'est gentil, mais il faut connaitre, et la simplicité d'un
> fichier ESQL, accessible même pour nous les non-développeurs, est quand
> même appréciable...

Oui, c'est justement le cas auquel je pensais, ESQL est encore bien 
pratique pour faire du SQL direct. J'ai quelques idées pour améliorer 
les possibilités d'accès SQL direct depuis le flowscript, mais les 
idées sont bon marché, l'implémentation est plus coûteuse ;-)

-Bertrand

--
   Bertrand Delacretaz
   independent consultant, Lausanne, Switzerland
   http://www.codeconsult.ch


Re: Cocoon, Hibernate et XSP ?

Posted by Sylvain Wallez <sy...@apache.org>.
Aurélien DEHAY wrote:

>Bonjour.
>
>Le jeudi 24 mars 2005 à 08:05 +0100, Bertrand Delacretaz a écrit :
>  
>
>>Le 24 mars 05, à 02:30, Sébastien ARBOGAST a écrit :
>>    
>>
>>>...Auriez-vous un exemple simple, une page XSP qui me permette de 
>>>récupérer une référence vers mon HibernateFactory, de créer une 
>>>session et de persister une nouvelle instance de User 
>>>(UsingHibernateToPersistYourJavaBeans ) ?...
>>>      
>>>
>>Note que XSP n'est vraiment plus recommandé pour de nouvelles 
>>applications. Ca pourrait certainement fonctionner mais nous 
>>recommandons d'utiiliser plutôt le flowscript et du code java.
>>    
>>
>
>Que nous reste-t-il de conseillé alors? Flowscript, ok, c'est pas très
>compliqué. Personnellement, j'y mets même du code SQL avec connexion à
>la base de données, ça ne doit pas être très «sexy» mais ça marche bien.
>
>Java, c'est gentil, mais il faut connaitre, et la simplicité d'un
>fichier ESQL, accessible même pour nous les non-développeurs, est quand
>même appréciable.
>  
>

ESQL est *la* raison pour laquelle XSP est intéressant :-)

Par contre, il faut bien comprendre que XSP fait partie de la vue dans 
le modèle MVC, et qu'elle n'est donc destinée qu'à de la lecture dans la 
base de données. Les opérations d'écriture doivent être faites dans le 
contrôleur, c'est à dire le flowscript ou des classes Java appelées par 
le flowscript.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://apache.org/~sylvain            http://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


Re: Cocoon, Hibernate et XSP ?

Posted by Aurélien DEHAY <ad...@zorel.org>.
Bonjour.

Le jeudi 24 mars 2005 à 08:05 +0100, Bertrand Delacretaz a écrit :
> Le 24 mars 05, à 02:30, Sébastien ARBOGAST a écrit :
> > ...Auriez-vous un exemple simple, une page XSP qui me permette de 
> > récupérer une référence vers mon HibernateFactory, de créer une 
> > session et de persister une nouvelle instance de User 
> > (UsingHibernateToPersistYourJavaBeans ) ?...
> 
> Note que XSP n'est vraiment plus recommandé pour de nouvelles 
> applications. Ca pourrait certainement fonctionner mais nous 
> recommandons d'utiiliser plutôt le flowscript et du code java.

Que nous reste-t-il de conseillé alors? Flowscript, ok, c'est pas très
compliqué. Personnellement, j'y mets même du code SQL avec connexion à
la base de données, ça ne doit pas être très «sexy» mais ça marche bien.

Java, c'est gentil, mais il faut connaitre, et la simplicité d'un
fichier ESQL, accessible même pour nous les non-développeurs, est quand
même appréciable.

Cdlt.

> 
> -Bertrand

-- 
Aurélien


---------------------------------------------------------------------
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


Re: Cocoon, Hibernate et XSP ?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 24 mars 05, à 09:25, Lionel Barth a écrit :

> Petite digression du sujet "Cocoon, Hibernate et XSP ?"
>
> Bertrand Delacretaz a ecrit le 24/03/05 8:05:
>
>> Note que XSP n'est vraiment plus recommandé pour de nouvelles 
>> applications...
>
> Par qui ? Pourquoi ?

Par la communauté des développeurs Cocoon, parce que flowscript + java 
est une bien meilleure solution, plus propre, plus facile à maintenir, 
etc.

Il reste probablement quelques applications où XSP offre quelques 
avantages, mais elles tendent à disparaître.

-Bertrand

Re: Cocoon, Hibernate et XSP ?

Posted by Lionel Barth <lb...@hachette-livre.fr>.
Petite digression du sujet "Cocoon, Hibernate et XSP ?"

Bertrand Delacretaz a ecrit le 24/03/05 8:05:

> Note que XSP n'est vraiment plus recommandé pour de nouvelles 
> applications...

Par qui ? Pourquoi ?

Ça me semble pourtant bien cadrer avec "Apache Cocoon is a web 
development framework built around the concepts of separation of 
concerns and component-based web development."

Lionel


---------------------------------------------------------------------
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


Re: Cocoon, Hibernate et XSP ?

Posted by Bertrand Delacretaz <bd...@apache.org>.
Le 24 mars 05, à 02:30, Sébastien ARBOGAST a écrit :
> ...Auriez-vous un exemple simple, une page XSP qui me permette de 
> récupérer une référence vers mon HibernateFactory, de créer une 
> session et de persister une nouvelle instance de User 
> (UsingHibernateToPersistYourJavaBeans ) ?...

Note que XSP n'est vraiment plus recommandé pour de nouvelles 
applications. Ca pourrait certainement fonctionner mais nous 
recommandons d'utiiliser plutôt le flowscript et du code java.

-Bertrand