[Castore-commits] AjoutDocCollPriveesAction.java 1.6 1.7 AnnulerSoumission.java NONE 1.1 SoumissionNouvelleVersionAction.java 1.8 1.9 PartagerOuResoumettreDocAction.java 1.3 1.4

mathieu grimault grimault-m at adullact1.hosting.cri74.org
Jeu 14 Déc 11:30:20 CET 2006


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

Modified Files:
	AjoutDocCollPriveesAction.java 
	SoumissionNouvelleVersionAction.java 
	PartagerOuResoumettreDocAction.java 
Added Files:
	AnnulerSoumission.java 
Log Message:
Annulation dans castore.
Le thread de retro est mise en attente jusqu'a la fin de soumission.

Index: PartagerOuResoumettreDocAction.java
===================================================================
RCS file: /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/actions/documents/PartagerOuResoumettreDocAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** PartagerOuResoumettreDocAction.java	23 Jan 2006 10:29:45 -0000	1.3
--- PartagerOuResoumettreDocAction.java	14 Dec 2006 10:30:17 -0000	1.4
***************
*** 50,53 ****
--- 50,54 ----
  import fr.emn.castor.common.Constants;
  import fr.emn.castor.documents.IDocuments;
+ import fr.emn.castor.documents.metier.textes.retro.ConverterThread;
  import fr.emn.castor.servlets.common.CastorProxy;
  import fr.emn.castor.struts.common.session.StrutsConstants;
***************
*** 82,85 ****
--- 83,92 ----
          request.getSession().setAttribute(
              StrutsConstants.SESSION_SOUMISSION_INFOS_ID_DOC, id);
+         
+     	// lancement de la retro
+     	ConverterThread ct = ConverterThread.getThread(id);
+     	if (ct != null && ct.isAlive()) {
+     		ct.setEtat(ConverterThread.ETAT_CONVERTIR);
+     	}
  
          return mapping.findForward("next");

Index: SoumissionNouvelleVersionAction.java
===================================================================
RCS file: /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/actions/documents/SoumissionNouvelleVersionAction.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** SoumissionNouvelleVersionAction.java	20 Apr 2006 08:58:32 -0000	1.8
--- SoumissionNouvelleVersionAction.java	14 Dec 2006 10:30:17 -0000	1.9
***************
*** 55,58 ****
--- 55,59 ----
  
  import fr.emn.castor.documents.IDocuments;
+ import fr.emn.castor.documents.metier.textes.retro.ConverterThread;
  import fr.emn.castor.servlets.common.CastorProxy;
  import fr.emn.castor.struts.common.session.StrutsConstants;
***************
*** 93,97 ****
              return (forward);
          }
!         this.creerNouvelleVersionDoc(soumissionDocForm, id, request);
          request.getSession().removeAttribute(
              StrutsConstants.SESSION_SOUMISSION_INFOS_ID_DOC);
--- 94,110 ----
              return (forward);
          }
!         
!         // Mise a jour du document
!         if (soumissionDocForm.getFormFile() != null 
!         		&& soumissionDocForm.getFormFile().getFileName().length() > 0) {
!         	this.creerNouvelleVersionDoc(soumissionDocForm, id, request);
!         }
!         
!         // lancement de la retro
!     	ConverterThread ct = ConverterThread.getThread(id);
!     	if (ct != null && ct.isAlive()) {
!     		ct.setEtat(ConverterThread.ETAT_CONVERTIR);
!     	}
!         
          request.getSession().removeAttribute(
              StrutsConstants.SESSION_SOUMISSION_INFOS_ID_DOC);

--- NEW FILE: AnnulerSoumission.java ---
/*
 * $Id$
 *
 * Plateforme CASTORE
 * CeCILL Copyright (C) 2005-2006 by EMN
 * Made by 
 * Web site = http://www.emn.fr/castore
 * Contact = Cédric Dumas, e-mail = Cedric.Dumas at emn.fr
 *
 * Version
 *
 * Ce logiciel est un programme informatique servant à créer une plateforme
 * open-source de bibliothèque numérique XML pour Conserver, Valoriser et
 * Diffuser le patrimoine documentaire de votre institut.
 *
 * Ce logiciel est régi par la licence CeCILL soumise au droit français et
 * respectant les principes de diffusion des logiciels libres. Vous pouvez
 * utiliser, modifier et/ou redistribuer ce programme sous les conditions de la
 * licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site
 * "http://www.cecill.info". En contrepartie de l'accessibilité au code source
 * et des droits de copie, de modification et de redistribution accordés par
 * cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. Pour
 * les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du
 * programme, le titulaire des droits patrimoniaux et les concédants successifs.
 * A cet égard l'attention de l'utilisateur est attirée sur les risques associés
 * au chargement, à l'utilisation, à la modification et/ou au développement et à
 * la reproduction du logiciel par l'utilisateur étant donné sa spécificité de
 * logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve
 * donc à des développeurs et des professionnels avertis possédant des
 * connaissances informatiques approfondies. Les utilisateurs sont donc invités
 * à charger et tester l'adéquation du logiciel à leurs besoins dans des
 * conditions permettant d'assurer la sécurité de leurs systèmes et ou de leurs
 * données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes
 * conditions de sécurité. Le fait que vous puissiez accéder à cet en-tête
 * signifie que vous avez pris connaissance de la licence CeCILL, et que vous en
 * avez accepté les termes.
 *
 */

