sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] <sdx:executeSimpleQuery> avec choix des bases


From: Pierrick Brihaye
Subject: Re: [sdx-users] <sdx:executeSimpleQuery> avec choix des bases
Date: Tue, 09 Nov 2004 15:38:07 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.6) Gecko/20040113

Re,

address@hidden a écrit :

<sdx:executeSimpleQuery queryString="query" queryParam="qid">
        <xsp:logic>
                if(false) {
                        <sdx:location base="notices"
app="i2.application.documentation.ceddre"/>
                }
                if(false) {
                        <sdx:location base="noticesInternet"
app="i2.application.documentation.repertoiresites"/>
                }
        </xsp:logic>
</sdx:executeSimpleQuery>

Dommage :-(

ça ne marche pas : les 2 bases sont incluses malgré les "if(false)"... J'en
ai rajouté une couche :

<sdx:executeSimpleQuery queryString="query" queryParam="qid">
        <xsp:logic>
                if(false) {
                        </xsp:logic><sdx:location base="notices"
app="i2.application.documentation.ceddre"/><xsp:logic>
                }
                if(false) {
                        </xsp:logic><sdx:location base="noticesInternet"
app="i2.application.documentation.repertoiresites"/><xsp:logic>
                }
        </xsp:logic>
</sdx:executeSimpleQuery>

Euh... "false" à tous les coups ?!!

Idem... Donc après je me suis orienté vers le tout java. Enfin... j'ai
essayé ! D'après le mail de Sébastien et l'API SDX, j'ai fait ça :

SimpleQuery sq = new SimpleQuery();
SearchLocations sdx_locations = new SearchLocations();

Stop ! Ainsi que le dit le message d'erreur de compilation, sdx_locations est déjà dans votre scope ; vous ne pouvez donc déclarer :

SearchLocations sdx_locations = new SearchLocations();

par contre :

sdx_locations = new SearchLocations();

devrait être OK.

fr.gouv.culture.sdx.documentbase.SDXDocumentBase db = new
fr.gouv.culture.sdx.documentbase.SDXDocumentBase();

Idem. Pas de new : demandez votre db à l'application ! V. plus bas...

- ah, sdx_locations et sdx_field sont déjà définies... faut-il les utiliser
ou créer des autres variables ?

Il faut les utiliser... sans les réinstancier.

[truc] : voir sdx.xsl pour les variables "globales".

- dois-je rendre sdx_field égal à chaîne vide "" ?

Vu votre query... ça n'est pas gênant, ça ne fait que définir un champ par défaut.

- dois-je utiliser sdx_locations.addDocumentBase(DocumentBase db) ?

Pourquoi pas ? Mais regardez au préalable :

http://www.nongnu.org/sdx/docs/html/doc-sdx2/apidocs/fr/gouv/culture/sdx/application/Application.html#getDocumentBase(java.lang.String)
http://www.nongnu.org/sdx/docs/html/doc-sdx2/apidocs/fr/gouv/culture/sdx/search/lucene/query/SearchLocations.html#addDocumentBase(fr.gouv.culture.sdx.documentbase.DocumentBase)

- si oui, comment créer un objet DocumentBase ? (DocumentBase est une
interface) Avec la class SDXDocumentBase ? En utilisant un objet déjà créé
quelque part ?

V. ci-dessus.

- j'aurais besoin de qqch comme DocumentBase.set(base, appli); ou
DocumentBase.add(base, appli); pour dire où chercher...

Mmmh... ce n'est pas comme ça que ça marche : une DB est dans une appli. Je le déplore, mais c'est comme ça :-)

A propos, l'objet "racine", c'est l'implémentation de framework :

http://www.nongnu.org/sdx/docs/html/doc-sdx2/apidocs/fr/gouv/culture/sdx/framework/FrameworkImpl.html

A+



--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden
+33 (0)2 99 29 67 78




reply via email to

[Prev in Thread] Current Thread [Next in Thread]