Organisation
@@ -208,7 +212,16 @@
|
-
+
+
+
+
+
+
+
+
+
+
|
Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml
===================================================================
diff -u -raccfdd9d97b1e9f4db2c48861a2f5ea1d065a3cb -r4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7
--- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision accfdd9d97b1e9f4db2c48861a2f5ea1d065a3cb)
+++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7)
@@ -541,6 +541,7 @@
+
Index: lams_common/src/java/org/lamsfoundation/lams/qb/dto/QbStatsActivityDTO.java
===================================================================
diff -u -raccfdd9d97b1e9f4db2c48861a2f5ea1d065a3cb -r4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7
--- lams_common/src/java/org/lamsfoundation/lams/qb/dto/QbStatsActivityDTO.java (.../QbStatsActivityDTO.java) (revision accfdd9d97b1e9f4db2c48861a2f5ea1d065a3cb)
+++ lams_common/src/java/org/lamsfoundation/lams/qb/dto/QbStatsActivityDTO.java (.../QbStatsActivityDTO.java) (revision 4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7)
@@ -1,13 +1,16 @@
package org.lamsfoundation.lams.qb.dto;
import org.lamsfoundation.lams.learningdesign.ToolActivity;
+import org.lamsfoundation.lams.qb.model.QbQuestion;
public class QbStatsActivityDTO {
- public ToolActivity activity;
- public Integer participantCount;
- public Double difficultyIndex;
- public Double discriminationIndex;
- public Double pointBiserial;
+ private ToolActivity activity;
+ private QbQuestion qbQuestion;
+ private String monitorURL;
+ private Integer participantCount;
+ private Double difficultyIndex;
+ private Double discriminationIndex;
+ private Double pointBiserial;
public ToolActivity getActivity() {
return activity;
@@ -17,6 +20,22 @@
this.activity = activity;
}
+ public QbQuestion getQbQuestion() {
+ return qbQuestion;
+ }
+
+ public void setQbQuestion(QbQuestion qbQuestion) {
+ this.qbQuestion = qbQuestion;
+ }
+
+ public String getMonitorURL() {
+ return monitorURL;
+ }
+
+ public void setMonitorURL(String monitorURL) {
+ this.monitorURL = monitorURL;
+ }
+
public Integer getParticipantCount() {
return participantCount;
}
Index: lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java
===================================================================
diff -u -rcee2752fb2ef63145dae66eba09c5c53335822e0 -r4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7
--- lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision cee2752fb2ef63145dae66eba09c5c53335822e0)
+++ lams_common/src/java/org/lamsfoundation/lams/qb/service/QbService.java (.../QbService.java) (revision 4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7)
@@ -10,27 +10,34 @@
import java.util.Map.Entry;
import java.util.Set;
+import org.apache.log4j.Logger;
import org.lamsfoundation.lams.gradebook.GradebookUserLesson;
import org.lamsfoundation.lams.gradebook.service.IGradebookService;
import org.lamsfoundation.lams.learningdesign.Activity;
+import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.ToolActivity;
+import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.qb.dao.IQbDAO;
import org.lamsfoundation.lams.qb.dto.QbStatsActivityDTO;
import org.lamsfoundation.lams.qb.dto.QbStatsDTO;
import org.lamsfoundation.lams.qb.model.QbOption;
import org.lamsfoundation.lams.qb.model.QbQuestion;
+import org.lamsfoundation.lams.tool.service.ILamsCoreToolService;
import org.lamsfoundation.lams.util.WebUtil;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class QbService implements IQbService {
+ private static Logger log = Logger.getLogger(QbService.class);
private IQbDAO qbDAO;
private IGradebookService gradebookService;
+ private ILamsCoreToolService lamsCoreToolService;
+
@Override
public QbQuestion getQbQuestionByUid(Long qbQuestionUid) {
return qbDAO.getQbQuestionByUid(qbQuestionUid);
@@ -141,14 +148,20 @@
public QbStatsActivityDTO getActivityStats(Long activityId, Long qbQuestionUid,
Collection correctOptionUids) {
ToolActivity activity = (ToolActivity) qbDAO.find(ToolActivity.class, activityId);
- Long lessonId = activity.getLearningDesign().getLessons().iterator().next().getLessonId();
+ LearningDesign learningDesign = activity.getLearningDesign();
+ Lesson lesson = learningDesign.getLessons().iterator().next();
+ Long lessonId = lesson.getLessonId();
List userLessonGrades = gradebookService.getGradebookUserLesson(lessonId);
int participantCount = userLessonGrades.size();
QbStatsActivityDTO activityDTO = new QbStatsActivityDTO();
activityDTO.setActivity(activity);
activityDTO.setParticipantCount(participantCount);
+ String monitorUrl = "/lams/" + lamsCoreToolService.getToolMonitoringURL(lessonId, activity)
+ + "&contentFolderID=" + learningDesign.getContentFolderID();
+ activityDTO.setMonitorURL(monitorUrl);
+
// if there is only 1 participant, there is no point in calculating question indexes
if (participantCount > 1) {
// mapping of user ID -> option UID
@@ -225,4 +238,8 @@
public void setGradebookService(IGradebookService gradebookService) {
this.gradebookService = gradebookService;
}
+
+ public void setLamsCoreToolService(ILamsCoreToolService lamsCoreToolService) {
+ this.lamsCoreToolService = lamsCoreToolService;
+ }
}
\ No newline at end of file
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java
===================================================================
diff -u -r69e2980b566d069500c2e5c07dccf96e29cc287c -r4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 69e2980b566d069500c2e5c07dccf96e29cc287c)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7)
@@ -27,8 +27,8 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import java.util.TimeZone;
import java.util.TreeSet;
@@ -571,11 +571,12 @@
sessionMap.put("sessionDtos", sessionDtos);
}
- Map qbStats = new LinkedHashMap<>();
+ List qbStats = new LinkedList<>();
for (AssessmentQuestion question : assessment.getQuestions()) {
QbStatsActivityDTO questionStats = qbService.getActivityStatsByContentId(assessment.getContentId(),
question.getQbQuestion().getUid());
- qbStats.put(question.getQbQuestion().getName(), questionStats);
+ questionStats.setQbQuestion(question.getQbQuestion());
+ qbStats.add(questionStats);
}
request.setAttribute("qbStats", qbStats);
}
Index: lams_tool_assessment/web/pages/monitoring/statisticpart.jsp
===================================================================
diff -u -r69e2980b566d069500c2e5c07dccf96e29cc287c -r4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7
--- lams_tool_assessment/web/pages/monitoring/statisticpart.jsp (.../statisticpart.jsp) (revision 69e2980b566d069500c2e5c07dccf96e29cc287c)
+++ lams_tool_assessment/web/pages/monitoring/statisticpart.jsp (.../statisticpart.jsp) (revision 4dfbbc90e3d414eaf3f4282a3a38b4ec741384d7)
@@ -194,14 +194,13 @@
|
-