Index: lams_tool_forum/build.properties
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/build.properties,v
diff -u -r1.26 -r1.27
--- lams_tool_forum/build.properties 27 Oct 2010 17:27:35 -0000 1.26
+++ lams_tool_forum/build.properties 4 Mar 2011 13:50:04 -0000 1.27
@@ -9,7 +9,7 @@
### project properties ###
signature=lafrum11
project.displayname = lams forum tool
-tool.version=20101025
+tool.version=20110228
# hide tool option
hideTool=false
Index: lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/Forum.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/Attic/Forum.hbm.xml,v
diff -u -r1.20 -r1.21
--- lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/Forum.hbm.xml 27 Oct 2010 17:27:35 -0000 1.20
+++ lams_tool_forum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/forum/persistence/Forum.hbm.xml 4 Mar 2011 13:50:04 -0000 1.21
@@ -221,6 +221,14 @@
/>
+
+
+
+
+
+
+
+
+
+
@@ -91,6 +97,9 @@
+
+
+
@@ -161,6 +170,7 @@
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dbupdates/patch20110228_updateTo236.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/AverageRatingDTO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java,v
diff -u -r1.18 -r1.19
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java 2 Feb 2009 03:21:24 -0000 1.18
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/dto/MessageDTO.java 4 Mar 2011 13:50:04 -0000 1.19
@@ -46,6 +46,10 @@
private String comment;
private boolean released;
+ //rating fields
+ private String averageRating;
+ private String numberOfVotes;
+
// number of posts the learner has made in this topic.
// used when this message is a root topic.
private int numOfPosts;
@@ -181,6 +185,22 @@
public void setReleased(boolean isReleased) {
this.released = isReleased;
}
+
+ public String getAverageRating() {
+ return averageRating;
+ }
+
+ public void setAverageRating(String averageRating) {
+ this.averageRating = averageRating;
+ }
+
+ public String getNumberOfVotes() {
+ return numberOfVotes;
+ }
+
+ public void setNumberOfVotes(String numberOfVotes) {
+ this.numberOfVotes = numberOfVotes;
+ }
public String getAttachmentLocalUrl() {
return attachmentLocalUrl;
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java,v
diff -u -r1.32 -r1.33
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java 27 Oct 2010 17:27:35 -0000 1.32
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/Forum.java 4 Mar 2011 13:50:03 -0000 1.33
@@ -67,6 +67,8 @@
private boolean allowNewTopic;
private boolean allowUpload;
+
+ private boolean allowRateMessages;
private int maximumReply;
@@ -549,7 +551,20 @@
public void setAllowUpload(boolean allowUpload) {
this.allowUpload = allowUpload;
}
+
+ /**
+ * @hibernate.property column="allow_rate_messages"
+ * @return
+ */
+ public boolean isAllowRateMessages() {
+ return allowRateMessages;
+ }
+ public void setAllowRateMessages(boolean allowRateMessages) {
+ this.allowRateMessages = allowRateMessages;
+ }
+
+
/**
* @hibernate.property column="maximum_reply"
* @return
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageRating.java'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/persistence/MessageRatingDAO.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java,v
diff -u -r1.108 -r1.109
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 10 Feb 2011 22:38:02 -0000 1.108
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/ForumService.java 4 Mar 2011 13:50:04 -0000 1.109
@@ -78,6 +78,7 @@
import org.lamsfoundation.lams.tool.exception.DataMissingException;
import org.lamsfoundation.lams.tool.exception.SessionDataExistsException;
import org.lamsfoundation.lams.tool.exception.ToolException;
+import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.forum.dto.MessageDTO;
import org.lamsfoundation.lams.tool.forum.persistence.Attachment;
import org.lamsfoundation.lams.tool.forum.persistence.AttachmentDao;
@@ -93,6 +94,8 @@
import org.lamsfoundation.lams.tool.forum.persistence.ForumUserDao;
import org.lamsfoundation.lams.tool.forum.persistence.Message;
import org.lamsfoundation.lams.tool.forum.persistence.MessageDao;
+import org.lamsfoundation.lams.tool.forum.persistence.MessageRating;
+import org.lamsfoundation.lams.tool.forum.persistence.MessageRatingDAO;
import org.lamsfoundation.lams.tool.forum.persistence.MessageSeq;
import org.lamsfoundation.lams.tool.forum.persistence.MessageSeqDao;
import org.lamsfoundation.lams.tool.forum.persistence.PersistenceException;
@@ -132,6 +135,8 @@
private TimestampDao timestampDao;
private MessageSeqDao messageSeqDao;
+
+ private MessageRatingDAO messageRatingDao;
private ForumUserDao forumUserDao;
@@ -588,7 +593,29 @@
currentUser.setSessionFinished(true);
forumUserDao.save(currentUser);
}
+
+ public AverageRatingDTO rateMessage(Long messageId, Long userId, Long toolSessionID, float rating) {
+ ForumUser imageGalleryUser = getUserByUserAndSession(userId, toolSessionID);
+ MessageRating messageRating = messageRatingDao.getRatingByMessageAndUser(messageId, userId);
+ Message message = messageDao.getById(messageId);
+ //persist MessageRating changes in DB
+ if (messageRating == null) { // add
+ messageRating = new MessageRating();
+ messageRating.setUser(imageGalleryUser);
+ messageRating.setMessage(message);
+ }
+ messageRating.setRating(rating);
+ messageRatingDao.saveObject(messageRating);
+
+ //to make available new changes be visible in jsp page
+ return messageRatingDao.getAverageRatingDTOByMessage(messageId);
+ }
+
+ public AverageRatingDTO getAverageRatingDTOByMessage(Long messageId) {
+ return messageRatingDao.getAverageRatingDTOByMessage(messageId);
+ }
+
// ***************************************************************************************************************
// Private methods
// ***************************************************************************************************************
@@ -599,13 +626,23 @@
private List getSortedMessageDTO(SortedMap map) {
Iterator iter;
MessageSeq msgSeq;
+ Message message;
List msgDtoList = new ArrayList();
iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Entry) iter.next();
msgSeq = (MessageSeq) entry.getKey();
- MessageDTO dto = MessageDTO.getMessageDTO((Message) entry.getValue());
+ message = (Message) entry.getValue();
+ MessageDTO dto = MessageDTO.getMessageDTO(message);
dto.setLevel(msgSeq.getMessageLevel());
+
+ //set averageRating
+ if (message.getForum().isAllowRateMessages()) {
+ AverageRatingDTO averageRating = getAverageRatingDTOByMessage(message.getUid());
+ dto.setAverageRating(averageRating.getRating());
+ dto.setNumberOfVotes(averageRating.getNumberOfVotes());
+ }
+
msgDtoList.add(dto);
}
return msgDtoList;
@@ -1038,6 +1075,7 @@
toolContentObj.setAllowNewTopic(Boolean.TRUE);
toolContentObj.setAllowRichEditor(Boolean.FALSE);
toolContentObj.setAllowUpload(Boolean.TRUE); // this is the default value
+ toolContentObj.setAllowRateMessages(Boolean.FALSE); // this is the default value
toolContentObj.setContentId(toolContentId);
toolContentObj.setContentInUse(Boolean.FALSE);
toolContentObj.setCreated(now);
@@ -1230,7 +1268,15 @@
public void setMessageSeqDao(MessageSeqDao messageSeqDao) {
this.messageSeqDao = messageSeqDao;
}
+
+ public MessageRatingDAO getMessageRatingDao() {
+ return messageRatingDao;
+ }
+ public void setMessageRatingDao(MessageRatingDAO messageRatingDao) {
+ this.messageRatingDao = messageRatingDao;
+ }
+
public ForumToolSessionDao getForumToolSessionDao() {
return forumToolSessionDao;
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java,v
diff -u -r1.48 -r1.49
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java 10 Feb 2011 22:38:02 -0000 1.48
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/service/IForumService.java 4 Mar 2011 13:50:04 -0000 1.49
@@ -31,6 +31,7 @@
import org.apache.struts.upload.FormFile;
import org.lamsfoundation.lams.events.IEventNotificationService;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.forum.dto.MessageDTO;
import org.lamsfoundation.lams.tool.forum.persistence.Attachment;
import org.lamsfoundation.lams.tool.forum.persistence.Forum;
@@ -441,4 +442,9 @@
* @return
*/
boolean isGroupedActivity(long toolContentID);
+
+ AverageRatingDTO rateMessage(Long messageId, Long userId, Long toolSessionID, float rating);
+
+ AverageRatingDTO getAverageRatingDTOByMessage(Long responseId);
+
}
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java,v
diff -u -r1.55 -r1.56
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java 19 Nov 2010 19:08:31 -0000 1.55
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/util/ForumConstants.java 4 Mar 2011 13:50:04 -0000 1.56
@@ -76,6 +76,8 @@
public static final String ATTR_ALLOW_NEW_TOPICS = "allowNewTopics";
public static final String ATTR_ALLOW_RICH_EDITOR = "allowRichEditor";
+
+ public static final String ATTR_ALLOW_RATE_MESSAGES = "allowRateMessages";
public static final String ATTR_LIMITED_CHARS = "limitedChars";
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java,v
diff -u -r1.69 -r1.70
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 6 Feb 2011 11:26:03 -0000 1.69
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/LearningAction.java 4 Mar 2011 13:50:04 -0000 1.70
@@ -47,13 +47,16 @@
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.events.IEventNotificationService;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants;
import org.lamsfoundation.lams.tool.ToolAccessMode;
import org.lamsfoundation.lams.tool.ToolSessionManager;
import org.lamsfoundation.lams.tool.exception.DataMissingException;
import org.lamsfoundation.lams.tool.exception.ToolException;
+import org.lamsfoundation.lams.tool.forum.dto.AverageRatingDTO;
import org.lamsfoundation.lams.tool.forum.dto.MessageDTO;
import org.lamsfoundation.lams.tool.forum.persistence.Attachment;
import org.lamsfoundation.lams.tool.forum.persistence.Forum;
@@ -126,7 +129,10 @@
if (param.equals("updateMessageHideFlag")) {
return updateMessageHideFlag(mapping, form, request, response);
}
-
+ if (param.equals("rateMessage")) {
+ return rateMessage(mapping, form, request, response);
+ }
+
// ================ Reflection =======================
if (param.equals("newReflection")) {
return newReflection(mapping, form, request, response);
@@ -206,6 +212,7 @@
sessionMap.put(ForumConstants.ATTR_USER_FINISHED, forumUser.isSessionFinished());
sessionMap.put(ForumConstants.ATTR_ALLOW_EDIT, forum.isAllowEdit());
sessionMap.put(ForumConstants.ATTR_ALLOW_UPLOAD, forum.isAllowUpload());
+ sessionMap.put(ForumConstants.ATTR_ALLOW_RATE_MESSAGES, forum.isAllowRateMessages());
sessionMap.put(ForumConstants.ATTR_ALLOW_NEW_TOPICS, forum.isAllowNewTopic());
sessionMap.put(ForumConstants.ATTR_ALLOW_RICH_EDITOR, allowRichEditor);
sessionMap.put(ForumConstants.ATTR_LIMITED_CHARS, new Integer(allowNumber));
@@ -884,7 +891,41 @@
return mapping.findForward("success");
}
+
+ /**
+ * Rates postings submitted by other learners.
+ *
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ * @throws JSONException
+ * @throws IOException
+ * @throws ServletException
+ * @throws ToolException
+ */
+ public ActionForward rateMessage(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response) throws JSONException, IOException {
+ forumService = getForumManager();
+
+ 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 = forumService.rateMessage(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;
+ }
+
// ==========================================================================================
// Utility methods
// ==========================================================================================
Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/forms/ForumForm.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/forms/ForumForm.java,v
diff -u -r1.17 -r1.18
--- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/forms/ForumForm.java 17 Sep 2006 06:22:30 -0000 1.17
+++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/forms/ForumForm.java 4 Mar 2011 13:50:04 -0000 1.18
@@ -118,6 +118,7 @@
forum.setLockWhenFinished(false);
forum.setAllowNewTopic(false);
forum.setAllowUpload(false);
+ forum.setAllowRateMessages(false);
forum.setReflectOnActivity(false);
}
//-------------------------get/set methods----------------
Index: lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/WEB-INF/struts/Attic/tiles-defs.xml,v
diff -u -r1.33 -r1.34
--- lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml 17 Sep 2006 06:22:31 -0000 1.33
+++ lams_tool_forum/web/WEB-INF/struts/tiles-defs.xml 4 Mar 2011 13:50:04 -0000 1.34
@@ -71,10 +71,7 @@
-
-
-
-
+
Index: lams_tool_forum/web/images/bg_jRatingInfos.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/images/Attic/bg_jRatingInfos.png,v
diff -u -r1.1 -r1.2
Binary files differ
Index: lams_tool_forum/web/images/small.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/images/Attic/small.png,v
diff -u -r1.1 -r1.2
Binary files differ
Index: lams_tool_forum/web/images/stars.png
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/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_forum/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_forum/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_forum/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_forum/web/includes/javascript/jquery.js'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_forum/web/jsps/authoring/advance.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/authoring/advance.jsp,v
diff -u -r1.26 -r1.27
--- lams_tool_forum/web/jsps/authoring/advance.jsp 27 Oct 2010 17:27:35 -0000 1.26
+++ lams_tool_forum/web/jsps/authoring/advance.jsp 4 Mar 2011 13:50:04 -0000 1.27
@@ -23,6 +23,15 @@
+
+
+
+
+
+
+
+
Index: lams_tool_forum/web/jsps/learning/viewtopic.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/viewtopic.jsp,v
diff -u -r1.19 -r1.20
--- lams_tool_forum/web/jsps/learning/viewtopic.jsp 18 Mar 2010 11:30:40 -0000 1.19
+++ lams_tool_forum/web/jsps/learning/viewtopic.jsp 4 Mar 2011 13:50:04 -0000 1.20
@@ -1,92 +1,175 @@
+
+
<%@ include file="/common/taglibs.jsp"%>
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${sessionMap.title}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%@ include file="message/topicview.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
- ${sessionMap.title}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%@ include file="message/topicview.jsp"%>
-
-
-
-
+
+
+
+
+
Index: lams_tool_forum/web/jsps/learning/message/topicview.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/learning/message/topicview.jsp,v
diff -u -r1.32 -r1.33
--- lams_tool_forum/web/jsps/learning/message/topicview.jsp 16 Dec 2008 04:09:33 -0000 1.32
+++ lams_tool_forum/web/jsps/learning/message/topicview.jsp 4 Mar 2011 13:50:04 -0000 1.33
@@ -96,16 +96,26 @@
+
+
+
+ <%@ include file="/jsps/learning/rating/ratingStarsDisabled.jsp"%>
+
+
+ <%@ include file="/jsps/learning/rating/ratingStars.jsp"%>
+
+
+
-
+
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/web/jsps/learning/rating/ratingStars.jsp'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_forum/web/jsps/learning/rating/ratingStarsDisabled.jsp'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_tool_forum/web/jsps/monitoring/summary.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/monitoring/summary.jsp,v
diff -u -r1.17 -r1.18
--- lams_tool_forum/web/jsps/monitoring/summary.jsp 10 Feb 2011 22:38:02 -0000 1.17
+++ lams_tool_forum/web/jsps/monitoring/summary.jsp 4 Mar 2011 13:50:05 -0000 1.18
@@ -97,6 +97,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+