[Castore-commits] VisualiserDocumentAction.java 1.4 1.5

Céline BENOIT cbenoit at adullact1.hosting.cri74.org
Mer 19 Avr 20:49:07 CEST 2006


Update of /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/actions/documents
In directory adullact1:/tmp/cvs-serv6869/src/java/fr/emn/castor/struts/actions/documents

Modified Files:
	VisualiserDocumentAction.java 
Log Message:
adaptation du code pour la gestion des médias

Index: VisualiserDocumentAction.java
===================================================================
RCS file: /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/actions/documents/VisualiserDocumentAction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** VisualiserDocumentAction.java	29 Mar 2006 09:54:06 -0000	1.4
--- VisualiserDocumentAction.java	19 Apr 2006 18:49:05 -0000	1.5
***************
*** 37,45 ****
   *
   */
! 
  package fr.emn.castor.struts.actions.documents;
  
  import java.io.ByteArrayOutputStream;
  import java.io.StringReader;
  
  import javax.servlet.ServletOutputStream;
--- 37,46 ----
   *
   */
!  
  package fr.emn.castor.struts.actions.documents;
  
  import java.io.ByteArrayOutputStream;
  import java.io.StringReader;
+ import java.util.Map;
  
  import javax.servlet.ServletOutputStream;
***************
*** 73,82 ****
      public final ActionForward execute(
              final ActionMapping mapping, final ActionForm form,
!             final HttpServletRequest request,
!             final HttpServletResponse response) throws Exception {
! 
!         //        Facade fDoc = Facade.getInstance();
!         IDocuments fDoc = CastorProxy.getModuleDocuments(request
!             .getSession());
          // on recupere l'id passe en parametre...
          String id = request.getParameter("id");
--- 74,80 ----
      public final ActionForward execute(
              final ActionMapping mapping, final ActionForm form,
!             final HttpServletRequest request, final HttpServletResponse response)
!             throws Exception {       
!         IDocuments fDoc = CastorProxy.getModuleDocuments(request.getSession());
          // on recupere l'id passe en parametre...
          String id = request.getParameter("id");
***************
*** 87,102 ****
          if (fDoc.canSeeDocument(id, user).equals(Constants.TRUE)
                  || (fDoc.getSoumetteurName(id).equals(user))) {
! 
!             ByteArrayOutputStream resultat = (ByteArrayOutputStream) fDoc
!                 .transformeDocument(id, DocumentsConstants.HTML);
! 
              if (resultat != null) {
                  StringReader buf = new StringReader(resultat
                      .toString("ISO-8859-1"));
- 
                  ServletOutputStream out = response.getOutputStream();
- 
-                 response.setContentType(PropertiesHelper.getProperty(DocumentsConstants.EXTENSION, "mime.html"));
- 
                  int c = buf.read();
                  do {
--- 85,123 ----
          if (fDoc.canSeeDocument(id, user).equals(Constants.TRUE)
                  || (fDoc.getSoumetteurName(id).equals(user))) {
!             ByteArrayOutputStream resultat;
!             Map mapInfosDoc = fDoc.getInfosFichier(id);            
!             String classeDoc = (String) mapInfosDoc.get(DocumentsConstants.DOC_CLASSE) ;
!             // en fonction de la classe du document
!             if (classeDoc.equals(DocumentsConstants.DOC_CLASSE_TEXTE)) {
!                 // transforme en html si texte     
!                 resultat = (ByteArrayOutputStream) fDoc.transformeDocument(
!                     id, DocumentsConstants.HTML);
!                 response.setContentType(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.html"));
!             } else if (classeDoc.equals(DocumentsConstants.DOC_CLASSE_IMAGE)) {
!                 // transforme en png si image
!                 resultat = (ByteArrayOutputStream) fDoc.transformeDocument(
!                     id, DocumentsConstants.PNG);
!                 response.setContentType(PropertiesHelper.getProperty(
!                     DocumentsConstants.EXTENSION, "mime.png"));
!             } else if (classeDoc.equals(DocumentsConstants.DOC_CLASSE_VIDEO)) {
!                 // récupère un flux si video                
!                 resultat = (ByteArrayOutputStream) fDoc.transformeDocument(
!                     id, DocumentsConstants.FLUX_VIDEO);
!             } else if (classeDoc.equals(DocumentsConstants.DOC_CLASSE_AUDIO)) {
!                 // récupère un flux si  audio               
!                 resultat = (ByteArrayOutputStream) fDoc.transformeDocument(
!                     id, DocumentsConstants.FLUX_AUDIO);                
!             } else if (classeDoc.equals(DocumentsConstants.DOC_CLASSE_GROUPE)) {
!                 // récupère liste des fichiers si groupe
!                 resultat = (ByteArrayOutputStream) fDoc.transformeDocument(
!                     id, DocumentsConstants.GROUPE);
!             } else {
!                 resultat = null;
!             }
              if (resultat != null) {
                  StringReader buf = new StringReader(resultat
                      .toString("ISO-8859-1"));
                  ServletOutputStream out = response.getOutputStream();
                  int c = buf.read();
                  do {
***************
*** 107,125 ****
                  out.close();
                  buf.close();
- 
                  return (null);
              }
              ActionMessages errors = new ActionMessages();
              errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
!                 "errors.document.transformError"));
              saveErrors(request, errors);
              return mapping.findForward("error");
          }
-         // l'utilisateur n'a pas les droits de voir le document !
-         ActionMessages errors = new ActionMessages();
-         errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
-             "errors.document.userNotGranted"));
-         saveErrors(request, errors);
-         return mapping.findForward("error");
      }
  
--- 128,147 ----
                  out.close();
                  buf.close();
                  return (null);
+             } else {
+                 ActionMessages errors = new ActionMessages();
+                 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
+                     "errors.document.transformError"));
+                 saveErrors(request, errors);
+                 return mapping.findForward("error");
              }
+         } else {
+             // l'utilisateur n'a pas les droits de voir le document !
              ActionMessages errors = new ActionMessages();
              errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
!                 "errors.document.userNotGranted"));
              saveErrors(request, errors);
              return mapping.findForward("error");
          }
      }
  




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