|
|
Query Filter : exclure les images d'un résultat de recherche
Stéphane Guellec -
on 11/13/08 at 12:35 PM
Bonjour,
Je suis en train de faire un Query Filter afin de supprimer tous les documents de type "image" des résultats de recherche/requete.
Voici donc mon code :
public QueryResultSet filterResultSet(QueryHandler qh, QueryResultSet set, Map context) {
for(Iterator itQueryResultSet = set.iterator() ; itQueryResultSet.hasNext();){
logger.info("A");
Publication itPub = (Publication)itQueryResultSet.next();
logger.info("B");
if(itPub.getClass().getName().indexOf("FileDocument") != -1){
FileDocument doc = (FileDocument)itPub;
if(doc.getContentType().indexOf("image") != -1){
set.remove(itPub);
}
}
}
return super.filterResultSet(qh, set, context);
}
Le problème c'est que j'ai une sale exception à la fin de la 1ère itération. On ne passe qu'une fois par le marqueur "B". Mon premier contenu est bien une image. Comme si le fait d'avoir fait un "remove(itPub)" empêchait de réutiliser cette variable itPub.
Si je supprime le "remove" l'itération se poursuit bien.
Merci pour le coup de main.
|
|