Index: lams_tool_zoom/.classpath =================================================================== diff -u -r4a35d56f0a434034b6e650ad6b2cabf9a309714f -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/.classpath (.../.classpath) (revision 4a35d56f0a434034b6e650ad6b2cabf9a309714f) +++ lams_tool_zoom/.classpath (.../.classpath) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -2,8 +2,7 @@ - - + @@ -26,5 +25,6 @@ + Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20180917.sql =================================================================== diff -u --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20180917.sql (revision 0) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/dbupdates/patch20180917.sql (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -0,0 +1,23 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +----------------------Put all sql statements below here------------------------- + +-- LDEV-4440 Change tool access URLs after migration to Spring MVC +UPDATE lams_tool SET + author_url = 'tool/lazoom10/authoring/start.do', + learner_url = 'tool/lazoom10/learning/start.do?mode=learner', + learner_preview_url = 'tool/lazoom10/learning/start.do?mode=author', + learner_progress_url = 'tool/lazoom10/learning/start.do?mode=teacher', + monitor_url = 'tool/lazoom10/monitoring/start.do', + admin_url = 'tool/lazoom10/admin/start.do' +WHERE tool_signature = 'lazoom10'; + +UPDATE lams_tool SET tool_version='20180917' WHERE tool_signature='lazoom10'; + +----------------------Put all sql statements above here------------------------- + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomConstants.java =================================================================== diff -u -reeaae70bac24a36a5f05a5d56638df29c1a495c5 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomConstants.java (.../ZoomConstants.java) (revision eeaae70bac24a36a5f05a5d56638df29c1a495c5) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomConstants.java (.../ZoomConstants.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -51,7 +51,7 @@ // Tool signature public static final String TOOL_SIGNATURE = "lazoom10"; public static final String TOOL_CONTRIBUTE_URL = "tool/" + TOOL_SIGNATURE - + "/monitoring.do?dispatch=startMeeting&toolContentID="; + + "/monitoring/startMeeting.do?toolContentID="; public static final long JWT_EXPIRATION_MILISECONDS = 5000; public static final String ZOOM_API_URL = "https://api.zoom.us/v2/"; Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomUtil.java =================================================================== diff -u -r266434d5ec15cc4026c93a740c3110c046b1d88a -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomUtil.java (.../ZoomUtil.java) (revision 266434d5ec15cc4026c93a740c3110c046b1d88a) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/util/ZoomUtil.java (.../ZoomUtil.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -27,35 +27,36 @@ import javax.servlet.http.HttpServletRequest; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.tool.zoom.model.Zoom; import org.lamsfoundation.lams.tool.zoom.service.IZoomService; +import org.lamsfoundation.lams.util.MessageService; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; public class ZoomUtil { /** * Creates and starts a Zoom meeting */ - public static ActionErrors startMeeting(IZoomService zoomService, Zoom zoom, HttpServletRequest request) - throws IOException { - ActionErrors errors = new ActionErrors(); + public static MultiValueMap startMeeting(IZoomService zoomService, MessageService messageService, + Zoom zoom, HttpServletRequest request) throws IOException { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); + String meetingURL = zoom.getMeetingStartUrl(); if (meetingURL == null) { Boolean apiOK = zoomService.chooseApi(zoom.getUid()); if (apiOK == null) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.api.none.configured")); + errorMap.add("GLOBAL", messageService.getMessage("error.api.none.configured")); request.setAttribute("skipContent", true); } else { if (!apiOK) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.api.reuse")); + errorMap.add("GLOBAL", messageService.getMessage("error.api.reuse")); } meetingURL = zoomService.createMeeting(zoom.getUid()); } } request.setAttribute(ZoomConstants.ATTR_MEETING_URL, meetingURL); - return errors; + return errorMap; } } \ No newline at end of file Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AdminController.java =================================================================== diff -u -r6a6275134085f309616b1514c4315beaa9988690 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AdminController.java (.../AdminController.java) (revision 6a6275134085f309616b1514c4315beaa9988690) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AdminController.java (.../AdminController.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -27,53 +27,49 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.apache.struts.actions.DispatchAction; import org.lamsfoundation.lams.tool.zoom.model.ZoomApi; import org.lamsfoundation.lams.tool.zoom.service.IZoomService; -import org.lamsfoundation.lams.tool.zoom.service.ZoomServiceProxy; import org.lamsfoundation.lams.util.JsonUtil; +import org.lamsfoundation.lams.util.MessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.RequestMapping; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; -public class AdminController extends DispatchAction { +@Controller +@RequestMapping("/admin") +public class AdminController { + private static final Logger logger = Logger.getLogger(AdminController.class); + @Autowired + @Qualifier("zoomService") private IZoomService zoomService; - private static final Logger logger = Logger.getLogger(AdminController.class); + @Autowired + @Qualifier("zoomMessageService") + private MessageService messageService; - @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { - // set up zoomService - zoomService = ZoomServiceProxy.getZoomService(this.getServlet().getServletContext()); - return super.execute(mapping, form, request, response); - } - - @Override - public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @RequestMapping("/start") + public String start(HttpServletRequest request) throws Exception { List apis = zoomService.getApis(); ArrayNode apisJSON = JsonNodeFactory.instance.arrayNode(); for (ZoomApi api : apis) { apisJSON.add(api.toJSON()); } request.setAttribute("apis", apisJSON); - return mapping.findForward("success"); + return "pages/admin/view"; } - public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @RequestMapping("/save") + public String save(HttpServletRequest request) throws Exception { String apisJSONString = request.getParameter("apisJSON"); ArrayNode apisJSON = JsonUtil.readArray(apisJSONString); List apis = new LinkedList(); @@ -88,17 +84,17 @@ logger.debug("Saved " + apis.size() + " Zoom APIs"); } - ActionErrors errors = new ActionErrors(); + MultiValueMap errorMap = new LinkedMultiValueMap<>(); apis = zoomService.getApis(); for (ZoomApi api : apis) { if (!zoomService.pingZoomApi(api.getUid())) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.api.ping", api.getEmail())); + errorMap.add("GLOBAL", messageService.getMessage("error.api.ping", new Object[] { api.getEmail() })); } } - if (!errors.isEmpty()) { - this.addErrors(request, errors); + if (!errorMap.isEmpty()) { + request.setAttribute("errorMap", errorMap); } - return unspecified(mapping, form, request, response); + return start(request); } } \ No newline at end of file Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AuthoringController.java =================================================================== diff -u -r6a6275134085f309616b1514c4315beaa9988690 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 6a6275134085f309616b1514c4315beaa9988690) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/AuthoringController.java (.../AuthoringController.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -31,49 +31,40 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.apache.struts.actions.DispatchAction; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.zoom.model.Zoom; import org.lamsfoundation.lams.tool.zoom.service.IZoomService; -import org.lamsfoundation.lams.tool.zoom.service.ZoomServiceProxy; import org.lamsfoundation.lams.tool.zoom.util.ZoomConstants; import org.lamsfoundation.lams.tool.zoom.web.forms.AuthoringForm; import org.lamsfoundation.lams.util.CommonConstants; +import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; -public class AuthoringController extends DispatchAction { +@Controller +@RequestMapping("/authoring") +public class AuthoringController { + @Autowired + @Qualifier("zoomService") private IZoomService zoomService; - @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @Autowired + @Qualifier("zoomMessageService") + private MessageService messageService; - // set up zoomService - zoomService = ZoomServiceProxy.getZoomService(this.getServlet().getServletContext()); + @RequestMapping("/start") + public String start(@ModelAttribute AuthoringForm authoringForm, HttpServletRequest request) + throws ServletException { - return super.execute(mapping, form, request, response); - } - - /** - * Default method when no dispatch parameter is specified. It is expected that the parameter - * toolContentID will be passed in. This will be used to retrieve content for this tool. - * - * @throws ServletException - * - */ - @Override - protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws ServletException { - // Extract toolContentID from parameters. Long toolContentID = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); @@ -101,38 +92,37 @@ } // Set up the authForm. - AuthoringForm authForm = (AuthoringForm) form; - copyProperties(authForm, zoom); + copyProperties(authoringForm, zoom); // Set up sessionMap SessionMap map = createSessionMap(zoom, mode, contentFolderID, toolContentID); - authForm.setSessionMapID(map.getSessionID()); + authoringForm.setSessionMapID(map.getSessionID()); // add the sessionMap to HTTPSession. request.getSession().setAttribute(map.getSessionID(), map); request.setAttribute(ZoomConstants.ATTR_SESSION_MAP, map); if (zoomService.getApis().isEmpty()) { - ActionErrors errors = new ActionErrors(); - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.api.none.configured")); - this.addErrors(request, errors); + MultiValueMap errorMap = new LinkedMultiValueMap<>(1); + errorMap.add("GLOBAL", messageService.getMessage("error.api.none.configured")); + request.setAttribute("errorMap", errorMap); } - return mapping.findForward("success"); + return "pages/authoring/authoring"; } - public ActionForward updateContent(ActionMapping mapping, ActionForm form, HttpServletRequest request, + @RequestMapping("/updateContent") + public String updateContent(@ModelAttribute AuthoringForm authoringForm, HttpServletRequest request, HttpServletResponse response) { // get authForm and session map. - AuthoringForm authForm = (AuthoringForm) form; - SessionMap map = getSessionMap(request, authForm); + SessionMap map = getSessionMap(request, authoringForm); // get zoom content. Zoom zoom = zoomService.getZoomByContentId((Long) map.get(ZoomConstants.KEY_TOOL_CONTENT_ID)); // update zoom content using form inputs - copyProperties(zoom, authForm); + copyProperties(zoom, authoringForm); // set the update date zoom.setUpdateDate(new Date()); @@ -144,11 +134,11 @@ request.setAttribute(CommonConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE); // add the sessionMapID to form - authForm.setSessionMapID(map.getSessionID()); + authoringForm.setSessionMapID(map.getSessionID()); request.setAttribute(ZoomConstants.ATTR_SESSION_MAP, map); - return mapping.findForward("success"); + return "pages/authoring/authoring"; } /* ========== Private Methods */ Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/ClearSessionController.java =================================================================== diff -u -r6a6275134085f309616b1514c4315beaa9988690 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/ClearSessionController.java (.../ClearSessionController.java) (revision 6a6275134085f309616b1514c4315beaa9988690) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/ClearSessionController.java (.../ClearSessionController.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -23,29 +23,38 @@ package org.lamsfoundation.lams.tool.zoom.web.controller; +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.lamsfoundation.lams.tool.ToolAccessMode; -import org.lamsfoundation.lams.web.action.LamsAuthoringFinishAction; +import org.lamsfoundation.lams.web.controller.LamsAuthoringFinishController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.WebApplicationContext; /** * This class give a chance to clear HttpSession when user save/close authoring page. * * @author Steve.Ni - * - * - * - * - * - * @version $Revision$ */ -public class ClearSessionController extends LamsAuthoringFinishAction { +@Controller +public class ClearSessionController extends LamsAuthoringFinishController { + @Autowired + private WebApplicationContext applicationContext; + @RequestMapping("/clearsession") + public void execute(HttpServletRequest request, HttpServletResponse response) throws IOException { + super.execute(request, response, applicationContext); + } + @Override public void clearSession(String customiseSessionID, HttpSession session, ToolAccessMode mode) { if (mode.isAuthor()) { session.removeAttribute(customiseSessionID); } } - } Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/LearningController.java =================================================================== diff -u -r6a6275134085f309616b1514c4315beaa9988690 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/LearningController.java (.../LearningController.java) (revision 6a6275134085f309616b1514c4315beaa9988690) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/LearningController.java (.../LearningController.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -30,11 +30,6 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.actions.DispatchAction; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -46,41 +41,47 @@ import org.lamsfoundation.lams.tool.zoom.model.ZoomSession; import org.lamsfoundation.lams.tool.zoom.model.ZoomUser; import org.lamsfoundation.lams.tool.zoom.service.IZoomService; -import org.lamsfoundation.lams.tool.zoom.service.ZoomServiceProxy; import org.lamsfoundation.lams.tool.zoom.util.ZoomConstants; import org.lamsfoundation.lams.tool.zoom.util.ZoomUtil; import org.lamsfoundation.lams.tool.zoom.web.forms.LearningForm; +import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.WebApplicationContext; -public class LearningController extends DispatchAction { +@Controller +@RequestMapping("/learning") +public class LearningController { private static final Logger logger = Logger.getLogger(LearningController.class); + @Autowired + @Qualifier("zoomService") private IZoomService zoomService; - @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @Autowired + @Qualifier("zoomMessageService") + private MessageService messageService; - // set up zoomService - zoomService = ZoomServiceProxy.getZoomService(this.getServlet().getServletContext()); + @Autowired + private WebApplicationContext applicationContext; - return super.execute(mapping, form, request, response); - } + @RequestMapping("finishActivity") + public String finishActivity(@ModelAttribute LearningForm learningForm, HttpServletRequest request) + throws IOException { - public ActionForward finishActivity(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws IOException { - Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); ZoomUser user = getCurrentUser(toolSessionID); if (user != null) { - - LearningForm learningForm = (LearningForm) form; - if (user.getNotebookEntryUID() == null) { user.setNotebookEntryUID(zoomService.createNotebookEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, ZoomConstants.TOOL_SIGNATURE, user.getUserId().intValue(), @@ -96,12 +97,10 @@ logger.error("finishActivity(): couldn't find/create ZoomUser in toolSessionID: " + toolSessionID); } - ToolSessionManager sessionMgrService = ZoomServiceProxy.getZoomSessionManager(getServlet().getServletContext()); + ToolSessionManager sessionMgrService = (ToolSessionManager) zoomService; String nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, user.getUserId().longValue()); - response.sendRedirect(nextActivityUrl); - - return null; + return "redirect:" + nextActivityUrl; } private ZoomUser getCurrentUser(Long toolSessionId) { @@ -119,38 +118,35 @@ return user; } - public ActionForward openNotebook(ActionMapping mapping, ActionForm form, HttpServletRequest request, + @RequestMapping("/openNotebook") + public String openNotebook(@ModelAttribute LearningForm learningForm, HttpServletRequest request, HttpServletResponse response) throws Exception { - LearningForm lrnForm = (LearningForm) form; - // set the finished flag - ZoomUser user = getCurrentUser(lrnForm.getToolSessionID()); + ZoomUser user = getCurrentUser(learningForm.getToolSessionID()); ContentDTO contentDTO = new ContentDTO(user.getZoomSession().getZoom()); request.setAttribute(ZoomConstants.ATTR_CONTENT_DTO, contentDTO); NotebookEntry notebookEntry = zoomService.getNotebookEntry(user.getNotebookEntryUID()); if (notebookEntry != null) { - lrnForm.setEntryText(notebookEntry.getEntry()); + learningForm.setEntryText(notebookEntry.getEntry()); } - WebUtil.putActivityPositionInRequestByToolSessionId(lrnForm.getToolSessionID(), request, - getServlet().getServletContext()); + WebUtil.putActivityPositionInRequestByToolSessionId(learningForm.getToolSessionID(), request, + applicationContext.getServletContext()); - return mapping.findForward("notebook"); + return "pages/learning/notebook"; } - public ActionForward submitReflection(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws IOException { + @RequestMapping("submitReflection") + public String submitReflection(@ModelAttribute LearningForm learningForm, HttpServletRequest request) + throws IOException { // save the reflection entry and call the notebook. - - LearningForm lrnForm = (LearningForm) form; - - ZoomUser user = getCurrentUser(lrnForm.getToolSessionID()); + ZoomUser user = getCurrentUser(learningForm.getToolSessionID()); Long toolSessionID = user.getZoomSession().getSessionId(); Integer userID = user.getUserId().intValue(); @@ -160,25 +156,21 @@ if (entry == null) { // create new entry Long entryUID = zoomService.createNotebookEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, - ZoomConstants.TOOL_SIGNATURE, userID, lrnForm.getEntryText()); + ZoomConstants.TOOL_SIGNATURE, userID, learningForm.getEntryText()); user.setNotebookEntryUID(entryUID); zoomService.saveOrUpdateZoomUser(user); } else { // update existing entry - entry.setEntry(lrnForm.getEntryText()); + entry.setEntry(learningForm.getEntryText()); entry.setLastModified(new Date()); zoomService.updateNotebookEntry(entry); } - return finishActivity(mapping, form, request, response); + return finishActivity(learningForm, request); } - @Override - public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { - - LearningForm learningForm = (LearningForm) form; - + @RequestMapping("/start") + public String start(@ModelAttribute LearningForm learningForm, HttpServletRequest request) throws Exception { // 'toolSessionID' and 'mode' parameters are expected to be present. ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, false); @@ -209,7 +201,8 @@ zoomService.saveOrUpdateZoom(zoom); } - WebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, getServlet().getServletContext()); + WebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, + applicationContext.getServletContext()); ZoomUser user; if (mode.equals(ToolAccessMode.TEACHER)) { @@ -231,9 +224,9 @@ if (mode.isAuthor() || !zoom.isStartInMonitor()) { // start a meeting just like a monitor would - ActionErrors errors = ZoomUtil.startMeeting(zoomService, zoom, request); - if (!errors.isEmpty()) { - this.addErrors(request, errors); + MultiValueMap errorMap = ZoomUtil.startMeeting(zoomService, messageService, zoom, request); + if (!errorMap.isEmpty()) { + request.setAttribute("errorMap", errorMap); } } if (!mode.isAuthor()) { @@ -246,6 +239,6 @@ request.setAttribute(ZoomConstants.ATTR_MEETING_URL, meetingURL); } - return mapping.findForward("zoom"); + return "pages/learning/learning"; } } Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/MonitoringController.java =================================================================== diff -u -r6a6275134085f309616b1514c4315beaa9988690 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 6a6275134085f309616b1514c4315beaa9988690) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/controller/MonitoringController.java (.../MonitoringController.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -24,47 +24,43 @@ package org.lamsfoundation.lams.tool.zoom.web.controller; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.actions.DispatchAction; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.zoom.dto.ContentDTO; -import org.lamsfoundation.lams.tool.zoom.dto.NotebookEntryDTO;//import org.lamsfoundation.lams.tool.zoom.dto.UserDTO; +import org.lamsfoundation.lams.tool.zoom.dto.NotebookEntryDTO; import org.lamsfoundation.lams.tool.zoom.dto.ZoomUserDTO; import org.lamsfoundation.lams.tool.zoom.model.Zoom; import org.lamsfoundation.lams.tool.zoom.model.ZoomUser; import org.lamsfoundation.lams.tool.zoom.service.IZoomService; -import org.lamsfoundation.lams.tool.zoom.service.ZoomServiceProxy; import org.lamsfoundation.lams.tool.zoom.util.ZoomConstants; import org.lamsfoundation.lams.tool.zoom.util.ZoomUtil; +import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.RequestMapping; -public class MonitoringController extends DispatchAction { +@Controller +@RequestMapping("/monitoring") +public class MonitoringController { private static final Logger logger = Logger.getLogger(MonitoringController.class); + @Autowired + @Qualifier("zoomService") private IZoomService zoomService; - @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @Autowired + @Qualifier("zoomMessageService") + private MessageService messageService; - // set up zoomService - zoomService = ZoomServiceProxy.getZoomService(this.getServlet().getServletContext()); + @RequestMapping("/start") + public String start(HttpServletRequest request) { - return super.execute(mapping, form, request, response); - } - - @Override - public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - Long toolContentID = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); @@ -84,11 +80,11 @@ request.setAttribute(ZoomConstants.ATTR_CONTENT_DTO, contentDTO); request.setAttribute(ZoomConstants.ATTR_CONTENT_FOLDER_ID, contentFolderID); - return mapping.findForward("success"); + return "pages/monitoring/monitoring"; } - public ActionForward openNotebook(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { + @RequestMapping("/openNotebook") + public String openNotebook(HttpServletRequest request) { Long uid = new Long(WebUtil.readLongParam(request, ZoomConstants.PARAM_USER_UID)); ZoomUser user = zoomService.getUserByUID(uid); @@ -99,11 +95,11 @@ request.setAttribute(ZoomConstants.ATTR_USER_DTO, userDTO); - return mapping.findForward("notebook"); + return "pages/monitoring/notebook"; } - public ActionForward startMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws Exception { + @RequestMapping("/startMeeting") + public String startMeeting(HttpServletRequest request) throws Exception { Long toolContentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID, false); Zoom zoom = zoomService.getZoomByContentId(toolContentID); @@ -112,11 +108,11 @@ contentDTO.setInstructions(zoom.getInstructions()); request.setAttribute(ZoomConstants.ATTR_CONTENT_DTO, contentDTO); - ActionErrors errors = ZoomUtil.startMeeting(zoomService, zoom, request); - if (!errors.isEmpty()) { - this.addErrors(request, errors); + MultiValueMap errorMap = ZoomUtil.startMeeting(zoomService, messageService, zoom, request); + if (!errorMap.isEmpty()) { + request.setAttribute("errorMap", errorMap); } - return mapping.findForward("learning"); + return "pages/learning/learning"; } } Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java =================================================================== diff -u -r6c62e5beb70cd0b72dcec44eaf80ba489a442fb4 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 6c62e5beb70cd0b72dcec44eaf80ba489a442fb4) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -23,21 +23,12 @@ package org.lamsfoundation.lams.tool.zoom.web.forms; -import javax.servlet.http.HttpServletRequest; - -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.web.util.SessionMap; /** * */ -public class AuthoringForm extends ActionForm { - private static final long serialVersionUID = 3950453134542135495L; - +public class AuthoringForm { // Fields private String title; @@ -60,14 +51,6 @@ private SessionMap sessionMap; - @Override - public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) { - ActionErrors ac = new ActionErrors(); - ac.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("this is an error")); - - return ac; - } - public String getSessionMapID() { return sessionMapID; } Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/LearningForm.java =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/LearningForm.java (.../LearningForm.java) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/LearningForm.java (.../LearningForm.java) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -23,24 +23,12 @@ package org.lamsfoundation.lams.tool.zoom.web.forms; -import org.apache.struts.action.ActionForm; +public class LearningForm { -/** - * - * @author Ernie Ghiglione - * - * - */ -public class LearningForm extends ActionForm { - - private static final long serialVersionUID = -4728946254882237144L; - private String title; private String instructions; - private String dispatch; - private Long toolSessionID; private String mode; @@ -55,14 +43,6 @@ this.mode = mode; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public Long getToolSessionID() { return toolSessionID; } Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/web/forms/MonitoringForm.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/zoomApplicationContext.xml =================================================================== diff -u -r1705f1092adfc371069c59f40381acab66ed8c34 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/zoomApplicationContext.xml (.../zoomApplicationContext.xml) (revision 1705f1092adfc371069c59f40381acab66ed8c34) +++ lams_tool_zoom/src/java/org/lamsfoundation/lams/tool/zoom/zoomApplicationContext.xml (.../zoomApplicationContext.xml) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -5,11 +5,14 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> - - - - - + + + + org.lamsfoundation.lams.tool.zoom.ApplicationResources + + + + Index: lams_tool_zoom/web/WEB-INF/spring-servlet.xml =================================================================== diff -u --- lams_tool_zoom/web/WEB-INF/spring-servlet.xml (revision 0) +++ lams_tool_zoom/web/WEB-INF/spring-servlet.xml (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -0,0 +1,17 @@ + + + + + + + + + + + \ No newline at end of file Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/struts-config.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -32,7 +32,7 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ attribute name="formID" required="true" rtexprvalue="true" %> @@ -123,11 +123,11 @@ } \ No newline at end of file Index: lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag (.../AuthoringRatingAllStyleCriteria.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag (.../AuthoringRatingAllStyleCriteria.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -8,7 +8,7 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingCriteria.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingCriteria.tag (.../AuthoringRatingCriteria.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/AuthoringRatingCriteria.tag (.../AuthoringRatingCriteria.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -8,7 +8,7 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> @@ -284,42 +284,42 @@ - - + + - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + - - + + - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + Index: lams_tool_zoom/web/WEB-INF/tags/CommentsAuthor.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/CommentsAuthor.tag (.../CommentsAuthor.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/CommentsAuthor.tag (.../CommentsAuthor.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,5 +1,5 @@ <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-lams" prefix="lams"%> @@ -42,23 +42,23 @@
-     -   +     +  
Index: lams_tool_zoom/web/WEB-INF/tags/OutcomeAuthor.tag =================================================================== diff -u -rb67bc25f161fa3bf350e4c89696c24620674c8ef -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/OutcomeAuthor.tag (.../OutcomeAuthor.tag) (revision b67bc25f161fa3bf350e4c89696c24620674c8ef) +++ lams_tool_zoom/web/WEB-INF/tags/OutcomeAuthor.tag (.../OutcomeAuthor.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -8,7 +8,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> @@ -54,7 +53,7 @@ $(document).ready(function(){ $('#outcomeSearchInput${outcomeTagId}').autocomplete({ - 'source' : "outcome.do?method=outcomeSearch&organisationIds=${organisations}", + 'source' : "outcome/outcomeSearch.do?organisationIds=${organisations}", 'delay' : 700, 'minLength' : 2, 'response' : function(event, ui) { @@ -69,9 +68,8 @@ 'select' : function(event, ui){ var input = $(this); $.ajax({ - 'url' : 'outcome.do', + 'url' : 'outcome/outcomeMap', 'data': $.extend({ - 'method' : 'outcomeMap', 'outcomeId' : ui.item.value }, outcomeData${outcomeTagId}), 'method' : 'post', @@ -95,10 +93,8 @@ */ function refreshOutcomeMappings(outcomeTagId) { $.ajax({ - 'url' : 'outcome.do', - 'data' : $.extend({ - 'method' : 'outcomeGetMappings' - }, outcomeData${outcomeTagId}), + 'url' : 'outcome/outcomeGetMappings.do', + 'data' : outcomeData${outcomeTagId}, 'cache' : false, 'dataType' : 'json', 'success' : function(outcomeMappings) { @@ -130,9 +126,8 @@ */ function removeOutcomeMapping(button) { $.ajax({ - 'url' : 'outcome.do', + 'url' : 'outcome/outcomeRemoveMapping.do', 'data': { - 'method' : 'outcomeRemoveMapping', 'mappingId' : $(button).attr('mappingId') }, 'cache' : false, Index: lams_tool_zoom/web/WEB-INF/tags/Page.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -4,6 +4,7 @@ <%@ taglib uri="tags-lams" prefix="lams"%> <%@ attribute name="type" required="true" rtexprvalue="true"%> +<%@ attribute name="formID" required="false" rtexprvalue="true"%> <%@ attribute name="style" required="false" rtexprvalue="true"%> <%@ attribute name="title" required="false" rtexprvalue="true"%> <%@ attribute name="titleHelpURL" required="false" rtexprvalue="true"%> @@ -88,8 +89,8 @@ - - + + ${toolForm.toolSessionID} @@ -137,12 +138,12 @@ function restartLesson(){ if (confirm(restartLessonConfirmation)) { - window.location.href = LEARNING_URL + 'learner.do?method=restartLesson&lessonID=' + lessonId; + window.location.href = LEARNING_URL + 'learner/restartLesson.do?lessonID=' + lessonId; } } function viewNotebookEntries(){ - openPopUp(LEARNING_URL + "notebook.do?method=viewAll&lessonID=" + lessonId, + openPopUp(LEARNING_URL + "notebook/viewAll.do?lessonID=" + lessonId, "Notebook", 648,1152, "no"); @@ -244,9 +245,8 @@ if ( lessonId != "" || toolSessionId != "" ) { $.ajax({ - url : LEARNING_URL + 'learner.do', + url : LEARNING_URL + 'learner/getLessonDetails.do', data : { - 'method' : 'getLessonDetails', 'lessonID' : lessonId, 'toolSessionID' : toolSessionId, }, Index: lams_tool_zoom/web/WEB-INF/tags/Rating.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/Rating.tag (.../Rating.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/Rating.tag (.../Rating.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -8,7 +8,7 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_zoom/web/WEB-INF/tags/StyledRating.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/StyledRating.tag (.../StyledRating.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/StyledRating.tag (.../StyledRating.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -8,7 +8,7 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_zoom/web/WEB-INF/tags/TabBody.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/TabBody.tag (.../TabBody.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/TabBody.tag (.../TabBody.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -34,7 +34,6 @@ <%@ attribute name="titleKey" required="false" rtexprvalue="true"%> <%@ attribute name="page" required="false" rtexprvalue="true"%> <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-bean" prefix="bean"%> Index: lams_tool_zoom/web/WEB-INF/tags/TabBodyArea.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/TabBodyArea.tag (.../TabBodyArea.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/TabBodyArea.tag (.../TabBodyArea.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -30,7 +30,6 @@ %> <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-bean" prefix="bean"%>
Index: lams_tool_zoom/web/WEB-INF/tags/TextSearch.tag =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tags/TextSearch.tag (.../TextSearch.tag) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/WEB-INF/tags/TextSearch.tag (.../TextSearch.tag) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -32,12 +32,11 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="tags-lams" prefix="lams" %> <%-- Required attributes --%> <%@ attribute name="sessionMapID" required="true" rtexprvalue="true" %> -<%@ attribute name="wrapInFormTag" required="true" rtexprvalue="true" %> <%-- Optional attributes --%> <%@ attribute name="action" required="false" rtexprvalue="true" %> @@ -53,10 +52,10 @@ <%-- Default value for message key --%> - + - + @@ -85,52 +84,40 @@ - -
- - -

- - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
- - - - - - - - - + +

+ + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
\ No newline at end of file Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tiles-defs.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/WEB-INF/tlds/lams/lams.tld =================================================================== diff -u -rb67bc25f161fa3bf350e4c89696c24620674c8ef -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision b67bc25f161fa3bf350e4c89696c24620674c8ef) +++ lams_tool_zoom/web/WEB-INF/tlds/lams/lams.tld (.../lams.tld) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -211,192 +211,6 @@ - - - STRUTS-textarea - org.lamsfoundation.lams.web.tag.MultiLinesTextareaTag - empty - - accesskey - false - true - - - alt - false - true - - - altKey - false - true - - - bundle - false - true - - - cols - false - true - - - disabled - false - true - - - errorKey - false - true - - - errorStyle - false - true - - - errorStyleClass - false - true - - - errorStyleId - false - true - - - index - false - true - - - indexed - false - true - - - name - false - true - - - onblur - false - true - - - onchange - false - true - - - onclick - false - true - - - ondblclick - false - true - - - onfocus - false - true - - - onkeydown - false - true - - - onkeypress - false - true - - - onkeyup - false - true - - - onmousedown - false - true - - - onmousemove - false - true - - - onmouseout - false - true - - - onmouseover - false - true - - - onmouseup - false - true - - - property - true - true - - - readonly - false - true - - - rows - false - true - - - style - false - true - - - styleClass - false - true - - - styleId - false - true - - - tabindex - false - true - - - title - false - true - - - titleKey - false - true - - - value - false - true - - Small portrait of a user Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-bean-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-bean.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-html-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-html.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-logic-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-logic.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-nested.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-tiles-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/tlds/struts/struts-tiles.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/validation.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/WEB-INF/validator-rules.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/WEB-INF/web.xml =================================================================== diff -u -r266434d5ec15cc4026c93a740c3110c046b1d88a -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/WEB-INF/web.xml (.../web.xml) (revision 266434d5ec15cc4026c93a740c3110c046b1d88a) +++ lams_tool_zoom/web/WEB-INF/web.xml (.../web.xml) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -74,24 +74,10 @@ - action - org.apache.struts.action.ActionServlet - - config - /WEB-INF/struts-config.xml - - - debug - 999 - - - detail - 2 - - - validate - true - + spring + + org.springframework.web.servlet.DispatcherServlet + 1 @@ -126,7 +112,7 @@ - action + spring *.do @@ -156,27 +142,7 @@ - - - - - tags-bean - /WEB-INF/tlds/struts/struts-bean.tld - - - tags-html - /WEB-INF/tlds/struts/struts-html.tld - - - tags-logic - /WEB-INF/tlds/struts/struts-logic.tld - - - tags-tiles - /WEB-INF/tlds/struts/struts-tiles.tld - - Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/common/empty.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/common/footer.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/common/message.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/common/simpleHeader.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/common/tabbedHeader.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/common/taglibs.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/common/taglibs.jsp (.../taglibs.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/common/taglibs.jsp (.../taglibs.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,11 +1,8 @@ <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> -<%@ taglib uri="tags-bean" prefix="bean"%> -<%@ taglib uri="tags-logic" prefix="logic"%> -<%@ taglib uri="tags-tiles" prefix="tiles"%> -<%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-function" prefix="fn" %> -<%@ taglib uri="tags-lams" prefix="lams"%> \ No newline at end of file +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> \ No newline at end of file Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/layouts/simpleLayout.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/layouts/tabbedLayout.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/pages/admin/view.jsp =================================================================== diff -u -r5da86331a25afcff7dfa0dd4647187c5beaa757b -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/admin/view.jsp (.../view.jsp) (revision 5da86331a25afcff7dfa0dd4647187c5beaa757b) +++ lams_tool_zoom/web/pages/admin/view.jsp (.../view.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,133 +1,153 @@ + + <%@ include file="/common/taglibs.jsp"%> - - - - + + - - + + + + + - $('#apisJSON').val(JSON.stringify(apis)); - return true; - } - - $(document).ready(function () { - var apis = ${apis}, - api = $('.api'); - $.each(apis, function(){ - var apiEntry = api.clone().insertBefore(api); - apiEntry.find('.email').val(this.email); - apiEntry.find('.key').val(this.key); - apiEntry.find('.secret').val(this.secret); - }); - }); - - - -
-
-
-

- - - - - - - - - -
-
-
-
- -
-
-
- + + +
+
+
+

+ + + + + + <%-- Error Messages --%> + + + + +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
-
- -
-
- -
-
- -
+
+ + +
-
- - - -
-
-
- \ No newline at end of file + + + \ No newline at end of file Index: lams_tool_zoom/web/pages/authoring/advanced.jsp =================================================================== diff -u -rb67bc25f161fa3bf350e4c89696c24620674c8ef -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision b67bc25f161fa3bf350e4c89696c24620674c8ef) +++ lams_tool_zoom/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,7 +1,6 @@ <%@ include file="/common/taglibs.jsp"%> - - + @@ -11,7 +10,7 @@
@@ -33,7 +32,7 @@ max="99999" min="1" style="width: 100px; display:inline-block; margin-right: 10px; margin-left: 20px" - value="${formBean.duration}" + value="${authoringForm.duration}" disabled="disabled" @@ -45,13 +44,13 @@
-
- +
Index: lams_tool_zoom/web/pages/authoring/authoring.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,47 +1,70 @@ -<%@ include file="/common/taglibs.jsp"%> + +<%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.tool.zoom.util.ZoomConstants"%> - + - + + + + + + - - - + + <fmt:message key="activity.title" /> + + + + + + + + + - - - - - - - - - - - - - - - - -
-
-
-
- - <%-- Page tabs --%> - - - - - - - -
- -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- Page tabs --%> + + + + + + + + + + + + +
\ No newline at end of file Index: lams_tool_zoom/web/pages/authoring/basic.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/authoring/basic.jsp (.../basic.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,16 +1,16 @@ <%@ include file="/common/taglibs.jsp"%> - - - + + +
- +
- - + +
Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/pages/authoring/headItems.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/pages/learning/defineLater.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/pages/learning/headItems.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/pages/learning/learning.jsp =================================================================== diff -u -r78b2c47972525e5dc3615852c907b1722c4c7ea2 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/learning/learning.jsp (.../learning.jsp) (revision 78b2c47972525e5dc3615852c907b1722c4c7ea2) +++ lams_tool_zoom/web/pages/learning/learning.jsp (.../learning.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,18 +1,41 @@ + + <%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + <fmt:message key="activity.title" /> + + + + + <%-- TODO is this the best place to import these scripts ? --%> + + + + +
- - - - -
-
-
-
+ + + + + + + + @@ -27,9 +50,7 @@

- - - + @@ -56,3 +77,5 @@
+ +
\ No newline at end of file Index: lams_tool_zoom/web/pages/learning/notebook.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,41 +1,61 @@ + + <%@ include file="/common/taglibs.jsp"%> - + + + + + + + - - - - -
- -
- - - - - - - - - - - - - - - - -
+ + + <fmt:message key="activity.title" /> + + + + + + + + + + - - + + +
+ +
+ + + + + +
+ + + +
+ +
\ No newline at end of file Index: lams_tool_zoom/web/pages/learning/parts/finishButton.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/learning/parts/finishButton.jsp (.../finishButton.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/learning/parts/finishButton.jsp (.../finishButton.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -13,14 +13,13 @@
- - - + +
-
${notebookEntry}
+
${learningForm.notebookEntry}
@@ -38,30 +37,24 @@

- - +
- + - - + +
- - - - - + - - +
-
+ \ No newline at end of file Index: lams_tool_zoom/web/pages/monitoring/editActivity.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/monitoring/editActivity.jsp (.../editActivity.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/monitoring/editActivity.jsp (.../editActivity.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -27,7 +27,7 @@ - + Fisheye: Tag cd28f26327e5afe5f9797847d801eba0abab9144 refers to a dead (removed) revision in file `lams_tool_zoom/web/pages/monitoring/headItems.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_zoom/web/pages/monitoring/monitoring.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,26 +1,52 @@ + + <%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.tool.zoom.util.ZoomConstants"%> - - - - + + + + + + - - - - - + + <fmt:message key="activity.title" /> + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: lams_tool_zoom/web/pages/monitoring/notebook.jsp =================================================================== diff -u -r2cf1e086b82a29fae22136351fc7a44821181323 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/monitoring/notebook.jsp (.../notebook.jsp) (revision 2cf1e086b82a29fae22136351fc7a44821181323) +++ lams_tool_zoom/web/pages/monitoring/notebook.jsp (.../notebook.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -1,44 +1,66 @@ <%@ include file="/common/taglibs.jsp"%> - - + + + - -

- -

+ + + - - - - - - - - - - - - - - -
- - - - -
- - - -
- - - -
- - - - - -
+ + + <fmt:message key="activity.title" /> + + + + + + + + + + + + + +

+ +

+ + + + + + + + + + + + + + + +
+ + + + +
+ + + +
+ + + +
+ + + + + +
+ +
\ No newline at end of file Index: lams_tool_zoom/web/pages/monitoring/summary.jsp =================================================================== diff -u -rfba5bdf4505b4dbe6d95809740ac8f3c14b07ef1 -rcd28f26327e5afe5f9797847d801eba0abab9144 --- lams_tool_zoom/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision fba5bdf4505b4dbe6d95809740ac8f3c14b07ef1) +++ lams_tool_zoom/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision cd28f26327e5afe5f9797847d801eba0abab9144) @@ -19,11 +19,11 @@
- - - - - +
+ + +
 
@@ -50,8 +50,7 @@ - +