Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java =================================================================== diff -u -rd9c7ddef141d19423b6ab2914d153c2cb748f187 -rc7c69cdbf6bc67b279df76ca42165d33ae454c58 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java (.../ExportServlet.java) (revision d9c7ddef141d19423b6ab2914d153c2cb748f187) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/ExportServlet.java (.../ExportServlet.java) (revision c7c69cdbf6bc67b279df76ca42165d33ae454c58) @@ -33,6 +33,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; @@ -69,7 +70,19 @@ private static Logger logger = Logger.getLogger(ExportServlet.class); private final String FILENAME = "sbmt_main.html"; - + + private class StringComparator implements Comparator{ + public int compare(String o1, String o2) { + if(o1 != null && o2 != null){ + int c = o1.compareTo(o2); + //to ensure String does not overlap even they have duplicated name. + return c==0?1:c; + }else if(o1 != null) + return 1; + else + return -1; + } + } public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { @@ -233,12 +246,24 @@ throw new SubmitFilesException(error); } - List fileList = sbmtService.getFilesUploadedByUser(userID, - toolSessionID); + List fileList = sbmtService.getFilesUploadedByUser(userID,toolSessionID); + //if mark not release, then set these message as null. + Iterator iter = fileList.iterator(); + while(iter.hasNext()){ + FileDetailsDTO filedto = (FileDetailsDTO) iter.next(); + if(filedto .getDateMarksReleased() == null){ + filedto .setComments(null); + filedto .setMarks(null); + } + } + Map userFilesMap = new HashMap(); - userFilesMap.put(sbmtService.getUserDetails(learner.getUserID()), - fileList); - request.getSession().setAttribute("report", userFilesMap); + userFilesMap.put(sbmtService.getUserDetails(learner.getUserID()),fileList); + + //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); return userFilesMap; } @@ -263,15 +288,21 @@ // return FileDetailsDTO list according to the given sessionID Set sessionList = content.getToolSession(); Iterator iter = sessionList.iterator(); - SortedMap userFilesMap = new TreeMap(new LastNameAlphabeticComparator()); + Map report = new TreeMap(this.new StringComparator()); + Map allFileMap = new TreeMap(new LastNameAlphabeticComparator()); while (iter.hasNext()) { + SortedMap userFilesMap = new TreeMap(new LastNameAlphabeticComparator()); SubmitFilesSession session = (SubmitFilesSession) iter.next(); userFilesMap.putAll(sbmtService.getFilesUploadedBySession(session .getSessionID())); + allFileMap.putAll(userFilesMap); + report.put(session.getSessionName(), userFilesMap); } - request.getSession().setAttribute("report", userFilesMap); + +// add session name to construct a new map + request.getSession().setAttribute("report", report); - return userFilesMap; + return allFileMap; } } Index: lams_tool_sbmt/web/export/exportportfolio.jsp =================================================================== diff -u -r43348178ae9a52078019a87ff9d83cb80d6ff578 -rc7c69cdbf6bc67b279df76ca42165d33ae454c58 --- lams_tool_sbmt/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision 43348178ae9a52078019a87ff9d83cb80d6ff578) +++ lams_tool_sbmt/web/export/exportportfolio.jsp (.../exportportfolio.jsp) (revision c7c69cdbf6bc67b279df76ca42165d33ae454c58) @@ -30,106 +30,119 @@ - - - - + + + + + + - - - - - - + + + + - - - - + + + ( + + ) , + : + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + <%-- End Session loop entry --%>
+

+ ${sessionName} +

+
- - - ( - - ) , - : -
- -
- - : - - - + +
+ + : + + +
+ + : + + +
+ + : + + +
+ + : + + + + + + + + + +
+ + : + + + + + + + + + +
+   + +   +
- - : - - -
- - : - - -
- - : - - - - - - - - - -
- - : - - - - - - - - - -
-   - -   -