[Castore-commits] ServletGestionWorkflows.java 1.9 1.10

Mohamed Yenje Ould Elkhadir mohamed at adullact1.hosting.cri74.org
Mer 16 Aou 14:18:26 CEST 2006


Update of /cvsroot/castore/castore-servlets/src/java/fr/emn/castor/servlets/administration/gestionWorkflows
In directory adullact1:/tmp/cvs-serv29582/src/java/fr/emn/castor/servlets/administration/gestionWorkflows

Modified Files:
	ServletGestionWorkflows.java 
Log Message:
changement type retour d'une méthode

Index: ServletGestionWorkflows.java
===================================================================
RCS file: /cvsroot/castore/castore-servlets/src/java/fr/emn/castor/servlets/administration/gestionWorkflows/ServletGestionWorkflows.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** ServletGestionWorkflows.java	4 Aug 2006 15:24:09 -0000	1.9
--- ServletGestionWorkflows.java	16 Aug 2006 12:18:23 -0000	1.10
***************
*** 4,7 ****
--- 4,83 ----
   * Plateforme CASTORE
   * CeCILL Copyright (C) 2005-2006 by EMN
+  * Made by Stéphane Bouchet, Olivier Grouhan, Vanessa Bergere
+  * Web site = http://www.emn.fr/castore
+  * Contact = Cédric Dumas, e-mail = Cedric.Dumas at emn.fr
+  *
+  * Version 1.0 (1er mars 2005)
+  *
+  * 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.
+  *
+  */
+ /*
+  * $Id$
+  *
+  * Plateforme CASTORE
+  * CeCILL Copyright (C) 2005-2006 by EMN
+  * Made by Mohamed Yenje
+  * Web site = http://www.emn.fr/castore
+  * Contact = Cédric Dumas, e-mail = Cedric.Dumas at emn.fr
+  *
+  * Version 1.0 (1er mars 2005)
+  *
+  * 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.
+  *
+  */
+ /*
+  * $Id$
+  *
+  * Plateforme CASTORE
+  * CeCILL Copyright (C) 2005-2006 by EMN
   * Made by Mohamed Yenje
   * Web site = http://www.emn.fr/castore
***************
*** 44,47 ****
--- 120,124 ----
  import java.io.ObjectInputStream;
  import java.io.ObjectOutputStream;
+ import java.io.IOException;
  import java.util.HashMap;
  import java.util.Map;
***************
*** 63,67 ****
  import fr.emn.castor.applets.gestionWorkflows.applet.ModelWorkflow;
  import fr.emn.castor.common.Constants;
- import fr.emn.castor.common.Constants.VraiFauxEnum;
  import fr.emn.castor.documents.Facade;
  
--- 140,143 ----
***************
*** 69,367 ****
   * Servlet pour la gestion des Workflows
   * 
!  * @author $Author$
!  * @version $Revision$
   */
