sdx-users
[Top][All Lists]
Advanced

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

[sdx-users] Pb lors de l'indexation d'un docu ment XML avec un fichier a


From: Pierre Dittgen
Subject: [sdx-users] Pb lors de l'indexation d'un docu ment XML avec un fichier attaché sans extension
Date: Mon, 15 Dec 2003 16:19:47 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20031007

Bonjour,

Je rencontre un problème (StringIndexOutOfBoundsException) lors de l'indexation d'un document lié à un document attaché dont le nom ne comporte pas d'extension.

Un extrait du document :
[...]
   <identification>
        <photo>attach/NaderBoutros</photo>
   </identification>
[...]

Ce que génère ma XSL d'indexation :
<sdx:attachedDocument id="attach/NaderBoutros" url="attach/NaderBoutros" mimetype="application/octet-stream" />

Le traitement de cette fiche lève une StringIndexOutOfBoundsException, dont voici la stack :
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1438)
at fr.gouv.culture.sdx.repository.FSRepository.add(FSRepository.java:263) at fr.gouv.culture.sdx.documentbase.LuceneDocumentBase.add(LuceneDocumentBase.java:1128)
[...]

A la ligne 263 du fichier FSRepository.java, on trouve :
62 :         if (Utilities.checkString(filename))
63 : filename.substring(filename.lastIndexOf("."), filename.length());

Effectivement, filename ne contient pas de point. La méthode lastIndexOf() retourne donc -1, ce qui est une valeur de paramètre invalide pour la méthode substring(). A quoi sert ce test ? La méthode substring ne modifie pas en place la variable filename et le résultat n'est sauvegardé nulle part. Peut-être est-ce un reliquat d'un code précédent ? Pourrait-on supprimer ces deux lignes ? (simple proposition, je n'ai pas testé que la suite du code se comporte bien avec une pièce attachée n'ayant pas d'extension).

Pierre
--
Pierre Dittgen, address@hidden
PASS Technologie http://www.pass-tech.fr






reply via email to

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