[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