MTache lTacheEnCours ;
    public void initialiserBaseDonnees () throws ServletException    {      OQLQuery       lRequete ;       // Requte  raliser sur la base      QueryResults   lResultat ;      // Rsultat de la requte sur la base            try      {        // Rcupre le projet pour lequel le chef de projet s 'est connect        HttpSession session = getRequete ().getSession (true) ;        mSession = (Session)session.getAttribute("SESSION") ;        mProjet = mSession.getProjet() ;                getBaseDonnees ().begin () ;                int idProjet = mProjet.getId() ;        // Rcupre le projet dans la BD        lRequete = getBaseDonnees ().getOQLQuery ("select PROJET from owep.modele.execution.MProjet PROJET where mId = $1") ;        lRequete.bind (idProjet) ;        lResultat      = lRequete.execute () ;        mProjet = (MProjet) lResultat.next () ;                // recuperation du numero de l iteration choisie dans le menu deroulant        mIteration = mSession.getIteration() ;        mIterationNum = mIteration.getNumero();                // recherche de l iteration en cours        for (int m = 0; m < mProjet.getNbIterations() ; m++)        {          if (mProjet.getIteration(m).getEtat()==1)            mIterationEnCours = mProjet.getIteration(m).getId();        }        // si on a demand l affichage du suivi des collaborateurs pour l iteration en cours        if (mIterationNum == mIterationEnCours)        {          // creation de la liste des taches en cours des collaborateurs          MTache lTacheEnCours ;           for (int i = 0 ; i < mProjet.getNbCollaborateurs() ; i++)          {            // on recupere la tache en cours du collaborateur            int idTacheEnCours = mProjet.getCollaborateur(i).getTacheEnCours() ;                        // si le collaborateur n'a pas de tache en cours, on met null a l indice            // du collaborateur dans le tableau des taches en cours            if (idTacheEnCours == -1)            {              mProjet.setListe(new Integer(i) , null) ;            }            // sinon on recherche la tache en cours dans la BD            else            {              // Rcupre la tache en cours du collaborateur dans la BD              lRequete = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE where mId = $1") ;              lRequete.bind (idTacheEnCours) ;              lResultat      = lRequete.execute () ;              lTacheEnCours = (MTache) lResultat.next () ;                            boolean tacheOK = false ;              // on regarde si la tache en cours fait partie de l iteration selectionne              for(int k = 0; k<mIteration.getNbTaches();k++)              {                if (mIteration.getTache(k).getId() == lTacheEnCours.getId())                 {                  tacheOK = true ;                }              }              // si la tache en cours appartient a l iteration selectionne              if (tacheOK == true)              {                // ajout de la tache en cours a l indice du collaborateur correspondant                mProjet.setListe(new Integer(i), lTacheEnCours) ;              }              else              {                mProjet.setListe(new Integer(i) , null) ;              }            }          }        }      }      catch (Exception eException)      {        eException.printStackTrace () ;        throw new ServletException (CConstante.EXC_TRAITEMENT) ;      }      // Ferme la connexion  la base de donnes.      finally      {        try        {          getBaseDonnees ().commit () ;          getBaseDonnees ().close () ;        }        catch (PersistenceException eException)        {          eException.printStackTrace () ;          throw new ServletException (CConstante.EXC_DECONNEXION) ;        }      }    }