[Castore-commits] IndexationRechercheLuceneDocEtNotice.java 1.4 1.5
Céline BENOIT
cbenoit at adullact1.hosting.cri74.org
Ven 4 Aou 16:53:49 CEST 2006
Update of /cvsroot/castore/castore-core/src/java/fr/emn/castor/recherche/metier/lucene
In directory adullact1:/tmp/cvs-serv11835/src/java/fr/emn/castor/recherche/metier/lucene
Modified Files:
IndexationRechercheLuceneDocEtNotice.java
Log Message:
indexation du contenu textuel de docGroupe
Index: IndexationRechercheLuceneDocEtNotice.java
===================================================================
RCS file: /cvsroot/castore/castore-core/src/java/fr/emn/castor/recherche/metier/lucene/IndexationRechercheLuceneDocEtNotice.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** IndexationRechercheLuceneDocEtNotice.java 17 Jul 2006 14:26:17 -0000 1.4
--- IndexationRechercheLuceneDocEtNotice.java 4 Aug 2006 14:53:46 -0000 1.5
***************
*** 42,52 ****
--- 42,58 ----
import java.io.File;
import java.io.IOException;
+ import java.util.List;
+ import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+ import fr.emn.castor.common.Constants;
+ import fr.emn.castor.common.Utils;
+ import fr.emn.castor.common.Constants.VraiFauxEnum;
import fr.emn.castor.documents.DocumentsConstants;
import fr.emn.castor.documents.Facade;
import fr.emn.castor.recherche.metier.IndexationException;
+ import fr.emn.castor.users.UsersException;
/**
***************
*** 66,69 ****
--- 72,94 ----
/**
+ * Constantes déterminant s'il s'agit d'un docTexte ou d'un docGroupe
+ */
+ public String ClassDoc;
+
+ /**
+ * Crée une nouvelle instance.
+ * @param docClass
+ */
+ public IndexationRechercheLuceneDocEtNotice(final String docClass) {
+ this.ClassDoc = docClass;
+ }
+
+ /**
+ * Crée une nouvelle instance.
+ */
+ public IndexationRechercheLuceneDocEtNotice() {
+ }
+
+ /**
* @see fr.emn.castor.recherche.metier.IIndexeur#indexDoc(
* java.lang.String)
***************
*** 74,79 ****
+ Facade.getInstance().getNameDoc(idDocument));
}
! // indexation document
! this.indexDocTexte(idDocument);
// indexation notice
this.indexNotice(idDocument);
--- 99,134 ----
+ Facade.getInstance().getNameDoc(idDocument));
}
! // s'il s'agit d'un docGroupe
! if (this.ClassDoc.equals(DocumentsConstants.DOC_CLASSE_GROUPE)) {
! // indexe tous les documents texte contenu dans docGroupe !
! fr.emn.castor.documents.Facade docFac = fr.emn.castor.documents.Facade
! .getInstance();
! // recherche des documents texte contenus dans elements.xml du docGroupe
! List<Map<String, String>> listElement = docFac
! .getElementsDocGroupe(idDocument);
! for (Map mapInfosElement : listElement) {
! // vérifie que docGroupe contient des docTexte
! String nomElement = (String) mapInfosElement
! .get(DocumentsConstants.NOM_FICHIER);
! String etatElement = (String) mapInfosElement
! .get(DocumentsConstants.ETAT_ELT_DOC_GROUPE);
! if (docFac
! .isExtensionsPossibles(
! Utils
! .transStringArrayToList(DocumentsConstants.EXTENSIONS_POSSIBLES_DOCTEXTE),
! nomElement.substring(
! nomElement.indexOf("."), nomElement.length())) == VraiFauxEnum.VRAI
! && etatElement
! .equals(DocumentsConstants.CONVERSION_ENDED)) {
! // trouver l'identifiant de l'élément
! String idElement = (String) mapInfosElement
! .get(Constants.DOC_ID);
! //indexation du document
! this.indexDocTexte(idDocument + ":" + idElement);
! }
! }
! } else
! // s'il s'agit d'un docTexte, indexation document
! this.indexDocTexte(idDocument);
// indexation notice
this.indexNotice(idDocument);
***************
*** 112,121 ****
// on s'appuie sur la facade 'documents'
this.docType = DOCUMENT;
! File sourceDoc = new File(Facade
! .getInstance().getPathDocumentConverti(
! idDocument, DocumentsConstants.XML));
try {
! this.indexFichier(sourceDoc);
!
} catch (IndexationException e) {
if (log.isErrorEnabled()) {
--- 167,207 ----
// on s'appuie sur la facade 'documents'
this.docType = DOCUMENT;
! File sourceDoc = null;
! String id;
! if (!idDocument.contains(":")) {
! sourceDoc = new File(Facade
! .getInstance().getPathDocumentConverti(
! idDocument, DocumentsConstants.XML));
! id = idDocument;
! } else {
! try {
! String pathDocConverti = Facade.getInstance().getPathForId(
! idDocument);
! pathDocConverti = pathDocConverti.replace(idDocument
! .substring(0, idDocument.indexOf(":"))
! + Constants.FILE_SEPARATOR
! + DocumentsConstants.SOURCE
! + Constants.FILE_SEPARATOR, idDocument.substring(
! 0, idDocument.indexOf(":"))
! + Constants.FILE_SEPARATOR
! + DocumentsConstants.DOCUMENT
! + Constants.FILE_SEPARATOR)
! + DocumentsConstants.DOCUMENT
! + idDocument
! .substring(
! idDocument.indexOf(":") + 1, idDocument
! .length())
! + "."
! + DocumentsConstants.XML;
! sourceDoc = new File(pathDocConverti);
! } catch (UsersException e1) {
! if (log.isErrorEnabled()) {
! log.error("chemin introuvable", e1);
! }
! }
! id = idDocument.substring(0, idDocument.indexOf(":"));
! }
try {
! this.indexFichier(sourceDoc, id);
} catch (IndexationException e) {
if (log.isErrorEnabled()) {
Plus d'informations sur la liste de diffusion Castore-commits