/**
   * Récupère la liste des tâches d'un collaborateur pour l'itération choisie, et la transmet à la
   * JSP.
   *
   * @return URL de la page vers laquelle doit être redirigé le client.
   * @throws ServletException Si une erreur survient dans le controleur
   * @see owep.controle.CControleurBase#traiter()
   */
  public String traiter() throws ServletException {
    java.util.ResourceBundle messages;
    messages = java.util.ResourceBundle.getBundle("MessagesBundle");
    if (lProjet.getNbIterations() == 0) {
      String lMessage = messages.getString("AucuneIteration");
      getRequete().setAttribute(CConstante.PAR_MESSAGE, lMessage);
    }

    try {
      // Transmet les données à la JSP d'affichage.
      getRequete().setAttribute(CConstante.PAR_COLLABORATEUR, mCollaborateur);
      getRequete().setAttribute(CConstante.PAR_PROJET, lProjet);

      // Sauvegarde de l'URL en session pour la liste de itérations
      mSession.setURLPagePrecedente("/Tache/ListeTacheVisu");
    } catch (Exception eException) {
      eException.printStackTrace();
      throw new ServletException(CConstante.EXC_TRAITEMENT);
    }
    // Ferme la connexion à la base de données.
    finally {
      try {
        getBaseDonnees().commit();
        getBaseDonnees().close();
      } catch (PersistenceException eException) {
        eException.printStackTrace();
        throw new ServletException(CConstante.EXC_DECONNEXION);
      }
    }
    return "..\\JSP\\Tache\\TListeTacheVisu.jsp";
  }
  /**
   * Récupère les données nécessaire au controleur dans la base de données.
   *
   * @throws ServletException Si une erreur survient durant la connexion
   * @see owep.controle.CControleurBase#initialiserBaseDonnees()
   */
  public void initialiserBaseDonnees() throws ServletException {
    OQLQuery lRequete; // Requête à réaliser sur la base
    QueryResults lResultat; // Résultat de la requête sur la base

    try {

      //    Récupère le collaborateur connecté
      HttpSession session = getRequete().getSession(true);
      mSession = (Session) session.getAttribute("SESSION");
      mCollaborateur = mSession.getCollaborateur();
      getBaseDonnees().begin();

      int idCollab = mCollaborateur.getId();
      // Récupère la liste des tâches du collaborateur.
      lRequete =
          getBaseDonnees()
              .getOQLQuery(
                  "select COLLABORATEUR from owep.modele.execution.MCollaborateur COLLABORATEUR where mId = $1");
      lRequete.bind(idCollab);
      lResultat = lRequete.execute();
      mCollaborateur = (MCollaborateur) lResultat.next();

      lProjet = mSession.getProjet();
      int idProjet = lProjet.getId();
      // Récupère 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();
      lProjet = (MProjet) lResultat.next();
    } catch (Exception eException) {
      eException.printStackTrace();
      throw new ServletException(CConstante.EXC_TRAITEMENT);
    }
  }