[Castore-commits] Fonds.java 1.5 1.6

Céline BENOIT cbenoit at adullact1.hosting.cri74.org
Mer 19 Avr 18:31:56 CEST 2006


Update of /cvsroot/castore/castore-core/src/java/fr/emn/castor/documents
In directory adullact1:/tmp/cvs-serv7668/src/java/fr/emn/castor/documents

Modified Files:
	Fonds.java 
Log Message:
distinction entre creerDocumentTexte & creerDocumentMediaOuGroupe
ajout des méthodes isExtensionsPossibles & isExtensionsPossiblesParmisToutesAcceptees & isTypeMimeDocTexte
adaptation du code à l'ajout des médias dans Castore
passage au java 1.5
bug résolu : gestion d'un accès concurrent à l'état du document

Index: Fonds.java
===================================================================
RCS file: /cvsroot/castore/castore-core/src/java/fr/emn/castor/documents/Fonds.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Fonds.java	19 Apr 2006 13:47:58 -0000	1.5
--- Fonds.java	19 Apr 2006 16:31:54 -0000	1.6
***************
*** 105,112 ****
--- 105,118 ----
  import fr.emn.castor.documents.metier.docGenerique.workflow.WorkflowManager;
  import fr.emn.castor.documents.metier.groupesFichiers.DocGroupe;
+ import fr.emn.castor.documents.metier.groupesFichiers.conversion.DecompressionFichiers;
+ import fr.emn.castor.documents.metier.groupesFichiers.visualisation.TransZip;
  import fr.emn.castor.documents.metier.medias.audio.DocAudio;
+ import fr.emn.castor.documents.metier.medias.audio.conversion.ConverterAudio;
+ import fr.emn.castor.documents.metier.medias.audio.visualisation.TransAudio;
  import fr.emn.castor.documents.metier.medias.images.DocImage;
  import fr.emn.castor.documents.metier.medias.images.conversion.ConverterPNG;
  import fr.emn.castor.documents.metier.medias.video.DocVideo;
+ import fr.emn.castor.documents.metier.medias.video.conversion.ConverterVideo;
+ import fr.emn.castor.documents.metier.medias.video.visualisation.TransVideo;
  import fr.emn.castor.documents.metier.textes.DocTexte;
  import fr.emn.castor.documents.metier.textes.retro.ConverterXML;
***************
*** 133,141 ****
  
      /**
-      * Le convertisseur de documents vers XML.
-      */
-     private AConverter converter;
- 
-     /**
       * Le JDOQuery pour faire des requetes.
       */
--- 139,142 ----
***************
*** 200,227 ****
              // Création du document
              ADocument document = null;
!             if (typeMIME.contains("text")
!                     || typeMIME.contains(PropertiesHelper.getProperty(
!                         DocumentsConstants.EXTENSION, "mime.sxw"))
!                     || typeMIME.contains(PropertiesHelper.getProperty(
!                         DocumentsConstants.EXTENSION, "mime.sxw1"))
!                     || typeMIME.contains(PropertiesHelper.getProperty(
!                         DocumentsConstants.EXTENSION, "mime.sxw2"))
!                     || typeMIME.contains(PropertiesHelper.getProperty(
!                         DocumentsConstants.EXTENSION, "mime.doc"))
!                     || typeMIME.contains(PropertiesHelper.getProperty(
!                         DocumentsConstants.EXTENSION, "mime.pdf"))) {
                  document = new DocTexte();
              } else if (typeMIME.contains("image")) {
                  document = new DocImage();
              } else if (typeMIME.contains("video")) {
                  document = new DocVideo();
              } else if (typeMIME.contains("audio")) {
                  document = new DocAudio();
!             } else if (typeMIME.contains("zip")) {
!                 // groupe de fichiers
                  document = new DocGroupe();
              } else {
                  log
!                     .fatal("Le format du fichier n'est pas reconnu par Castore");
              }
  
--- 201,243 ----
              // Création du document
              ADocument document = null;
