Index: lams_tool_larsrc/.classpath =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/.classpath (.../.classpath) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/.classpath (.../.classpath) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -2,7 +2,6 @@ - @@ -28,5 +27,6 @@ + Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -48,7 +48,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionMessage; import org.lamsfoundation.lams.authoring.web.AuthoringConstants; import org.lamsfoundation.lams.rating.model.LearnerItemRatingCriteria; import org.lamsfoundation.lams.tool.ToolAccessMode; @@ -358,7 +357,7 @@ * @throws ServletException * */ - @RequestMapping(value="/start") + @RequestMapping(value = "/start") private String start(@ModelAttribute ResourceForm startForm, HttpServletRequest request) throws ServletException { ToolAccessMode mode = WebUtil.readToolAccessModeAuthorDefaulted(request); @@ -441,8 +440,9 @@ return "pages/authoring/start"; } - @RequestMapping("/defineLater") - private String defineLater(HttpServletRequest request) throws ServletException { + @RequestMapping("/definelater") + private String defineLater(@ModelAttribute ResourceForm startForm, HttpServletRequest request) + throws ServletException { Long contentId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); Resource resource = resourceService.getResourceByContentId(contentId); @@ -454,81 +454,83 @@ resourceService.auditLogStartEditingActivityInMonitor(contentId); request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.TEACHER.toString()); + + // save toolContentID into HTTPSession + + // get back the resource and item list and display them on page + + List items = null; + + // Get contentFolderID and save to form. + String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + startForm.setContentFolderID(contentFolderID); + + // initial Session Map + SessionMap sessionMap = new SessionMap<>(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + startForm.setSessionMapID(sessionMap.getSessionID()); + + try { + resource = resourceService.getResourceByContentId(contentId); + // if resource does not exist, try to use default content instead. + if (resource == null) { + resource = resourceService.getDefaultContent(contentId); + if (resource.getResourceItems() != null) { + items = new ArrayList(resource.getResourceItems()); + } else { + items = null; + } + } else { + items = resourceService.getAuthoredItems(resource.getUid()); + } + + startForm.setResource(resource); + } catch (Exception e) { + AuthoringController.log.error(e); + throw new ServletException(e); + } + + // init it to avoid null exception in following handling + if (items == null) { + items = new ArrayList<>(); + } else { + ResourceUser resourceUser = null; + // handle system default question: createBy is null, now set it to + // current user + for (ResourceItem item : items) { + if (item.getCreateBy() == null) { + if (resourceUser == null) { + // get back login user DTO + HttpSession ss = SessionManager.getSession(); + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + resourceUser = new ResourceUser(user, resource); + } + item.setCreateBy(resourceUser); + } + } + } + // init resource item list + SortedSet resourceItemList = getResourceItemList(sessionMap); + resourceItemList.clear(); + resourceItemList.addAll(items); + + // If there is no order id, set it up + int i = 1; + for (ResourceItem resourceItem : resourceItemList) { + if (resourceItem.getOrderId() == null || resourceItem.getOrderId() != i) { + resourceItem.setOrderId(i); + } + i++; + } + + sessionMap.put(ResourceConstants.ATTR_RESOURCE_FORM, startForm); + request.getSession().setAttribute(AttributeNames.PARAM_NOTIFY_CLOSE_URL, + request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL)); + request.setAttribute("startForm", startForm); + return "pages/authoring/start"; } -// List items = null; -// Resource resource = null; -// ResourceForm resourceForm = (ResourceForm) form; -// -// // Get contentFolderID and save to form. -// String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); -// resourceForm.setContentFolderID(contentFolderID); -// -// // initial Session Map -// SessionMap sessionMap = new SessionMap<>(); -// request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); -// resourceForm.setSessionMapID(sessionMap.getSessionID()); -// -// try { -// resource = service.getResourceByContentId(contentId); -// // if resource does not exist, try to use default content instead. -// if (resource == null) { -// resource = service.getDefaultContent(contentId); -// if (resource.getResourceItems() != null) { -// items = new ArrayList(resource.getResourceItems()); -// } else { -// items = null; -// } -// } else { -// items = service.getAuthoredItems(resource.getUid()); -// } -// -// resourceForm.setResource(resource); -// } catch (Exception e) { -// Authoringcontroller.log.error(e); -// throw new ServletException(e); -// } -// -// // init it to avoid null exception in following handling -// if (items == null) { -// items = new ArrayList<>(); -// } else { -// ResourceUser resourceUser = null; -// // handle system default question: createBy is null, now set it to -// // current user -// for (ResourceItem item : items) { -// if (item.getCreateBy() == null) { -// if (resourceUser == null) { -// // get back login user DTO -// HttpSession ss = SessionManager.getSession(); -// UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); -// resourceUser = new ResourceUser(user, resource); -// } -// item.setCreateBy(resourceUser); -// } -// } -// } -// // init resource item list -// SortedSet resourceItemList = getResourceItemList(sessionMap); -// resourceItemList.clear(); -// resourceItemList.addAll(items); -// -// // If there is no order id, set it up -// int i = 1; -// for (ResourceItem resourceItem : resourceItemList) { -// if (resourceItem.getOrderId() == null || resourceItem.getOrderId() != i) { -// resourceItem.setOrderId(i); -// } -// i++; -// } -// -// sessionMap.put(ResourceConstants.ATTR_RESOURCE_FORM, resourceForm); -// request.getSession().setAttribute(AttributeNames.PARAM_NOTIFY_CLOSE_URL, -// request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL)); -// return mapping.findForward(ResourceConstants.SUCCESS); -// } - /** * Display same entire authoring page content from HttpSession variable. * @@ -541,7 +543,8 @@ */ @RequestMapping("/init") - private String initPage(@ModelAttribute ResourceForm startForm, HttpServletRequest request) throws ServletException { + private String initPage(@ModelAttribute ResourceForm startForm, HttpServletRequest request) + throws ServletException { String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); SessionMap sessionMap = (SessionMap) request.getSession() .getAttribute(sessionMapID); @@ -572,7 +575,8 @@ * @throws ServletException */ @RequestMapping(value = "/update", method = RequestMethod.POST) - private String updateContent(@ModelAttribute ResourceForm authoringForm, HttpServletRequest request) throws Exception { + private String updateContent(@ModelAttribute ResourceForm authoringForm, HttpServletRequest request) + throws Exception { // get back sessionMAP SessionMap sessionMap = (SessionMap) request.getSession() @@ -1065,7 +1069,6 @@ resourceService.uploadResourceItemFile(resourceItem, file); } catch (Exception e) { AuthoringController.log.error(e); - ActionMessage error = new ActionMessage("error.msg.io.exception"); errorMap.add("GLOBAL", messageService.getMessage("error.msg.io.exception")); request.setAttribute("errorMap", errorMap); pedagogicalPlannerForm.setValid(false); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -40,9 +40,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; @@ -73,6 +70,7 @@ 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; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.context.WebApplicationContext; @@ -468,7 +466,7 @@ * @return */ @RequestMapping("/submitReflection") - private String submitReflection(ReflectionForm reflectionForm, HttpServletRequest request) { + private String submitReflection(@ModelAttribute ReflectionForm reflectionForm, HttpServletRequest request) { Integer userId = reflectionForm.getUserID(); String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); @@ -490,6 +488,7 @@ entry.setLastModified(new Date()); resourceService.updateEntry(entry); } + request.setAttribute("reflectionForm", reflectionForm); return finish(request); } @@ -510,7 +509,8 @@ // if current user view less than reqired view count number, then just return error message. if (miniViewFlag > 0) { MultiValueMap errorMap = new LinkedMultiValueMap<>(); - errorMap.add("GLOBAL", messageService.getMessage("lable.learning.minimum.view.number.less" + miniViewFlag)); + errorMap.add("GLOBAL", messageService.getMessage("lable.learning.minimum.view.number.less", + new Object[] { miniViewFlag })); request.setAttribute("errorMap", errorMap); return false; } @@ -557,28 +557,29 @@ * @param mapping * @return */ - private ActionForward findForward(short type, ActionMapping mapping) { - ActionForward forward; - switch (type) { - case ResourceConstants.RESOURCE_TYPE_URL: - forward = mapping.findForward("url"); - break; - case ResourceConstants.RESOURCE_TYPE_FILE: - forward = mapping.findForward("file"); - break; - case ResourceConstants.RESOURCE_TYPE_WEBSITE: - forward = mapping.findForward("website"); - break; - case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: - forward = mapping.findForward("learningobject"); - break; - default: - forward = null; - break; - } - return forward; - } +// private ActionForward findForward(short type, ActionMapping mapping) { +// ActionForward forward; +// switch (type) { +// case ResourceConstants.RESOURCE_TYPE_URL: +// forward = mapping.findForward("url"); +// break; +// case ResourceConstants.RESOURCE_TYPE_FILE: +// forward = mapping.findForward("file"); +// break; +// case ResourceConstants.RESOURCE_TYPE_WEBSITE: +// forward = mapping.findForward("website"); +// break; +// case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: +// forward = mapping.findForward("learningobject"); +// break; +// default: +// forward = null; +// break; +// } +// return forward; +// } + private ResourceUser getCurrentUser(IResourceService service, Long sessionId) { // try to get form system session HttpSession ss = SessionManager.getSession(); @@ -609,7 +610,6 @@ * @return */ private void validateResourceItem(ResourceItemForm resourceItemForm, MultiValueMap errorMap) { - ActionErrors errors = new ActionErrors(); if (StringUtils.isBlank(resourceItemForm.getTitle())) { errorMap.add("GLOBAL", messageService.getMessage(ResourceConstants.ERROR_MSG_TITLE_BLANK)); } @@ -680,7 +680,7 @@ } @RequestMapping("/hideItem") - private ActionForward hideItem(HttpServletRequest request, HttpServletResponse response) throws IOException { + private String hideItem(HttpServletRequest request, HttpServletResponse response) throws IOException { HttpSession ss = SessionManager.getSession(); UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); Long itemUid = WebUtil.readLongParam(request, ResourceConstants.PARAM_RESOURCE_ITEM_UID); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ReflectionForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ReflectionForm.java (.../ReflectionForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ReflectionForm.java (.../ReflectionForm.java) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -24,15 +24,14 @@ package org.lamsfoundation.lams.tool.rsrc.web.form; import org.apache.log4j.Logger; -import org.apache.struts.validator.ValidatorForm; /** * * Reflection Form. * * */ -public class ReflectionForm extends ValidatorForm { +public class ReflectionForm { private static final long serialVersionUID = -9054365604649146735L; private static Logger logger = Logger.getLogger(ReflectionForm.class.getName()); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourceForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourceForm.java (.../ResourceForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourceForm.java (.../ResourceForm.java) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -24,7 +24,6 @@ package org.lamsfoundation.lams.tool.rsrc.web.form; import org.apache.log4j.Logger; -import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.tool.rsrc.model.Resource; /** @@ -44,21 +43,18 @@ private String sessionMapID; private String contentFolderID; private int currentTab; - private FormFile offlineFile; - private FormFile onlineFile; - + private String offlineFile; + private String onlineFile; + //tool access mode; private String mode; - - - public String getMode() { - return mode; + return mode; } public void setMode(String mode) { - this.mode = mode; + this.mode = mode; } private Resource resource; @@ -85,19 +81,19 @@ this.currentTab = currentTab; } - public FormFile getOfflineFile() { + public String getOfflineFile() { return offlineFile; } - public void setOfflineFile(FormFile offlineFile) { + public void setOfflineFile(String offlineFile) { this.offlineFile = offlineFile; } - public FormFile getOnlineFile() { + public String getOnlineFile() { return onlineFile; } - public void setOnlineFile(FormFile onlineFile) { + public void setOnlineFile(String onlineFile) { this.onlineFile = onlineFile; } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourcePedagogicalPlannerForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourcePedagogicalPlannerForm.java (.../ResourcePedagogicalPlannerForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/form/ResourcePedagogicalPlannerForm.java (.../ResourcePedagogicalPlannerForm.java) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -27,7 +27,6 @@ import java.util.Set; import org.apache.commons.lang.StringUtils; -import org.apache.struts.action.ActionMessage; import org.lamsfoundation.lams.tool.rsrc.ResourceConstants; import org.lamsfoundation.lams.tool.rsrc.model.Resource; import org.lamsfoundation.lams.tool.rsrc.model.ResourceItem; @@ -77,7 +76,6 @@ boolean fileSizeValid = FileValidatorSpringUtil.validateFileSize(file.get(index), true); if (!fileSizeValid) { if (fileUuid.get(index) == null && file.get(index) == null) { - ActionMessage error = new ActionMessage("error.planner.file.blank", index + 1); errorMap.add("GLOBAL", messageService.getMessage("error.planner.file.blank", new Object[] { index + 1 })); } Index: lams_tool_larsrc/web/pages/authoring/parts/itemattachment.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/authoring/parts/itemattachment.jsp (.../itemattachment.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/authoring/parts/itemattachment.jsp (.../itemattachment.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -10,4 +10,4 @@ - + Index: lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp (.../instructionsnav.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/itemreview/instructionsnav.jsp (.../instructionsnav.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -86,7 +86,7 @@ } function nextIns(currIns){ - var nextUrl="?mode=${mode}&insIdx=" + currIns + "&sessionMapID=${sessionMapID}&itemUid=${param.itemUid}&itemIndex=${param.itemIndex}"; + var nextUrl="?mode=${mode}&insIdx=" + currIns + "&sessionMapID=${sessionMapID}&itemUid=${param.itemUid}&itemIndex=${param.itemIndex}"; $.ajaxSetup({ cache: true }); $('#headerFrame').load(nextUrl); } Index: lams_tool_larsrc/web/pages/learning/addfile.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/learning/addfile.jsp (.../addfile.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/learning/addfile.jsp (.../addfile.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -23,7 +23,7 @@
: - +
@@ -35,12 +35,12 @@
- +   +
Index: lams_tool_larsrc/web/pages/learning/addurl.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/learning/addurl.jsp (.../addurl.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/learning/addurl.jsp (.../addurl.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -22,7 +22,7 @@
-
  +
 
@@ -33,12 +33,12 @@
- +   +
Index: lams_tool_larsrc/web/pages/learning/learning.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/learning/learning.jsp (.../learning.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -305,7 +305,7 @@ - @@ -319,7 +319,7 @@ Index: lams_tool_larsrc/web/pages/monitoring/editactivity.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r94e36ba92006160e48c47ff2a60bb4f525c011e1 --- lams_tool_larsrc/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_larsrc/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision 94e36ba92006160e48c47ff2a60bb4f525c011e1) @@ -29,7 +29,7 @@ - +