From 833a713c4509d83b165bb5eb8138f302f9d6be60 Mon Sep 17 00:00:00 2001 From: Dominika Zemanovicova <xzemanov@fi.muni.cz> Date: Sun, 16 Apr 2023 17:03:32 +0200 Subject: [PATCH] Simplify AnswerFacade update --- .../moduleexercise/answer/AnswerFacade.java | 27 ++++--------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/application/module-exercise/src/main/java/org/fuseri/moduleexercise/answer/AnswerFacade.java b/application/module-exercise/src/main/java/org/fuseri/moduleexercise/answer/AnswerFacade.java index 38165ddb..5f885b00 100644 --- a/application/module-exercise/src/main/java/org/fuseri/moduleexercise/answer/AnswerFacade.java +++ b/application/module-exercise/src/main/java/org/fuseri/moduleexercise/answer/AnswerFacade.java @@ -3,8 +3,6 @@ package org.fuseri.moduleexercise.answer; import jakarta.transaction.Transactional; import org.fuseri.model.dto.exercise.AnswerCreateDto; import org.fuseri.model.dto.exercise.AnswerDto; -import org.fuseri.moduleexercise.question.Question; -import org.fuseri.moduleexercise.question.QuestionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,44 +14,29 @@ import org.springframework.stereotype.Service; @Transactional public class AnswerFacade { private final AnswerService answerService; - private final QuestionService questionService; private final AnswerMapper mapper; /** * Constructor for AnswerFacade * - * @param answerService the service responsible for handling answer-related logic - * @param questionService the service responsible for handling question-related logic - * @param mapper the mapper responsible for converting between DTOs and entities + * @param answerService the service responsible for handling answer-related logic + * @param mapper the mapper responsible for converting between DTOs and entities */ @Autowired - public AnswerFacade(AnswerService answerService, QuestionService questionService, AnswerMapper mapper) { + public AnswerFacade(AnswerService answerService, AnswerMapper mapper) { this.answerService = answerService; - this.questionService = questionService; this.mapper = mapper; } /** - * Update an answer + * Update answer * * @param id of answer to update * @param dto dto with updated answer information */ public AnswerDto update(long id, AnswerCreateDto dto) { - var updatedAnswer = mapper.fromCreateDto(dto); - answerService.update(id, updatedAnswer); - - Question question; - question = questionService.find(dto.getQuestionId()); - - var questionAnswers = question.getAnswers(); - questionAnswers.removeIf(a -> a.getId() == id); - questionAnswers.add(updatedAnswer); - question.setAnswers(questionAnswers); - questionService.update(dto.getQuestionId(), question); - - return mapper.toDto(updatedAnswer); + return mapper.toDto(answerService.update(id, mapper.fromCreateDto(dto))); } /** -- GitLab