}
  public void initialiserParametres () throws ServletException  {    Session          lSession ;  // Session actuelle de l'utilisateur.    OQLQuery         lRequete ;  // Requte  raliser sur la base    QueryResults     lResultat ; // Rsultat de la requte sur la base        try    {      MProcessus lProcessus = mProjet.getProcessus () ;      // Modification d'une itration.      if (getRequete ().getParameter (CConstante.PAR_MODIFIER) != null)      {        // Rcupre l'itration  modifier et la met dans la session.        int lIdIteration = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_ITERATION)) ;              lRequete = getBaseDonnees ().getOQLQuery ("select ITERATION from owep.modele.execution.MIteration ITERATION where mId = $1") ;        lRequete.bind (lIdIteration) ;        lResultat  = lRequete.execute () ;        mIteration = (MIteration) lResultat.next () ;            getRequete ().getSession ().setAttribute (CConstante.PAR_ITERATION, mIteration) ;      }                 // Ajout d'une tche.      if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITAJOUTER))      {        boolean trouve = false ;        MTache lTache = new MTache () ;        MCollaborateur lCollaborateur = null;        MActivite      lActivite = null ;              int lIdCollaborateur = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTECOLLABORATEURS)) ;        int lIdActivite      = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEACTIVITES)) ;              // Recherche du collaborateur effectuant cette tche.        for (int i = 0 ; !trouve && i < mProjet.getNbCollaborateurs () ; i ++)         {          if (mProjet.getCollaborateur (i).getId () == lIdCollaborateur)          {            lCollaborateur = mProjet.getCollaborateur (i) ;            trouve = true ;          }          }          // Recherche de l'activit  laquelle est lie la tche        trouve = false ;        for (int i = 0 ;!trouve &&  i <  lProcessus.getNbComposants () ; i++)        {          MComposant lComposant = lProcessus.getComposant (i) ;          for (int j = 0 ; !trouve && j < lComposant.getNbDefinitionsTravail (); j++)          {            MDefinitionTravail lDefTrav = lComposant.getDefinitionTravail (j) ;            for (int k = 0 ; !trouve && k < lDefTrav.getNbActivites (); k++)            {              if (lDefTrav.getActivite(k).getId() == lIdActivite)              {             	lActivite = lDefTrav.getActivite(k) ;             	trouve = true ;              }              }          }          }                if (mIteration.getNom() == "")        {          MIteration lIterationTmp = new MIteration ();          // Rcupration des donnes de l'itration ainsi que celle pour la tche.          VTransfert.transferer (getRequete (), lIterationTmp, CConstante.PAR_ARBREITERATION) ;            mIteration.setDateDebutPrevue (lIterationTmp.getDateDebutPrevue ());          mIteration.setDateFinPrevue (lIterationTmp.getDateFinPrevue ());          mIteration.setNom (lIterationTmp.getNom ());        }        // Rcupration de la tche saisie par l'utilisateur.        VTransfert.transferer (getRequete (), lTache, CConstante.PAR_ARBRETACHES) ;        lTache.setResteAPasser (lTache.getChargeInitiale()) ;              // Met  jour le modle.        lTache.setIteration (mIteration) ;        lTache.setCollaborateur (lCollaborateur) ;        lTache.setActivite (lActivite) ;        mIteration.addTache (lTache) ;        lCollaborateur.addTache (lTache) ;        lActivite.addTache (lTache) ;              // ajout de la tche dans la base de donnes.        getBaseDonnees ().create (lTache);                mMessage = bundle.getString("clTache")+ " " + lTache.getNom () + " " + bundle.getString("cBienCreee");      }      // Modification d'une tche si on la modifie directement ou si on ajoute, modifie ou supprime un artefact.      else if ((VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITMODIFIER)) ||        (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITAJOUTER_ARTSORTIES)) ||        (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITMODIFIER_ARTSORTIES)) ||        (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITSUPPRIMER_ARTSORTIES)))      {        boolean trouve = false ;        MTache lTacheTmp    = new MTache () ;        MCollaborateur lCollaborateur = null ;        MActivite      lActivite = null ;              int lIdCollaborateur = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTECOLLABORATEURS)) ;        int lIdActivite      = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEACTIVITES)) ;              // Recherche du collaborateur effectuant la tche.        for (int i = 0 ; !trouve && i < mProjet.getNbCollaborateurs() ; i ++)         {          if (mProjet.getCollaborateur (i).getId () == lIdCollaborateur)          {            lCollaborateur = mProjet.getCollaborateur (i) ;            trouve = true ;          }          }                // Recherche de l'activit  laquelle est lie la tche.        trouve = false ;      	for (int i = 0 ; !trouve && i <  lProcessus.getNbComposants () ; i++)      	{      	  MComposant lComposant = lProcessus.getComposant (i) ;      	  for (int j = 0 ; j < lComposant.getNbDefinitionsTravail (); j++)      	  {      	    MDefinitionTravail lDefTrav = lComposant.getDefinitionTravail (j) ;      	    for (int k = 0 ; k < lDefTrav.getNbActivites (); k++)      	    {      	      if (lDefTrav.getActivite(k).getId() == lIdActivite)      	      {      	        lActivite = lDefTrav.getActivite(k) ;            	 trouve = true ;      	      }        	    }      	  }        	}        	// Indice de la tche et de l'artefact dans leur liste respective.      	int lIndiceTache     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;            	//VTransfert.transferer (getRequete (), mIteration, CConstante.PAR_ARBREITERATION) ;      	VTransfert.transferer (getRequete (), lTacheTmp, CConstante.PAR_ARBRETACHES) ;              // Rcupration de l'identifiant de la tche imprvue que l'on souhaite modifier.        int lIdTache = mIteration.getTache (lIndiceTache).getId () ;        // On rcupre la tache imprvue que l'on souhaite modifier dans la base.        lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;        lRequete.bind (lIdTache) ;        lResultat  = lRequete.execute () ;        MTache lTache = (MTache) lResultat.next () ;                // Mise  jour de la tche.        lTache.setNom (lTacheTmp.getNom ()) ;        lTache.setChargeInitiale (lTacheTmp.getChargeInitiale ()) ;        lTache.setDescription (lTacheTmp.getDescription ()) ;        lTache.setDateDebutPrevue (lTacheTmp.getDateDebutPrevue ()) ;        lTache.setDateFinPrevue (lTacheTmp.getDateDebutPrevue ()) ;                // Mise  jour du modle.        lTache.getCollaborateur ().supprimerTache (lTache) ;        lTache.setCollaborateur (lCollaborateur) ;        lCollaborateur.addTache (lTache) ;        lTache.getActivite ().supprimerTache (lTache) ;        lTache.setActivite (lActivite) ;        lActivite.addTache (lTache) ;                mMessage = bundle.getString("clTache")+ " " + lTache.getNom () + " " + bundle.getString("cBienModifiee");      }          // Supprimer une tche.      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITSUPPRIMER))      {        MActivite lActivite;        MTache lTache;        MCollaborateur lCollaborateur;        MArtefact lArtefactSortie;        MArtefact lArtefactEntree;        MIteration lIteration;        int lIndiceTache  = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIdTache = mIteration.getTache (lIndiceTache).getId ();                // rcupration de la tche dans la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;	    lRequete.bind (lIdTache) ;	    lResultat  = lRequete.execute () ;	    lTache = (MTache) lResultat.next () ;	    	    // rcupration de l'activit dont la tche est lie.	    lRequete = getBaseDonnees ().getOQLQuery ("select ACTIVITE from owep.modele.processus.MActivite ACTIVITE where mId = $1") ;	    lRequete.bind (lTache.getActivite ().getId ()) ;	    lResultat  = lRequete.execute () ;	    lActivite = (MActivite) lResultat.next () ;	     	    // rcupration de l'itration dont fait partie cette tche.	    lRequete = getBaseDonnees ().getOQLQuery ("select ITERATION from owep.modele.execution.MIteration ITERATION where mId = $1") ;	    lRequete.bind (lTache.getIteration ().getId ()) ;	    lResultat  = lRequete.execute () ;	    lIteration = (MIteration) lResultat.next () ;	      	    // rcupration du collaborateur qui doit effectu cette tche.	    lRequete = getBaseDonnees ().getOQLQuery ("select COLLABORATEUR from owep.modele.execution.MCollaborateur COLLABORATEUR where mId = $1") ;	    lRequete.bind (lTache.getCollaborateur ().getId ()) ;	    lResultat  = lRequete.execute () ;	    lCollaborateur = (MCollaborateur) lResultat.next () ;	    	    // Mise  jour du modle.	    lCollaborateur.supprimerTache(lTache);	    lIteration.supprimerTache(lTache);	    lActivite.supprimerTache(lTache);	      	    // On supprime les artefacts en entres de la tche imprvue courante.	    for (int j = lTache.getNbArtefactsEntrees ()-1; j >= 0; j--){	      lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;	      lRequete.bind (lTache.getArtefactEntree (j).getId ()) ;	      lResultat  = lRequete.execute () ;	      lArtefactEntree = (MArtefact) lResultat.next () ;	      	      lArtefactEntree.setTacheEntree(null);	      lTache.supprimerArtefactEntree (j) ;	    }	    // On supprime les artefacts en sorties de la tche imprvue courante.	    for (int j = lTache.getNbArtefactsSorties ()-1; j >= 0; j--){	      int lIdArtefact = lTache.getArtefactSortie(j).getId ();	      	      lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;	      lRequete.bind (lIdArtefact) ;	      lResultat  = lRequete.execute () ;	      lArtefactSortie = (MArtefact) lResultat.next () ;	      	      lTache.supprimerArtefactSortie (lArtefactSortie) ;	      getBaseDonnees ().remove (lArtefactSortie);	    }	    	    // On supprime toutes les conditions de la tches	    for (int i = lTache.getNbConditions() - 1; i >= 0; i--)	    {	      // on rcupre la condition de la tche	      lRequete = getBaseDonnees ().getOQLQuery ("select CONDITION from owep.modele.execution.MCondition CONDITION where mId = $1") ;	      lRequete.bind (lTache.getCondition (i).getId ()) ;	      lResultat  = lRequete.execute () ;	      MCondition lCondition = (MCondition) lResultat.next () ;	      	      // on met  jour le modle	      lTache.supprimerCondition (lCondition) ;	      	      // on supprime la condition de la bd.	      getBaseDonnees ().remove (lCondition) ;	    }	    // On supprime toutes les dpendances qu'ils pouvaient avoir avec cette tche.	    for (int i = 0; i < lIteration.getNbTaches(); i++)	    {	      MTache lTacheTmp = lIteration.getTache(i);	      if (lTacheTmp.getId() != lTache.getId())	      {	        // on rcupre une tche de l'itration afin de voir si elle est 	        // en relation avec la tche que l'on supprime.	        lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;		    lRequete.bind (lTacheTmp.getId()) ;		    lResultat  = lRequete.execute () ;		    lTacheTmp = (MTache) lResultat.next () ;		    	        for (int j = lTacheTmp.getNbConditions() - 1; j >= 0 ; j--)	        {	          MCondition lConditionTmp = lTacheTmp.getCondition(j);	          if (lConditionTmp.getTachePrecedente().getId() == lTache.getId())	          {	            lRequete = getBaseDonnees ().getOQLQuery ("select CONDITION from owep.modele.execution.MCondition CONDITION where mId = $1") ;			    lRequete.bind (lConditionTmp.getId ()) ;			    lResultat  = lRequete.execute () ;			    lConditionTmp = (MCondition) lResultat.next () ;			    	            lTacheTmp.supprimerCondition(lConditionTmp);	            getBaseDonnees ().remove (lConditionTmp) ;	          }	        }	      }	    }	    	    getBaseDonnees ().remove(lTache); 	    	    mMessage = bundle.getString("clTache")+ " " + lTache.getNom () + " " + bundle.getString("cBienSupprimee");      }          // Ajout des dpendances entre tches      if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITAJOUTER_TACDEPEND))       {        MCondition lCondition = new MCondition () ;              // rcupration des donnes de la jsp        int lIndiceTache     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIndiceTachePre  = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHESPOSSIBLES)) ;        int lIndiceCondition = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHESCONDITION)) ;              MTache    lTache    = mIteration.getTache (lIndiceTache) ;        MTache    lTachePre = mIteration.getTache (lIndiceTachePre) ;        // Mise  jour du modle        lCondition.setTache (lTache) ;        lCondition.setTachePrecedente (lTachePre) ;        // si l'utilisateur a choisi en cours      	if (lIndiceCondition == 0)      	{      	  lCondition.setEtat (1) ;      	}      	// sinon il a choisi termin      	else      	{      	  lCondition.setEtat (3) ;      	}      	lTache.addCondition (lCondition) ;                // ajout de la condition dans la base de donnes.        getBaseDonnees ().create (lCondition) ;                mMessage = bundle.getString("cDependance")+ " " + lTache.getNom () + " - " + lTachePre.getNom() + " "+ bundle.getString("cBienCreee");      }            // Supprimer dpendance entre tche.      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITSUPPRIMER_TACDEPEND))      {        int lIndiceTache    = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIndiceTacheDep =  Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHESDEPENDANTES)) ;              int lIdTache = mIteration.getTache (lIndiceTache).getId ();                // rcupration de la tche dans la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;        lRequete.bind (lIdTache) ;        lResultat  = lRequete.execute () ;        MTache lTache = (MTache) lResultat.next () ;                int lIdCondition = lTache.getCondition(lIndiceTacheDep).getId () ;                // rcupration de la condition dans la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select CONDITION from owep.modele.execution.MCondition CONDITION where mId = $1") ;        lRequete.bind (lIdCondition) ;        lResultat  = lRequete.execute () ;        MCondition lCondition = (MCondition) lResultat.next () ;                lTache.supprimerCondition (lCondition) ;        getBaseDonnees ().remove (lCondition) ;                mMessage = bundle.getString("cDependance")+ " " + lTache.getNom () + " - " + lCondition.getTachePrecedente ().getNom () + " "+ bundle.getString("cBienSupprimee");      }          // Ajout d'un artefact en sortie.      if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITAJOUTER_ARTSORTIES))      {        MArtefact lArtefactSortie = new MArtefact () ;        VTransfert.transferer (getRequete (), lArtefactSortie, CConstante.PAR_ARBREARTEFACTSORTIES) ;              // Indice de la tche et de l'artefact dans leur liste respective.        int lIndiceTache       = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIndiceProduit     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEPRODUITS)) ;        int lIndiceResponsable = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTERESPONSABLES)) ;              MTache         lTache       = mIteration.getTache (lIndiceTache) ;        MActivite      lActivite    = lTache.getActivite () ;        MProduit       lProduit     = lActivite.getProduitSortie (lIndiceProduit) ;        MCollaborateur lResponsable = lProduit.getResponsable ().getCollaborateur (lIndiceResponsable) ;              // Mise  jour du modle.        lArtefactSortie.setTacheSortie (lTache) ;        lTache.addArtefactSortie (lArtefactSortie) ;        lArtefactSortie.setProjet (mProjet) ;        mProjet.addArtefact (lArtefactSortie) ;        lArtefactSortie.setProduit (lProduit) ;        lProduit.addArtefact (lArtefactSortie) ;        lArtefactSortie.setResponsable (lResponsable) ;        lResponsable.addArtefact (lArtefactSortie) ;             // ajout de l'artefact dans la base de donnes.        getBaseDonnees ().create (lArtefactSortie) ;                mMessage = bundle.getString("clArtefact")+ " " + lArtefactSortie.getNom () + " "+ bundle.getString("cBienCree");      }            // Modification d'un artefact.      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITMODIFIER_ARTSORTIES))      {        // Indice de la tche et de l'artefact dans leur liste respective.        int lIndiceTache     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIndiceArtSortie = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEARTEFACTSSORTIES)) ;        int lIndiceProduit     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEPRODUITS)) ;        int lIndiceResponsable = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTERESPONSABLES)) ;                    int lIdArtefactSortie = mIteration.getTache (lIndiceTache).getArtefactSortie (lIndiceArtSortie).getId () ;              // rcupration des modifications de l'artefact depuis la jsp.        MArtefact lArtefactSortieTmp = new MArtefact () ;        VTransfert.transferer (getRequete (), lArtefactSortieTmp, CConstante.PAR_ARBREARTEFACTSORTIES) ;              // slection de l'artefact depuis la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;        lRequete.bind (lIdArtefactSortie) ;        lResultat  = lRequete.execute () ;        MArtefact lArtefactSortie = (MArtefact) lResultat.next () ;                MTache         lTache       = mIteration.getTache (lIndiceTache) ;        MActivite      lActivite    = lTache.getActivite () ;        MProduit       lProduit     = lActivite.getProduitSortie (lIndiceProduit) ;        MCollaborateur lResponsable = lProduit.getResponsable ().getCollaborateur (lIndiceResponsable) ;                // Mise  jour de l'artefact.        lArtefactSortie.setNom (lArtefactSortieTmp.getNom ()) ;        lArtefactSortie.setDescription (lArtefactSortieTmp.getDescription ()) ;        lArtefactSortie.setProduit (lActivite.getProduitSortie (lIndiceProduit)) ;        lArtefactSortie.setResponsable (lProduit.getResponsable ().getCollaborateur (lIndiceResponsable)) ;                // Mise  jour du modle.        lArtefactSortie.getTacheSortie ().supprimerArtefactSortie (lArtefactSortie) ;        lArtefactSortie.setTacheSortie (lTache) ;        lTache.addArtefactSortie (lArtefactSortie) ;        lArtefactSortie.getProduit ().supprimerArtefact (lArtefactSortie) ;        lArtefactSortie.setProduit (lProduit) ;        lProduit.addArtefact (lArtefactSortie) ;        lArtefactSortie.getResponsable ().supprimerArtefact (lArtefactSortie) ;        lArtefactSortie.setResponsable (lResponsable) ;        lResponsable.addArtefact (lArtefactSortie) ;                mMessage = bundle.getString("clArtefact")+ " " + lArtefactSortie.getNom () + " "+ bundle.getString("cBienModifie");      }          // Supprimer un artefact en sortie.      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITSUPPRIMER_ARTSORTIES))      {        MTache lTache;        MArtefact lArtefactSortie;            // Rcupration de la position de la tche et de l'identifiant de l'artefact imprvue.        int lIndiceTache     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIndiceArtSortie = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEARTEFACTSSORTIES)) ;        int lIdArtSortie = mIteration.getTache (lIndiceTache).getArtefactSortie (lIndiceArtSortie).getId ();                // Rcupration de l'artefact imprvue depuis la base de donnes.        lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;        lRequete.bind (lIdArtSortie) ;        lResultat  = lRequete.execute () ;        lArtefactSortie = (MArtefact) lResultat.next () ;                // Rcupration de la tche imprvue depuis la base de donnes.        lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;  	    lRequete.bind (lArtefactSortie.getTacheSortie().getId()) ;  	    lResultat  = lRequete.execute () ;  	    lTache = (MTache) lResultat.next () ;          	    // Mise  jour de modle  	    lTache.supprimerArtefactSortie (lArtefactSortie) ;                // Suppression de l'artefact dans la base de donnes.        getBaseDonnees ().remove (lArtefactSortie);                mMessage = bundle.getString("clArtefact")+ " " + lArtefactSortie.getNom () + " "+ bundle.getString("cBienSupprime");      }          // Ajouter un artefact en entre      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITAJOUTER_ARTENTREES))      {        int lIndiceTache = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIdArtEntree = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEARTEFACTSPOSSIBLES)) ;              MTache    lTache    = mIteration.getTache (lIndiceTache) ;        MActivite lActivite = lTache.getActivite () ;        // rcupration de l'artefact depuis la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;        lRequete.bind (lIdArtEntree) ;        lResultat  = lRequete.execute () ;        MArtefact lArtEntree = (MArtefact) lResultat.next () ;                // mise  jour du modle.        lTache.addArtefactEntrees (lArtEntree) ;        lArtEntree.setTacheEntree (lTache) ;                mMessage = bundle.getString("clArtefact")+ " " + lArtEntree.getNom () + " "+ bundle.getString("cBienAjoute");      }            // Supprimer un artefact en entre      else if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMITSUPPRIMER_ARTENTREES))       {        int lIndiceTache     = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTETACHES)) ;        int lIdArtEntree = Integer.parseInt (getRequete ().getParameter (CConstante.PAR_LISTEARTEFACTSENTREES)) ;              // rcupration de l'artefact depuis la bd.        lRequete = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT where mId = $1") ;        lRequete.bind (lIdArtEntree) ;        lResultat  = lRequete.execute () ;        MArtefact lArtEntree = (MArtefact) lResultat.next () ;                // mise  jour du modle.        mIteration.getTache(lIndiceTache).supprimerArtefactEntree(lArtEntree) ;        lArtEntree.setTacheEntree (null) ;                mMessage = bundle.getString("clArtefact")+ " " + lArtEntree.getNom () + " "+ bundle.getString("cBienRetire");              }    }    catch (ClassNotPersistenceCapableException e)    {      e.printStackTrace () ;      throw new ServletException (CConstante.EXC_TRAITEMENT) ;    }    catch (DuplicateIdentityException e)    {      e.printStackTrace () ;      throw new ServletException (CConstante.EXC_TRAITEMENT) ;    }    catch (TransactionNotInProgressException e)    {      e.printStackTrace () ;      throw new ServletException (CConstante.EXC_TRAITEMENT) ;    }    catch (PersistenceException e)    {      e.printStackTrace () ;      throw new ServletException (CConstante.EXC_TRAITEMENT) ;    }    // Validation de l'itration.    if (VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMIT))    {      VTransfert.transferer (getRequete (), mIteration, CConstante.PAR_ARBREITERATION) ;    }  }