@Override @Transactional public String persist() { info("Atempt to persist request {0} for user {1}", getInstance(), utilisateurCourant); try { // Verification du pseudo if (!annonceHome.validerDates(false)) { return "dates_incorrectes"; } // Maj du lieu getInstance().setLieuDepart(annonceHome.getLieuDepart().getLieu()); getInstance().setLieuArrivee(annonceHome.getLieuArrivee().getLieu()); getInstance().setDateMaj(new Date()); getInstance().setUtilisateur(utilisateurCourant); getInstance().setNote(demandeHelper.getNote(getInstance())); // Enregistrement de la demande String retour = super.persist(); if (!PERSISTED.equals(retour)) { throw new BSException("error.demande.create"); } // Add it to the home list events.raiseTransactionSuccessEvent("demandeAdded", getInstance()); info("Persisted request {0} for user {1}", getInstance(), utilisateurCourant); return PERSISTED; } catch (BSException bse) { error( "Error while persisting request {0} for user {1} : {2} ", getInstance(), utilisateurCourant, bse.getMessage()); throw bse; } catch (Exception e) { error( "Error while persisting request {0} for user {1} : {2} ", getInstance(), utilisateurCourant, e.getMessage()); throw new BSException("error.demande.create"); } }