diff --git a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java index 8766393a07aba11a27bdcbde3eab984d2d19450d..ab48d1abdbd5c569fd058abe211c8b822f031678 100644 --- a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java +++ b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java @@ -37,8 +37,6 @@ import org.springframework.web.bind.annotation.RestController; import de.thm.arsnova.entities.Answer; import de.thm.arsnova.entities.Question; -import de.thm.arsnova.entities.transport.ThumbnailRequest; -import de.thm.arsnova.entities.transport.ThumbnailResponse; import de.thm.arsnova.exceptions.BadRequestException; import de.thm.arsnova.exceptions.ForbiddenException; import de.thm.arsnova.exceptions.NoContentException; @@ -327,24 +325,14 @@ public class LecturerQuestionController extends AbstractController { ) { return questionService.updateAnswer(answer); } - - @RequestMapping(value = "/{questionId}/thumbs", method = RequestMethod.POST) - public ThumbnailResponse getThumbnails( - @PathVariable final String questionId, - @RequestBody final ThumbnailRequest thumbRequest, - final HttpServletResponse response - ) { - - return questionService.getThumbnails(questionId, thumbRequest); - } - + @RequestMapping(value = "/{questionId}/answer/{answerId}/image", method = RequestMethod.GET) public String getImage( @PathVariable final String questionId, @PathVariable final String answerId, final HttpServletResponse response ) { - + return questionService.getImage(questionId, answerId); } diff --git a/src/main/java/de/thm/arsnova/entities/Answer.java b/src/main/java/de/thm/arsnova/entities/Answer.java index 0abb199d6f76dc27bdb878d50252aefd885768cc..8b64ac165fe778fd451e6459903f802a4ac18f81 100644 --- a/src/main/java/de/thm/arsnova/entities/Answer.java +++ b/src/main/java/de/thm/arsnova/entities/Answer.java @@ -38,7 +38,6 @@ public class Answer { private int abstentionCount; @JsonIgnore private String answerImage; - @JsonIgnore private String answerThumbnailImage; public Answer() { @@ -116,21 +115,20 @@ public class Answer { public final String getUser() { return user; } - + @JsonIgnore public String getAnswerImage() { return answerImage; } - + public void setAnswerImage(String answerImage) { this.answerImage = answerImage; } - @JsonIgnore public String getAnswerThumbnailImage() { return answerThumbnailImage; } - + public void setAnswerThumbnailImage(String answerThumbnailImage) { this.answerThumbnailImage = answerThumbnailImage; } diff --git a/src/main/java/de/thm/arsnova/entities/transport/ThumbnailRequest.java b/src/main/java/de/thm/arsnova/entities/transport/ThumbnailRequest.java deleted file mode 100644 index ca39338bd7955a566a6e1a552cfab77a53765c46..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/entities/transport/ThumbnailRequest.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.thm.arsnova.entities.transport; - -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonInclude; - -@JsonInclude(JsonInclude.Include.NON_DEFAULT) -public class ThumbnailRequest { - - private String questionId; - private List<String> answerIds; - - public String getQuestionId() { - return questionId; - } - - public List<String> getAnswerIds() { - return answerIds; - } - - public void setQuestionId(String questionId) { - this.questionId = questionId; - } - - public void setAnswerIds(List<String> answerIds) { - this.answerIds = answerIds; - } - -} diff --git a/src/main/java/de/thm/arsnova/entities/transport/ThumbnailResponse.java b/src/main/java/de/thm/arsnova/entities/transport/ThumbnailResponse.java deleted file mode 100644 index 9d6386d455da6c66d71478956edf3569eaa9d467..0000000000000000000000000000000000000000 --- a/src/main/java/de/thm/arsnova/entities/transport/ThumbnailResponse.java +++ /dev/null @@ -1,63 +0,0 @@ -package de.thm.arsnova.entities.transport; - -import java.util.ArrayList; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; - -@JsonInclude(JsonInclude.Include.NON_DEFAULT) -public class ThumbnailResponse { - - private String questionId; - private List<ThumbnailResponseEntry> entries; - - public String getQuestionId() { - return questionId; - } - - public void setQuestionId(String questionId) { - this.questionId = questionId; - } - - public List<ThumbnailResponseEntry> getEntries() { - return entries; - } - - @JsonIgnore - public void addThumbnailEntry(String answerId, String answerThumbnailImage) { - if (entries == null) { - entries = new ArrayList<>(); - } - entries.add(new ThumbnailResponseEntry(answerId, answerThumbnailImage)); - } - - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - static class ThumbnailResponseEntry { - - private String answerId; - private String answerThumbnailImage; - - public ThumbnailResponseEntry(String answerId, String answerThumbnailImage) { - this.answerId = answerId; - this.answerThumbnailImage = answerThumbnailImage; - } - - public String getAnswerId() { - return answerId; - } - - public String getAnswerThumbnailImage() { - return answerThumbnailImage; - } - - public void setAnswerId(String answerId) { - this.answerId = answerId; - } - - public void setAnswerThumbnailImage(String answerThumbnailImage) { - this.answerThumbnailImage = answerThumbnailImage; - } - - } -} diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 1b69391357c7146987af93bfeddec8086d7a66eb..1b83a65a803373fa4ec6c66f80c8f85094809160 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -25,8 +25,6 @@ import de.thm.arsnova.entities.InterposedQuestion; import de.thm.arsnova.entities.InterposedReadingCount; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.User; -import de.thm.arsnova.entities.transport.ThumbnailRequest; -import de.thm.arsnova.entities.transport.ThumbnailResponse; public interface IQuestionService { Question saveQuestion(Question question); @@ -131,7 +129,5 @@ public interface IQuestionService { int getAbstentionAnswerCount(String questionId); - ThumbnailResponse getThumbnails(String questionId, ThumbnailRequest thumbRequest); - String getImage(String questionId, String answerId); } diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index 36ce12f820363b8babb5e548ccded23cccce02ea..220869e2d3002743c84f128ed71ab83d9349ea7d 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -42,8 +42,6 @@ import de.thm.arsnova.entities.InterposedReadingCount; import de.thm.arsnova.entities.Question; import de.thm.arsnova.entities.Session; import de.thm.arsnova.entities.User; -import de.thm.arsnova.entities.transport.ThumbnailRequest; -import de.thm.arsnova.entities.transport.ThumbnailResponse; import de.thm.arsnova.events.DeleteAllLectureAnswersEvent; import de.thm.arsnova.events.DeleteAllPreparationAnswersEvent; import de.thm.arsnova.events.DeleteAllQuestionsAnswersEvent; @@ -463,7 +461,7 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis } Answer theAnswer = answer.generateAnswerEntity(user, question); - if ("freetext".equals(theAnswer.getType())) { + if ("freetext".equals(question.getQuestionType())) { ImageUtils.generateThumbnailImage(theAnswer); } @@ -480,8 +478,8 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis } final Question question = getQuestion(answer.getQuestionId()); - if ("freetext".equals(answer.getType())) { - ImageUtils.generateThumbnailImage(answer); + if ("freetext".equals(question.getQuestionType())) { + ImageUtils.generateThumbnailImage(realAnswer); } final Answer result = databaseDao.updateAnswer(realAnswer); final Session session = databaseDao.getSessionFromKeyword(question.getSessionKeyword()); @@ -715,41 +713,22 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis this.publisher = publisher; } - @Override - public ThumbnailResponse getThumbnails(String questionId, ThumbnailRequest thumbRequest) { - final ThumbnailResponse response = new ThumbnailResponse(); - - response.setQuestionId(thumbRequest.getQuestionId()); - final List<Answer> answers = getAnswers(questionId); - - outer: for (String answerId : thumbRequest.getAnswerIds()) { - for (Answer answer : answers) { - if (answerId != null && answerId.equals(answer.get_id())) { - response.addThumbnailEntry(answerId, answer.getAnswerThumbnailImage()); - break outer; - } - } - } - - return response; - } - @Override public String getImage(String questionId, String answerId) { final List<Answer> answers = getAnswers(questionId); Answer answer = null; - + for (Answer a : answers) { if (answerId.equals(a.get_id())) { answer = a; break; } } - + if (answer == null) { throw new NotFoundException(); } - + return answer.getAnswerImage(); } }