From e206b77eca01e38fd529463860f08ece5a0fe915 Mon Sep 17 00:00:00 2001
From: Jan Tymel <410388@mail.muni.cz>
Date: Wed, 10 Feb 2021 06:57:19 +0100
Subject: [PATCH] Move @Transactional from methods to classes

---
 .../kypo/training/adaptive/facade/TrainingPhaseFacade.java  | 2 --
 .../ics/kypo/training/adaptive/service/PhaseService.java    | 6 +++---
 .../ics/kypo/training/adaptive/service/TaskService.java     | 4 ++--
 .../training/adaptive/service/TrainingPhaseService.java     | 2 ++
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java
index 63fbb35e..e527581d 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/facade/TrainingPhaseFacade.java
@@ -15,7 +15,6 @@ import cz.muni.ics.kypo.training.adaptive.service.QuestionnairePhaseService;
 import cz.muni.ics.kypo.training.adaptive.service.TrainingPhaseService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
@@ -50,7 +49,6 @@ public class TrainingPhaseFacade {
     }
 
 
-    @Transactional
     public List<AbstractPhaseDTO> deletePhase(Long definitionId, Long phaseId) {
 
         phaseService.deletePhase(definitionId, phaseId);
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java
index f757d174..b4aab2b7 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/PhaseService.java
@@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.List;
 
 @Service
+@Transactional
 public class PhaseService {
 
     private final AbstractPhaseRepository abstractPhaseRepository;
@@ -22,7 +23,6 @@ public class PhaseService {
         this.trainingPhaseService = trainingPhaseService;
     }
 
-    @Transactional
     public void deletePhase(Long definitionId, Long phaseId) {
         AbstractPhase phase = abstractPhaseRepository.findById(phaseId)
                 .orElseThrow(() -> new RuntimeException("Phase was not found"));
@@ -37,6 +37,7 @@ public class PhaseService {
         abstractPhaseRepository.delete(phase);
     }
 
+    @Transactional(readOnly = true)
     public AbstractPhaseDTO getPhase(Long definitionId, Long phaseId) {
         AbstractPhase phase = abstractPhaseRepository.findById(phaseId)
                 .orElseThrow(() -> new RuntimeException("Phase was not found"));
@@ -47,14 +48,13 @@ public class PhaseService {
         return BeanMapper.INSTANCE.toDto(phase);
     }
 
-
+    @Transactional(readOnly = true)
     public List<AbstractPhaseDTO> getPhases(Long trainingDefinitionId) {
         List<AbstractPhase> phases = abstractPhaseRepository.findAllByTrainingDefinitionIdOrderByOrder(trainingDefinitionId);
 
         return BeanMapper.INSTANCE.toDtoList(phases);
     }
 
-    @Transactional
     public void movePhaseToSpecifiedOrder(Long phaseIdFrom, int newPosition) {
         AbstractPhase phaseFrom = abstractPhaseRepository.findById(phaseIdFrom)
                 .orElseThrow(() -> new RuntimeException("Phase was not found"));
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java
index 3173993e..ef29146e 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TaskService.java
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
+@Transactional
 public class TaskService {
 
     private static final Logger LOG = LoggerFactory.getLogger(TaskService.class);
@@ -71,6 +72,7 @@ public class TaskService {
         return BeanMapper.INSTANCE.toDto(persistedEntity);
     }
 
+    @Transactional(readOnly = true)
     public TaskDTO getTask(Long trainingDefinitionId, Long phaseId, Long taskId) {
         Task task = taskRepository.findById(taskId)
                 .orElseThrow(() -> new RuntimeException("Task was not found"));
@@ -99,7 +101,6 @@ public class TaskService {
         return BeanMapper.INSTANCE.toDto(savedEntity);
     }
 
-    @Transactional
     public void removeTask(Long trainingDefinitionId, Long phaseId, Long taskId) {
         Task task = taskRepository.findById(taskId)
                 .orElseThrow(() -> new RuntimeException("Task was not found"));
@@ -112,7 +113,6 @@ public class TaskService {
         taskRepository.delete(task);
     }
 
-    @Transactional
     public void moveTaskToSpecifiedOrder(Long taskIdFrom, int newPosition) {
         Task task = taskRepository.findById(taskIdFrom)
                 .orElseThrow(() -> new RuntimeException("Task was not found"));
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java
index 7e0a807b..e733b29f 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/TrainingPhaseService.java
@@ -11,6 +11,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
@@ -20,6 +21,7 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Service
+@Transactional
 public class TrainingPhaseService {
 
     private static final Logger LOG = LoggerFactory.getLogger(TrainingPhaseService.class);
-- 
GitLab