public Interventi updateIntervento(Interventi interventi) throws ApplicationException { // long id = interventi.getCup().getIdCup().longValue(); if (interventi.getUtenti() != null) { Utenti utenteResp = interventiDAO.findUtenteById(interventi.getUtenti().getIdUtente()); if (utenteResp != null) interventi.setUtenti(utenteResp); } Long idAttivitaStandard = interventi.getAttivitaStandard().getIdAttivitaStandard(); AttivitaStandard attivitaStandard = this.attivitaStandardDAO.findById(idAttivitaStandard); interventi.setAttivitaStandard(attivitaStandard); // ricarica l' intervento padre dal DB per evitare 'object references an unsaved transient // instance...' Interventi interventoPadre = interventi.getInterventi(); if (interventoPadre != null) { interventoPadre = interventiDAO.findById(interventoPadre.getIdIntervento()); interventi.setInterventi(interventoPadre); } // ricarica il Cup a partire dal suo id Cup cup = interventi.getCup(); cup = this.cupDAO.findById(cup.getIdCup()); interventi.setCup(cup); interventiDAO.update(interventi); // cupDAO.update(interventi.getCup()); return interventi; }
public Interventi insertIntervento(Interventi interventi, Utenti utenteLoggato) throws Exception { Session session = interventiDAO.getSession(); Transaction tx = session.beginTransaction(); try { Long idAttivitaStandard = interventi.getAttivitaStandard().getIdAttivitaStandard(); AttivitaStandard attivitaStandard = this.attivitaStandardDAO.findById(idAttivitaStandard); interventi.setAttivitaStandard(attivitaStandard); // ricarica l' intervento padre dal DB per evitare 'object references an unsaved transient // instance...') Interventi interventoPadre = interventi.getInterventi(); if (interventoPadre != null) { interventoPadre = interventiDAO.findById(interventoPadre.getIdIntervento()); interventi.setInterventi(interventoPadre); } // ricarica il Cup a partire dal suo id Cup cup = interventi.getCup(); cup = this.cupDAO.findById(cup.getIdCup()); interventi.setCup(cup); Long idIntervento = interventiDAO.save(interventi, session); // interventi.setIdIntervento(idIntervento); // recupero l' id dell' utente Responsabile e inserisco un record in AbilitazioniUtente per // abilitare l' utente al progetto // SOSPESo. Lo si farà con un TRIGGER // if (interventi.getUtenti()!=null){ // //(lo strumento ancora non c'è perchè l' intervento non ha ancora una VersInterv) // AbilitazioniUtente abilitazioniUtente=new AbilitazioniUtente(); // abilitazioniUtente.setUtenti(interventi.getUtenti()); // abilitazioniUtente.setInterventi(interventi); // // abilitazioniUtente.setIdFunzioneEseguita(new Long("170")); // abilitazioniUtente.setIdUtenteInserimento(utenteLoggato.getIdUtente()); // abilitazioniUtente.setTimestampInserimento(new Date()); // // abilitazioniUtenteDAO.save(abilitazioniUtente, session); // } tx.commit(); } catch (Exception e) { tx.rollback(); e.printStackTrace(); throw new Exception(e); } finally { session.close(); } return interventi; }