Index: lams_tool_laqa/build.properties
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/build.properties,v
diff -u -r1.31 -r1.32
--- lams_tool_laqa/build.properties 1 Nov 2010 12:18:17 -0000 1.31
+++ lams_tool_laqa/build.properties 28 Feb 2011 12:21:58 -0000 1.32
@@ -4,7 +4,7 @@
signature=laqa11
#version of this project
-tool.version=20101022
+tool.version=20110217
# hide tool option
hideTool=false
Index: lams_tool_laqa/build.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/build.xml,v
diff -u -r1.48 -r1.49
--- lams_tool_laqa/build.xml 6 Apr 2009 17:08:15 -0000 1.48
+++ lams_tool_laqa/build.xml 28 Feb 2011 12:21:58 -0000 1.49
@@ -212,9 +212,8 @@
-
-
-
+
+
Index: lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml,v
diff -u -r1.12 -r1.13
--- lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml 1 Nov 2010 12:21:11 -0000 1.12
+++ lams_tool_laqa/conf/hibernate/mappings/org/lamsfoundation/lams/tool/qa/QaContent.hbm.xml 28 Feb 2011 12:21:58 -0000 1.13
@@ -110,6 +110,15 @@
column="username_visible"
length="1"
/>
+
+
+
conditions, boolean allowRichEditor) {
+ boolean allowRateAnswers, boolean synchInMonitor, boolean lockWhenFinished, boolean contentLocked,
+ boolean showOtherAnswers, boolean reflect, String reflectionSubject, Date creationDate, Date updateDate,
+ Set qaQueContents, Set qaSessions, Set qaUploadedFiles, Set conditions, boolean allowRichEditor) {
this.qaContentId = qaContentId;
this.content = content;
this.title = title;
@@ -154,6 +157,7 @@
this.runOffline = runOffline;
this.questionsSequenced = questionsSequenced;
this.usernameVisible = usernameVisible;
+ this.allowRateAnswers = allowRateAnswers;
this.synchInMonitor = synchInMonitor;
this.lockWhenFinished = lockWhenFinished;
this.contentLocked = contentLocked;
@@ -183,13 +187,13 @@
*/
public static QaContent newInstance(IToolContentHandler toolContentHandler, QaContent qa, Long newContentId)
throws ItemNotFoundException, RepositoryCheckedException {
- QaContent newContent = new QaContent(newContentId, qa.getContent(), qa.getTitle(), qa.getInstructions(), qa
- .getReportTitle(), qa.getMonitoringReportTitle(), qa.getOfflineInstructions(), qa
- .getOnlineInstructions(), qa.getCreatedBy(), qa.isDefineLater(), qa.isRunOffline(), qa
- .isQuestionsSequenced(), qa.isUsernameVisible(), qa.isSynchInMonitor(), qa.isLockWhenFinished(), qa
- .isContentLocked(), qa.isShowOtherAnswers(), qa.isReflect(), qa.getReflectionSubject(), qa
- .getCreationDate(), qa.getUpdateDate(), new TreeSet(), new TreeSet(), new TreeSet(),
- new TreeSet(new TextSearchConditionComparator()), qa.isAllowRichEditor());
+ QaContent newContent = new QaContent(newContentId, qa.getContent(), qa.getTitle(), qa.getInstructions(),
+ qa.getReportTitle(), qa.getMonitoringReportTitle(), qa.getOfflineInstructions(),
+ qa.getOnlineInstructions(), qa.getCreatedBy(), qa.isDefineLater(), qa.isRunOffline(),
+ qa.isQuestionsSequenced(), qa.isUsernameVisible(), qa.isAllowRateAnswers(), qa.isSynchInMonitor(),
+ qa.isLockWhenFinished(), qa.isContentLocked(), qa.isShowOtherAnswers(), qa.isReflect(),
+ qa.getReflectionSubject(), qa.getCreationDate(), qa.getUpdateDate(), new TreeSet(), new TreeSet(),
+ new TreeSet(), new TreeSet(new TextSearchConditionComparator()), qa.isAllowRichEditor());
newContent.setQaQueContents(qa.deepCopyQaQueContent(newContent));
@@ -293,7 +297,8 @@
public String toString() {
return new ToStringBuilder(this).append("qaContentId:", getQaContentId()).append("qa title:", getTitle())
.append("qa instructions:", getInstructions()).append("creator user id", getCreatedBy()).append(
- "username_visible:", isUsernameVisible()).append("defineLater", isDefineLater()).append(
+ "username_visible:", isUsernameVisible()).append(
+ "allow to rate answers:", isAllowRateAnswers()).append("defineLater", isDefineLater()).append(
"offline_instructions:", getOfflineInstructions()).append("online_instructions:",
getOnlineInstructions()).append("report_title: ", getReportTitle()).append(
"reflection subject: ", getReflectionSubject())
@@ -448,8 +453,23 @@
public void setUsernameVisible(boolean usernameVisible) {
this.usernameVisible = usernameVisible;
}
+
+ /**
+ * @return Returns the allowRateAnswers.
+ */
+ public boolean isAllowRateAnswers() {
+ return allowRateAnswers;
+ }
/**
+ * @param allowRateAnswers
+ * The allowRateAnswers to set.
+ */
+ public void setAllowRateAnswers(boolean allowRateAnswers) {
+ this.allowRateAnswers = allowRateAnswers;
+ }
+
+ /**
* @return Returns the questionsSequenced.
*/
public boolean isQuestionsSequenced() {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaGeneralAuthoringDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/Attic/QaGeneralAuthoringDTO.java,v
diff -u -r1.8 -r1.9
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaGeneralAuthoringDTO.java 1 Nov 2010 12:27:45 -0000 1.8
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaGeneralAuthoringDTO.java 28 Feb 2011 12:21:57 -0000 1.9
@@ -52,6 +52,7 @@
protected String onlineInstructions;
protected String offlineInstructions;
protected String usernameVisible;
+ protected String allowRateAnswers;
protected String showOtherAnswers;
protected String reflect;
protected String synchInMonitor;
@@ -78,23 +79,25 @@
protected String editableQuestionFeedback;
public String toString() {
- return new ToStringBuilder(this).append("toolContentID: ", toolContentID).append("contentFolderID: ",
- contentFolderID).append("httpSessionID: ", httpSessionID).append("currentTab: ", currentTab).append(
- "activeModule: ", activeModule).append("defineLaterInEditMode: ", defineLaterInEditMode).append(
- "showAuthoringTabs: ", showAuthoringTabs).append("monitoringOriginatedDefineLater: ",
- monitoringOriginatedDefineLater).append("targetMode: ", targetMode).append("defaultQuestionContent: ",
- defaultQuestionContent).append("defaultContentIdStr: ", defaultContentIdStr).append("activityTitle: ",
- activityTitle).append("activityInstructions: ", activityInstructions).append("reflect: ", reflect)
+ return new ToStringBuilder(this).append("toolContentID: ", toolContentID)
+ .append("contentFolderID: ", contentFolderID).append("httpSessionID: ", httpSessionID)
+ .append("currentTab: ", currentTab).append("activeModule: ", activeModule)
+ .append("defineLaterInEditMode: ", defineLaterInEditMode)
+ .append("showAuthoringTabs: ", showAuthoringTabs)
+ .append("monitoringOriginatedDefineLater: ", monitoringOriginatedDefineLater)
+ .append("targetMode: ", targetMode).append("defaultQuestionContent: ", defaultQuestionContent)
+ .append("defaultContentIdStr: ", defaultContentIdStr).append("activityTitle: ", activityTitle)
+ .append("activityInstructions: ", activityInstructions).append("reflect: ", reflect)
.append("onlineInstructions: ", onlineInstructions)
.append("offlineInstructions: ", offlineInstructions).append("usernameVisible: ", usernameVisible)
- .append("showOtherAnswers: ", showOtherAnswers).append("synchInMonitor: ", synchInMonitor).append(
- "questionsSequenced: ", questionsSequenced).append("lockWhenFinished: ", lockWhenFinished)
- .append("editActivityEditMode: ", editActivityEditMode)
- .append("reflectionSubject: ", reflectionSubject).append("requestedModule: ", requestedModule).append(
- "isDefineLater: ", isDefineLater).append("monitoredContentInUse: ", monitoredContentInUse)
- .append("attachmentList: ", attachmentList).append(
- "deletedAttachmentList: ", deletedAttachmentList).append("sbmtSuccess: ", sbmtSuccess).append(
- "userExceptionQuestionsDuplicate: ", userExceptionQuestionsDuplicate).toString();
+ .append("allowRateAnswers: ", allowRateAnswers).append("showOtherAnswers: ", showOtherAnswers)
+ .append("synchInMonitor: ", synchInMonitor).append("questionsSequenced: ", questionsSequenced)
+ .append("lockWhenFinished: ", lockWhenFinished).append("editActivityEditMode: ", editActivityEditMode)
+ .append("reflectionSubject: ", reflectionSubject).append("requestedModule: ", requestedModule)
+ .append("isDefineLater: ", isDefineLater).append("monitoredContentInUse: ", monitoredContentInUse)
+ .append("attachmentList: ", attachmentList).append("deletedAttachmentList: ", deletedAttachmentList)
+ .append("sbmtSuccess: ", sbmtSuccess)
+ .append("userExceptionQuestionsDuplicate: ", userExceptionQuestionsDuplicate).toString();
}
/**
@@ -450,8 +453,23 @@
public void setUsernameVisible(String usernameVisible) {
this.usernameVisible = usernameVisible;
}
+
+ /**
+ * @return Returns the allowRateAnswers.
+ */
+ public String getAllowRateAnswers() {
+ return allowRateAnswers;
+ }
/**
+ * @param allowRateAnswers
+ * The allowRateAnswers to set.
+ */
+ public void setAllowRateAnswers(String allowRateAnswers) {
+ this.allowRateAnswers = allowRateAnswers;
+ }
+
+ /**
* @return Returns the currentTab.
*/
public String getCurrentTab() {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaMonitoredUserDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/Attic/QaMonitoredUserDTO.java,v
diff -u -r1.9 -r1.10
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaMonitoredUserDTO.java 19 Feb 2009 04:25:01 -0000 1.9
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaMonitoredUserDTO.java 28 Feb 2011 12:21:57 -0000 1.10
@@ -59,6 +59,10 @@
private String questionUid;
private String visible;
+
+ private String averageRating;
+
+ private String numberOfVotes;
private Map usersAttempts;
@@ -226,8 +230,38 @@
public void setVisible(String visible) {
this.visible = visible;
}
+
+ /**
+ * @return Returns the averageRating.
+ */
+ public String getAverageRating() {
+ return averageRating;
+ }
/**
+ * @param averageRating
+ * The averageRating to set.
+ */
+ public void setAverageRating(String averageRating) {
+ this.averageRating = averageRating;
+ }
+
+ /**
+ * @return Returns the numberOfVotes.
+ */
+ public String getNumberOfVotes() {
+ return numberOfVotes;
+ }
+
+ /**
+ * @param numberOfVotes
+ * The numberOfVotes to set.
+ */
+ public void setNumberOfVotes(String numberOfVotes) {
+ this.numberOfVotes = numberOfVotes;
+ }
+
+ /**
* @return Returns the attemptTime.
*/
public Date getAttemptTime() {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/Attic/QaUtils.java,v
diff -u -r1.60 -r1.61
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java 1 Nov 2010 12:27:45 -0000 1.60
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/QaUtils.java 28 Feb 2011 12:21:57 -0000 1.61
@@ -105,6 +105,10 @@
String usernameVisible = request.getParameter(USERNAME_VISIBLE);
qaAuthoringForm.setUsernameVisible(usernameVisible);
qaGeneralAuthoringDTO.setUsernameVisible(usernameVisible);
+
+ String allowRateAnswers = request.getParameter(ALLOW_RATE_ANSWERS);
+ qaAuthoringForm.setAllowRateAnswers(allowRateAnswers);
+ qaGeneralAuthoringDTO.setAllowRateAnswers(allowRateAnswers);
String showOtherAnswers = request.getParameter("showOtherAnswers");
qaAuthoringForm.setShowOtherAnswers(showOtherAnswers);
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/ResponseRating.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml,v
diff -u -r1.24 -r1.25
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 26 Mar 2009 10:00:38 -0000 1.24
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/qaApplicationContext.xml 28 Feb 2011 12:21:57 -0000 1.25
@@ -48,6 +48,10 @@
+
+
+
+
@@ -77,7 +81,8 @@
-
+
+
@@ -105,6 +110,7 @@
PROPAGATION_REQUIRED,-QaApplicationException
PROPAGATION_REQUIRED,-QaApplicationException
PROPAGATION_REQUIRED,-QaApplicationException
+ PROPAGATION_REQUIRED,-QaApplicationException
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/IResponseRatingDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dao/hibernate/ResponseRatingDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dbupdates/patch20110217_updateTo236.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/AverageRatingDTO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java,v
diff -u -r1.55 -r1.56
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 15 Feb 2011 17:16:01 -0000 1.55
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java 28 Feb 2011 12:21:57 -0000 1.56
@@ -43,6 +43,7 @@
import org.lamsfoundation.lams.tool.qa.QaUploadedFile;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.QaWizardCategory;
+import org.lamsfoundation.lams.tool.qa.dto.AverageRatingDTO;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.util.audit.IAuditService;
@@ -364,4 +365,9 @@
* @return
*/
boolean isGroupedActivity(long toolContentID);
+
+ AverageRatingDTO rateResponse(Long responseId, Long userId, Long toolSessionID, float rating);
+
+ AverageRatingDTO getAverageRatingDTOByResponse(Long responseId);
+
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java,v
diff -u -r1.91 -r1.92
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 15 Feb 2011 17:16:01 -0000 1.91
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java 28 Feb 2011 12:21:57 -0000 1.92
@@ -77,6 +77,7 @@
import org.lamsfoundation.lams.tool.qa.QaUploadedFile;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.QaWizardCategory;
+import org.lamsfoundation.lams.tool.qa.ResponseRating;
import org.lamsfoundation.lams.tool.qa.dao.IQaConfigItemDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaContentDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaQueContentDAO;
@@ -85,6 +86,8 @@
import org.lamsfoundation.lams.tool.qa.dao.IQaUploadedFileDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaUsrRespDAO;
import org.lamsfoundation.lams.tool.qa.dao.IQaWizardDAO;
+import org.lamsfoundation.lams.tool.qa.dao.IResponseRatingDAO;
+import org.lamsfoundation.lams.tool.qa.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.service.ILamsToolService;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
@@ -128,6 +131,7 @@
private IQaSessionDAO qaSessionDAO;
private IQaQueUsrDAO qaQueUsrDAO;
private IQaUsrRespDAO qaUsrRespDAO;
+ private IResponseRatingDAO qaResponseRatingDAO;
private IQaUploadedFileDAO qaUploadedFileDAO;
private IToolContentHandler qaToolContentHandler = null;
@@ -998,7 +1002,29 @@
throw new ToolException("toolContentID is missing");
}
}
+
+ public AverageRatingDTO rateResponse(Long responseId, Long userId, Long toolSessionID, float rating) {
+ QaQueUsr imageGalleryUser = this.getQaUserBySession(userId, toolSessionID);
+ ResponseRating responseRating = qaResponseRatingDAO.getRatingByResponseAndUser(responseId, userId);
+ QaUsrResp response = qaUsrRespDAO.getAttemptByUID(responseId);
+ //persist ResponseRating changes in DB
+ if (responseRating == null) { // add
+ responseRating = new ResponseRating();
+ responseRating.setUser(imageGalleryUser);
+ responseRating.setResponse(response);
+ }
+ responseRating.setRating(rating);
+ qaResponseRatingDAO.saveObject(responseRating);
+
+ //to make available new changes be visible in jsp page
+ return qaResponseRatingDAO.getAverageRatingDTOByResponse(responseId);
+ }
+
+ public AverageRatingDTO getAverageRatingDTOByResponse(Long responseId) {
+ return qaResponseRatingDAO.getAverageRatingDTOByResponse(responseId);
+ }
+
/**
* Export the XML fragment for the tool's content, along with any files needed for the content.
*
@@ -1551,6 +1577,10 @@
public void setQaUsrRespDAO(IQaUsrRespDAO qaUsrRespDAO) {
this.qaUsrRespDAO = qaUsrRespDAO;
+ }
+
+ public void setQaResponseRatingDAO(IResponseRatingDAO responseRatingDAO) {
+ this.qaResponseRatingDAO = responseRatingDAO;
}
/**
@@ -1573,6 +1603,13 @@
public IQaUsrRespDAO getQaUsrRespDAO() {
return qaUsrRespDAO;
}
+
+ /**
+ * @return Returns the IResponseRatingDAO.
+ */
+ public IResponseRatingDAO getQaResponseRatingDAO() {
+ return qaResponseRatingDAO;
+ }
/**
* @return Returns the repositoryService.
@@ -1660,6 +1697,7 @@
// in LAMS 2.0
toolContentObj.setLockWhenFinished(true);
toolContentObj.setShowOtherAnswers(true);
+ toolContentObj.setAllowRateAnswers(false);
Boolean bool;
try {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java,v
diff -u -r1.53 -r1.54
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java 2 Nov 2010 15:26:36 -0000 1.53
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/AuthoringUtil.java 28 Feb 2011 12:21:57 -0000 1.54
@@ -316,6 +316,8 @@
String synchInMonitor = request.getParameter(QaAppConstants.SYNC_IN_MONITOR);
String usernameVisible = request.getParameter(QaAppConstants.USERNAME_VISIBLE);
+
+ String allowRateQuestions = request.getParameter(QaAppConstants.ALLOW_RATE_ANSWERS);
String showOtherAnswers = request.getParameter("showOtherAnswers");
@@ -344,6 +346,7 @@
boolean synchInMonitorBoolean = false;
boolean lockWhenFinishedBoolean = false;
boolean usernameVisibleBoolean = false;
+ boolean allowRateQuestionsBoolean = false;
boolean showOtherAnswersBoolean = false;
boolean reflectBoolean = false;
boolean allowRichEditorBoolean = false;
@@ -363,6 +366,10 @@
if (usernameVisible != null && usernameVisible.equalsIgnoreCase("1")) {
usernameVisibleBoolean = true;
}
+
+ if (allowRateQuestions != null && allowRateQuestions.equalsIgnoreCase("1")) {
+ allowRateQuestionsBoolean = true;
+ }
if (showOtherAnswers != null && showOtherAnswers.equalsIgnoreCase("1")) {
showOtherAnswersBoolean = true;
@@ -406,6 +413,7 @@
qaContent.setOnlineInstructions(richTextOnlineInstructions);
qaContent.setOfflineInstructions(richTextOfflineInstructions);
qaContent.setUsernameVisible(usernameVisibleBoolean);
+ qaContent.setAllowRateAnswers(allowRateQuestionsBoolean);
qaContent.setShowOtherAnswers(showOtherAnswersBoolean);
qaContent.setQuestionsSequenced(questionsSequencedBoolean);
qaContent.setLockWhenFinished(lockWhenFinishedBoolean);
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java,v
diff -u -r1.42 -r1.43
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java 1 Nov 2010 12:27:29 -0000 1.42
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java 28 Feb 2011 12:21:57 -0000 1.43
@@ -92,6 +92,7 @@
generalLearnerFlowDTO.setShowOtherAnswers(new Boolean(qaContent.isShowOtherAnswers()).toString());
generalLearnerFlowDTO.setActivityOffline(new Boolean(qaContent.isRunOffline()).toString());
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(qaContent.isAllowRichEditor()).toString());
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
generalLearnerFlowDTO.setTotalQuestionCount(new Integer(qaContent.getQaQueContents().size()));
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/Attic/MonitoringUtil.java,v
diff -u -r1.43 -r1.44
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java 29 Oct 2010 15:05:36 -0000 1.43
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/MonitoringUtil.java 28 Feb 2011 12:21:57 -0000 1.44
@@ -47,6 +47,7 @@
import org.lamsfoundation.lams.tool.qa.QaStringComparator;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.QaUtils;
+import org.lamsfoundation.lams.tool.qa.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
/**
@@ -320,6 +321,8 @@
Map mapMonitoredUserContainerDTO = new TreeMap(new QaStringComparator());
List listMonitoredUserContainerDTO = new LinkedList();
Iterator itUsers = listUsers.iterator();
+
+ QaContent qaContent = qaService.getQaContentBySessionId(sessionId);
while (itUsers.hasNext()) {
QaQueUsr qaQueUsr = (QaQueUsr) itUsers.next();
@@ -356,6 +359,14 @@
qaMonitoredUserDTO.setQuestionUid(questionUid);
qaMonitoredUserDTO.setVisible(new Boolean(qaUsrResp.isVisible()).toString());
+
+ //set averageRating
+ if (qaContent.isAllowRateAnswers()) {
+ AverageRatingDTO averageRating = qaService.getAverageRatingDTOByResponse(qaUsrResp.getResponseId());
+ qaMonitoredUserDTO.setAverageRating(averageRating.getRating());
+ qaMonitoredUserDTO.setNumberOfVotes(averageRating.getNumberOfVotes());
+ }
+
listMonitoredUserContainerDTO.add(qaMonitoredUserDTO);
}
}
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAuthoringForm.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/Attic/QaAuthoringForm.java,v
diff -u -r1.27 -r1.28
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAuthoringForm.java 1 Nov 2010 12:27:29 -0000 1.27
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaAuthoringForm.java 28 Feb 2011 12:21:57 -0000 1.28
@@ -74,6 +74,7 @@
protected String monitoringReportTitle;
protected String endLearningMessage;
protected String usernameVisible;
+ protected String allowRateAnswers;
protected String showOtherAnswers;
protected String questionsSequenced;
protected String lockWhenFinished;
@@ -160,6 +161,7 @@
public void resetRadioBoxes() {
this.synchInMonitor = OPTION_OFF;
this.usernameVisible = OPTION_OFF;
+ this.allowRateAnswers = OPTION_OFF;
this.questionsSequenced = OPTION_OFF;
this.lockWhenFinished = OPTION_OFF;
this.reflect = OPTION_OFF;
@@ -168,16 +170,17 @@
}
public String toString() {
- return new ToStringBuilder(this).append("Listing current QaAuthoringForm properties: ").append(
- "toolContentID: ", toolContentID).append("currentTab: ", currentTab).append("activeModule: ",
- activeModule).append("defaultContentIdStr: ", defaultContentIdStr).append("title: ", title).append(
- "instructions: ", instructions).append("reportTitle: ", reportTitle).append("monitoringReportTitle: ",
- monitoringReportTitle).append("endLearningMessage: ", endLearningMessage).append(
- "onlineInstructions: ", onlineInstructions).append("offlineInstructions: ", offlineInstructions)
- .append("usernameVisible: ", usernameVisible).append("showOtherAnswers: ", showOtherAnswers).append(
- "synchInMonitor: ", synchInMonitor).append("questionsSequenced: ", questionsSequenced).append(
- "lockWhenFinished: ", lockWhenFinished).append("reflect: ", reflect).append(
- "defineLaterInEditMode: ", defineLaterInEditMode).toString();
+ return new ToStringBuilder(this).append("Listing current QaAuthoringForm properties: ")
+ .append("toolContentID: ", toolContentID).append("currentTab: ", currentTab)
+ .append("activeModule: ", activeModule).append("defaultContentIdStr: ", defaultContentIdStr)
+ .append("title: ", title).append("instructions: ", instructions).append("reportTitle: ", reportTitle)
+ .append("monitoringReportTitle: ", monitoringReportTitle)
+ .append("endLearningMessage: ", endLearningMessage).append("onlineInstructions: ", onlineInstructions)
+ .append("offlineInstructions: ", offlineInstructions).append("usernameVisible: ", usernameVisible)
+ .append("allowRateAnswers: ", allowRateAnswers).append("showOtherAnswers: ", showOtherAnswers)
+ .append("synchInMonitor: ", synchInMonitor).append("questionsSequenced: ", questionsSequenced)
+ .append("lockWhenFinished: ", lockWhenFinished).append("reflect: ", reflect)
+ .append("defineLaterInEditMode: ", defineLaterInEditMode).toString();
}
/**
@@ -434,8 +437,23 @@
public void setUsernameVisible(String usernameVisible) {
this.usernameVisible = usernameVisible;
}
+
+ /**
+ * @return Returns the allowRateAnswers.
+ */
+ public String getAllowRateAnswers() {
+ return allowRateAnswers;
+ }
/**
+ * @param allowRateAnswers
+ * The allowRateAnswers to set.
+ */
+ public void setAllowRateAnswers(String allowRateAnswers) {
+ this.allowRateAnswers = allowRateAnswers;
+ }
+
+ /**
* @return Returns the submitTabDone.
*/
public String getSubmitTabDone() {
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java,v
diff -u -r1.39 -r1.40
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 1 Nov 2010 12:19:23 -0000 1.39
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java 28 Feb 2011 12:21:57 -0000 1.40
@@ -118,6 +118,8 @@
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
+import org.apache.tomcat.util.json.JSONException;
+import org.apache.tomcat.util.json.JSONObject;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
import org.lamsfoundation.lams.tool.exception.ToolException;
@@ -131,6 +133,8 @@
import org.lamsfoundation.lams.tool.qa.QaSession;
import org.lamsfoundation.lams.tool.qa.QaUsrResp;
import org.lamsfoundation.lams.tool.qa.QaUtils;
+import org.lamsfoundation.lams.tool.qa.ResponseRating;
+import org.lamsfoundation.lams.tool.qa.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.qa.service.IQaService;
import org.lamsfoundation.lams.tool.qa.service.QaServiceProxy;
import org.lamsfoundation.lams.usermanagement.User;
@@ -270,6 +274,8 @@
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
+
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
boolean showOtherAnswers = qaContent.isShowOtherAnswers();
generalLearnerFlowDTO.setShowOtherAnswers(new Boolean(showOtherAnswers).toString());
@@ -353,6 +359,8 @@
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
+
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
/*
* Learning mode requires this setting for jsp to generate the user's report
@@ -571,6 +579,8 @@
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
+
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
HttpSession ss = SessionManager.getSession();
/* get back login user DTO */
@@ -690,6 +700,8 @@
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
+
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
HttpSession ss = SessionManager.getSession();
/* get back login user DTO */
@@ -924,6 +936,40 @@
qaLearningForm.resetAll();
return (mapping.findForward(LOAD_LEARNER));
}
+
+ /**
+ * Rates answers submitted by other learners.
+ *
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ * @throws JSONException
+ * @throws IOException
+ * @throws ServletException
+ * @throws ToolException
+ */
+ public ActionForward rateResponse(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response) throws JSONException, IOException {
+
+ IQaService qaService = QaServiceProxy.getQaService(getServlet().getServletContext());
+
+ float rating = Float.parseFloat((String) request.getParameter("rate"));
+ Long responseId = WebUtil.readLongParam(request, "idBox");
+ Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID);
+ UserDTO user = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER);
+ Long userId = new Long(user.getUserID().intValue());
+
+ AverageRatingDTO averageRatingDTO = qaService.rateResponse(responseId, userId, toolSessionID, rating);
+
+ JSONObject JSONObject = new JSONObject();
+ JSONObject.put("averageRating", averageRatingDTO.getRating());
+ JSONObject.put("numberOfVotes", averageRatingDTO.getNumberOfVotes());
+ response.setContentType("application/x-json");
+ response.getWriter().print(JSONObject);
+ return null;
+ }
/**
* finishes the user's tool activity endLearning(HttpServletRequest request,
@@ -1073,6 +1119,8 @@
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
+
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
NotebookEntry notebookEntry = qaService.getEntry(new Long(toolSessionID), CoreNotebookConstants.NOTEBOOK_TOOL,
MY_SIGNATURE, new Integer(userID));
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java,v
diff -u -r1.72 -r1.73
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 1 Nov 2010 12:27:29 -0000 1.72
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java 28 Feb 2011 12:21:57 -0000 1.73
@@ -443,7 +443,7 @@
logger.debug("lockWhenFinished: " + lockWhenFinished);
boolean allowRichEditor = qaContent.isAllowRichEditor();
generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString());
-
+ generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString());
String sessionStatus = qaSession.getSession_status();
logger.debug("sessionStatus: " + sessionStatus);
Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java,v
diff -u -r1.73 -r1.74
--- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 1 Nov 2010 12:27:29 -0000 1.73
+++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaStarterAction.java 28 Feb 2011 12:21:57 -0000 1.74
@@ -406,6 +406,7 @@
QaUtils.populateAuthoringDTO(request, qaContent, qaGeneralAuthoringDTO);
qaAuthoringForm.setUsernameVisible(qaContent.isUsernameVisible() ? "1" : "0");
+ qaAuthoringForm.setAllowRateAnswers(qaContent.isAllowRateAnswers() ? "1" : "0");
qaAuthoringForm.setShowOtherAnswers(qaContent.isShowOtherAnswers() ? "1" : "0");
qaAuthoringForm.setSynchInMonitor(qaContent.isSynchInMonitor() ? "1" : "0");
qaAuthoringForm.setQuestionsSequenced(qaContent.isQuestionsSequenced() ? "1" : "0");
Index: lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaDataAccessTestCase.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/Attic/QaDataAccessTestCase.java,v
diff -u -r1.19 -r1.20
--- lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaDataAccessTestCase.java 2 Nov 2006 20:49:08 -0000 1.19
+++ lams_tool_laqa/test/java/org/lamsfoundation/lams/tool/qa/QaDataAccessTestCase.java 28 Feb 2011 12:21:58 -0000 1.20
@@ -140,6 +140,7 @@
qa.setCreationDate(new Date(System.currentTimeMillis()));
qa.setCreatedBy(0);
qa.setUsernameVisible(false);
+ qa.setAllowRateAnswers(false);
qa.setDefineLater(false);
qa.setSynchInMonitor(false);
qa.setOnlineInstructions("");
Index: lams_tool_laqa/web/authoring/AdvancedContent.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/authoring/AdvancedContent.jsp,v
diff -u -r1.30 -r1.31
--- lams_tool_laqa/web/authoring/AdvancedContent.jsp 2 Jul 2009 08:19:22 -0000 1.30
+++ lams_tool_laqa/web/authoring/AdvancedContent.jsp 28 Feb 2011 12:21:58 -0000 1.31
@@ -20,23 +20,52 @@
<%@ include file="/common/taglibs.jsp"%>
+
+
+
+
-
+
-
-   
+
+
+
+
+
+
+
+
+
Index: lams_tool_laqa/web/authoring/AuthoringTabsHolder.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/authoring/AuthoringTabsHolder.jsp,v
diff -u -r1.30 -r1.31
--- lams_tool_laqa/web/authoring/AuthoringTabsHolder.jsp 30 Sep 2008 05:54:57 -0000 1.30
+++ lams_tool_laqa/web/authoring/AuthoringTabsHolder.jsp 28 Feb 2011 12:21:58 -0000 1.31
@@ -96,16 +96,7 @@
document.QaAuthoringForm.dispatch.value=method;
document.QaAuthoringForm.submit();
}
-
- function updateUsernameVisible(clickedObj){
- if(clickedObj.checked){
- document.QaAuthoringForm.usernameVisible.checked=true;
- }else{
- document.QaAuthoringForm.usernameVisible.checked=false;
- }
- }
-
Index: lams_tool_laqa/web/images/bg_jRatingInfos.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/images/Attic/bg_jRatingInfos.png,v
diff -u -r1.1 -r1.2
Binary files differ
Index: lams_tool_laqa/web/images/small.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/images/Attic/small.png,v
diff -u -r1.1 -r1.2
Binary files differ
Index: lams_tool_laqa/web/images/stars.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/images/Attic/stars.png,v
diff -u -r1.1 -r1.2
Binary files differ
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/web/includes/css/jRating.jquery.css'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/web/includes/css/ratingStars.css'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/web/includes/javascript/jRating.jquery.js'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_laqa/web/includes/javascript/jquery.js'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_laqa/web/learning/LearnerRep.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_laqa/web/learning/LearnerRep.jsp,v
diff -u -r1.39 -r1.40
--- lams_tool_laqa/web/learning/LearnerRep.jsp 16 Sep 2009 08:23:50 -0000 1.39
+++ lams_tool_laqa/web/learning/LearnerRep.jsp 28 Feb 2011 12:21:58 -0000 1.40
@@ -33,14 +33,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+