[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