package fr.emn.castor.struts.actions.documents;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import fr.emn.castor.common.Constants.VraiFauxEnum;
import fr.emn.castor.documents.IDocuments;
import fr.emn.castor.documents.metier.textes.retro.ConverterThread;
import fr.emn.castor.servlets.common.CastorProxy;
import fr.emn.castor.struts.common.session.SessionTreeNodeMaintenance;
import fr.emn.castor.struts.common.session.StrutsConstants;

/**
 * Annulation de la soumission en cours
 *
 * @author $Author$
 * @version $Revision$
 *
 */
public class AnnulerSoumission extends Action {
	
    /** le logger. */
    private static Log log = LogFactory.getLog(AnnulerSoumission.class);

    public ActionForward execute(
            ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {    	
    	
    	// Récup de l'identifiant du document en cours de soumission
        String idDoc = (String) request.getSession().getAttribute(
                StrutsConstants.SESSION_SOUMISSION_INFOS_ID_DOC);
        
        // autorise un appel à la main pour debug
        if (idDoc == null || idDoc.length() == 0) {
        	idDoc = request.getParameter("idDoc");
        }
        
        if (idDoc == null || idDoc.length() == 0) {
        	ActionMessages errors = new ActionErrors();
			errors.add(
				ActionMessages.GLOBAL_MESSAGE, 
				new ActionMessage(
					"L'identifiant du document n'a pu être récupéré."
				)
			);
			saveErrors(request, errors);
        	return mapping.getInputForward();
        }
        
        // nettoyage de la session
        SessionTreeNodeMaintenance.getInstance().majApresSoumission(
                request.getSession());
        
        // annulation du Thread de retroconversion s'il existe
        ConverterThread ct = ConverterThread.getThread(idDoc);
        if (ct != null) {
        	ct.setEtat(ConverterThread.ETAT_ANNULER);
        }
        
        // Suppression de la bdd & systeme de fichier
        IDocuments fDoc = 
        	CastorProxy.getModuleDocuments(request.getSession());
        
        if (VraiFauxEnum.FAUX.equals(fDoc.deleteDocumentByAdmin(idDoc))) {
        	// TODO A TESTER !
        	log.error(
        		"Echec de l'annulation pour le document " + idDoc
        	);
        	return mapping.getInputForward();
        }
                
        return mapping.findForward("home");
    }
}
Index: AjoutDocCollPriveesAction.java
===================================================================
RCS file: /cvsroot/castore/castore-struts/src/java/fr/emn/castor/struts/actions/documents/AjoutDocCollPriveesAction.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** AjoutDocCollPriveesAction.java	16 May 2006 15:30:26 -0000	1.6
--- AjoutDocCollPriveesAction.java	14 Dec 2006 10:30:17 -0000	1.7
***************
*** 57,60 ****
--- 57,61 ----
  import fr.emn.castor.common.Constants.VraiFauxEnum;
  import fr.emn.castor.documents.IDocuments;
+ import fr.emn.castor.documents.metier.textes.retro.ConverterThread;
  import fr.emn.castor.servlets.common.CastorProxy;
  import fr.emn.castor.struts.common.session.SessionTreeNodeMaintenance;
***************
*** 107,110 ****
--- 108,118 ----
              .getSession());
          if (fDoc.putThisDocAsPrivate(idDoc, user)==VraiFauxEnum.VRAI) {
+         	
+         	// lancement de la retro
+         	ConverterThread ct = ConverterThread.getThread(idDoc);
+         	if (ct != null && ct.isAlive()) {
+         		ct.setEtat(ConverterThread.ETAT_CONVERTIR);
+         	}
+         	
              //ajout du document aux collections privées
              ICollection fColl = CastorProxy.getModuleCollection(request




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