Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java =================================================================== diff -u -r7eef220bc1575595385b722a0c337359ca02a397 -r16ce604dcc21fbcf8b462fe28d660723ff7c925a --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 7eef220bc1575595385b722a0c337359ca02a397) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 16ce604dcc21fbcf8b462fe28d660723ff7c925a) @@ -81,7 +81,6 @@ /** * @author Steve.Ni - * @version $Revision$ */ public class AuthoringAction extends Action { private static final int INIT_INSTRUCTION_COUNT = 2; @@ -202,7 +201,7 @@ // get back sessionMAP String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX), -1); if (itemIdx != -1) { @@ -234,7 +233,7 @@ // get back sessionMAP String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX), -1); ResourceItem item = null; @@ -402,7 +401,7 @@ resourceForm.setContentFolderID(contentFolderID); // initial Session Map - SessionMap sessionMap = new SessionMap(); + SessionMap sessionMap = new SessionMap(); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); resourceForm.setSessionMapID(sessionMap.getSessionID()); @@ -478,7 +477,7 @@ private ActionForward initPage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException { String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); ResourceForm existForm = (ResourceForm) sessionMap.get(ResourceConstants.ATTR_RESOURCE_FORM); ResourceForm resourceForm = (ResourceForm) form; @@ -487,13 +486,11 @@ } catch (Exception e) { throw new ServletException(e); } - + ToolAccessMode mode = getAccessMode(request); - if (mode.isAuthor()) { - return mapping.findForward(ResourceConstants.SUCCESS); - } else { - return mapping.findForward(ResourceConstants.DEFINE_LATER); - } + request.setAttribute(AttributeNames.ATTR_MODE, mode.toString()); + + return mapping.findForward(ResourceConstants.SUCCESS); } /** @@ -512,49 +509,44 @@ ResourceForm resourceForm = (ResourceForm) form; // get back sessionMAP - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(resourceForm.getSessionMapID()); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(resourceForm.getSessionMapID()); ToolAccessMode mode = getAccessMode(request); + request.setAttribute(AttributeNames.ATTR_MODE, mode.toString()); ActionMessages errors = validate(resourceForm, mapping, request); if (!errors.isEmpty()) { saveErrors(request, errors); - if (mode.isAuthor()) { - return mapping.findForward("author"); - } else { - return mapping.findForward("monitor"); - } + return mapping.findForward(ResourceConstants.SUCCESS); } Resource resource = resourceForm.getResource(); IResourceService service = getResourceService(); - // **********************************Get Resource - // PO********************* + // **********************************Get Resource PO********************* Resource resourcePO = service.getResourceByContentId(resource.getContentId()); if (resourcePO == null) { - // new Resource, create it. + // new Resource, create it resourcePO = resource; resourcePO.setCreated(new Timestamp(new Date().getTime())); resourcePO.setUpdated(new Timestamp(new Date().getTime())); + } else { - if (mode.isAuthor()) { - Long uid = resourcePO.getUid(); - PropertyUtils.copyProperties(resourcePO, resource); + Long uid = resourcePO.getUid(); + PropertyUtils.copyProperties(resourcePO, resource); - // copyProperties() above may result in "collection assigned to two objects in a session" exception - service.evict(resource); - resourceForm.setResource(null); - resource = null; - // get back UID - resourcePO.setUid(uid); - } else { // if it is Teacher, then just update basic tab content - // (definelater) - resourcePO.setInstructions(resource.getInstructions()); - resourcePO.setTitle(resource.getTitle()); - // change define later status + // copyProperties() above may result in "collection assigned to two objects in a session" exception + service.evict(resource); + resourceForm.setResource(null); + resource = null; + // set back UID + resourcePO.setUid(uid); + + // if it's a Teacher (from monitor) - change define later status + if (mode.isTeacher()) { resourcePO.setDefineLater(false); } + resourcePO.setUpdated(new Timestamp(new Date().getTime())); } @@ -616,11 +608,8 @@ resourceForm.setResource(resourcePO); request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE); - if (mode.isAuthor()) { - return mapping.findForward("author"); - } else { - return mapping.findForward("monitor"); - } + + return mapping.findForward(ResourceConstants.SUCCESS); } // ************************************************************************************* @@ -641,7 +630,7 @@ * @param request * @return */ - private SortedSet getResourceItemList(SessionMap sessionMap) { + private SortedSet getResourceItemList(SessionMap sessionMap) { SortedSet list = (SortedSet) sessionMap .get(ResourceConstants.ATTR_RESOURCE_ITEM_LIST); if (list == null) { @@ -671,7 +660,7 @@ * @param request * @return */ - private List getDeletedItemAttachmentList(SessionMap sessionMap) { + private List getDeletedItemAttachmentList(SessionMap sessionMap) { return getListFromSession(sessionMap, ResourceConstants.ATTR_DELETED_RESOURCE_ITEM_ATTACHMENT_LIST); } @@ -682,7 +671,7 @@ * @param name * @return */ - private List getListFromSession(SessionMap sessionMap, String name) { + private List getListFromSession(SessionMap sessionMap, String name) { List list = (List) sessionMap.get(name); if (list == null) { list = new ArrayList(); @@ -796,7 +785,6 @@ } request.setAttribute(ResourceConstants.ATTR_INSTRUCTION_LIST, instructions); - } /** @@ -816,7 +804,7 @@ * when persisting this resource item. */ - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(itemForm.getSessionMapID()); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(itemForm.getSessionMapID()); // check whether it is "edit(old item)" or "add(new item)" SortedSet resourceList = getResourceItemList(sessionMap); int itemIdx = NumberUtils.stringToInt(itemForm.getItemIndex(), -1); @@ -971,20 +959,11 @@ private ActionMessages validate(ResourceForm resourceForm, ActionMapping mapping, HttpServletRequest request) { ActionMessages errors = new ActionMessages(); - // if (StringUtils.isBlank(resourceForm.getResource().getTitle())) { - // ActionMessage error = new - // ActionMessage("error.resource.item.title.blank"); - // errors.add(ActionMessages.GLOBAL_MESSAGE, error); - // } - - // define it later mode(TEACHER) skip below validation. - String modeStr = request.getParameter(AttributeNames.ATTR_MODE); - if (StringUtils.equals(modeStr, ToolAccessMode.TEACHER.toString())) { - return errors; + if (StringUtils.isBlank(resourceForm.getResource().getTitle())) { + ActionMessage error = new ActionMessage("error.resource.item.title.blank"); + errors.add(ActionMessages.GLOBAL_MESSAGE, error); } - // Some other validation outside basic Tab. - return errors; } @@ -1125,7 +1104,7 @@ int resourceItemOrderID1 = WebUtil.readIntParam(request, "resourceItemOrderID1"); int resourceItemOrderID2 = WebUtil.readIntParam(request, "resourceItemOrderID2"); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); // check whether it is "edit(old item)" or "add(new item)" SortedSet resourceList = getResourceItemList(sessionMap); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ClearSessionAction.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r16ce604dcc21fbcf8b462fe28d660723ff7c925a --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ClearSessionAction.java (.../ClearSessionAction.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/ClearSessionAction.java (.../ClearSessionAction.java) (revision 16ce604dcc21fbcf8b462fe28d660723ff7c925a) @@ -33,8 +33,6 @@ * This class give a chance to clear HttpSession when user save/close authoring page. * * @author Steve.Ni - * - * @version $Revision$ */ public class ClearSessionAction extends LamsAuthoringFinishAction { Index: lams_tool_larsrc/web/WEB-INF/struts-config.xml =================================================================== diff -u -r14c269dab2fd9de7863a2074fd5ee1561215d066 -r16ce604dcc21fbcf8b462fe28d660723ff7c925a --- lams_tool_larsrc/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 14c269dab2fd9de7863a2074fd5ee1561215d066) +++ lams_tool_larsrc/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 16ce604dcc21fbcf8b462fe28d660723ff7c925a) @@ -77,16 +77,14 @@ parameter="initPage" validate="false"> - - - + - <%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.tool.rsrc.ResourceConstants"%> - <fmt:message key="label.author.title" /> @@ -18,7 +16,6 @@ selectTab(tag.value); else selectTab(1); //select the default tab; - } function doSelectTab(tabId) { @@ -64,66 +61,62 @@ opt.appendChild(optT); sel.appendChild(opt); } - } - - - - - + } + - - - - - - - - - + + + + + + - - - - + + + + + + + - - <%@ include file="/common/messages.jsp"%> - - - - - - + + <%@ include file="/common/messages.jsp"%> + + + + + + + + + + + + + + <%-- Default value + cancelButtonLabelKey="label.authoring.cancel.button" + saveButtonLabelKey="label.authoring.save.button" + cancelConfirmMsgKey="authoring.msg.cancel.save" + accessMode="author" + --%> + + + + - - - - - - - <%-- Default value - cancelButtonLabelKey="label.authoring.cancel.button" - saveButtonLabelKey="label.authoring.save.button" - cancelConfirmMsgKey="authoring.msg.cancel.save" - accessMode="author" - --%> - - - - - - + - + Fisheye: Tag 16ce604dcc21fbcf8b462fe28d660723ff7c925a refers to a dead (removed) revision in file `lams_tool_larsrc/web/pages/authoring/definelater.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_larsrc/web/pages/authoring/start.jsp =================================================================== diff -u -re48fc0e1f6819e257b87efa36c3baec3c1c488f0 -r16ce604dcc21fbcf8b462fe28d660723ff7c925a --- lams_tool_larsrc/web/pages/authoring/start.jsp (.../start.jsp) (revision e48fc0e1f6819e257b87efa36c3baec3c1c488f0) +++ lams_tool_larsrc/web/pages/authoring/start.jsp (.../start.jsp) (revision 16ce604dcc21fbcf8b462fe28d660723ff7c925a) @@ -1,16 +1,15 @@ - <%@ include file="/common/taglibs.jsp" %> - - - - - - + + + + + + \ No newline at end of file