! public class ServletGestionWorkflows extends HttpServlet {
! 
!     boolean ajout;
! 
!     boolean supprimer;
! 
!     ModelWorkflow md;
  
!     ModelValidation wf;
  
!     Facade facade = Facade.getInstance();
  
      public void doPost(HttpServletRequest req, HttpServletResponse resp)
!             throws ServletException, IOException {
! 
!         try {
! 
!             doGet(req, resp);
! 
!             ObjectInputStream in = new ObjectInputStream(req
!                 .getInputStream());
! 
!             md = (ModelWorkflow) in.readObject();
! 
!             if (isAjout())
! 
!                 ajouterWorkflow(md);
!             else {
!                 if (isSupprimer())
! 
!                 {
! 
!                     wf = md.getWFcourant();
! 
!                     File rep_wfsuprimes = new File(
!                         Constants.CASTOR_DELETED_WORKFLOWS_PATH);
! 
!                     rep_wfsuprimes.mkdir();
! 
!                     File file_supprime = new File(
!                         Constants.CASTOR_DELETED_WORKFLOWS_PATH + "\\"
!                                 + wf.getName() + "Workflow.xml");
! 
!                     File file_orignale = new File(
!                         Constants.CASTOR_WORKFLOW_PATH + "\\" + wf.getName()
!                                 + "Workflow.xml");
! 
!                     if (!file_orignale.renameTo(file_supprime))
! 
!                         file_orignale.delete();
! 
!                     facade.initWorkflow();
! 
!                 } else
! 
!                     InitModele(md);
!             }
! 
!             ObjectOutputStream out = new ObjectOutputStream(resp
!                 .getOutputStream());
! 
!             out.writeObject(md);
!             out.flush();
!             out.close();
! 
!         } catch (IOException e) {
!             System.out.println("erreur de communication applet");
!         } catch (ClassNotFoundException e) {
!             System.out.println("classe non trouvée");
!         }
! 
!     }
! 
!     private void InitModele(ModelWorkflow m) {
! 
!         Map<String, String> liste_WF = facade.getListeWorkflows();
! 
!         facade.initWorkflow();
! 
!         for (int g = 1; g <= liste_WF.size(); g++)
! 
!         {
! 
!             String idWF = liste_WF.get("WF" + g);
! 
!             ModelValidation mf = new ModelValidation();
! 
!             if (facade.isWorkflowInUse(idWF) == VraiFauxEnum.VRAI)
! 
!                 mf.setUtilisé(true);
! 
!             mf.setName(idWF);
! 
!             Map<String, String> etapesoum = new HashMap<String, String>();
! 
!             etapesoum = facade.getInfosSoumission(idWF);
! 
!             if (etapesoum.get("DiffusionOptional").equals("true"))
! 
!                 mf.setDiffusionOptional(true);
! 
!             else
! 
!                 mf.setDiffusionOptional(false);
! 
!             if (etapesoum.get("LicenseOptional").equals("true"))
! 
!                 mf.setLicenseOptional(true);
! 
!             else
!                 mf.setLicenseOptional(false);
! 
!             mf.setValeurDiffusion(etapesoum.get("Diffusion"));
! 
!             mf.setValeurLicence(etapesoum.get("Licence"));
! 
!             for (int i = 1; i < Integer.valueOf(
!                 facade.getNumberOfSteps(idWF)).intValue(); i++) {
! 
!                 EtapeValidation etapevalidation = new EtapeValidation();
! 
!                 Map<String, String> et = facade.getInfosValidation(idWF, i);
! 
!                 etapevalidation.setValidateur(et.get("Validateur"));
! 
!                 etapevalidation
!                     .setType_validateur(et.get("Type_validateur"));
! 
!                 etapevalidation
!                     .setType_validation(et.get("Type_validation"));
  
!                 mf.AjouteEtape((etapevalidation));
  
!             }
  
              mf.setNbrInitiale(mf.taille());
! 
!             m.AjoutWorflow(mf);
! 
!         }
      }
  
!     public void doGet(HttpServletRequest req, HttpServletResponse resp)
!             throws ServletException, IOException {
! 
!         String a = req.getParameter("ajout");
! 
!         if (a.equals("oui"))
! 
!             this.setAjout(true);
! 
!         else
! 
!             this.setAjout(false);
! 
!         String s = req.getParameter("supprimer");
! 
!         if (s.equals("oui"))
! 
!             this.setSupprimer(true);
! 
!         else
! 
!             this.setSupprimer(false);
! 
!     }
  
!     static void enregistre(String fichier, Document d) {
!         try {
!             XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
!             sortie.output(d, new FileOutputStream(fichier));
!         } catch (java.io.IOException e) {
!         }
!     }
  
-     public boolean isAjout() {
-         return ajout;
-     }
  
!     public void setAjout(boolean ajout) {
!         this.ajout = ajout;
      }
  
!     public void ajouterWorkflow(ModelWorkflow m) {
! 
!         Element racine = new Element("workflow");
! 
!         Document document = new Document(racine);
! 
!         wf = md.getWFcourant();
! 
!         Attribute id = new Attribute("id", wf.getName());
! 
!         racine.setAttribute(id);
! 
!         racine.setAttribute(
!             "noNamespaceSchemaLocation", "castoreWorkflow.xsd", Namespace
!                 .getNamespace(
!                     "xsi", "http://www.w3.org/2001/XMLSchema-instance"));
! 
!         Element soumissionStep = new Element("soumissionStep");
! 
!         racine.addContent(soumissionStep);
! 
!         soumissionStep.setAttribute("number", "0");
! 
!         Element license = new Element("license");
! 
!         soumissionStep.addContent(license);
! 
!         if ((wf.getValeurLicence().length() == 0)
!                 && (!wf.isLicenseOptional()))
! 
!             license.setAttribute("defaultValue", "LICENCE_DIFFUSION");
!         else
! 
!             license.setAttribute("defaultValue", wf.getValeurLicence());
! 
!         String optionLicence = "false";
! 
!         if (wf.isLicenseOptional())
!             optionLicence = "true";
!         license.setAttribute("mandatory", optionLicence);
! 
!         Element diffusion = new Element("diffusion");
! 
!         soumissionStep.addContent(diffusion);
! 
!         if ((wf.getValeurDiffusion().length() == 0)
!                 && (!wf.isDiffusionOptional()))
! 
!             diffusion.setAttribute("defaultValue", "RootGroupesNatifsId");
!         else
!             diffusion.setAttribute("defaultValue", wf.getValeurDiffusion());
! 
!         String optionDiffusion = "false";
! 
!         if (wf.isDiffusionOptional())
!             optionDiffusion = "true";
!         diffusion.setAttribute("mandatory", optionDiffusion);
! 
!         for (int i = 0; i < wf.taille(); i++) {
!             EtapeValidation e = wf.etape(i);
! 
!             Element validationStep = new Element("validationStep");
! 
!             racine.addContent(validationStep);
! 
!             String no = "" + (i + 1);
! 
!             validationStep.setAttribute("number", no);
! 
!             validationStep.setAttribute("what", e.getType_validation());
! 
!             String s1;
!             /*pour corriger un bug*/
!             if (e.getType_validateur().equals("METADATALINK"))
!                 s1 = "metadataLink";
!             else
!                 s1 = e.getType_validateur().toLowerCase();
! 
!             validationStep.setAttribute("who", s1);
! 
!             if (e.getValidateur() == null)
! 
!                 validationStep.setAttribute("whoId", "administrator");
! 
!             else
! 
!                 validationStep.setAttribute("whoId", e.getValidateur());
! 
!         }
!         String fichier = Constants.CASTOR_WORKFLOW_PATH + "\\"
!                 + wf.getName() + "Workflow.xml";
  
!         File f = new File(Constants.CASTOR_WORKFLOW_PATH + "\\"
!                 + wf.getAncienNom() + "Workflow.xml");
  
!         f.delete();
  
!         enregistre(fichier, document);
  
!         facade.initWorkflow();
  
!     }
  
!     public boolean isSupprimer() {
!         return supprimer;
      }
  
-     public void setSupprimer(boolean supprimer) {
-         this.supprimer = supprimer;
-     }
- }
--- 145,483 ----
   * Servlet pour la gestion des Workflows
   * 
