Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringController.java =================================================================== diff -u -rb55462c1bed962dba08744bf8ceac6594c3462f2 -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringController.java (.../AuthoringController.java) (revision b55462c1bed962dba08744bf8ceac6594c3462f2) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringController.java (.../AuthoringController.java) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -61,6 +61,7 @@ * */ @Controller +@RequestMapping("/authoring") public class AuthoringController { private static Logger logger = Logger.getLogger(AuthoringController.class); @@ -82,7 +83,7 @@ * toolContentID will be passed in. This will be used to retrieve content for this tool. * */ - @RequestMapping("/authoring") + @RequestMapping("") protected String unspecified(@ModelAttribute AuthoringForm authoringForm, HttpServletRequest request) { // Extract toolContentID from parameters. Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringNotebookConditionController.java =================================================================== diff -u -rb55462c1bed962dba08744bf8ceac6594c3462f2 -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringNotebookConditionController.java (.../AuthoringNotebookConditionController.java) (revision b55462c1bed962dba08744bf8ceac6594c3462f2) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/AuthoringNotebookConditionController.java (.../AuthoringNotebookConditionController.java) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -61,7 +61,6 @@ public class AuthoringNotebookConditionController { @Autowired - @Qualifier("notebookService") private INotebookService notebookService; @Autowired @@ -76,10 +75,11 @@ * @return */ @RequestMapping("newConditionInit") - private String newConditionInit(NotebookConditionForm notebookConditionForm, HttpServletRequest request) { + private String newConditionInit(@ModelAttribute NotebookConditionForm notebookConditionForm, HttpServletRequest request) { String sessionMapID = WebUtil.readStrParam(request, NotebookConstants.ATTR_SESSION_MAP_ID); notebookConditionForm.setSessionMapID(sessionMapID); notebookConditionForm.setOrderId(-1); + request.setAttribute("notebookConditionForm", notebookConditionForm); return "pages/authoring/addCondition"; } @@ -298,41 +298,41 @@ * * @param orderId * @param condition - * @param form + * @param notebookConditionForm * @param request */ - private void populateConditionToForm(int orderId, NotebookCondition condition, NotebookConditionForm form, + private void populateConditionToForm(int orderId, NotebookCondition condition, NotebookConditionForm notebookConditionForm, HttpServletRequest request) { - form.populateForm(condition); + notebookConditionForm.populateForm(condition); if (orderId >= 0) { - form.setOrderId(orderId + 1); + notebookConditionForm.setOrderId(orderId + 1); } } /** * Extract form content to taskListContent. * * @param request - * @param form + * @param notebookConditionForm * @throws NotebookException */ - private void extractFormToNotebookCondition(HttpServletRequest request, NotebookConditionForm form) + private void extractFormToNotebookCondition(HttpServletRequest request, NotebookConditionForm notebookConditionForm) throws Exception { /* * BE CAREFUL: This method will copy necessary info from request form to a old or new NotebookItem instance. It * gets all info EXCEPT NotebookItem.createDate and NotebookItem.createBy, which need be set when persisting * this taskList item. */ - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(form.getSessionMapID()); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(notebookConditionForm.getSessionMapID()); // check whether it is "edit(old item)" or "add(new item)" SortedSet conditionSet = getNotebookConditionSet(sessionMap); - int orderId = form.getOrderId(); + int orderId = notebookConditionForm.getOrderId(); NotebookCondition condition = null; if (orderId == -1) { // add String properConditionName = notebookService.createConditionName(conditionSet); - condition = form.extractCondition(); + condition = notebookConditionForm.extractCondition(); condition.setName(properConditionName); int maxSeq = 1; if (conditionSet != null && conditionSet.size() > 0) { @@ -344,7 +344,7 @@ } else { // edit List conditionList = new ArrayList<>(conditionSet); condition = conditionList.get(orderId - 1); - form.extractCondition(condition); + notebookConditionForm.extractCondition(condition); } } @@ -354,7 +354,7 @@ * @param notebookConditionForm * @return */ - private void validateNotebookCondition(NotebookConditionForm notebookConditionForm, Errors errors, + private void validateNotebookCondition( NotebookConditionForm notebookConditionForm, Errors errors, HttpServletRequest request) { String formConditionName = notebookConditionForm.getDisplayName(); Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/LearningController.java =================================================================== diff -u -rb55462c1bed962dba08744bf8ceac6594c3462f2 -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/LearningController.java (.../LearningController.java) (revision b55462c1bed962dba08744bf8ceac6594c3462f2) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/controller/LearningController.java (.../LearningController.java) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -51,10 +51,14 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.DateUtil; 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; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.WebApplicationContext; /** * @author @@ -65,29 +69,32 @@ * * */ -public class LearningController extends LamsDispatchAction { +@Controller +@RequestMapping("/learning") +public class LearningController { private static Logger log = Logger.getLogger(LearningController.class); private static final boolean MODE_OPTIONAL = false; + @Autowired + @Qualifier("notebookService") private INotebookService notebookService; - @RequestMapping("unspecified") - public String unspecified(LearningForm messageForm, HttpServletRequest request) throws Exception { + @Autowired + private WebApplicationContext applicationContext; + @RequestMapping("") + public String unspecified(@ModelAttribute("messageForm") LearningForm messageForm, HttpServletRequest request) + throws Exception { + // 'toolSessionID' and 'mode' paramters are expected to be present. // TODO need to catch exceptions and handle errors. ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, LearningController.MODE_OPTIONAL); Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - // set up notebookService - if (notebookService == null) { - notebookService = NotebookServiceProxy.getNotebookService(this.getServlet().getServletContext()); - } - // Retrieve the session and content. NotebookSession notebookSession = notebookService.getSessionBySessionId(toolSessionID); if (notebookSession == null) { @@ -121,7 +128,7 @@ } LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, - getServlet().getServletContext()); + applicationContext.getServletContext()); NotebookUser notebookUser; if (mode.equals(ToolAccessMode.TEACHER)) { @@ -171,6 +178,7 @@ return "pages/learning/submissionDeadline"; } } + request.setAttribute("messageForm", messageForm); return "pages/learning/notebook"; } @@ -191,7 +199,8 @@ } @RequestMapping("/finishActivity") - public String finishActivity(LearningForm messageForm, HttpServletRequest request, HttpServletResponse response) { + public String finishActivity(@ModelAttribute("messageForm") LearningForm messageForm, HttpServletRequest request, + HttpServletResponse response) { Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); NotebookUser notebookUser = getCurrentUser(toolSessionID); @@ -213,7 +222,7 @@ } ToolSessionManager sessionMgrService = NotebookServiceProxy - .getNotebookSessionManager(getServlet().getServletContext()); + .getNotebookSessionManager(applicationContext.getServletContext()); try { String nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, notebookUser.getUserId()); Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/NotebookConditionForm.java =================================================================== diff -u -r5773f84ed608838de3521ecde87c52f3c72d478c -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/NotebookConditionForm.java (.../NotebookConditionForm.java) (revision 5773f84ed608838de3521ecde87c52f3c72d478c) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/NotebookConditionForm.java (.../NotebookConditionForm.java) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -1,15 +1,15 @@ package org.lamsfoundation.lams.tool.notebook.web.forms; import org.lamsfoundation.lams.tool.notebook.model.NotebookCondition; -import org.lamsfoundation.lams.web.TextSearchActionForm; +import org.lamsfoundation.lams.web.TextSearchForm; /** * A text search form with additional parameters for Notebook needs. * * @author Marcin Cieslak * */ -public class NotebookConditionForm extends TextSearchActionForm { +public class NotebookConditionForm extends TextSearchForm { private Integer orderId; private String displayName; Index: lams_tool_notebook/web/pages/authoring/addCondition.jsp =================================================================== diff -u -rb55462c1bed962dba08744bf8ceac6594c3462f2 -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/web/pages/authoring/addCondition.jsp (.../addCondition.jsp) (revision b55462c1bed962dba08744bf8ceac6594c3462f2) +++ lams_tool_notebook/web/pages/authoring/addCondition.jsp (.../addCondition.jsp) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -13,7 +13,7 @@ If this redundant form is removed, the other one would be consumed, so this one needs to stay --%> - <%@ include file="/common/messages.jsp"%> Index: lams_tool_notebook/web/pages/authoring/authoring.jsp =================================================================== diff -u -rb55462c1bed962dba08744bf8ceac6594c3462f2 -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision b55462c1bed962dba08744bf8ceac6594c3462f2) +++ lams_tool_notebook/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -8,11 +8,10 @@ - + - Index: lams_tool_notebook/web/pages/learning/notebook.jsp =================================================================== diff -u -r749b841adf6115016059d15ddfa58aee5b11e26d -re1f494e2cf97728e4ae12e61620608cdc6c19ae3 --- lams_tool_notebook/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 749b841adf6115016059d15ddfa58aee5b11e26d) +++ lams_tool_notebook/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision e1f494e2cf97728e4ae12e61620608cdc6c19ae3) @@ -73,8 +73,7 @@ - - + @@ -152,7 +151,7 @@
-