@Transactional public void updateStaticPoison() { List<TreePoisonDTO> treePoisonDTOs = new ArrayList<TreePoisonDTO>(); try { treePoisonDTOs = poisonService.getTreePoisons(); } catch (NoSuchObjectException e) { e.printStackTrace(); } List<PoisonPestDTO> pestPoisons = new ArrayList<PoisonPestDTO>(); try { pestPoisons = pestService.get(); } catch (NoSuchObjectException e) { e.printStackTrace(); } // Обновляем связи объекта PestDTO for (int i = 0; i < pestPoisons.size(); i++) { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); PoisonPestDTO poisonPestDTO = new PoisonPestDTO(); poisonPestDTO.setPestDTO(pestPoisons.get(i).getPestDTO()); if (i < 2) { poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(0).getPoisonDTO()); } else { poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(1).getPoisonDTO()); } poisonPestDTOs.add(poisonPestDTO); try { pestService.update(poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } } // Обновляем связи объекта PoisonDTO for (int i = 0; i < 2; ++i) { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); for (int j = i * 2; j < (i * 2) + 2; ++j) { PoisonPestDTO poisonPestDTO = new PoisonPestDTO(); poisonPestDTO.setPoisonDTO(treePoisonDTOs.get(i).getPoisonDTO()); poisonPestDTO.setPestDTO(pestPoisons.get(j).getPestDTO()); poisonPestDTOs.add(poisonPestDTO); } List<TreePoisonDTO> treePoisonDTOs1 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs1.add(treePoisonDTOs.get(i)); try { poisonService.update(treePoisonDTOs1, poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } } }
@Transactional public void updateStaticTree() { List<TreePoisonDTO> treePoisons = new ArrayList<TreePoisonDTO>(); List<TreePoisonDTO> poisonTrees = new ArrayList<TreePoisonDTO>(); try { treePoisons = treeService.get(); poisonTrees = poisonService.getTreePoisons(); } catch (NoSuchObjectException e) { e.printStackTrace(); } // Обновляем связи объекта PoisonDTO TreePoisonDTO poisonTreeDTO1 = poisonTrees.get(0); poisonTreeDTO1.setTreeDTO(treePoisons.get(0).getTreeDTO()); poisonTreeDTO1.setPoisonDTO(poisonTrees.get(0).getPoisonDTO()); List<TreePoisonDTO> treePoisonDTOs1 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs1.add(poisonTreeDTO1); TreePoisonDTO poisonTreeDTO2 = poisonTrees.get(1); poisonTreeDTO2.setTreeDTO(treePoisons.get(1).getTreeDTO()); poisonTreeDTO2.setPoisonDTO(poisonTrees.get(1).getPoisonDTO()); List<TreePoisonDTO> treePoisonDTOs2 = new ArrayList<TreePoisonDTO>(); treePoisonDTOs2.add(poisonTreeDTO2); // Обновляем связи объекта TreeDTO TreePoisonDTO treePoisonDTO1 = treePoisons.get(0); treePoisonDTO1.setPoisonDTO(poisonTreeDTO1.getPoisonDTO()); treePoisons.set(0, treePoisonDTO1); TreePoisonDTO treePoisonDTO2 = treePoisons.get(1); treePoisonDTO2.setPoisonDTO(poisonTreeDTO2.getPoisonDTO()); treePoisons.set(1, treePoisonDTO2); try { List<PoisonPestDTO> poisonPestDTOs = new ArrayList<PoisonPestDTO>(); poisonService.update(treePoisonDTOs1, poisonPestDTOs); poisonService.update(treePoisonDTOs2, poisonPestDTOs); } catch (NoSuchObjectException e) { e.printStackTrace(); } try { List<TreePoisonDTO> treePoisons1 = new ArrayList<TreePoisonDTO>(); treePoisons1.add(treePoisons.get(0)); treeService.update(treePoisons1); List<TreePoisonDTO> treePoisons2 = new ArrayList<TreePoisonDTO>(); treePoisons2.add(treePoisons.get(1)); treeService.update(treePoisons2); } catch (NoSuchObjectException e) { e.printStackTrace(); } }
@Transactional public void addStaticPoison() { List<TreePoisonDTO> treePoisonDTOs1 = new ArrayList<TreePoisonDTO>(); List<TreePoisonDTO> treePoisonDTOs2 = new ArrayList<TreePoisonDTO>(); PoisonDTO poisonDTO1 = new PoisonDTO(); poisonDTO1.setName("Эндобациллин"); TreePoisonDTO treePoisonDTO1 = new TreePoisonDTO(); treePoisonDTO1.setPoisonDTO(poisonDTO1); treePoisonDTOs1.add(treePoisonDTO1); PoisonDTO poisonDTO2 = new PoisonDTO(); poisonDTO2.setName("Бионефрин"); TreePoisonDTO treePoisonDTO2 = new TreePoisonDTO(); treePoisonDTO2.setPoisonDTO(poisonDTO2); treePoisonDTOs2.add(treePoisonDTO2); try { poisonService.add(treePoisonDTOs1, new ArrayList<PoisonPestDTO>()); poisonService.add(treePoisonDTOs2, new ArrayList<PoisonPestDTO>()); } catch (ObjectAlreadyExistsException e) { e.printStackTrace(); } // Добавление в TreeDTO зависимости на модель PoisonDTO updateStaticTree(); }