public Cup controlCUP(Cup cup, Long idTipoIntervento, Long idCategoria, Utenti utenteLoggato)
      throws ApplicationException {
    // Cup cupDB=null;
    List listaCup = cupDAO.findByCup(cup.getCup());
    if (listaCup.size() == 0) {
      // cupDB = (listcup.size()>0)?(Cup) listcup.get(0):null;

      // il Cup non esiste ancora sul DB. Bisogna salvarlo
      cup.getTipiIntervento().setIdTipoIntervento(idTipoIntervento);
      cup.getCategorieIntervento().setIdCategoria(idCategoria);
      cup.setFlagMigrazione(new Integer(0));
      Util.setInfoForSave(utenteLoggato, cup, new Long(113));
      Long idCup = cupDAO.save(cup);
      cup = cupDAO.findById(idCup);

      // cup.setIdCup(idCup);
      return cup;
    } else {
      Cup cupDB = (Cup) listaCup.get(0);
      cup.setIdCup(cupDB.getIdCup());

      // ora devo controllare se i campi del CUP sono stati aggiornati.In tal caso devo aggiornare
      // il cup con i nuovi dati forniti dal WS
      // controllaSeCupModificato(cup,idTipoIntervento,idCategoria);

      return cup;
    }
  }
 public Long getIdCup(String codiceCup) throws ApplicationException {
   Long idCup = null;
   List listaCup = cupDAO.findByCup(codiceCup);
   if (listaCup != null && listaCup.size() > 0) {
     idCup = ((Cup) listaCup.get(0)).getIdCup();
   }
   return idCup;
 }