sdx-developers
[Top][All Lists]
Advanced

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

RE : RE : [sdx-developers] Conformité OAI-PMH


From: Rasik Pandey
Subject: RE : RE : [sdx-developers] Conformité OAI-PMH
Date: Fri, 9 Jan 2004 14:27:47 +0100

Salut,

 >
 >Dans
 >
 >AbstractDocumentBaseOAIRepository, on a :
 >
 >/**The number of records for before issuing a resumption 
 >tokent*/ protected int numberPerResponse = 1000;//defaulted
 >
 >Wow ! Ne peut-on reprendre :
 >
 >/** The default number of results per page */
 >public static final int HITS_PER_PAGE = 20;
 >
 >dans  fr.gouv.culture.sdx.search.lucene.query.Results
 >
 >et, en passant, remonter cette variable, et les variables 
 >connexes, dans 
 >la classe fr.gouv.culture.sdx.search.Results ?
 >
 >
 >Attention également à :
 >this.numberPerResponse = 
 >configuration.getAttributeAsInteger(ATTRIBUTE_NAME_NO_PER_RESP
 >ONSE, 1000);



De: http://www.openarchives.org/OAI/2.0/guidelines-repository.htm
 
2.5 Flow Control
Flow control, through the use of incomplete list responses and
resumptionToken elements, is a powerful mechanism that allows a
repository to throttle incoming requests from harvesters. However,
depending on the repository, this can be one of the more complex parts
of the OAI-PMH to implement. While there are no definite guidelines
regarding the size of a list response that should result in an
incomplete-list responses, it is reasonable that repositories with less
than 1000 items reply with a single complete-list responses (i.e. do not
use resumptionToken elements).

C'est seulement une valeur par défaut. Je crois que ça pourrait changer
d'un appli à l'autre.

 >Dans LuceneDocumentBaseOAIRepository :
 >
 >je remarque :
 >else if (Utilities.checkString(request.getResumptionToken())) {
 >   new OAIError(OAIError.ERROR_BAD_RESUMPTION_TOKEN, "This repository 
 >does not support resumptionTokens for ListSets requests").toSAX(this);
 >
 >Soit... :-)
 >
 >avaliableFormats : typo (plusieurs occurences).
 >
 >String mdPrefix = request.getMetadataPrefix();
 >String resumptionToken = request.getResumptionToken();
 >if (Utilities.checkString(resumptionToken))
 >   mdPrefix = getResumptionTokenProperty(resumptionToken, 
 >OAIRequest.URL_PARAM_NAME_METADATA_PREFIX);
 >
 >cosmétique. Préférer :
 >
 >String mdPrefix = null;
 >String resumptionToken = request.getResumptionToken();
 >if (Utilities.checkString(resumptionToken))
 >   mdPrefix = getResumptionTokenProperty(resumptionToken, 
 >OAIRequest.URL_PARAM_NAME_METADATA_PREFIX);
 >else mdPrefix = request.getMetadataPrefix();
 >
 >???

Pourquoi pas : 

String resumptionToken = request.getResumptionToken(); 
String mdPrefix = getResumptionTokenProperty(resumptionToken,
OAIRequest.URL_PARAM_NAME_METADATA_PREFIX); 
if (Utilities.checkString(!mdPrefix))
 mdPrefix = request.getMetadataPrefix();


 >buildExternalOaiId : utliser un ID generator ? Créer un 
 >package pour ces 
 >IDgenerators ?

Pourquoi pas fr.gouv.culture.sdx.oai.idgenerator ou qqch. pareil? Tu
veux le creer?

 >if (exQuery != null)
 >   bq.add(exQuery, true, false);
 >
 >Euh... n'est ce pas bq.add(exQuery, false, true); ? 

C'est corrigé.

 >A propos, soyons 
 >logiques et traitons l'inclusion avant l'exclusion, non ?

C'est fait.

 
 >createResumptionToken : créer un IDGenerator ?

Est-ce necessaire?

 >
 >java.util.Date untilDate = 
 >fr.gouv.culture.sdx.utils.Date.parseUtcISO8601Date(until);
 >
 >if (untilDate == null && Utilities.checkString(until)) {
---------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Les deux pourrait être "null", non?

 >   new OAIError(OAIError.ERROR_BAD_DATE, "The value of the \"until\" 
 >argument, " + until + ", is invalid.").toSAX(this);
 >   return null;//Bad date
 >}
 >-- X-POINT --
 >if (untilDate == null)//no date param
 >   untilDate = fr.gouv.culture.sdx.utils.Date.parseDate("9999");
 >Euh... si untilDate == null, le point X ne sera jamais atteint, non ?

Peut-etre ça sera plus facile à comprendre?

 if (untilDate == null && !Utilities.checkString(until))//no date param
    untilDate = fr.gouv.culture.sdx.utils.Date.parseDate("9999");

 
>Voilà pour un premier examen plus profond.

Merci,

Rasik 





reply via email to

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