!             if (this.isTypeMimeDocTexte(typeMIME)) {
                  document = new DocTexte();
+                 if (log.isDebugEnabled()) {
+                     log
+                         .debug("Création du document texte dont le type mime est "
+                                 + typeMIME + " et l'extension : " + extension);
+                 }
              } else if (typeMIME.contains("image")) {
                  document = new DocImage();
+                 if (log.isDebugEnabled()) {
+                     log
+                         .debug("Création du document image  dont le type mime est "
+                                 + typeMIME + " et l'extension : " + extension);
+                 }
              } else if (typeMIME.contains("video")) {
                  document = new DocVideo();
+                 if (log.isDebugEnabled()) {
+                     log
+                         .debug("Création du document video dont le type mime est "
+                                 + typeMIME + " et l'extension : " + extension);
+                 }
              } else if (typeMIME.contains("audio")) {
                  document = new DocAudio();
!                 if (log.isDebugEnabled()) {
!                     log
!                         .debug("Création du document audio dont le type mime est "
!                                 + typeMIME + " et l'extension : " + extension);
!                 }
!             } else if (typeMIME.contains("zip")) { // groupe de fichiers                
                  document = new DocGroupe();
+                 if (log.isDebugEnabled()) {
+                     log
+                         .debug("Création du groupe de document dont le type mime est : "
+                                 + typeMIME + " et l'extension : " + extension);
+                 }
              } else {
                  log
!                     .fatal("Le format du fichier n'est pas reconnu par Castore (type mime : "
!                             + typeMIME + ", extension : " + extension + ").");
              }
  
***************
*** 515,528 ****
          if (docFile.exists()) {
              return docFile.getAbsolutePath();
          }
-         // si doc image converti
-         docFile = new File(getPathForId(idDoc), "document.png");
-         if (docFile.exists()) {
-             return docFile.getAbsolutePath();
-         }
-         // Sinon
-         log
-             .fatal("Impossible de retrouver le document normalisé (extension xml ou png en fonction de sa classe)");
-         return null;
      }
  
--- 531,546 ----
          if (docFile.exists()) {
              return docFile.getAbsolutePath();
+         } else {
+             // si doc image converti
+             docFile = new File(getPathForId(idDoc), "document.png");
+             if (docFile.exists()) {
+                 return docFile.getAbsolutePath();
+             } else {
+                 // Sinon
+                 log
+                     .fatal("Impossible de retrouver le document normalisé (extension xml ou png en fonction de sa classe)");
+                 return null;
+             }
          }
      }
  
