Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java,v diff -u -r1.74 -r1.75 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 13 May 2008 00:54:17 -0000 1.74 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 15 May 2008 07:46:50 -0000 1.75 @@ -87,6 +87,7 @@ import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesSessionDAO; import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitUserDAO; import org.lamsfoundation.lams.tool.sbmt.dto.FileDetailsDTO; +import org.lamsfoundation.lams.tool.sbmt.dto.SubmitUserDTO; import org.lamsfoundation.lams.tool.sbmt.exception.SubmitFilesException; import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants; import org.lamsfoundation.lams.tool.sbmt.util.SbmtToolContentHandler; @@ -689,14 +690,15 @@ log.error("Could not find learer for special submission item:" + submissionDetails); return null; } + SubmitUserDTO submitUserDTO = new SubmitUserDTO(learner); FileDetailsDTO detailDto = new FileDetailsDTO(submissionDetails, numberFormat); - userFileList = (List) map.get(learner); + userFileList = (List) map.get(submitUserDTO); //if it is first time to this user, creating a new ArrayList for this user. if(userFileList == null) userFileList = new ArrayList(); userFileList.add(detailDto); - map.put(learner, userFileList); + map.put(submitUserDTO, userFileList); } return map; } 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.15 -r1.16 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java 13 May 2008 00:54:17 -0000 1.15 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java 15 May 2008 07:46:50 -0000 1.16 @@ -37,9 +37,11 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; +import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -49,15 +51,18 @@ import org.lamsfoundation.lams.contentrepository.FileException; import org.lamsfoundation.lams.contentrepository.IVersionedNode; import org.lamsfoundation.lams.contentrepository.NodeType; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; -import org.lamsfoundation.lams.tool.sbmt.SubmitUser; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent; import org.lamsfoundation.lams.tool.sbmt.SubmitFilesSession; +import org.lamsfoundation.lams.tool.sbmt.SubmitUser; import org.lamsfoundation.lams.tool.sbmt.dto.FileDetailsDTO; +import org.lamsfoundation.lams.tool.sbmt.dto.SubmitUserDTO; import org.lamsfoundation.lams.tool.sbmt.exception.SubmitFilesException; import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService; import org.lamsfoundation.lams.tool.sbmt.service.SubmitFilesServiceProxy; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants; import org.lamsfoundation.lams.usermanagement.util.LastNameAlphabeticComparator; import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; import org.lamsfoundation.lams.web.util.SessionMap; @@ -69,6 +74,14 @@ private final String FILENAME = "sbmt_main.html"; + private ISubmitFilesService sbmtService; + + @Override + public void init() throws ServletException { + sbmtService = SubmitFilesServiceProxy.getSubmitFilesService(getServletContext()); + super.init(); + } + private class StringComparator implements Comparator{ public int compare(String o1, String o2) { if(o1 != null && o2 != null){ @@ -81,19 +94,16 @@ } public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { - - ISubmitFilesService sbmtService = SubmitFilesServiceProxy - .getSubmitFilesService(getServletContext()); - - // initial sessionMap + + // 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,sessionMap); + map = learner(request, response, directoryName, cookies, sessionMap); } else if (StringUtils.equals(mode, ToolAccessMode.TEACHER.toString())) { - map = teacher(request, response, directoryName, cookies, sbmtService,sessionMap); + map = teacher(request, response, directoryName, cookies, sessionMap); } String basePath = request.getScheme() + "://" + request.getServerName() @@ -109,7 +119,7 @@ Iterator userIter = map.keySet().iterator(); while (userIter.hasNext()) { - SubmitUser user = (SubmitUser) userIter.next(); + SubmitUserDTO user = (SubmitUserDTO) userIter.next(); List fileList = (List) map.get(user); Iterator fileListIter = fileList.iterator(); @@ -241,7 +251,7 @@ } public Map learner(HttpServletRequest request, - HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService, HashMap sessionMap) { + HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) { if (userID == null || toolSessionID == null) { String error = "Tool session Id or user Id is null. Unable to continue"; @@ -258,6 +268,7 @@ logger.error(error); throw new SubmitFilesException(error); } + SubmitUserDTO submitUserDTO = new SubmitUserDTO(learner); SubmitFilesSession session = sbmtService.getSessionById(toolSessionID); if (session == null) { @@ -283,8 +294,13 @@ } } + if (content.isReflectOnActivity()) { + // Get Reflection Entry + submitUserDTO.setReflect(getReflectionEntry(learner.getSessionID(), learner.getUserID())); + } + Map userFilesMap = new HashMap(); - userFilesMap.put(sbmtService.getSessionUser(toolSessionID, learner.getUserID()),fileList); + userFilesMap.put(submitUserDTO, fileList); //add session name to construct a new map Map report = new TreeMap(this.new StringComparator()); @@ -294,7 +310,7 @@ } public Map teacher(HttpServletRequest request, - HttpServletResponse response, String directoryName, Cookie[] cookies, ISubmitFilesService sbmtService, HashMap sessionMap) { + HttpServletResponse response, String directoryName, Cookie[] cookies, HashMap sessionMap) { // check if toolContentId exists in db or not if (toolContentID == null) { @@ -321,6 +337,14 @@ SortedMap userFilesMap = new TreeMap(new LastNameAlphabeticComparator()); userFilesMap.putAll(sbmtService.getFilesUploadedBySession(session .getSessionID(),request.getLocale())); + + if (content.isReflectOnActivity()) { + // Iterate over all users in session and get reflection entry + for(SubmitUserDTO submitUserDTO: (Set)userFilesMap.keySet()) { + submitUserDTO.setReflect(getReflectionEntry(session.getSessionID(), submitUserDTO.getUserID())); + } + } + allFileMap.putAll(userFilesMap); report.put(session.getSessionName(), userFilesMap); } @@ -330,5 +354,22 @@ return allFileMap; } + + /** + * Retrieves the reflection entry for the submitUser and stores it in a UserDTO + * @param submitUser + * @param notebookEntry + */ + private String getReflectionEntry(Long toolSessionID, Integer userId) { + + NotebookEntry notebookEntry = sbmtService.getEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, + SbmtConstants.TOOL_SIGNATURE, userId); + + if (notebookEntry != null) { + return notebookEntry.getEntry(); + } + + return null; + } } Index: lams_tool_sbmt/web/export/exportportfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/export/exportportfolio.jsp,v diff -u -r1.18 -r1.19 --- lams_tool_sbmt/web/export/exportportfolio.jsp 8 Jun 2007 01:40:15 -0000 1.18 +++ lams_tool_sbmt/web/export/exportportfolio.jsp 15 May 2008 07:46:50 -0000 1.19 @@ -55,13 +55,23 @@ + + + + : + + + + + + - - + + @@ -125,18 +135,17 @@ - - -   - - -   - - - + + +   + + +   + +