diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 043004ca4b70cbf09120b936500595f19d034055..0000000000000000000000000000000000000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.project -.classpath -.settings/* -target/* -chromedriver.log -.checkstyle diff --git a/pom.xml b/pom.xml index d5c280085a3e3bdf3980f3c21207a0e12e9b80a6..94048192cfb4d281ba39b11178affa09fdd0a228 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 64074fa7e9fdbfea050d80454a8b315edd78a13c..58af4be1671b54e875879448f7a7d362017cf551 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 c2687b09bba6e557891012f80f5053cee628b4a7..40434a63a96b0953680897d8e97f8be3661a2347 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 0f53ed9e730f33bb2d4a09c38f3d43857408a52b..ad03cf43263fc95198e7130177cd8ece7f0fda96 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 1ca5ccdcb6305c699c84d846b313004bcf5aa83c..f97af720e0a075103ee67641abd34d62ac7347d4 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 7cd40613d70eaa080e6ff63a34bb431df6eed40f..74a72a84e9db6bd130336e8c68aae3d927f5f03a 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); + } }