***************
*** 552,556 ****
      public String getPathSource(final String idDoc) {
          String path = "";
!         File srcFile = getSourceFile(idDoc);
          if (srcFile.exists()) {
              path = srcFile.getAbsolutePath();
--- 570,574 ----
      public String getPathSource(final String idDoc) {
          String path = "";
!         File srcFile = this.getSourceFile(idDoc);
          if (srcFile.exists()) {
              path = srcFile.getAbsolutePath();
***************
*** 698,712 ****
          String typeMIME = PropertiesHelper.getProperty(
              DocumentsConstants.EXTENSION, "mime" + extension);
!         if (typeMIME.contains("text")
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw1"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw2"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.doc"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.pdf"))) {
              return this.manageVersionning(
                  pathDirectory, "document", PropertiesHelper.getProperty(
--- 716,720 ----
          String typeMIME = PropertiesHelper.getProperty(
              DocumentsConstants.EXTENSION, "mime" + extension);
!         if (this.isTypeMimeDocTexte(typeMIME)) {
              return this.manageVersionning(
                  pathDirectory, "document", PropertiesHelper.getProperty(
***************
*** 808,812 ****
           * voir le filtre.
           */
!         File dir = new File(getPathForId(id));
          File[] list = dir.listFiles(new SrcFiltername());
          return list[0];
--- 816,820 ----
           * voir le filtre.
           */
!         File dir = new File(this.getPathForId(id));
          File[] list = dir.listFiles(new SrcFiltername());
          return list[0];
***************
*** 900,904 ****
          ArrayList<String> mdFiles = searchFilesForMapping(docType);
          ParserMetaDatas md = new ParserMetaDatas(mdFiles);
!         HashMap soumission = md.getMetadatasForUser();
          // on retourne aussi les valeurs qui existe deja...
          Set keys = soumission.keySet();
--- 908,912 ----
          ArrayList<String> mdFiles = searchFilesForMapping(docType);
          ParserMetaDatas md = new ParserMetaDatas(mdFiles);
!         HashMap<String, Object> soumission = md.getMetadatasForUser();
          // on retourne aussi les valeurs qui existe deja...
          Set keys = soumission.keySet();
***************
*** 1331,1338 ****
          PersistenceManager pm = JDOFactory.getPersistenceManager();
          this.jdoQuery.setPersistenceManager(pm);
-         ADocument doc = rechercheDocument(idDoc, false);
          Transaction tx = pm.currentTransaction();
          try {
              tx.begin();
              doc.setConversionStatut(statut);
              tx.commit();
--- 1339,1350 ----
          PersistenceManager pm = JDOFactory.getPersistenceManager();
          this.jdoQuery.setPersistenceManager(pm);
          Transaction tx = pm.currentTransaction();
          try {
              tx.begin();
+             String filtre = "id=='" + DocumentsConstants.PREFIX_ID + idDoc
+                     + "'";
+             Query query = pm.newQuery(ADocument.class, filtre);
+             query.setUnique(true);
+             ADocument doc = (ADocument) query.execute();
              doc.setConversionStatut(statut);
              tx.commit();
***************
*** 1373,1377 ****
          } catch (Exception e) {
              if (log.isErrorEnabled()) {
!                 log.error("Error getting retro statut", e);
              }
              return null;
--- 1385,1389 ----
          } catch (Exception e) {
              if (log.isErrorEnabled()) {
!                 log.error("Error getting conversion statut", e);
              }
              return null;
***************
*** 1448,1452 ****
  
      /**
!      * Methode créant un nouveau document dans le systeme.
       *
       * @param content le contenu du document source
--- 1460,1464 ----
  
      /**
!      * Methode créant un nouveau document texte dans le systeme.
       *
       * @param content le contenu du document source
***************
*** 1459,1463 ****
       * @return l'identifiant créé pour ce document.
       */
!     public String creerNouveauDocument(
              final InputStream content, final String extension,
              final String docName, final String noticeType,
--- 1471,1475 ----
       * @return l'identifiant créé pour ce document.
       */
!     public String creerNouveauDocumentTexte(
              final InputStream content, final String extension,
              final String docName, final String noticeType,
***************
*** 1487,1515 ****
                  // on sauvegarde le type de doc dans la notice.
                  this.setDocType(id, noticeType, user);
!                 // conversion du doc
!                 if (typeMIME.contains("text")
!                         || typeMIME.contains(PropertiesHelper.getProperty(
!                             DocumentsConstants.EXTENSION, "mime.sxw"))
!                         || typeMIME.contains(PropertiesHelper.getProperty(
!                             DocumentsConstants.EXTENSION, "mime.sxw1"))
!                         || typeMIME.contains(PropertiesHelper.getProperty(
!                             DocumentsConstants.EXTENSION, "mime.sxw2"))
!                         || typeMIME.contains(PropertiesHelper.getProperty(
!                             DocumentsConstants.EXTENSION, "mime.doc"))
!                         || typeMIME.contains(PropertiesHelper.getProperty(
!                             DocumentsConstants.EXTENSION, "mime.pdf"))) {
!                     ConverterXML
!                         .getInstance().convert(id, extension, fsUsed);
!                 } else if (typeMIME.contains("image")) {
!                     ConverterPNG
!                         .getInstance().convert(id, extension, fsUsed);
!                 } else if (typeMIME.contains("video")
!                         || typeMIME.contains("audio")
!                         || typeMIME.contains("zip")) {
!                     log
!                         .debug("Pas besoin de conversion pour cette classe de document (video, audio, groupeDoc)");
                  } else {
                      log
!                         .fatal("Le format du fichier n'est pas reconnu par Castore et ne peut etre converti");
                  }
                  return id;
--- 1499,1569 ----
                  // on sauvegarde le type de doc dans la notice.
                  this.setDocType(id, noticeType, user);
!                 // lancement conversion DocTexte
!                 ConverterXML.getInstance().convert(id, extension, fsUsed);
!                 return id;
!             }
!             if (log.isFatalEnabled()) {
!                 log.fatal("Erreur de création du document ! ");
!             }
!             return "";
!         } catch (Exception e) {
!             if (log.isFatalEnabled()) {
!                 log.fatal("Erreur de création du document ! ", e);
!             }
!             return "";
!         }
!     }
! 
!     /**
!      * Methode créant un nouveau document média ou groupe de fichiers dans le système.
!      *
!      * @param content le contenu du document source
!      * @param extension l'extension du document fourni
!      * @param docName le titre du document
!      * @param noticeType le type de notice choisi
!      * @param user l'utilisateur soumetteur
!      * @param typeMIME le type MIME du document soumis.
!      * @return l'identifiant créé pour ce document.
!      */
!     public String creerNouveauMediaOuGroupeDoc(
!             final InputStream content, final String extension,
!             final String docName, final String noticeType, final String user,
!             final String typeMIME) {
!         try {
!             // generation de l'id unique qui servira aussi de nom de repertoire
!             // ou sera stocke tout les fichiers...
!             String id = JDOFactory.getIdFactory().getId();
!             File path = new File(Constants.CASTOR_DOCUMENTS_PATH
!                     + Constants.FILE_SEPARATOR + id);
!             if (path.mkdirs()) {
!                 if (log.isDebugEnabled()) {
!                     log.debug("Creating directories for document : " + id);
!                 }
!             } else {
!                 if (log.isFatalEnabled()) {
!                     log.fatal("Cannot create directories for document : " + id);
!                 }
!                 return "";
!             }
!             if (!id.equals("")) {
!                 // creation du document en base + XML
!                 this.creerSourceFile(content, id, extension);
!                 this.creerDoc(id, docName, extension, typeMIME);
!                 this.creerNoticeXml(id, noticeType);
!                 // on sauvegarde le type de doc dans la notice.
!                 this.setDocType(id, noticeType, user);
!                 // conversion du doc                              
!                 if (typeMIME.contains("image")) {
!                     ConverterPNG.getInstance().convert(id, extension);
!                 } else if (typeMIME.contains("video")) {
!                     ConverterVideo.getInstance().convert(id, extension);
!                 } else if (typeMIME.contains("audio")) {
!                     ConverterAudio.getInstance().convert(id, extension);
!                 } else if (typeMIME.contains("zip")) {
!                     DecompressionFichiers.getInstance().decompresse(
!                         id, extension);
                  } else {
                      log
!                         .fatal("Le format de ce média ou groupe de fichier n'est pas reconnu par Castore et ne peut etre converti");
                  }
                  return id;
***************
*** 1546,1550 ****
      /**
       * Methode renvoyant les informations concernant le fichier soumis
!      * (titre, type Mime, extension...).
       *
       * @param idDoc id du document dont on cherche les informations
--- 1600,1604 ----
      /**
       * Methode renvoyant les informations concernant le fichier soumis
!      * (titre, type Mime, extension, classe du doc...).
       *
       * @param idDoc id du document dont on cherche les informations
***************
*** 1568,1574 ****
--- 1622,1646 ----
              String extension = document.getExtension();
              String typeMIME = document.getTypeMIME();
+             String classeDoc ;
+             if (this.isTypeMimeDocTexte(typeMIME)){
+                 classeDoc = DocumentsConstants.DOC_CLASSE_TEXTE ;
+             }else if (typeMIME.contains("image")){
+                 classeDoc = DocumentsConstants.DOC_CLASSE_IMAGE ;
+             }else if (typeMIME.contains("audio")){
+                 classeDoc = DocumentsConstants.DOC_CLASSE_AUDIO ;
+             }else if (typeMIME.contains("video")){
+                 classeDoc = DocumentsConstants.DOC_CLASSE_VIDEO ;
+             }else if (typeMIME.contains("zip")){
+                 classeDoc = DocumentsConstants.DOC_CLASSE_GROUPE ;
+             } else {
+                 classeDoc = null ;
+                 if (log.isErrorEnabled()) {
+                     log.error("La classe du document n'a pas pu être initialisée, le format n'est pas reconnu !");
+                 }
+             }
              mapInfosFic.put(DocumentsConstants.TYPE_MIME_FICHIER, typeMIME);
              mapInfosFic.put(DocumentsConstants.NOM_FICHIER, nameFic);
              mapInfosFic.put(DocumentsConstants.EXTENSION, extension);
+             mapInfosFic.put(DocumentsConstants.DOC_CLASSE, classeDoc);
          } finally {
              pm.close();
***************
*** 1599,1606 ****
      /**
       * Permet de transformer un document dans le format voulu.
!      * doc texte -> format possibles : source, html, xml, pdf
!      * doc image -> format possibles : source, png
       * @param idDoc l'identifiant du document a transformer
!      * @param format le format de destination
       * @return une string correspondant au document transformé.
       */
--- 1671,1678 ----
      /**
       * Permet de transformer un document dans le format voulu.
!      * doc texte -> formats possibles : source, html, xml, pdf
!      * doc image -> formats possibles : source, png 
       * @param idDoc l'identifiant du document a transformer
!      * @param format le format de destination cf. DocumentsConstants
       * @return une string correspondant au document transformé.
       */
***************
*** 1614,1619 ****
              path = this.getPathSource(idDoc);
              // source.xxx
!             transforme = new TransSource(
!                 DocumentsConstants.SOURCE, idDoc, path);
          } else {
              // Cas des doc normalisés : docTexte ou docImage (doc xml ou png en entrée)
--- 1686,1701 ----
              path = this.getPathSource(idDoc);
              // source.xxx
!             transforme = new TransSource(DocumentsConstants.SOURCE, idDoc, path);
!         } else if (format.equals(DocumentsConstants.GROUPE)) {
!             // visualiser la liste des fichiers contenus dans le groupe
!             transforme = new TransZip(DocumentsConstants.GROUPE, idDoc, path);
!         } else if (format.equals(DocumentsConstants.FLUX_AUDIO)) {
!             // déclencher la lecture du flux video
!             transforme = new TransAudio(
!                 DocumentsConstants.FLUX_AUDIO, idDoc, path);
!         } else if (format.equals(DocumentsConstants.FLUX_VIDEO)) {
!             // déclencher la lecture du flux audio 
!             transforme = new TransVideo(
!                 DocumentsConstants.FLUX_VIDEO, idDoc, path);
          } else {
              // Cas des doc normalisés : docTexte ou docImage (doc xml ou png en entrée)
***************
*** 1698,1703 ****
  
      /**
!      * @param facade TODO
!      * @param idDoc TODO
       * @see fr.emn.castor.documents.IDocuments#getStateOfDoc(java.lang.String)
       */
--- 1780,1785 ----
  
      /**
!      * @param manager l'instance du worklfow manager
!      * @param idDoc l'identifiant du document dont chercher l'état
       * @see fr.emn.castor.documents.IDocuments#getStateOfDoc(java.lang.String)
       */
***************
*** 1738,1756 ****
          String typeMIME = PropertiesHelper.getProperty(
              DocumentsConstants.EXTENSION, "mime" + extension);
!         if (typeMIME.contains("text")
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw1"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.sxw2"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.doc"))
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.pdf"))) {
!             // Si le document à mettre à jour est un texte
!             this.converter = ConverterXML.getInstance();
              // on supprime tout les residus de la transformation precedente.
!             boolean cleaned = this.converter.cleanConv(idDoc, true);
              if (cleaned) {
                  boolean doUpdate = false;
--- 1820,1826 ----
          String typeMIME = PropertiesHelper.getProperty(
              DocumentsConstants.EXTENSION, "mime" + extension);
!         if (this.isTypeMimeDocTexte(typeMIME)) {
              // on supprime tout les residus de la transformation precedente.
!             boolean cleaned = ConverterXML.getInstance().cleanConv(idDoc, true);
              if (cleaned) {
                  boolean doUpdate = false;
***************
*** 1779,1783 ****
                  String fsUsed = this.getNoticeValue(idDoc, "s4sFileXslt");
                  // on retro-converti le document.
!                 this.converter.convert(idDoc, extension, fsUsed);
                  // on le reindexe si il le faut...
                  if (doUpdate) {
--- 1849,1853 ----
                  String fsUsed = this.getNoticeValue(idDoc, "s4sFileXslt");
                  // on retro-converti le document.
!                 ConverterXML.getInstance().convert(idDoc, extension, fsUsed);
                  // on le reindexe si il le faut...
                  if (doUpdate) {
***************
*** 1792,1798 ****
                  }
              }
!         } else if (typeMIME.contains("image")) {
!             // Si le document à mettre à jour est une image
!             this.converter = ConverterPNG.getInstance();
              try {
                  this.creerUneNouvelleVersionDocumentConverti(
--- 1862,1866 ----
                  }
              }
!         } else { // traitement pour les médias
              try {
                  this.creerUneNouvelleVersionDocumentConverti(
***************
*** 1806,1834 ****
                  }
              }
!             //on converti le document.
!             this.converter.convert(idDoc, extension, null);
!         } else if (typeMIME.contains("video")
!                 || typeMIME.contains("audio")
!                 || typeMIME.contains(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.zip"))) {
!             // Si le document à mettre à jour est une vidéo, sonore, ou
!             // un groupe de fichier
!             try {
!                 this.creerUneNouvelleVersionDocumentConverti(
                      idDoc, extension);
!                 this.creerUneNouvelleVersionSource(idDoc, extension);
!                 this.creerSourceFile(content, idDoc, extension);
!             } catch (IOException e) {
!                 if (log.isErrorEnabled()) {
!                     log.error(
!                         "Erreur lors de la MAJ du document " + idDoc, e);
!                 }
              }
-         } else { // sinon
-             log.fatal("Le format du fichier n'est pas reconu par Castore");
          }
!         if (log.isDebugEnabled()) {
!             log.debug("Fin de la mise à jour du document");
          }
      }
  }
\ No newline at end of file
--- 1874,1960 ----
                  }
              }
!             if (typeMIME.contains("image")) {
!                 ConverterPNG.getInstance().convert(idDoc, extension);
!             } else if (typeMIME.contains("video")) {
!                 ConverterVideo.getInstance().convert(idDoc, extension);
!             } else if (typeMIME.contains("audio")) {
!                 ConverterAudio.getInstance().convert(idDoc, extension);
!             } else if (typeMIME.contains("zip")) {
!                 DecompressionFichiers.getInstance().decompresse(
                      idDoc, extension);
!             } else { // sinon
!                 log.fatal("Le format du fichier n'est pas reconu par Castore");
!             }
!             if (log.isDebugEnabled()) {
!                 log.debug("Fin de la mise à jour du document");
              }
          }
!     }
! 
!     /**
!      * Vérification si l'extension fournie est acceptée par Castore en fonction de la classe de document (image,video..) 
!      * @param docConstantes constante contenant les extensions correspondant à la classe de document  
!      * @param extensionAVerifier extension à verifier
!      * @return true si l'extension est acceptée, false sinon
!      */
!     public final boolean isExtensionsPossibles(
!             final String[] docConstantes, final String extensionAVerifier) {
!         boolean extensionOK = false;
!         String[] listeExtensions = docConstantes;
!         for (int i = 0; i < listeExtensions.length; i++) {
!             if (listeExtensions[i].equalsIgnoreCase(extensionAVerifier)) {
!                 extensionOK = true;
!                 break;
!             }
          }
+         return extensionOK;
      }
+ 
+     /**
+      * Vérifie si l'extension fournie est acceptée dans Castore 
+      * @param extensionAVerifier extension à verifier
+      * @return true si l'extension est acceptée, false sinon
+      */
+     public final boolean isExtensionsPossiblesParmisToutesAcceptees(
+             final String extensionAVerifier) {
+         if (isExtensionsPossibles(
+             DocumentsConstants.EXTENSIONS_POSSIBLES_DOCTEXTE,
+             extensionAVerifier)
+                 || isExtensionsPossibles(
+                     DocumentsConstants.EXTENSIONS_POSSIBLES_DOCIMAGE,
+                     extensionAVerifier)
+                 || isExtensionsPossibles(
+                     DocumentsConstants.EXTENSIONS_POSSIBLES_DOCGROUPE,
+                     extensionAVerifier)
+                 || isExtensionsPossibles(
+                     DocumentsConstants.EXTENSIONS_POSSIBLES_DOCAUDIO,
+                     extensionAVerifier)
+                 || isExtensionsPossibles(
+                     DocumentsConstants.EXTENSIONS_POSSIBLES_DOCVIDEO,
+                     extensionAVerifier)) {
+             return true;
+         } else
+             return false;
+     }
+ 
+     /**
+      * Vérifie si le type mime fourni est un type mime correspond aux types mimes des documents textuels de Castore
+      * @param typeMIME le type mime du document
+      * @return true si le type mime fourni est un type mime correspondant aux types mimes des documents textuels acceptés par Castore
+      */
+     public final boolean isTypeMimeDocTexte(final String typeMIME) {
+         if (typeMIME.contains("text")
+                 || typeMIME.contains(PropertiesHelper.getProperty(
+                     DocumentsConstants.EXTENSION, "mime.sxw"))
+                 || typeMIME.contains(PropertiesHelper.getProperty(
+                     DocumentsConstants.EXTENSION, "mime.sxw1"))
+                 || typeMIME.contains(PropertiesHelper.getProperty(
+                     DocumentsConstants.EXTENSION, "mime.doc"))
+                 || typeMIME.contains(PropertiesHelper.getProperty(
+                     DocumentsConstants.EXTENSION, "mime.pdf"))) {
+             return true;
+         } else
+             return false;
+     }
+ 
  }
\ No newline at end of file




Plus d'informations sur la liste de diffusion Castore-commits