Index: lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java
===================================================================
diff -u -r75e43eb7dffa6bf6eb2a11bb1e616c53bdbd76ed -red9a00f4f59d352ae53b11ba461f12affd12dab0
--- lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java (.../IQbDAO.java) (revision 75e43eb7dffa6bf6eb2a11bb1e616c53bdbd76ed)
+++ lams_common/src/java/org/lamsfoundation/lams/qb/dao/IQbDAO.java (.../IQbDAO.java) (revision ed9a00f4f59d352ae53b11ba461f12affd12dab0)
@@ -18,5 +18,9 @@
List getQuestionVersions(long qbQuestionUid);
- Map getAnswerStats(long qbQuestionUid);
+ Map getAnswerStatsForQbQuestion(long qbQuestionUid);
+
+ Map geAnswerStatsForQbToolQuestion(long qbToolQuestionUid);
+
+ Map geAnswerStatsForActivity(long activityId);
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java
===================================================================
diff -u -r75e43eb7dffa6bf6eb2a11bb1e616c53bdbd76ed -red9a00f4f59d352ae53b11ba461f12affd12dab0
--- lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision 75e43eb7dffa6bf6eb2a11bb1e616c53bdbd76ed)
+++ lams_common/src/java/org/lamsfoundation/lams/qb/dao/hibernate/QbDAO.java (.../QbDAO.java) (revision ed9a00f4f59d352ae53b11ba461f12affd12dab0)
@@ -17,8 +17,12 @@
+ "WHERE a.toolContentId = q.toolContentId AND a.learningDesign.lessons IS NOT EMPTY AND q.qbQuestion.uid = :qbQuestionUid";
private static final String FIND_QUESTION_VERSIONS = "SELECT q FROM QbQuestion AS q, QbQuestion AS r "
+ "WHERE q.questionId = r.questionId AND q.uid <> r.uid AND r.uid = :qbQuestionUid";
- private static final String FIND_ANSWER_STATS = "SELECT a.qbOption.uid, COUNT(a.uid) FROM QbToolAnswer AS a "
+ private static final String FIND_ANSWER_STATS_BY_QB_QUESTION = "SELECT a.qbOption.uid, COUNT(a.uid) FROM QbToolAnswer AS a "
+ "WHERE a.qbOption.qbQuestion.uid = :qbQuestionUid GROUP BY a.qbOption.uid";
+ private static final String FIND_ANSWER_STATS_BY_TOOL_QUESTION = "SELECT a.qbOption.uid, COUNT(a.uid) FROM QbToolAnswer AS a "
+ + "WHERE a.qbToolQuestion.uid = :qbToolQuestionUid GROUP BY a.qbOption.uid";
+ private static final String FIND_ANSWER_STATS_BY_ACTIVITY = "SELECT a.qbOption.uid, COUNT(a.uid) FROM QbToolAnswer AS a, "
+ + " ToolActivity AS act WHERE a.qbToolQuestion.toolContentId = act.toolContentId AND act.activityId = :activityId GROUP BY a.qbOption.uid";
@Override
public int getMaxQuestionId() {
@@ -51,13 +55,37 @@
@Override
@SuppressWarnings("unchecked")
- public Map getAnswerStats(long qbQuestionUid) {
- List