/** @see fr.unice.hmabwe.controleur.dao.DaoEtudiant#getMoyenne() */
 public double getMoyenne(String numEtu) {
   HashMap<Integer, Integer> coeffs = new HashMap<Integer, Integer>();
   EntityManager em = getEntityManager();
   Etudiant e = findByNumeroEtudiant(numEtu);
   Filiere f = e.getFiliere();
   Query q =
       em.createQuery("select c from Coefficient c join c.filiere f where f.id = " + f.getId());
   Collection<Inscription> l_inscr = e.getInscriptions();
   double somme_notes = 0;
   int somme_coef = 0;
   List<Coefficient> l_coeffs = (List<Coefficient>) q.getResultList();
   for (Coefficient coefficient : l_coeffs) {
     coeffs.put(coefficient.getCours().getId(), coefficient.getCoefficient());
   }
   for (Inscription inscription : l_inscr) {
     somme_notes += inscription.getMoyenne() * coeffs.get(inscription.getCours().getId());
     somme_coef += coeffs.get(inscription.getCours().getId());
   }
   return somme_notes / somme_coef;
 }
 /** @see fr.unice.hmabwe.controleur.dao.DaoEtudiant#getMoyenne() */
 public double getMoyenne(String numEtu, int annee) throws DaoException {
   HashMap<Integer, Integer> coeffs = new HashMap<Integer, Integer>();
   EntityManager em = getEntityManager();
   Etudiant e = findByNumeroEtudiant(numEtu);
   Filiere f = e.getFiliere();
   Query q =
       em.createQuery("select c from Coefficient c join c.filiere f where f.id = " + f.getId());
   Collection<Inscription> l_inscr_test = e.getInscriptions();
   Collection<Inscription> l_inscr = new ArrayList<Inscription>();
   for (Inscription inscr : l_inscr_test) {
     if (inscr.getAnnee() == annee) {
       l_inscr.add(inscr);
     }
     if (l_inscr.isEmpty())
       throw new DaoException("aucun etudiant avec le numéro " + numEtu + " en " + annee);
   }
   double somme_notes = 0;
   int somme_coef = 0;
   List<Coefficient> l_coeffs = (List<Coefficient>) q.getResultList();
   for (Coefficient coefficient : l_coeffs) {
     coeffs.put(coefficient.getCours().getId(), coefficient.getCoefficient());
   }
   for (Inscription inscription : l_inscr) {
     somme_notes += inscription.getMoyenne() * coeffs.get(inscription.getCours().getId());
     somme_coef += coeffs.get(inscription.getCours().getId());
   }
   return somme_notes / somme_coef;
 }