out.newLine () ;   out.write ("\t\t<listeProjetMetrique>") ; out.newLine () ; try { mBaseDonnees.begin () ; lRequete = mBaseDonnees .getOQLQuery ("select METRIQUE from owep.modele.execution.MMetrique METRIQUE where mProjet = $1") ; lRequete.bind (mProjet.getId ()) ; lResultat = lRequete.execute () ;  if (lResultat.size () > 0) { out.write ("\t\t\t<ProjetMetrique>\n") ; out.write ("\t\t\t\t<idProjet>" + mProjet.getId () + "</idProjet>\n") ; out.write ("\t\t\t\t<listeIdMetrique>\n") ; while (lResultat.hasMore ()) { MMetrique lMetrique = (MMetrique) lResultat.next () ; out.write ("\t\t\t\t<id>" + lMetrique.getId () + "</id>\n") ; } out.write ("\t\t\t\t</listeIdMetrique>\n") ; out.write ("\t\t\t</ProjetMetrique>\n") ;  } mBaseDonnees.commit () ; } catch (PersistenceException e) { e.printStackTrace () ; } out.write ("\t\t</listeProjetMetrique>") ;
  private void lienProjet () throws IOException  {    ArrayList liste ;    Iterator it ;    out.write ("\t<lienProjet>") ;    out.newLine () ;    // Definition travail / Condition definition travail / porte sur    out.write ("\t\t<listeDefTravailconditionDefTravail_debuteSi>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeDefTravailconditionDefTravail_debuteSi>") ;    out.newLine () ;    // Definition travail / Condition definition travail / debute si    out.write ("\t\t<listeDefTravailconditionDefTravail_porteSur>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeDefTravailconditionDefTravail_porteSur>") ;    out.newLine () ;    // Projet / Iteration    out.write ("\t\t<listeProjetIteration>") ;    out.newLine () ;    liste = mProjet.getListeIterations () ;    if (liste.size () > 0)    {      it = liste.iterator () ;      out.write ("\t\t\t<ProjetIteration>\n") ;      out.write ("\t\t\t\t<idProjet>" + mProjet.getId () + "</idProjet>\n") ;      out.write ("\t\t\t\t<listeIdIteration>\n") ;      while (it.hasNext ())      {        MIteration lIteration = (MIteration) it.next () ;        out.write ("\t\t\t\t\t<id>" + lIteration.getId () + "</id>\n") ;      }      out.write ("\t\t\t\t</listeIdIteration>\n") ;      out.write ("\t\t\t</ProjetIteration>\n") ;    }    out.write ("\t\t</listeProjetIteration>") ;    out.newLine () ;    // Projet / Metrique    out.write ("\t\t<listeProjetMetrique>") ;    out.newLine () ;    try    {      mBaseDonnees.begin () ;      lRequete = mBaseDonnees        .getOQLQuery ("select METRIQUE from owep.modele.execution.MMetrique METRIQUE where mProjet = $1") ;      lRequete.bind (mProjet.getId ()) ;      lResultat = lRequete.execute () ;      if (lResultat.size () > 0)      {        out.write ("\t\t\t<ProjetMetrique>\n") ;        out.write ("\t\t\t\t<idProjet>" + mProjet.getId () + "</idProjet>\n") ;        out.write ("\t\t\t\t<listeIdMetrique>\n") ;        while (lResultat.hasMore ())        {          MMetrique lMetrique = (MMetrique) lResultat.next () ;          out.write ("\t\t\t\t<id>" + lMetrique.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeIdMetrique>\n") ;        out.write ("\t\t\t</ProjetMetrique>\n") ;      }      mBaseDonnees.commit () ;    }    catch (PersistenceException e)    {      e.printStackTrace () ;    }    out.write ("\t\t</listeProjetMetrique>") ;    out.newLine () ;    // Projet / Risque    out.write ("\t\t<listeProjetRisque>") ;    out.newLine () ;    try    {      mBaseDonnees.begin () ;      lRequete = mBaseDonnees        .getOQLQuery ("select RISQUE from owep.modele.execution.MRisque RISQUE where mProjet = $1") ;      lRequete.bind (mProjet.getId ()) ;      lResultat = lRequete.execute () ;      if (lResultat.size () > 0)      {        out.write ("\t\t\t<ProjetRisque>\n") ;        out.write ("\t\t\t\t<idProjet>" + mProjet.getId () + "</idProjet>\n") ;        out.write ("\t\t\t\t<listeIdRisque>\n") ;        while (lResultat.hasMore ())        {          MRisque lRisque = (MRisque) lResultat.next () ;          out.write ("\t\t\t\t<id>" + lRisque.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeIdRisque>\n") ;        out.write ("\t\t\t</ProjetRisque>\n") ;      }      mBaseDonnees.commit () ;    }    catch (PersistenceException e)    {      e.printStackTrace () ;    }    out.write ("\t\t</listeProjetRisque>") ;    out.newLine () ;    // Iteration / Tache    out.write ("\t\t<listeIterationTache>") ;    out.newLine () ;    liste = mProjet.getListeIterations () ;    it = liste.iterator () ;    while (it.hasNext ())    {      MIteration lIteration = (MIteration) it.next () ;      ArrayList listeTache = lIteration.getListeTaches () ;      if (listeTache.size () > 0)      {        out.write ("\t\t\t<IterationTache>\n") ;        out.write ("\t\t\t\t<idIteration>" + lIteration.getId () + "</idIteration>\n") ;        out.write ("\t\t\t\t<listeIdTache>\n") ;        Iterator itTache = listeTache.iterator () ;        while (itTache.hasNext ())        {          MTache lTache = (MTache) itTache.next () ;          out.write ("\t\t\t\t<id>" + lTache.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeIdTache>\n") ;        out.write ("\t\t\t</IterationTache>\n") ;      }    }    out.write ("\t\t</listeIterationTache>") ;    out.newLine () ;    // Iteration / Tache collaborative    out.write ("\t\t<listeIterationTacheCol>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeIterationTacheCol>") ;    out.newLine () ;    // Projet / Membre    out.write ("\t\t<listeProjetMembre>") ;    out.newLine () ;    liste = mProjet.getListeCollaborateurs () ;    if (liste.size () > 0)    {      it = liste.iterator () ;      out.write ("\t\t\t<ProjetMembre>\n") ;      out.write ("\t\t\t\t<idProjet>" + mProjet.getId () + "</idProjet>\n") ;      out.write ("\t\t\t\t<listeMembre>\n") ;      while (it.hasNext ())      {        MCollaborateur lCollaborateur = (MCollaborateur) it.next () ;        out.write ("\t\t\t\t\t<id>" + lCollaborateur.getId () + "</id>\n") ;      }      out.write ("\t\t\t\t</listeMembre>\n") ;      out.write ("\t\t\t</ProjetMembre>\n") ;    }    out.write ("\t\t</listeProjetMembre>") ;    out.newLine () ;    // Membre / Artefact    out.write ("\t\t<listeMembreArtefact>") ;    out.newLine () ;    liste = mProjet.getListeCollaborateurs () ;    it = liste.iterator () ;    while (it.hasNext ())    {      MCollaborateur lCollaborateur = (MCollaborateur) it.next () ;      ArrayList listeArtefact = lCollaborateur.getListeArtefacts () ;      if (listeArtefact.size () > 0)      {        out.write ("\t\t\t<MembreArtefact>\n") ;        out.write ("\t\t\t\t<idMembre>" + lCollaborateur.getId () + "</idMembre>\n") ;        out.write ("\t\t\t\t<listeArtefact>\n") ;        Iterator itArtefact = listeArtefact.iterator () ;        while (itArtefact.hasNext ())        {          MArtefact lArtefact = (MArtefact) itArtefact.next () ;          out.write ("\t\t\t\t<id>" + lArtefact.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeArtefact>\n") ;        out.write ("\t\t\t</MembreArtefact>\n") ;      }    }    out.write ("\t\t</listeMembreArtefact>") ;    out.newLine () ;    // Membre / Tache    out.write ("\t\t<listeMembreTache>") ;    out.newLine () ;    liste = mProjet.getListeCollaborateurs () ;    it = liste.iterator () ;    ArrayList listTaches = new ArrayList () ;    while (it.hasNext ())    {      MCollaborateur lCollaborateur = (MCollaborateur) it.next () ;      ArrayList listeTache = lCollaborateur.getListeTaches () ;      if (listeTache.size () > 0)      {        listTaches.addAll (listeTache) ;        out.write ("\t\t\t<MembreTache>\n") ;        out.write ("\t\t\t\t<idMembre>" + lCollaborateur.getId () + "</idMembre>\n") ;        out.write ("\t\t\t\t<listeTache>\n") ;        Iterator itTache = listeTache.iterator () ;        while (itTache.hasNext ())        {          MTache lTache = (MTache) itTache.next () ;          out.write ("\t\t\t\t<id>" + lTache.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeTache>\n") ;        out.write ("\t\t\t</MembreTache>\n") ;      }    }    out.write ("\t\t</listeMembreTache>") ;    out.newLine () ;    // Tache / Debute si / Condition    out.write ("\t\t<listeTache_DebuteSi_Condition>") ;    out.newLine () ;    it = listTaches.iterator () ;    while (it.hasNext ())    {      MTache lTache = (MTache) it.next () ;      ArrayList listeCondition = lTache.getListeConditions () ;      if (listeCondition.size () > 0)      {        out.write ("\t\t\t<Tache_DebuteSi_Condition>\n") ;        out.write ("\t\t\t\t<idTache>" + lTache.getId () + "</idTache>\n") ;        out.write ("\t\t\t\t<listeCondition>\n") ;        Iterator itCondition = listeCondition.iterator () ;        while (itCondition.hasNext ())        {          MCondition lCondition = (MCondition) itCondition.next () ;          out.write ("\t\t\t\t\t<id>" + lCondition.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeCondition>\n") ;        out.write ("\t\t\t</Tache_DebuteSi_Condition>\n") ;      }    }    out.write ("\t\t</listeTache_DebuteSi_Condition>") ;    out.newLine () ;    // Condition / Porte sur / Tache    out.write ("\t\t<listeCondition_PorteSur_Tache>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeCondition_PorteSur_Tache>") ;    out.newLine () ;    // Tache collaborative / Debute si / Condition    out.write ("\t\t<listeTacheCol_DebuteSi_Condition>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeTacheCol_DebuteSi_Condition>") ;    out.newLine () ;    // Condition / Porte sur / Tache collaborative    out.write ("\t\t<listeCondition_PorteSur_TacheCol>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeCondition_PorteSur_TacheCol>") ;    out.newLine () ;    // Tache collaborative / Artefact / Entree    out.write ("\t\t<listeTacheColArtefact_Entree>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeTacheColArtefact_Entree>") ;    out.newLine () ;    // Tache collaborative / Artefact / Sortie    out.write ("\t\t<listeTacheColArtefact_Sortie>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeTacheColArtefact_Sortie>") ;    out.newLine () ;    // Tache / Artefact / Entree    out.write ("\t\t<listeTacheArtefact_Entree>") ;    out.newLine () ;    it = listTaches.iterator () ;    while (it.hasNext ())    {      MTache lTache = (MTache) it.next () ;      ArrayList listeArtefact = lTache.getListeArtefactsEntrees () ;      if (listeArtefact.size () > 0)      {        out.write ("\t\t\t<TacheArtefact_Entree>\n") ;        out.write ("\t\t\t\t<idTache>" + lTache.getId () + "</idTache>\n") ;        out.write ("\t\t\t\t<listeArtefact>\n") ;        Iterator itArtefact = listeArtefact.iterator () ;        while (itArtefact.hasNext ())        {          MArtefact lArtefact = (MArtefact) itArtefact.next () ;          out.write ("\t\t\t\t\t<id>" + lArtefact.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeArtefact>\n") ;        out.write ("\t\t\t</TacheArtefact_Entree>\n") ;      }    }    out.write ("\t\t</listeTacheArtefact_Entree>") ;    out.newLine () ;    // Tache / Artefact / Sortie    out.write ("\t\t<listeTacheArtefact_Sortie>") ;    out.newLine () ;    it = listTaches.iterator () ;    while (it.hasNext ())    {      MTache lTache = (MTache) it.next () ;      ArrayList listeArtefact = lTache.getListeArtefactsEntrees () ;      if (listeArtefact.size () > 0)      {        out.write ("\t\t\t<TacheArtefact_Sortie>\n") ;        out.write ("\t\t\t\t<idTache>" + lTache.getId () + "</idTache>\n") ;        out.write ("\t\t\t\t<listeArtefact>\n") ;        Iterator itArtefact = listeArtefact.iterator () ;        while (itArtefact.hasNext ())        {          MArtefact lArtefact = (MArtefact) itArtefact.next () ;          out.write ("\t\t\t\t\t<id>" + lArtefact.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeArtefact>\n") ;        out.write ("\t\t\t</TacheArtefact_Sortie>\n") ;      }    }    out.write ("\t\t</listeTacheArtefact_Sortie>") ;    out.newLine () ;    // Membre / Tache collaborative / Responsable    out.write ("\t\t<listeMembreTacheCollaborative_Responsable>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</listeMembreTacheCollaborative_Responsable>") ;    out.newLine () ;    // Membre / Tache collaborative / Realise    out.write ("\t\t<MembreTacheCollaborative_Realise>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</MembreTacheCollaborative_Realise>") ;    out.newLine () ;    // Tache / Provoque / Probleme    out.write ("\t\t<Tache_Provoque_Probleme>\n<listeTache>") ;    out.newLine () ;    it = listTaches.iterator () ;    ArrayList listProblemes = new ArrayList () ;    while (it.hasNext ())    {      MTache lTache = (MTache) it.next () ;      ArrayList listeProbleme = lTache.getListeProblemesEntrees () ;      if (listeProbleme.size () > 0)      {        out.write ("\t\t\t<Tache>\n") ;        out.write ("\t\t\t\t<id>" + lTache.getId () + "</id>\n") ;        out.write ("\t\t\t\t<listeProbleme>\n") ;        Iterator itProbleme = listeProbleme.iterator () ;        while (itProbleme.hasNext ())        {          MProbleme lProbleme = (MProbleme) itProbleme.next () ;          out.write ("\t\t\t\t\t<id>" + lProbleme.getId () + "</id>\n") ;          if (!listProblemes.contains (lProbleme))            listProblemes.add (lProbleme) ;        }        out.write ("\t\t\t\t</listeProbleme>\n") ;        out.write ("\t\t\t</Tache>\n") ;      }    }    out.write ("\t\t</listeTache>\n</Tache_Provoque_Probleme>") ;    out.newLine () ;    // Probleme / Resout / Tache    out.write ("\t\t<Probleme_Resoud_Tache>\n<listeProbleme>") ;    out.newLine () ;    it = listProblemes.iterator () ;    while (it.hasNext ())    {      MProbleme lProbleme = (MProbleme) it.next () ;      ArrayList listeTache = lProbleme.getListeTacheResout () ;      if (listeTache.size () > 0)      {        out.write ("\t\t\t<Probleme>\n") ;        out.write ("\t\t\t\t<id>" + lProbleme.getId () + "</id>\n") ;        out.write ("\t\t\t\t<listeTache>\n") ;        Iterator itTache = listeTache.iterator () ;        while (itTache.hasNext ())        {          MTache lTache = (MTache) itTache.next () ;          out.write ("\t\t\t\t\t<id>" + lTache.getId () + "</id>\n") ;        }        out.write ("\t\t\t\t</listeTache>\n") ;        out.write ("\t\t\t</Probleme>\n") ;      }    }    out.write ("\t\t</listeProbleme>\n</Probleme_Resoud_Tache>") ;    out.newLine () ;    // Tache collaborative / Provoque / Probleme    out.write ("\t\t<TacheCol_Provoque_Probleme>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</TacheCol_Provoque_Probleme>") ;    out.newLine () ;    // Probleme / Resout / Tache collaborative    out.write ("\t\t<Probleme_Resoud_TacheCol>") ;    out.newLine () ;    // TODO a faire    out.write ("\t\t</Probleme_Resoud_TacheCol>") ;    out.newLine () ;    out.write ("\t</lienProjet>") ;    out.newLine () ;  }