[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