public void edit(Groupe groupe) throws NonexistentEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Groupe persistentGroupe = em.find(Groupe.class, groupe.getIdgroupe()); Collection<Utilisateur> utilisateurCollectionOld = persistentGroupe.getUtilisateurCollection(); Collection<Utilisateur> utilisateurCollectionNew = groupe.getUtilisateurCollection(); Collection<Utilisateur> attachedUtilisateurCollectionNew = new ArrayList<Utilisateur>(); for (Utilisateur utilisateurCollectionNewUtilisateurToAttach : utilisateurCollectionNew) { utilisateurCollectionNewUtilisateurToAttach = em.getReference( utilisateurCollectionNewUtilisateurToAttach.getClass(), utilisateurCollectionNewUtilisateurToAttach.getIdutilisateur()); attachedUtilisateurCollectionNew.add(utilisateurCollectionNewUtilisateurToAttach); } utilisateurCollectionNew = attachedUtilisateurCollectionNew; groupe.setUtilisateurCollection(utilisateurCollectionNew); groupe = em.merge(groupe); for (Utilisateur utilisateurCollectionOldUtilisateur : utilisateurCollectionOld) { if (!utilisateurCollectionNew.contains(utilisateurCollectionOldUtilisateur)) { utilisateurCollectionOldUtilisateur.setIdgroupe(null); utilisateurCollectionOldUtilisateur = em.merge(utilisateurCollectionOldUtilisateur); } } for (Utilisateur utilisateurCollectionNewUtilisateur : utilisateurCollectionNew) { if (!utilisateurCollectionOld.contains(utilisateurCollectionNewUtilisateur)) { Groupe oldIdgroupeOfUtilisateurCollectionNewUtilisateur = utilisateurCollectionNewUtilisateur.getIdgroupe(); utilisateurCollectionNewUtilisateur.setIdgroupe(groupe); utilisateurCollectionNewUtilisateur = em.merge(utilisateurCollectionNewUtilisateur); if (oldIdgroupeOfUtilisateurCollectionNewUtilisateur != null && !oldIdgroupeOfUtilisateurCollectionNewUtilisateur.equals(groupe)) { oldIdgroupeOfUtilisateurCollectionNewUtilisateur .getUtilisateurCollection() .remove(utilisateurCollectionNewUtilisateur); oldIdgroupeOfUtilisateurCollectionNewUtilisateur = em.merge(oldIdgroupeOfUtilisateurCollectionNewUtilisateur); } } } em.getTransaction().commit(); } catch (Exception ex) { String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = groupe.getIdgroupe(); if (findGroupe(id) == null) { throw new NonexistentEntityException("The groupe with id " + id + " no longer exists."); } } throw ex; } finally { if (em != null) { em.close(); } } }
public void edit(Timereport timereport) throws NonexistentEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Timereport persistentTimereport = em.find(Timereport.class, timereport.getIdtimereport()); Utilisateur idutilisateurOld = persistentTimereport.getIdutilisateur(); Utilisateur idutilisateurNew = timereport.getIdutilisateur(); Tache idtacheOld = persistentTimereport.getIdtache(); Tache idtacheNew = timereport.getIdtache(); if (idutilisateurNew != null) { idutilisateurNew = em.getReference(idutilisateurNew.getClass(), idutilisateurNew.getIdutilisateur()); timereport.setIdutilisateur(idutilisateurNew); } if (idtacheNew != null) { idtacheNew = em.getReference(idtacheNew.getClass(), idtacheNew.getIdtache()); timereport.setIdtache(idtacheNew); } timereport = em.merge(timereport); if (idutilisateurOld != null && !idutilisateurOld.equals(idutilisateurNew)) { idutilisateurOld.getTimereportCollection().remove(timereport); idutilisateurOld = em.merge(idutilisateurOld); } if (idutilisateurNew != null && !idutilisateurNew.equals(idutilisateurOld)) { idutilisateurNew.getTimereportCollection().add(timereport); idutilisateurNew = em.merge(idutilisateurNew); } if (idtacheOld != null && !idtacheOld.equals(idtacheNew)) { idtacheOld.getTimereportCollection().remove(timereport); idtacheOld = em.merge(idtacheOld); } if (idtacheNew != null && !idtacheNew.equals(idtacheOld)) { idtacheNew.getTimereportCollection().add(timereport); idtacheNew = em.merge(idtacheNew); } em.getTransaction().commit(); } catch (Exception ex) { String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = timereport.getIdtimereport(); if (findTimereport(id) == null) { throw new NonexistentEntityException( "The timereport with id " + id + " no longer exists."); } } throw ex; } finally { if (em != null) { em.close(); } } }
public void create(Groupe groupe) throws PreexistingEntityException, Exception { if (groupe.getUtilisateurCollection() == null) { groupe.setUtilisateurCollection(new ArrayList<Utilisateur>()); } EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Collection<Utilisateur> attachedUtilisateurCollection = new ArrayList<Utilisateur>(); for (Utilisateur utilisateurCollectionUtilisateurToAttach : groupe.getUtilisateurCollection()) { utilisateurCollectionUtilisateurToAttach = em.getReference( utilisateurCollectionUtilisateurToAttach.getClass(), utilisateurCollectionUtilisateurToAttach.getIdutilisateur()); attachedUtilisateurCollection.add(utilisateurCollectionUtilisateurToAttach); } groupe.setUtilisateurCollection(attachedUtilisateurCollection); em.persist(groupe); for (Utilisateur utilisateurCollectionUtilisateur : groupe.getUtilisateurCollection()) { Groupe oldIdgroupeOfUtilisateurCollectionUtilisateur = utilisateurCollectionUtilisateur.getIdgroupe(); utilisateurCollectionUtilisateur.setIdgroupe(groupe); utilisateurCollectionUtilisateur = em.merge(utilisateurCollectionUtilisateur); if (oldIdgroupeOfUtilisateurCollectionUtilisateur != null) { oldIdgroupeOfUtilisateurCollectionUtilisateur .getUtilisateurCollection() .remove(utilisateurCollectionUtilisateur); oldIdgroupeOfUtilisateurCollectionUtilisateur = em.merge(oldIdgroupeOfUtilisateurCollectionUtilisateur); } } em.getTransaction().commit(); } catch (Exception ex) { if (findGroupe(groupe.getIdgroupe()) != null) { throw new PreexistingEntityException("Groupe " + groupe + " already exists.", ex); } throw ex; } finally { if (em != null) { em.close(); } } }
public void create(Timereport timereport) throws PreexistingEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Utilisateur idutilisateur = timereport.getIdutilisateur(); if (idutilisateur != null) { idutilisateur = em.getReference(idutilisateur.getClass(), idutilisateur.getIdutilisateur()); timereport.setIdutilisateur(idutilisateur); } Tache idtache = timereport.getIdtache(); if (idtache != null) { idtache = em.getReference(idtache.getClass(), idtache.getIdtache()); timereport.setIdtache(idtache); } em.persist(timereport); if (idutilisateur != null) { idutilisateur.getTimereportCollection().add(timereport); idutilisateur = em.merge(idutilisateur); } if (idtache != null) { idtache.getTimereportCollection().add(timereport); idtache = em.merge(idtache); } em.getTransaction().commit(); } catch (Exception ex) { if (findTimereport(timereport.getIdtimereport()) != null) { throw new PreexistingEntityException("Timereport " + timereport + " already exists.", ex); } throw ex; } finally { if (em != null) { em.close(); } } }