Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java
===================================================================
diff -u -r87916b2e9c4406342e26149d731a5ab070f4d4e0 -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java (.../LearnerDAO.java) (revision 87916b2e9c4406342e26149d731a5ab070f4d4e0)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/LearnerDAO.java (.../LearnerDAO.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -41,7 +41,6 @@
" where user_id=? AND session_id=?";
public Learner getLearner(Long sessionID, Long userID) {
- this.getHibernateTemplate().clear();
List list = this.getHibernateTemplate().
find(FIND_BY_USER_ID_SESSION_ID,
new Object[]{userID, sessionID},
@@ -71,7 +70,6 @@
}
public List getSubmissionDetailsForUserBySession(Long userID, Long sessionID) {
- this.getHibernateTemplate().clear();
List learnerList = this.getHibernateTemplate().find(FIND_FOR_USER_BY_SESSION,
new Object[]{userID, sessionID},
new Type[]{Hibernate.LONG,Hibernate.LONG});
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java
===================================================================
diff -u -r87916b2e9c4406342e26149d731a5ab070f4d4e0 -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 87916b2e9c4406342e26149d731a5ab070f4d4e0)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -77,6 +77,7 @@
this.getSession().setFlushMode(FlushMode.AUTO);
this.getHibernateTemplate().saveOrUpdate(session);
this.getHibernateTemplate().flush();
+ this.getHibernateTemplate().clear();
}
/* (non-Javadoc)
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java
===================================================================
diff -u -ref6d73d66ac4b16879bad807f3b0bfa1c9e15494 -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java (.../LearnerAction.java) (revision ef6d73d66ac4b16879bad807f3b0bfa1c9e15494)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java (.../LearnerAction.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -117,7 +117,6 @@
try{
submitFilesService.uploadFileToSession(sessionID,uploadedFile,fileDescription,userID);
List filesUploaded = submitFilesService.getFilesUploadedByUser(userID,sessionID);
- submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext());
SubmitFilesSession session = submitFilesService.getSessionById(sessionID);
SubmitFilesContent content = session.getContent();
Learner learner = submitFilesService.getLearner(sessionID,userID);
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java
===================================================================
diff -u -rc36eb8bba0958f38d26c34d6cd690e60c934a619 -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision c36eb8bba0958f38d26c34d6cd690e60c934a619)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -22,9 +22,11 @@
*/
package org.lamsfoundation.lams.tool.sbmt.web;
+import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -90,8 +92,8 @@
Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID"));
submitFilesService = getSubmitFilesService();
List userList = submitFilesService.getUsers(sessionID);
- request.getSession().setAttribute("toolSessionID",sessionID);
- request.getSession().setAttribute("USERLIST",userList);
+ request.setAttribute("toolSessionID",sessionID);
+ request.setAttribute("userList",userList);
return mapping.findForward("userlist");
}
/**
@@ -111,10 +113,9 @@
submitFilesService = getSubmitFilesService();
//return FileDetailsDTO list according to the given userID and sessionID
List files = submitFilesService.getFilesUploadedByUser(userID,sessionID);
- request.getSession().setAttribute("toolSessionID",sessionID);
- request.getSession().setAttribute("user",
- submitFilesService.getUserDetails(userID));
- request.getSession().setAttribute("userReport",files);
+ request.setAttribute("toolSessionID",sessionID);
+ request.setAttribute("user",submitFilesService.getUserDetails(userID));
+ request.setAttribute("userReport",files);
return mapping.findForward("userMarks");
}
/**
@@ -135,10 +136,10 @@
submitFilesService = getSubmitFilesService();
- request.getSession().setAttribute("toolSessionID",sessionID);
- request.getSession().setAttribute("user",
+ request.setAttribute("toolSessionID",sessionID);
+ request.setAttribute("user",
submitFilesService.getUserDetails(userID));
- request.getSession().setAttribute("fileDetails",
+ request.setAttribute("fileDetails",
submitFilesService.getFileDetails(detailID));
return mapping.findForward("updateMarks");
}
@@ -159,10 +160,9 @@
String comments = WebUtil.readStrParam(request,"comments",true);
if(!errors.isEmpty()){
//to echo back to error page.
- FileDetailsDTO details = (FileDetailsDTO) request.getSession().getAttribute("fileDetails");
- if(details != null){
+ FileDetailsDTO details = (FileDetailsDTO) request.getAttribute("fileDetails");
+ if(details != null)
details.setComments(comments);
- }
saveErrors(request,errors);
return mapping.findForward("updateMarks");
}
@@ -181,54 +181,11 @@
submitFilesService.updateMarks(reportID,marks,comments);
List report = submitFilesService.getFilesUploadedByUser(userID,sessionID);
- request.getSession().setAttribute("userReport",report);
- request.getSession().setAttribute("toolSessionID",sessionID);
- request.getSession().setAttribute("userID",userID);
+ request.setAttribute("userReport",report);
+ request.setAttribute("toolSessionID",sessionID);
+ request.setAttribute("userID",userID);
return mapping.findForward("userMarks");
}
- /**
- * Download upload file for a special submission detail.
- * @param mapping
- * @param form
- * @param request
- * @param response
- * @return
- */
-
- public ActionForward downloadFile(ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response){
- Long versionID =new Long(WebUtil.readLongParam(request,"versionID"));
- Long uuID = new Long(WebUtil.readLongParam(request,"uuID"));
-
- ISubmitFilesService service = getSubmitFilesService();
- IVersionedNode node = service.downloadFile(uuID,versionID);
- int len;
- ActionMessages errors = new ActionMessages();
- try {
- InputStream is = node.getFile();
- String mineType = node.getProperty("MIMETYPE").getString();
- response.setContentType(mineType);
- String header = "attachment; filename=\"" + node.getProperty("FILENAME").getString() + "\";";
- response.setHeader("Content-Disposition",header);
- byte[] data = new byte[4 * 1024];
- while(is != null && (len = is.read(data)) != -1){
- response.getOutputStream().write(data,0,len);
- }
- response.getOutputStream().flush();
- } catch (Exception e) {
- log.error(e);
- errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("monitoring.download.error",e.toString()));
- }
- //if download throw any exception, then display it in current page.
- if(!errors.isEmpty()){
- saveErrors(request,errors);
- return mapping.findForward("userMarks");
- }
-
- return null;
- }
public ActionForward viewAllMarks(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -238,10 +195,10 @@
submitFilesService = getSubmitFilesService();
//return FileDetailsDTO list according to the given sessionID
Map userFilesMap = submitFilesService.getFilesUploadedBySession(sessionID);
- request.getSession().setAttribute("toolSessionID",sessionID);
-// request.getSession().setAttribute("user",
+ request.setAttribute("toolSessionID",sessionID);
+// request.setAttribute("user",
// submitFilesService.getUserDetails(userID));
- request.getSession().setAttribute("report",userFilesMap);
+ request.setAttribute("report",userFilesMap);
return mapping.findForward("allUserMarks");
}
@@ -261,6 +218,54 @@
ActionForm form,
HttpServletRequest request,
HttpServletResponse response){
+
+ Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID"));
+ submitFilesService = getSubmitFilesService();
+ //return FileDetailsDTO list according to the given sessionID
+ Map userFilesMap = submitFilesService.getFilesUploadedBySession(sessionID);
+ //construct mark HTML format? (other format?)
+ StringBuffer marks = new StringBuffer();
+ Iterator iter = userFilesMap.values().iterator();
+ Iterator dtoIter;
+ boolean first = true;
+ while(iter.hasNext()){
+ List list = (List) iter.next();
+ dtoIter = list.iterator();
+ first = true;
+ while(dtoIter.hasNext()){
+ FileDetailsDTO dto = (FileDetailsDTO) dtoIter.next();
+ if(first){
+ marks.append(dto.getUserDTO().getFirstName()).append(" ").append(dto.getUserDTO().getLastName()).append(":
");
+ first = false;
+ }
+ marks.append(dto.getMarks()).append("
");
+ marks.append(dto.getComments()).append("
");
+ }
+ }
+
+ //construct download file response header
+ String fileName = "marks" + sessionID+".htm";
+ String mineType = "text/html";
+ String header = "attachment; filename=\"" + fileName + "\";";
+ response.setContentType(mineType);
+ response.setHeader("Content-Disposition",header);
+
+ ActionMessages errors = new ActionMessages();
+ try {
+ byte[] out = marks.toString().getBytes();
+ response.getOutputStream().write(out,0,out.length);
+ response.getOutputStream().flush();
+ } catch (IOException e) {
+ log.error(e);
+ errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("monitoring.download.error",e.toString()));
+ }
+ //if download throw any exception, then display it in current page.
+ if(!errors.isEmpty()){
+ saveErrors(request,errors);
+ request.setAttribute("toolSessionID",sessionID);
+ return mapping.findForward("userlist");
+ }
+
return null;
}
@@ -291,8 +296,8 @@
Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID"));
submitFilesService = getSubmitFilesService();
ArrayList status = submitFilesService.getStatus(sessionID);
- request.getSession().setAttribute("toolSessionID",sessionID);
- request.getSession().setAttribute("status",status);
+ request.setAttribute("toolSessionID",sessionID);
+ request.setAttribute("status",status);
return mapping.findForward("status");
}
public ActionForward generateReport(ActionMapping mapping, ActionForm form,
@@ -301,8 +306,8 @@
"toolSessionID"));
submitFilesService = getSubmitFilesService();
Hashtable report = submitFilesService.generateReport(sessionID);
- request.getSession().setAttribute("toolSessionID", sessionID);
- request.getSession().setAttribute("report", report);
+ request.setAttribute("toolSessionID", sessionID);
+ request.setAttribute("report", report);
return mapping.findForward("allUserMarks");
}
Index: lams_tool_sbmt/web/authoring/authoring.jsp
===================================================================
diff -u -rc80bf4c3ad4122cedca89d2965789b5f380df406 -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/web/authoring/authoring.jsp (.../authoring.jsp) (revision c80bf4c3ad4122cedca89d2965789b5f380df406)
+++ lams_tool_sbmt/web/authoring/authoring.jsp (.../authoring.jsp) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -65,12 +65,18 @@
-
+
+
+
+
-
-
+
+
+
+
+
-
+
Index: lams_tool_sbmt/web/monitoring/alluserlist.jsp
===================================================================
diff -u -rc9f48be7b9781402a7150cf8e6e26d42c1bb457c -r21677c773e9f0c7e903336013ada9985c2e05800
--- lams_tool_sbmt/web/monitoring/alluserlist.jsp (.../alluserlist.jsp) (revision c9f48be7b9781402a7150cf8e6e26d42c1bb457c)
+++ lams_tool_sbmt/web/monitoring/alluserlist.jsp (.../alluserlist.jsp) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
@@ -21,7 +21,7 @@