From e384ec84c59cdeed5f4f57fbf9e2c58fad0a23f2 Mon Sep 17 00:00:00 2001
From: Daniel Knapp <daniel.knapp@thm.de>
Date: Wed, 23 Jan 2013 16:38:38 +0100
Subject: [PATCH] CouchDBDao returns now the updated Question object

---
 src/main/java/de/thm/arsnova/dao/CouchDBDao.java          | 8 ++++++--
 src/main/java/de/thm/arsnova/dao/IDatabaseDao.java        | 2 +-
 .../java/de/thm/arsnova/services/QuestionService.java     | 8 ++------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 82176db0..2fcaf784 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -519,7 +519,7 @@ public class CouchDBDao implements IDatabaseDao {
 	}
 
 	@Override
-	public final Document saveQuestion(final Session session, final Question question) {
+	public final Question saveQuestion(final Session session, final Question question) {
 		Document q = new Document();
 		q.put("type", "skill_question");
 		q.put("questionType", question.getQuestionType());
@@ -534,7 +534,11 @@ public class CouchDBDao implements IDatabaseDao {
 		q.put("noCorrect", question.isNoCorrect());
 		try {
 			database.saveDocument(q, null);
-			return q;
+			
+			question.set_id(q.getId());
+			question.set_rev(q.getRev());
+			
+			return question;
 		} catch (IOException e) {
 			LOGGER.error("Could not save question {}", question);
 		}
diff --git a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
index 78e7aa90..b8837942 100644
--- a/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
+++ b/src/main/java/de/thm/arsnova/dao/IDatabaseDao.java
@@ -50,7 +50,7 @@ public interface IDatabaseDao {
 
 	boolean sessionKeyAvailable(String keyword);
 
-	Document saveQuestion(Session session, Question question);
+	Question saveQuestion(Session session, Question question);
 
 	boolean saveQuestion(Session session, InterposedQuestion question);
 
diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index 2351a4ff..3bc18f7c 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -69,12 +69,8 @@ public class QuestionService implements IQuestionService {
 	@Override
 	@Authenticated
 	public Question saveQuestion(Question question) {
-		Session session = this.databaseDao.getSessionFromKeyword(question.getSession());
-		
-		Document d = this.databaseDao.saveQuestion(session, question);
-		question.set_id(d.getId());
-		question.set_rev(d.getRev());
-		return question;
+		Session session = this.databaseDao.getSessionFromKeyword(question.getSession());		
+		return this.databaseDao.saveQuestion(session, question);
 	}
 
 	@Override
-- 
GitLab