From 8cdf82807e44351385da243ada2105c3eb5600aa Mon Sep 17 00:00:00 2001
From: Jan Tymel <410388@mail.muni.cz>
Date: Wed, 10 Feb 2021 06:40:22 +0100
Subject: [PATCH] Replace field injection with c'tor based bean injection

---
 .../adaptive/controller/PhasesController.java |  6 ++++-
 .../adaptive/controller/TasksController.java  |  6 ++++-
 .../adaptive/facade/TrainingPhaseFacade.java  | 20 +++++++-------
 .../adaptive/service/PhaseService.java        |  9 ++++---
 .../service/QuestionnairePhaseService.java    | 26 ++++++++++---------
 .../service/TrainingPhaseService.java         | 11 +++++---
 6 files changed, 48 insertions(+), 30 deletions(-)

diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java
index c97d53f0..674aa637 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/PhasesController.java
@@ -43,8 +43,12 @@ import java.util.List;
         authorizations = @Authorization(value = "bearerAuth"))
 public class PhasesController {
 
+    private final TrainingPhaseFacade trainingPhaseFacade;
+
     @Autowired
-    private TrainingPhaseFacade trainingPhaseFacade;
+    public PhasesController(TrainingPhaseFacade trainingPhaseFacade) {
+        this.trainingPhaseFacade = trainingPhaseFacade;
+    }
 
     @ApiOperation(httpMethod = "POST",
             value = "Create a new phase",
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/TasksController.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/TasksController.java
index 139f6c50..2f3a8927 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/TasksController.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/controller/TasksController.java
@@ -36,8 +36,12 @@ import javax.validation.Valid;
         authorizations = @Authorization(value = "bearerAuth"))
 public class TasksController {
 
+    private final TaskService taskService;
+
     @Autowired
-    private TaskService taskService;
+    public TasksController(TaskService taskService) {
+        this.taskService = taskService;
+    }
 
     @ApiOperation(httpMethod = "POST",
             value = "Create a new task in a phase",
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 596f32ef..63fbb35e 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
@@ -22,17 +22,19 @@ import java.util.List;
 @Service
 public class TrainingPhaseFacade {
 
-    @Autowired
-    private PhaseService phaseService;
-
-    @Autowired
-    private InfoPhaseService infoPhaseService;
+    private final PhaseService phaseService;
+    private final InfoPhaseService infoPhaseService;
+    private final QuestionnairePhaseService questionnairePhaseService;
+    private final TrainingPhaseService trainingPhaseService;
 
     @Autowired
-    private QuestionnairePhaseService questionnairePhaseService;
-
-    @Autowired
-    private TrainingPhaseService trainingPhaseService;
+    public TrainingPhaseFacade(PhaseService phaseService, InfoPhaseService infoPhaseService,
+                               QuestionnairePhaseService questionnairePhaseService, TrainingPhaseService trainingPhaseService) {
+        this.phaseService = phaseService;
+        this.infoPhaseService = infoPhaseService;
+        this.questionnairePhaseService = questionnairePhaseService;
+        this.trainingPhaseService = trainingPhaseService;
+    }
 
     public AbstractPhaseDTO createPhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) {
         AbstractPhaseDTO abstractPhaseDto;
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 6632d4b1..f757d174 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
@@ -13,11 +13,14 @@ import java.util.List;
 @Service
 public class PhaseService {
 
-    @Autowired
-    private AbstractPhaseRepository abstractPhaseRepository;
+    private final AbstractPhaseRepository abstractPhaseRepository;
+    private final TrainingPhaseService trainingPhaseService;
 
     @Autowired
-    private TrainingPhaseService trainingPhaseService;
+    public PhaseService(AbstractPhaseRepository abstractPhaseRepository, TrainingPhaseService trainingPhaseService) {
+        this.abstractPhaseRepository = abstractPhaseRepository;
+        this.trainingPhaseService = trainingPhaseService;
+    }
 
     @Transactional
     public void deletePhase(Long definitionId, Long phaseId) {
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java
index 0eb15741..bd93d710 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/service/QuestionnairePhaseService.java
@@ -32,20 +32,22 @@ public class QuestionnairePhaseService {
 
     private static final Logger LOG = LoggerFactory.getLogger(QuestionnairePhaseService.class);
 
-    @Autowired
-    private QuestionnairePhaseRepository questionnairePhaseRepository;
-
-    @Autowired
-    private AbstractPhaseRepository abstractPhaseRepository;
-
-    @Autowired
-    private QuestionRepository questionRepository;
-
-    @Autowired
-    private TrainingPhaseRepository trainingPhaseRepository;
+    private final QuestionnairePhaseRepository questionnairePhaseRepository;
+    private final AbstractPhaseRepository abstractPhaseRepository;
+    private final QuestionRepository questionRepository;
+    private final TrainingPhaseRepository trainingPhaseRepository;
+    private final QuestionPhaseRelationRepository questionPhaseRelationRepository;
 
     @Autowired
-    private QuestionPhaseRelationRepository questionPhaseRelationRepository;
+    public QuestionnairePhaseService(QuestionnairePhaseRepository questionnairePhaseRepository, AbstractPhaseRepository abstractPhaseRepository,
+                                     QuestionRepository questionRepository, TrainingPhaseRepository trainingPhaseRepository,
+                                     QuestionPhaseRelationRepository questionPhaseRelationRepository) {
+        this.questionnairePhaseRepository = questionnairePhaseRepository;
+        this.abstractPhaseRepository = abstractPhaseRepository;
+        this.questionRepository = questionRepository;
+        this.trainingPhaseRepository = trainingPhaseRepository;
+        this.questionPhaseRelationRepository = questionPhaseRelationRepository;
+    }
 
     public QuestionnairePhaseDTO createDefaultQuestionnairePhase(Long trainingDefinitionId, PhaseCreateDTO phaseCreateDTO) {
 
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 9cceba82..7e0a807b 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
@@ -24,11 +24,14 @@ public class TrainingPhaseService {
 
     private static final Logger LOG = LoggerFactory.getLogger(TrainingPhaseService.class);
 
-    @Autowired
-    private TrainingPhaseRepository trainingPhaseRepository;
+    private final TrainingPhaseRepository trainingPhaseRepository;
+    private final AbstractPhaseRepository abstractPhaseRepository;
 
     @Autowired
-    private AbstractPhaseRepository abstractPhaseRepository;
+    public TrainingPhaseService(TrainingPhaseRepository trainingPhaseRepository, AbstractPhaseRepository abstractPhaseRepository) {
+        this.trainingPhaseRepository = trainingPhaseRepository;
+        this.abstractPhaseRepository = abstractPhaseRepository;
+    }
 
     public TrainingPhaseDTO createDefaultTrainingPhase(Long trainingDefinitionId) {
 
@@ -121,7 +124,7 @@ public class TrainingPhaseService {
         trainingPhaseRepository.save(trainingPhase);
     }
 
-    private List<DecisionMatrixRow> getNewDecisionMatrixRows(int currentNumberOfNewRows, int expectedNumberOfRows,  TrainingPhase trainingPhase) {
+    private List<DecisionMatrixRow> getNewDecisionMatrixRows(int currentNumberOfNewRows, int expectedNumberOfRows, TrainingPhase trainingPhase) {
         List<DecisionMatrixRow> result = new ArrayList<>();
         for (int i = currentNumberOfNewRows; i < expectedNumberOfRows; i++) {
             DecisionMatrixRow decisionMatrixRow = new DecisionMatrixRow();
-- 
GitLab