From f87e5e4ff34d2babc569c9ed08c81c1fee127eec Mon Sep 17 00:00:00 2001 From: Daniel Knapp <daniel.knapp@thm.de> Date: Thu, 29 Nov 2012 16:36:34 +0100 Subject: [PATCH] added server methods for single interposed question --- .gitignore | 6 ------ pom.xml | 6 +++--- .../arsnova/controller/QuestionController.java | 10 ++++++++++ src/main/java/de/thm/arsnova/dao/CouchDBDao.java | 16 ++++++++++++++++ .../java/de/thm/arsnova/dao/IDatabaseDao.java | 2 ++ .../thm/arsnova/services/IQuestionService.java | 2 ++ .../de/thm/arsnova/services/QuestionService.java | 6 ++++++ 7 files changed, 39 insertions(+), 9 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 043004ca..00000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.project -.classpath -.settings/* -target/* -chromedriver.log -.checkstyle diff --git a/pom.xml b/pom.xml index d5c28008..94048192 100644 --- a/pom.xml +++ b/pom.xml @@ -336,10 +336,10 @@ <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.6.5.v20120716</version> - <!-- <configuration> <scanIntervalSeconds>5</scanIntervalSeconds> <webApp> + <configuration> <scanIntervalSeconds>1</scanIntervalSeconds> <webApp> <contextPath>/</contextPath> <baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection"> - <resourcesAsCSV>src/main/webapp,../arsnova-js/src/main/webapp,../arsnova-legacy-js/src/main/webapp,../dojo-war/src/main/webapp</resourcesAsCSV> - </baseResource> </webApp> </configuration> --> + <resourcesAsCSV>src/main/webapp,../arsnova-js/src/main/webapp,../arsnova-legacy-js/src/main/webapp</resourcesAsCSV> + </baseResource> </webApp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/src/main/java/de/thm/arsnova/controller/QuestionController.java b/src/main/java/de/thm/arsnova/controller/QuestionController.java index 64074fa7..58af4be1 100644 --- a/src/main/java/de/thm/arsnova/controller/QuestionController.java +++ b/src/main/java/de/thm/arsnova/controller/QuestionController.java @@ -267,5 +267,15 @@ public class QuestionController extends AbstractController { ) { return questionService.getInterposedQuestions(sessionKey); } + + @RequestMapping(value = "/session/{sessionKey}/interposed/{documentId}", method = RequestMethod.GET) + @ResponseBody + public final Question getInterposedQuestion( + @PathVariable final String sessionKey, + @PathVariable final String documentId, + final HttpServletResponse response + ) { + return questionService.getInterposedQuestion(sessionKey, documentId); + } } diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index c2687b09..40434a63 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -1048,6 +1048,22 @@ public class CouchDBDao implements IDatabaseDao { } return null; } + + public Question getInterposedQuestion(String sessionKey, String documentId) { + try { + Document document = this.getDatabase().getDocument(documentId); + + if(document != null) { + Question question = (Question) JSONObject.toBean(document.getJSONObject().getJSONObject("value"), Question.class); + question.setQuestionType("interposed_question"); + + return question; + } + } catch (IOException e) { + LOGGER.error("Error while retrieving interposed question", e); + } + return null; + } @Override public void vote(String menu) { diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java index 0f53ed9e..ad03cf43 100644 --- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java +++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java @@ -101,4 +101,6 @@ public interface IDatabaseDao { int countAnswers(); int countQuestions(); + + Question getInterposedQuestion(String sessionKey, String documentId); } diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 1ca5ccdc..f97af720 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -54,4 +54,6 @@ public interface IQuestionService { int getInterposedCount(String sessionKey); List<Question> getInterposedQuestions(String sessionKey); + + Question getInterposedQuestion(String sessionKey, String documentId); } diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index 7cd40613..74a72a84 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -142,4 +142,10 @@ public class QuestionService implements IQuestionService { public List<Question> getInterposedQuestions(String sessionKey) { return databaseDao.getInterposedQuestions(sessionKey); } + + @Override + @Authenticated + public Question getInterposedQuestion(String sessionKey, String documentId) { + return databaseDao.getInterposedQuestion(sessionKey, documentId); + } } -- GitLab