Index: lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ExportServlet.java,v diff -u -r1.8 -r1.9 --- lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ExportServlet.java 23 Aug 2006 01:08:22 -0000 1.8 +++ lams_tool_forum/src/java/org/lamsfoundation/lams/tool/forum/web/actions/ExportServlet.java 29 Aug 2006 06:49:59 -0000 1.9 @@ -28,6 +28,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -56,6 +57,7 @@ import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; +import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -80,20 +82,25 @@ public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { +// initial sessionMap + SessionMap sessionMap = new SessionMap(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + if (StringUtils.equals(mode,ToolAccessMode.LEARNER.toString())){ - request.getSession().setAttribute(AttributeNames.PARAM_MODE, ToolAccessMode.LEARNER); - learner(request,response,directoryName,cookies); + sessionMap.put(AttributeNames.PARAM_MODE, ToolAccessMode.LEARNER); + learner(request,response,directoryName,cookies,sessionMap); }else if (StringUtils.equals(mode,ToolAccessMode.TEACHER.toString())){ - request.getSession().setAttribute(AttributeNames.PARAM_MODE, ToolAccessMode.TEACHER); - teacher(request,response,directoryName,cookies); + sessionMap.put(AttributeNames.PARAM_MODE, ToolAccessMode.TEACHER); + teacher(request,response,directoryName,cookies,sessionMap); } String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); - writeResponseToFile(basePath+"/jsps/export/exportportfolio.jsp",directoryName,FILENAME,cookies); + writeResponseToFile(basePath+"/jsps/export/exportportfolio.jsp?sessionMapID="+sessionMap.getSessionID() + ,directoryName,FILENAME,cookies); return FILENAME; } - public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) { IForumService forumService = ForumServiceProxy.getForumService(getServletContext()); @@ -124,15 +131,15 @@ Map sessionTopicMap = new TreeMap(); sessionTopicMap.put(session.getSessionName(), msgDtoList); - request.getSession().setAttribute(ForumConstants.ATTR_TOOL_CONTENT_TOPICS, sessionTopicMap); + sessionMap.put(ForumConstants.ATTR_TOOL_CONTENT_TOPICS, sessionTopicMap); //set forum title - request.setAttribute(ForumConstants.ATTR_FORUM_TITLE, session.getForum().getTitle()); + sessionMap.put(ForumConstants.ATTR_FORUM_TITLE, session.getForum().getTitle()); } - public void teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public void teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) { IForumService forumService = ForumServiceProxy.getForumService(getServletContext()); @@ -162,7 +169,10 @@ List sessionMsgDTO = getSessionTopicList(session.getSessionId(), directoryName, forumService); topicsByUser.put(session.getSessionName(),sessionMsgDTO); } - request.getSession().setAttribute(ForumConstants.ATTR_TOOL_CONTENT_TOPICS,topicsByUser); + sessionMap.put(ForumConstants.ATTR_TOOL_CONTENT_TOPICS,topicsByUser); + +// set forum title + sessionMap.put(ForumConstants.ATTR_FORUM_TITLE, content.getTitle()); } /** Index: lams_tool_forum/web/jsps/export/exportportfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_forum/web/jsps/export/exportportfolio.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_forum/web/jsps/export/exportportfolio.jsp 24 Aug 2006 00:05:41 -0000 1.11 +++ lams_tool_forum/web/jsps/export/exportportfolio.jsp 29 Aug 2006 06:49:59 -0000 1.12 @@ -1,5 +1,11 @@ <%@ include file="/common/taglibs.jsp"%> + + + + + + @@ -16,9 +22,6 @@
-

- -

Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java,v diff -u -r1.28 -r1.29 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 28 Aug 2006 07:23:15 -0000 1.28 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/ResourceConstants.java 29 Aug 2006 06:49:56 -0000 1.29 @@ -75,6 +75,7 @@ public static final Object ATTR_RESOURCE_FORM = "resourceForm"; public static final String ATTR_ADD_RESOURCE_TYPE = "addType"; public static final String ATTR_FILE_TYPE_FLAG = "fileTypeFlag"; + public static final Object ATTR_TITLE = "title"; //error message keys public static final String ERROR_MSG_TITLE_BLANK = "error.resource.item.title.blank"; 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.17 -r1.18 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 25 Aug 2006 06:58:22 -0000 1.17 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/action/LearningAction.java 29 Aug 2006 06:49:52 -0000 1.18 @@ -160,6 +160,9 @@ if(items != null){ //remove hidden items. for(ResourceItem item : items){ + //becuase in webpage will use this login name. Here is just + //initial it to avoid session close error in proxy object. + item.getCreateBy().getLoginName(); if(!item.isHide()){ resourceItemList.add(item); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/servlet/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/servlet/ExportServlet.java,v diff -u -r1.5 -r1.6 --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/servlet/ExportServlet.java 25 Aug 2006 02:41:05 -0000 1.5 +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/servlet/ExportServlet.java 29 Aug 2006 06:49:56 -0000 1.6 @@ -26,6 +26,7 @@ package org.lamsfoundation.lams.tool.rsrc.web.servlet; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import javax.servlet.http.Cookie; @@ -44,6 +45,7 @@ import org.lamsfoundation.lams.tool.rsrc.service.ResourceServiceProxy; import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; import org.lamsfoundation.lams.web.util.AttributeNames; +import org.lamsfoundation.lams.web.util.SessionMap; /** * Export portfolio servlet to export all shared resource into offline HTML @@ -61,26 +63,32 @@ private final String FILENAME = "shared_resources_main.html"; public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { + +// initial sessionMap + SessionMap sessionMap = new SessionMap(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + try { if (StringUtils.equals(mode, ToolAccessMode.LEARNER.toString())) { - request.getSession().setAttribute(AttributeNames.ATTR_MODE,ToolAccessMode.LEARNER); - learner(request, response, directoryName, cookies); + sessionMap.put(AttributeNames.ATTR_MODE,ToolAccessMode.LEARNER); + learner(request, response, directoryName, cookies,sessionMap); } else if (StringUtils.equals(mode, ToolAccessMode.TEACHER.toString())) { - request.getSession().setAttribute(AttributeNames.ATTR_MODE,ToolAccessMode.TEACHER); - teacher(request, response, directoryName, cookies); + sessionMap.put(AttributeNames.ATTR_MODE,ToolAccessMode.TEACHER); + teacher(request, response, directoryName, cookies,sessionMap); } } catch (ResourceApplicationException e) { logger.error("Cannot perform export for share resource tool."); } String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); - writeResponseToFile(basePath + "/pages/export/exportportfolio.jsp", directoryName, FILENAME, cookies); + writeResponseToFile(basePath + "/pages/export/exportportfolio.jsp?sessionMapID="+sessionMap.getSessionID() + , directoryName, FILENAME, cookies); return FILENAME; } - public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public void learner(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) throws ResourceApplicationException { IResourceService service = ResourceServiceProxy.getResourceService(getServletContext()); @@ -99,22 +107,25 @@ throw new ResourceApplicationException(error); } - Resource content = service.getResourceByContentId(toolSessionID); + Resource content = service.getResourceBySessionId(toolSessionID); if (content == null) { String error = "The content for this activity has not been defined yet."; logger.error(error); throw new ResourceApplicationException(error); } + + List group = service.exportBySessionId(toolSessionID,true); List groupList = new ArrayList(); if(group.size() > 0) groupList.add(group); - request.getSession().setAttribute(ResourceConstants.ATTR_SUMMARY_LIST, groupList); + sessionMap.put(ResourceConstants.ATTR_TITLE, content.getTitle()); + sessionMap.put(ResourceConstants.ATTR_SUMMARY_LIST, groupList); } - public void teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) + public void teacher(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) throws ResourceApplicationException { IResourceService service = ResourceServiceProxy.getResourceService(getServletContext()); @@ -135,7 +146,8 @@ List> groupList = service.exportByContentId(toolContentID); // put it into HTTPSession - request.getSession().setAttribute(ResourceConstants.ATTR_SUMMARY_LIST, groupList); + sessionMap.put(ResourceConstants.ATTR_TITLE, content.getTitle()); + sessionMap.put(ResourceConstants.ATTR_SUMMARY_LIST, groupList); } } Index: lams_tool_larsrc/web/pages/export/exportportfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/export/exportportfolio.jsp,v diff -u -r1.7 -r1.8 --- lams_tool_larsrc/web/pages/export/exportportfolio.jsp 10 Jul 2006 07:05:24 -0000 1.7 +++ lams_tool_larsrc/web/pages/export/exportportfolio.jsp 29 Aug 2006 06:49:56 -0000 1.8 @@ -1,5 +1,11 @@ <%@ include file="/common/taglibs.jsp"%> + + + + + + <fmt:message key="export.title" /> @@ -22,9 +28,8 @@
-

+

${title}

-
Index: lams_tool_larsrc/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_larsrc/web/pages/learning/learning.jsp,v diff -u -r1.26 -r1.27 --- lams_tool_larsrc/web/pages/learning/learning.jsp 25 Aug 2006 06:58:22 -0000 1.26 +++ lams_tool_larsrc/web/pages/learning/learning.jsp 29 Aug 2006 06:49:55 -0000 1.27 @@ -93,8 +93,8 @@ ${item.title} - [${item.createBy.loginName}] - + [${item.createBy.loginName}] + Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java,v diff -u -r1.6 -r1.7 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java 22 Aug 2006 06:48:38 -0000 1.6 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java 29 Aug 2006 06:49:57 -0000 1.7 @@ -63,6 +63,7 @@ import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.util.LastNameAlphabeticComparator; import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; +import org.lamsfoundation.lams.web.util.SessionMap; public class ExportServlet extends AbstractExportPortfolioServlet { private static final long serialVersionUID = -4529093489007108143L; @@ -87,11 +88,15 @@ ISubmitFilesService sbmtService = SubmitFilesServiceProxy .getSubmitFilesService(getServletContext()); + // initial sessionMap + SessionMap sessionMap = new SessionMap(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + Map map = null; if (StringUtils.equals(mode, ToolAccessMode.LEARNER.toString())) { - map = learner(request, response, directoryName, cookies, sbmtService); + map = learner(request, response, directoryName, cookies, sbmtService,sessionMap); } else if (StringUtils.equals(mode, ToolAccessMode.TEACHER.toString())) { - map = teacher(request, response, directoryName, cookies, sbmtService); + map = teacher(request, response, directoryName, cookies, sbmtService,sessionMap); } String basePath = request.getScheme() + "://" + request.getServerName() @@ -204,20 +209,20 @@ // TODO // writing out the attachmentList - request.getSession().setAttribute("attachmentList", attachmentList); - writeResponseToFile(basePath + "/export/exportAttachmentList.jsp", + sessionMap.put("attachmentList", attachmentList); + writeResponseToFile(basePath + "/export/exportAttachmentList.jsp?sessionMapID="+sessionMap.getSessionID(), directoryName, "attachment_list.txt", cookies); // generate the submit main page - writeResponseToFile(basePath + "/export/exportportfolio.jsp", + writeResponseToFile(basePath + "/export/exportportfolio.jsp?sessionMapID="+sessionMap.getSessionID(), directoryName, FILENAME, cookies); return FILENAME; } public Map learner(HttpServletRequest request, - HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService) { + HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService, HashMap sessionMap) { if (userID == null || toolSessionID == null) { String error = "Tool session Id or user Id is null. Unable to continue"; @@ -235,9 +240,13 @@ throw new SubmitFilesException(error); } - SubmitFilesContent content = sbmtService - .getSubmitFilesContent(toolContentID); - + SubmitFilesSession session = sbmtService.getSessionById(toolSessionID); + if (session == null) { + String error = "The session does not exist."; + logger.error(error); + throw new SubmitFilesException(error); + } + SubmitFilesContent content = session.getContent(); if (content == null) { String error = "The content for this activity has not been defined yet."; logger.error(error); @@ -261,12 +270,12 @@ //add session name to construct a new map Map report = new TreeMap(this.new StringComparator()); report.put(sbmtService.getSessionById(toolSessionID).getSessionName(), userFilesMap); - request.getSession().setAttribute("report", report); + sessionMap.put("report", report); return userFilesMap; } public Map teacher(HttpServletRequest request, - HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService) { + HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService, HashMap sessionMap) { // check if toolContentId exists in db or not if (toolContentID == null) { @@ -298,7 +307,7 @@ } // add session name to construct a new map - request.getSession().setAttribute("report", report); + sessionMap.put("report", report); return allFileMap; } Index: lams_tool_sbmt/web/export/exportAttachmentList.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/export/exportAttachmentList.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_sbmt/web/export/exportAttachmentList.jsp 23 Feb 2006 22:45:05 -0000 1.1 +++ lams_tool_sbmt/web/export/exportAttachmentList.jsp 29 Aug 2006 06:49:57 -0000 1.2 @@ -1,2 +1,7 @@ -<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-core" prefix="c"%> + + + + + \ No newline at end of file Index: lams_tool_sbmt/web/export/exportportfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/export/exportportfolio.jsp,v diff -u -r1.11 -r1.12 --- lams_tool_sbmt/web/export/exportportfolio.jsp 10 Aug 2006 04:42:40 -0000 1.11 +++ lams_tool_sbmt/web/export/exportportfolio.jsp 29 Aug 2006 06:49:57 -0000 1.12 @@ -3,6 +3,9 @@ + + +