@Override public void delete(E entity) throws TopiaException { { List<Etape> list = getContext() .getDAO(Etape.class) .findAllByProperties(Etape.PROPERTY_TOUR, entity); for (Etape item : list) { // sletellier : Set null only if target is concerned by deletion if (entity.equals(item.getTour())) { item.setTour(null); } } } super.delete(entity); }
public static void deleteEtape(TopiaContext transaction, Etape etape) throws TopiaException { Tour tour = etape.getTour(); EtapeDAO etapeDAO = SandraDAOHelper.getEtapeDAO(transaction); SuiviLigneProduitDAO suiviLigneProduitDAO = SandraDAOHelper.getSuiviLigneProduitDAO(transaction); SuiviTour suiviTour = tour.getSuiviTour(); if (suiviTour != null) { for (SuiviEtape suiviEtape : suiviTour.getSuiviEtapes()) { suiviEtape.setEtape(null); } for (SuiviUsine suiviUsine : suiviTour.getSuiviUsines()) { for (SuiviLigneProduit suiviLigneProduit : suiviUsine.getSuiviLigneProduit()) { suiviLigneProduit.setLigneProduit(null); } } tour.setSuiviTour(null); } // remove missing for (LigneProduit produit : etape.getProduits()) { List<SuiviLigneProduit> suiviLigneProduits = suiviLigneProduitDAO.findAllByLigneProduit(produit); for (SuiviLigneProduit suiviLigneProduit : suiviLigneProduits) { suiviLigneProduit.setLigneProduit(null); } } tour.removeEtapes(etape); etapeDAO.delete(etape); if (suiviTour != null) { SuiviTourDAO suiviTourDAO = SandraDAOHelper.getSuiviTourDAO(transaction); suiviTourDAO.delete(suiviTour); } }
public static void deleteEtape(TopiaContext transaction, Etape etape) throws TopiaException { Tour tour = etape.getTour(); EtapeDAO etapeDAO = SandraDAOHelper.getEtapeDAO(transaction); SuiviLigneProduitDAO suiviLigneProduitDAO = SandraDAOHelper.getSuiviLigneProduitDAO(transaction); SuiviTour suiviTour = tour.getSuiviTour(); if (suiviTour != null) { for (SuiviEtape suiviEtape : suiviTour.getSuiviEtapes()) { suiviEtape.setEtape(null); } for (SuiviUsine suiviUsine : suiviTour.getSuiviUsines()) { for (SuiviLigneProduit suiviLigneProduit : suiviUsine.getSuiviLigneProduit()) { suiviLigneProduit.setLigneProduit(null); } } tour.setSuiviTour(null); } // remove missing for (LigneProduit produit : etape.getProduits()) { List<SuiviLigneProduit> suiviLigneProduits = suiviLigneProduitDAO.findAllByLigneProduit(produit); for (SuiviLigneProduit suiviLigneProduit : suiviLigneProduits) { suiviLigneProduit.setLigneProduit(null); } } tour.removeEtapes(etape); etapeDAO.delete(etape); if (suiviTour != null) { SuiviTourDAO suiviTourDAO = SandraDAOHelper.getSuiviTourDAO(transaction); suiviTourDAO.delete(suiviTour); } }