Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java,v diff -u -r1.12 -r1.13 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 8 Jul 2008 05:09:17 -0000 1.12 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java 22 Jul 2008 02:36:37 -0000 1.13 @@ -156,6 +156,11 @@ return mapping.findForward("gmap"); } + /** + * Get the current user + * @param toolSessionId + * @return + */ private GmapUser getCurrentUser(Long toolSessionId) { UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( AttributeNames.USER); @@ -223,7 +228,15 @@ return null; // TODO need to return proper page. } - + /** + * This saves any new/edited markers on the map, without finishing the activity + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws Exception + */ public ActionForward saveMarkers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -245,7 +258,6 @@ // update the marker list Gmap gmap = gmapSession.getGmap(); gmapService.updateMarkerListFromXML(learningForm.getMarkersXML(), gmap, gmapUser, false, gmapSession); - //updateMarkerListFromXML(learningForm.getMarkersXML(), gmap, gmapUser, gmapSession); } else { log.error("saveMarkers(): couldn't find GmapUser with id: " Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java,v diff -u -r1.5 -r1.6 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java 8 Jul 2008 04:41:25 -0000 1.5 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java 22 Jul 2008 02:36:37 -0000 1.6 @@ -34,10 +34,16 @@ import org.lamsfoundation.lams.tool.gmap.dto.GmapDTO; import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +import org.lamsfoundation.lams.tool.gmap.web.forms.MonitoringForm; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; /** @@ -97,4 +103,70 @@ .getServlet().getServletContext()); } } + + /** + * Allows teachers to edit/remove existing markers + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws Exception + */ + public ActionForward saveMarkers(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception + { + + MonitoringForm monitoringForm = (MonitoringForm) form; + Long toolSessionID = monitoringForm.getToolSessionID(); + //Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); + + GmapUser gmapUser = getCurrentUser(toolSessionID); + + if (gmapUser != null) { + + //MonitoringForm monitoringForm = (MonitoringForm) form; + + // Retrieve the session and content. + GmapSession gmapSession = gmapService.getSessionBySessionId(toolSessionID); + if (gmapSession == null) { + throw new GmapException("Cannot retreive session with toolSessionID"+ toolSessionID); + } + + // update the marker list + Gmap gmap = gmapSession.getGmap(); + gmapService.updateMarkerListFromXML(monitoringForm.getMarkersXML(), gmap, gmapUser, true, gmapSession); + + } else { + log.error("saveMarkers(): couldn't find GmapUser with id: " + + gmapUser.getUserId() + "and toolSessionID: " + + toolSessionID); + } + + return unspecified(mapping, form, request, response); + } + + /** + * Get the current user + * @param toolSessionId + * @return + */ + private GmapUser getCurrentUser(Long toolSessionId) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( + AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionId + GmapUser gmapUser = gmapService + .getUserByUserIdAndSessionId(new Long(user.getUserID() + .intValue()), toolSessionId); + + if (gmapUser == null) { + GmapSession gmapSession = gmapService + .getSessionBySessionId(toolSessionId); + gmapUser = gmapService.createGmapUser(user, + gmapSession); + } + + return gmapUser; + } } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java,v diff -u -r1.2 -r1.3 --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java 6 Jun 2008 00:24:20 -0000 1.2 +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java 22 Jul 2008 02:36:46 -0000 1.3 @@ -37,6 +37,9 @@ String dispatch; boolean teacherVisible; Long toolSessionID; + String markersXML; + Long toolContentID; + String contentFolderID; // editing message page. Long messageUID; @@ -79,5 +82,22 @@ public void setMessageHidden(boolean messageHidden) { this.messageHidden = messageHidden; } - + public String getMarkersXML() { + return markersXML; + } + public void setMarkersXML(String markersXML) { + this.markersXML = markersXML; + } + public Long getToolContentID() { + return toolContentID; + } + public void setToolContentID(Long toolContentID) { + this.toolContentID = toolContentID; + } + public String getContentFolderID() { + return contentFolderID; + } + public void setContentFolderID(String contentFolderID) { + this.contentFolderID = contentFolderID; + } } Index: lams_tool_gmap/web/common/learnerheader.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/common/learnerheader.jsp,v diff -u -r1.10 -r1.11 --- lams_tool_gmap/web/common/learnerheader.jsp 14 Jul 2008 04:05:24 -0000 1.10 +++ lams_tool_gmap/web/common/learnerheader.jsp 22 Jul 2008 02:37:03 -0000 1.11 @@ -46,7 +46,6 @@ var currUserId; var userMarkerCount =0; var limitMarkers = ${gmapDTO.limitMarkers}; - var markerLimit = 0; var markerLimit = ${gmapDTO.maxMarkers}; Index: lams_tool_gmap/web/pages/monitoring/headItems.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/monitoring/headItems.jsp,v diff -u -r1.6 -r1.7 --- lams_tool_gmap/web/pages/monitoring/headItems.jsp 7 Jul 2008 23:52:07 -0000 1.6 +++ lams_tool_gmap/web/pages/monitoring/headItems.jsp 22 Jul 2008 02:39:11 -0000 1.7 @@ -5,9 +5,11 @@ - <%@ include file="/includes/jsp/mapFunctions.jsp"%> +<%-- learning javascript map functions library is sufficient for monitor --%> + + - - - - - - - Index: lams_tool_gmap/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_gmap/web/pages/monitoring/summary.jsp,v diff -u -r1.10 -r1.11 --- lams_tool_gmap/web/pages/monitoring/summary.jsp 22 Jul 2008 00:39:09 -0000 1.10 +++ lams_tool_gmap/web/pages/monitoring/summary.jsp 22 Jul 2008 02:39:11 -0000 1.11 @@ -2,6 +2,7 @@ +

@@ -147,78 +148,96 @@ -
-

-
+
+

+ +
+ + + + + + + + + + + + + + + + +
+ + + +
No groups found for lesson.
+ ${session.sessionName} + + ${session.numberOfLearners} +
+
- - - - - - - - - - + + + + + + + +
+

+ +
+
- - - -
No groups found for lesson.
+ + + - - -
+
+ +
+
+
+
- ${session.sessionName} + + + - ${session.numberOfLearners} -
-
+ + + + +
+ " /> + +
+ + +
+ + button.save + +
+ -
-

- -
- - - - - - - -
-
- -
-
-
-
- - -
- - - - -
- " /> - -
- -
- +