From 62fa5edc1939d9fef8e7c315921b256b9e6cf515 Mon Sep 17 00:00:00 2001 From: Christoph Thelen <christoph.thelen@mni.thm.de> Date: Tue, 16 Jul 2013 13:41:07 +0200 Subject: [PATCH] Handle empty responses properly --- src/main/java/de/thm/arsnova/dao/CouchDBDao.java | 4 ++-- src/main/java/de/thm/arsnova/services/QuestionService.java | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 2008b27eb..ef39d4e71 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -1007,13 +1007,13 @@ public class CouchDBDao implements IDatabaseDao { @Override public List<Answer> getFreetextAnswers(String questionId) { try { + List<Answer> answers = new ArrayList<Answer>(); View view = new View("skill_question/freetext_answers_full"); view.setKey(URLEncoder.encode("\"" + questionId + "\"", "UTF-8")); ViewResults results = this.getDatabase().view(view); if (results.getResults().isEmpty()) { - throw new NotFoundException(); + return answers; } - List<Answer> answers = new ArrayList<Answer>(); for (Document d : results.getResults()) { Answer a = (Answer) JSONObject.toBean(d.getJSONObject().getJSONObject("value"), Answer.class); a.setQuestionId(questionId); diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index d41a9173f..89601b04f 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -229,7 +229,11 @@ public class QuestionService implements IQuestionService { @Override @Authenticated public List<Answer> getFreetextAnswers(String questionId) { - return databaseDao.getFreetextAnswers(questionId); + List<Answer> answers = databaseDao.getFreetextAnswers(questionId); + if (answers == null) { + throw new NotFoundException(); + } + return answers; } @Override -- GitLab