Index: lams_tool_larsrc/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/build.properties,v diff -u -r1.14 -r1.14.8.1 --- lams_tool_larsrc/build.properties 20 Jan 2009 16:18:54 -0000 1.14 +++ lams_tool_larsrc/build.properties 9 Aug 2011 16:30:16 -0000 1.14.8.1 @@ -13,7 +13,7 @@ weblib=lib #project version -tool.version=20090115 +tool.version=20110809 # hide tool option hideTool=false Index: lams_tool_larsrc/conf/xdoclet/struts-actions.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/conf/xdoclet/struts-actions.xml,v diff -u -r1.33 -r1.33.8.1 --- lams_tool_larsrc/conf/xdoclet/struts-actions.xml 13 Feb 2009 05:56:15 -0000 1.33 +++ lams_tool_larsrc/conf/xdoclet/struts-actions.xml 9 Aug 2011 16:30:16 -0000 1.33.8.1 @@ -111,7 +111,18 @@ parameter="removeItem"> + + + + + + + { public int compare(ResourceItem o1, ResourceItem o2) { - if(o1 != null && o2 != null & o1.getCreateDate() !=null && o2.getCreateDate() != null){ - return (o1.getCreateDate().getTime() - o2.getCreateDate().getTime()) > 0?1:-1; + if(o1 != null && o2 != null){ + return o1.getSequenceId() - o2.getSequenceId(); }else if(o1 != null) return 1; else Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java,v diff -u -r1.52.2.1 -r1.52.2.1.4.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java 14 Apr 2009 04:56:20 -0000 1.52.2.1 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/AuthoringAction.java 9 Aug 2011 16:30:16 -0000 1.52.2.1.4.1 @@ -156,6 +156,12 @@ if (param.equals("removeItem")) { return removeItem(mapping, form, request, response); } + if (param.equals("upItem")) { + return upItem(mapping, form, request, response); + } + if (param.equals("downItem")) { + return downItem(mapping, form, request, response); + } // -----------------------Resource Item Instruction function --------------------------- if (param.equals("newInstruction")) { return newInstruction(mapping, form, request, response); @@ -227,8 +233,66 @@ request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID, sessionMapID); return mapping.findForward(ResourceConstants.SUCCESS); } + + /** + * Move up current item. + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + private ActionForward upItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + return switchItem(mapping, request, true); + } /** + * Move down current item. + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + private ActionForward downItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + return switchItem(mapping, request, false); + } + + private ActionForward switchItem(ActionMapping mapping, HttpServletRequest request, boolean up) { + // get back sessionMAP + String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + + int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX), -1); + if (itemIdx != -1) { + SortedSet resourceList = getResourceItemList(sessionMap); + List rList = new ArrayList(resourceList); + // get current and the target item, and switch their sequnece + ResourceItem item = rList.get(itemIdx); + ResourceItem repItem; + if (up) { + repItem = rList.get(--itemIdx); + } else { + repItem = rList.get(++itemIdx); + } + int upSeqId = repItem.getSequenceId(); + repItem.setSequenceId(item.getSequenceId()); + item.setSequenceId(upSeqId); + + // put back list, it will be sorted again + resourceList.clear(); + resourceList.addAll(rList); + } + + request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID, sessionMapID); + return mapping.findForward(ResourceConstants.SUCCESS); + } + + /** * Display edit page for existed resource item. * * @param mapping @@ -1043,6 +1107,12 @@ if (itemIdx == -1) { // add item = new ResourceItem(); item.setCreateDate(new Timestamp(new Date().getTime())); + int maxSeq = 1; + if (resourceList != null && resourceList.size() > 0) { + ResourceItem last = resourceList.last(); + maxSeq = last.getSequenceId() + 1; + } + item.setSequenceId(maxSeq); resourceList.add(item); } else { // edit List rList = new ArrayList(resourceList); Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java,v diff -u -r1.35 -r1.35.8.1 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 13 Feb 2009 05:56:15 -0000 1.35 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 9 Aug 2011 16:30:16 -0000 1.35.8.1 @@ -330,6 +330,7 @@ SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID, sessionMapID); + SortedSet resourceItemList = getResourceItemList(sessionMap); Long sessionId = (Long) sessionMap.get(ResourceConstants.ATTR_TOOL_SESSION_ID); String mode = request.getParameter(AttributeNames.ATTR_MODE); @@ -377,11 +378,19 @@ items = new HashSet(); resSession.setResourceItems(items); } + + //setting SequenceId + int maxSeq = 0; + for (ResourceItem dbItem : resourceItemList) { + if (dbItem.getSequenceId() > maxSeq) maxSeq = dbItem.getSequenceId(); + } + maxSeq++; + item.setSequenceId(maxSeq); + items.add(item); service.saveOrUpdateResourceSession(resSession); - // update session value - SortedSet resourceItemList = getResourceItemList(sessionMap); + // update session value resourceItemList.add(item); // URL or file upload Index: lams_tool_larsrc/web/pages/authoring/basic.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/authoring/basic.jsp,v diff -u -r1.24 -r1.24.12.1 --- lams_tool_larsrc/web/pages/authoring/basic.jsp 3 Nov 2006 04:56:53 -0000 1.24 +++ lams_tool_larsrc/web/pages/authoring/basic.jsp 9 Aug 2011 16:30:15 -0000 1.24.12.1 @@ -1,7 +1,5 @@ <%@ include file="/common/taglibs.jsp"%> - + Index: lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp,v diff -u -r1.15 -r1.15.12.1 --- lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp 9 Nov 2006 05:45:58 -0000 1.15 +++ lams_tool_larsrc/web/pages/authoring/parts/itemlist.jsp 9 Aug 2011 16:30:16 -0000 1.15.12.1 @@ -1,6 +1,5 @@ <%@ include file="/common/taglibs.jsp"%> - + @@ -16,8 +15,7 @@
- + <%-- Resource Type:1=URL,2=File,3=Website,4=Learning Object --%> @@ -31,17 +29,6 @@ onclick="previewItem(1,${status.index},'${sessionMapID}')"> - - @@ -55,17 +42,6 @@ onclick="previewItem(2,${status.index},'${sessionMapID}')"> - - @@ -79,16 +55,6 @@ onclick="previewItem(3,${status.index},'${sessionMapID}')"> - - @@ -102,17 +68,44 @@ onclick="previewItem(4,${status.index},'${sessionMapID}')"> - - + + + + + +
- " - onclick="editItem(${status.index},'${sessionMapID}')" /> - - - " - onclick="deleteItem(${status.index},'${sessionMapID}')" /> - - " - onclick="editItem(${status.index},'${sessionMapID}')" /> - - - " - onclick="deleteItem(${status.index},'${sessionMapID}')" /> - - " - onclick="editItem(${status.index},'${sessionMapID}')" /> - - " - onclick="deleteItem(${status.index},'${sessionMapID}')" /> - - " - onclick="editItem(${status.index},'${sessionMapID}')" /> - - " - onclick="deleteItem(${status.index},'${sessionMapID}')" /> - + + " + onclick="upItem(${status.index},'${sessionMapID}')"> + + "> + + + + + + "> + + + " + onclick="downItem(${status.index},'${sessionMapID}')"> + + + " + onclick="editItem(${status.index},'${sessionMapID}')" /> + + " + onclick="deleteItem(${status.index},'${sessionMapID}')" /> +