lTache.setId (lIndiceMaxTache) ; getBaseDonnees ().update (lTache) ; getBaseDonnees ().commit () ; getBaseDonnees ().begin () ;
lTache.create (lConnection) ;
  public String traiter () throws ServletException  {    // Si l'itration est toujours en cours de modification.    if (! VTransfert.getValeurTransmise (getRequete (), CConstante.PAR_SUBMIT))    {      // Transmet les donnes  la JSP d'affichage.      return "..\\JSP\\Processus\\TIterationModif.jsp" ;    }    else    {      try      {             // Met  jour la base de donnes avec les informations fournies par le collaborateur.        getBaseDonnees ().begin () ;        if (mIteration.getId () == 0)        {//          OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select PROJET from owep.modele.execution.MProjet PROJET where mId = $1") ;//          OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("CALL SQL select max(TAC_ID) + 1 from TAC_TACHE AS owep.infrastructure.outil.IdentifiantBD ;") ;//          QueryResults lResultat = lRequete.execute () ;/*          OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE") ;          QueryResults lResultat = lRequete.execute () ;          MTache lTache = null ;          while (lResultat.hasMoreElements())          {            lTache = (MTache) lResultat.next () ;          }                    lTache.setId(((MTache)lResultat.next ()).getId()) ;*/          OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select ITERATION from owep.modele.execution.MIteration ITERATION") ;          QueryResults lResultat = lRequete.execute () ;          MIteration lIteration = null ;          while (lResultat.hasMoreElements())          {            lIteration = (MIteration) lResultat.next () ;          }          mIteration.setId (lIteration.getId () + 2) ;          getBaseDonnees ().update (mIteration) ;                    getBaseDonnees ().commit () ;          getBaseDonnees ().begin () ;        }        else        {          getBaseDonnees ().update (mIteration) ;          getBaseDonnees ().commit () ;          getBaseDonnees ().begin () ;        }        // Mise  jour de toutes les tches dans la BD.        OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select TACHE from owep.modele.execution.MTache TACHE") ;        QueryResults lResultat = lRequete.execute () ;        MTache lTacheTmp = null ;        while (lResultat.hasMoreElements())        {          lTacheTmp = (MTache) lResultat.next () ;        }        int lIndiceMaxTache = lTacheTmp.getId () ;        for (int i = 0; i < mIteration.getNbTaches (); i++)        {          MTache lTache = mIteration.getTache (i) ;          lIndiceMaxTache = lIndiceMaxTache + 1 ;                    if (lTache.getId () == 0)          {            lTache.setId (lIndiceMaxTache) ;            getBaseDonnees ().update (lTache) ;            getBaseDonnees ().commit () ;            getBaseDonnees ().begin () ;          }          else          {            getBaseDonnees ().update (lTache) ;            getBaseDonnees ().commit () ;            getBaseDonnees ().begin () ;          }        }                  // Mise  jour de tous les artefacts en sorties dans la BD.        lRequete      = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT") ;        lResultat = lRequete.execute () ;        MArtefact lArtefactTmp = null ;        while (lResultat.hasMoreElements())        {          lArtefactTmp = (MArtefact) lResultat.next () ;        }        int lIndiceMaxArtSort = lArtefactTmp.getId () ;        for (int i = 0; i < mIteration.getNbTaches (); i++)        {          MTache lTache = mIteration.getTache (i) ;                    // Mise  jour des artefacts en sorties de la tache          for (int j = 0; j < lTache.getNbArtefactsSorties (); j ++)          {            MArtefact lArtefact = lTache.getArtefactSortie (j) ;            if (lArtefact.getId () == 0)            {              lIndiceMaxArtSort = lIndiceMaxArtSort + 1 ;              lArtefact.setId (lIndiceMaxArtSort) ;                            getBaseDonnees ().update (lArtefact) ;              getBaseDonnees ().commit () ;              getBaseDonnees ().begin () ;            }            else            {              getBaseDonnees ().update (lArtefact) ;              getBaseDonnees ().commit () ;              getBaseDonnees ().begin () ;            }          }        }                // Mise  jour de tous les artefacts en entres dans la BD./*        lRequete      = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT") ;        lResultat = lRequete.execute () ;        lArtefactTmp = null ;        while (lResultat.hasMoreElements())        {          lArtefactTmp = (MArtefact) lResultat.next () ;        }        int lIndiceMaxArtEntr = lArtefactTmp.getId () ;*/        lIndiceMaxArtSort = lIndiceMaxArtSort + 5 ;        for (int i = 0; i < mIteration.getNbTaches (); i++)        {          MTache lTache = mIteration.getTache (i) ;                    // Mise  jour des artefacts en entres de la tache          for (int j = 0; j < lTache.getNbArtefactsEntrees (); j ++)          {            MArtefact lArtefact = lTache.getArtefactEntree (j) ;            if (lArtefact.getId () == 0)            {              lIndiceMaxArtSort = lIndiceMaxArtSort + 1 ;              lArtefact.setId (lIndiceMaxArtSort) ;                            getBaseDonnees ().update (lArtefact) ;              getBaseDonnees ().commit () ;              getBaseDonnees ().begin () ;            }            else            {              //getBaseDonnees ().update (lArtefact) ;              getBaseDonnees ().commit () ;              getBaseDonnees ().begin () ;            }          }        }                /*for (int i = 0; i < mIteration.getProjet ().getNbArtefacts (); i++)        {          MArtefact lArtefact = mIteration.getProjet ().getArtefact (i) ;                    if (lArtefact.getId () == 0)          {            OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT") ;            QueryResults lResultat = lRequete.execute () ;            MArtefact lArtefactTmp = null ;            while (lResultat.hasMoreElements())            {              lArtefactTmp = (MArtefact) lResultat.next () ;            }            lArtefact.setId (lArtefactTmp.getId () + 1) ;                        getBaseDonnees ().update (lArtefact) ;          }          else          {            // TODO supprim car cause des bugs (vrifier si certains objets non en double            getBaseDonnees ().update (lArtefact) ;          }        }*//*        for (int i = 0; i < mIteration.getNbTaches (); i++)        {          MTache lTache = mIteration.getTache (i) ;                    // Mise  jour des artefacts en sorties de la tache          for (int j = 0; j < lTache.getNbArtefactsSorties (); j ++)          {            MArtefact lArtefact = lTache.getArtefactSortie (j) ;            if (lArtefact.getId () == 0)            {              OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT") ;              QueryResults lResultat = lRequete.execute () ;              MArtefact lArtefactTmp = null ;              while (lResultat.hasMoreElements())              {                lArtefactTmp = (MArtefact) lResultat.next () ;              }              lArtefact.setId (lArtefactTmp.getId () + 1) ;                            getBaseDonnees ().update (lArtefact) ;            }            else            {              getBaseDonnees ().update (lArtefact) ;            }          }        }                getBaseDonnees ().commit () ;        getBaseDonnees ().begin () ;                // Mise  jour de tous les artefacts en entres dans la BD.        for (int i = 0; i < mIteration.getNbTaches (); i++)        {          MTache lTache = mIteration.getTache (i) ;                    // Mise  jour des artefacts en entres de la tache          for (int j = 0; j < lTache.getNbArtefactsEntrees (); j ++)          {            MArtefact lArtefact = lTache.getArtefactEntree (j) ;            if (lArtefact.getId () == 0)            {              OQLQuery lRequete      = getBaseDonnees ().getOQLQuery ("select ARTEFACT from owep.modele.execution.MArtefact ARTEFACT") ;              QueryResults lResultat = lRequete.execute () ;              MArtefact lArtefactTmp = null ;              while (lResultat.hasMoreElements())              {                lArtefactTmp = (MArtefact) lResultat.next () ;              }              lArtefact.setId (lArtefactTmp.getId () + 1) ;                            getBaseDonnees ().create (lArtefact) ;            }            else            {              getBaseDonnees ().update (lArtefact) ;            }          }        }*/                getBaseDonnees ().commit () ;                // MODIF YANN : ajout de l'itration au projet en cours et retour sur la page affichant la liste des itrations        Session lSession ;        lSession = (Session) getRequete ().getSession ().getAttribute (CConstante.SES_SESSION) ;        mProjet  = lSession.getProjet () ;        mProjet.addIteration(mIteration) ;        lSession.setProjet(mProjet) ;        //return "..\\Tache\\ListeTacheVisu" ;        return "..\\Processus\\ProjetVisu" ;      }      catch (Exception eException)      {        eException.printStackTrace () ;        throw new ServletException (CConstante.EXC_TRAITEMENT) ;      }      // Ferme la connexion  la base de donnes.      finally      {        try        {          getBaseDonnees ().close () ;        }        catch (PersistenceException eException)        {          eException.printStackTrace () ;          throw new ServletException (CConstante.EXC_DECONNEXION) ;        }      }    }  }