!  * @author $Mohamed Yenje$
!  * @version $1.3$
   */
! public class ServletGestionWorkflows  extends HttpServlet {
  
!     
! 	boolean ajout;
! 	
! 	boolean supprimer;
! 	
! 	ModelWorkflow md;
! 	
! 	ModelValidation wf;
! 	
  
!     /**
!      * @see javax.servlet.http.HttpServlet#doGet(
!      * javax.servlet.http.HttpServletRequest,
!      * javax.servlet.http.HttpServletResponse)
!      */
  
+ 	
+ 	Facade facade=Facade.getInstance();	
+ 	
      public void doPost(HttpServletRequest req, HttpServletResponse resp)
!             throws ServletException,IOException {
!     	
!         try 
!        {	     
!     	   
!            doGet(req,resp);
!            
!         	
!            ObjectInputStream in = new ObjectInputStream(req.getInputStream());
!     	   
!     	   md=(ModelWorkflow) in.readObject();
!     	   
!     	   
!     	   if(isAjout())
!     	
!     		     
!     		     ajouterWorkflow(md);
!     	
!     	   else
!     	   {
!     	     if(isSupprimer())
!     	    	 
!     	     {
!     	    	 
!     	       wf = md.getWFcourant();
!     	       
!     	       if(!wf.isUtilisé())
!     	       { 
!     	       
!     	    	   
!                File rep_wfsuprimes = new File(Constants.CASTOR_DELETED_WORKFLOWS_PATH);
!     	       
!     	       rep_wfsuprimes.mkdir();
!     	    	 
!     	       File file_supprime=new File(Constants.CASTOR_DELETED_WORKFLOWS_PATH+"\\"+wf.getName()+"Workflow.xml");
!     	       
!     	       File file_orignale = null;
!     	       
!     	       if(wf.getFichier()!=null)
!     	       
!     	    	 file_orignale=new File(wf.getFichier());
!     	       
!     	       else
!     	    	   file_orignale=new File(Constants.CASTOR_WORKFLOW_PATH+"\\"+wf.getName()+"Workflow.xml");  
!     	       
!     	       if (!file_orignale.renameTo(file_supprime))
!     	    	        
!     	    	   file_orignale.delete();
!     	       
!     	       facade.initWorkflow();
!     	       
!     	       }
!     	     }
!     	     else
!     	    	 
!     		      InitModele(md);
!     	   }
!     	   
!     	   ObjectOutputStream out = new ObjectOutputStream(resp.getOutputStream());
  
!            out.writeObject(md);
!            out.flush();
!            out.close();
!   
!     	
!        } 
!     	   catch (IOException e) {System.out.println("erreur de communication applet");} 
! 		   catch (ClassNotFoundException e) {System.out.println("classe non trouvée");}
!     	
!                                                  }
!     
!     private void InitModele(ModelWorkflow m) {	
! 		
! 		Map<String,String> liste_WF=facade.listeWorkflows();
! 		
! 		facade.initWorkflow();
! 		
! 		for(int g=1;g<=liste_WF.size();g++)
! 		
! 		{
! 			
! 			String idWF=liste_WF.get("WF"+g);
! 			 
! 	    	ModelValidation mf=new ModelValidation();
! 	    	
! 	    	if(facade.workflowInUse(idWF))
! 			  
! 			       mf.setUtilisé(true);
! 				    	
! 	    	mf.setName(idWF);
! 	    	
! 	    	Map<String,String> etapesoum=new HashMap();
! 			
! 	    	etapesoum=facade.getInfosSoumission(idWF);
! 	    	
! 	    	mf.setFichier(etapesoum.get("Fichier"));
! 	    	
! 	    	if(etapesoum.get("DiffusionOptional").equals("true"))
! 	        
! 	    	    mf.setDiffusionOptional(true);
! 	    	
! 	    	else
! 	    	
! 	    	    mf.setDiffusionOptional(false);
! 	    	
! 	    	if(etapesoum.get("LicenseOptional").equals("true"))
! 	        
! 	    	    mf.setLicenseOptional(true);
! 	    	
! 	    	else
! 	    		mf.setLicenseOptional(false);
! 	        
! 	    	mf.setValeurDiffusion(etapesoum.get("Diffusion"));
! 	        
! 	    	mf.setValeurLicence(etapesoum.get("Licence"));
! 	        
! 	        for(int i=1;i<facade.getNumberOfSteps(idWF);i++)
! 	        {
  
! 	        	EtapeValidation etapevalidation =new EtapeValidation();
! 	        	
! 	        	Map<String,String> et=facade.getInfosValidation(idWF,i);
! 	        	
! 	        	etapevalidation.setValidateur(et.get("Validateur"));
! 	   		    
! 	        	etapevalidation.setType_validateur(et.get("Type_validateur"));
! 			    
! 	        	etapevalidation.setType_validation(et.get("Type_validation"));
! 			    
! 	        	mf.AjouteEtape((etapevalidation));
! 			    
  
+ 	        }
+ 	        
              mf.setNbrInitiale(mf.taille());
! 	        
! 	        m.AjoutWorflow(mf);
! 	        
! 		
! 	   }
      }
  
! 	public void doGet(HttpServletRequest req, HttpServletResponse resp)
!     throws ServletException,IOException {
  
! 	
!                 String a=req.getParameter("ajout");
!                                 
!                 if(a.equals("oui"))
!                 
!                 	this.setAjout(true);
!                 	
!                 else
!                 	
!                 	this.setAjout(false);
!                 
!                 String s=req.getParameter("supprimer");
!                 
!                 if(s.equals("oui"))
!                 
!                 	this.setSupprimer(true);
!                 	
!                 else
!                 	
!                 	this.setSupprimer(false);
  
  
!                                         }
!     
!     
!     static void enregistre(String fichier,Document d)
!     {
!     try
!     {
!     XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
!     sortie.output(d, new FileOutputStream(fichier));
!     }catch (java.io.IOException e){}
      }
  
! 	public boolean isAjout() {
! 		return ajout;
! 	}
  
! 	public void setAjout(boolean ajout) {
! 		this.ajout = ajout;
! 	}
  
!  public void ajouterWorkflow(ModelWorkflow m){
! 	 
! 	   Element racine = new Element("workflow");
! 		
! 	   Document document = new Document(racine);
! 	   
! 	   wf = md.getWFcourant();
! 	   
! 	   Attribute id = new Attribute("id",wf.getName());
! 	   
! 	   racine.setAttribute(id);	
! 	   
! 	   racine.setAttribute("noNamespaceSchemaLocation",
!                          "castoreWorkflow.xsd",
!                          Namespace.getNamespace("xsi",
!                          "http://www.w3.org/2001/XMLSchema-instance"));
  
! 	   Element soumissionStep=new Element("soumissionStep");
! 	   
! 	   racine.addContent(soumissionStep);
! 	   
! 	   soumissionStep.setAttribute("number","0");
! 	   
! 	   Element license=new Element("license");
! 	   
! 	   soumissionStep.addContent(license);
! 	   
! 	   if((wf.getValeurLicence().length()==0)&&(!wf.isLicenseOptional()))
! 	   
! 	                 license.setAttribute("defaultValue","LICENCE_DIFFUSION");
! 	   else
  
! 		              license.setAttribute("defaultValue",wf.getValeurLicence());
! 	   
! 	   String optionLicence="false";
! 	   
! 	   if(wf.isLicenseOptional())
! 		   optionLicence="true";
! 	   license.setAttribute("mandatory",optionLicence);
! 	   
!        Element diffusion=new Element("diffusion");
! 	   
! 	   soumissionStep.addContent(diffusion);
! 	   
! 	   if((wf.getValeurDiffusion().length()==0)&&(!wf.isDiffusionOptional()))
! 	   
! 	        diffusion.setAttribute("defaultValue","RootGroupesNatifsId");
! 	   else
! 		    diffusion.setAttribute("defaultValue",wf.getValeurDiffusion());
! 	   
! 	   String optionDiffusion="false";
! 	   
! 	   if(wf.isDiffusionOptional())
! 		   optionDiffusion="true";
! 	   diffusion.setAttribute("mandatory",optionDiffusion);
! 	   
! 	   for(int i=0;i<wf.taille();i++)
! 	   {
! 		   EtapeValidation e = wf.etape(i);
! 		   
! 		   Element validationStep=new Element("validationStep");
! 		   
! 		   racine.addContent(validationStep);
! 		   
! 		   String no=""+(i+1);
! 		   
! 		   validationStep.setAttribute("number",no);
! 		   
! 		   validationStep.setAttribute("what",e.getType_validation());
! 		  
! 		   String s1;
! 		/*pour corriger un bug*/
! 		   if(e.getType_validateur().equals("METADATALINK"))
! 			    s1="metadataLink";
! 		   else 
! 		         s1=e.getType_validateur().toLowerCase();
! 		   
! 		   validationStep.setAttribute("who",s1);
! 		   
! 		   if(e.getValidateur()==null)
! 		   
! 		   validationStep.setAttribute("whoId","administrator");
! 		   
! 		   else
! 			   
! 			 validationStep.setAttribute("whoId",e.getValidateur());   
! 		   
! 		   
! 	   }
! 	  String fichier;
! 	   
! 	   File f;
! 	   
!       if(m.getWFcourant().getFichier()!=null)
! 	   {
!     	  
! 		   fichier=m.getWFcourant().getFichier();
! 		   
! 		   f=new File(m.getWFcourant().getFichier());   
! 	   }
! 	   else
! 	   {
!           fichier=Constants.CASTOR_WORKFLOW_PATH+"\\"+wf.getName()+"Workflow.xml";
! 		   
! 		   f=new File(Constants.CASTOR_WORKFLOW_PATH+"\\"+wf.getName()+"Workflow.xml");
! 		  
! 	   }
! 	
! 	   f.delete();
! 	   
!        enregistre(fichier,document);
!        
!        facade.initWorkflow();
! 	   
!  }
  
! public boolean isSupprimer() {
! 	return supprimer;
! }
  
! public void setSupprimer(boolean supprimer) {
! 	this.supprimer = supprimer;
! }
      }
  




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