Index: lams_tool_sbmt/build.properties =================================================================== diff -u -ra8637bbd49b901ff6a00b2d6fb048d94429aba3f -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/build.properties (.../build.properties) (revision a8637bbd49b901ff6a00b2d6fb048d94429aba3f) +++ lams_tool_sbmt/build.properties (.../build.properties) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -18,7 +18,7 @@ gui = true #xdoclet version number -xdoclet.version=1.2.2 +xdoclet.version=1.2.3 #web application properties sessiontimeout=120 Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmissionDetails.java =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmissionDetails.java (.../SubmissionDetails.java) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmissionDetails.java (.../SubmissionDetails.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -38,6 +38,7 @@ /** persistent field */ private SubmitFilesReport report; + private SubmitFilesSession submitFileSession; /** default constructor */ public SubmissionDetails() { @@ -157,8 +158,8 @@ } /** - * @hibernate.many-to-one not-null="false" - * @hibernate.column name="report_id" + * @hibernate.one-to-one cascade="all" not-null="false" + * foreign-key="report_id" * @return Returns the report. */ public SubmitFilesReport getReport() { @@ -203,4 +204,17 @@ return obj; } + /** + * @hibernate.many-to-one column="session_id" cascade="save-update" + * @return Returns the submitFileSession. + */ + public SubmitFilesSession getSubmitFileSession() { + return submitFileSession; + } + /** + * @param submitFileSession The submitFileSession to set. + */ + public void setSubmitFileSession(SubmitFilesSession submitFileSession) { + this.submitFileSession = submitFileSession; + } } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesSession.java =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesSession.java (.../SubmitFilesSession.java) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesSession.java (.../SubmitFilesSession.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -108,7 +108,7 @@ return obj; } /** - * @hibernate.set lazy="true" inverse="false" cascade="all-delete-orphan" + * @hibernate.set lazy="true" inverse="true" cascade="all-delete-orphan" * @hibernate.collection-one-to-many * class="org.lamsfoundation.lams.tool.sbmt.SubmissionDetails" * @hibernate.collection-key column="session_id" Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/ISubmissionDetailsDAO.java =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/ISubmissionDetailsDAO.java (.../ISubmissionDetailsDAO.java) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/ISubmissionDetailsDAO.java (.../ISubmissionDetailsDAO.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -44,7 +44,7 @@ */ public List getSubmissionDetailsForUserBySession(Long userID,Long contentID); - public List getUsersForContent(Long contentID); + public List getUsersForSession(Long contentID); /** * Save or update the given SubmitFilesSession value. Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -34,7 +34,7 @@ " in class " + SubmissionDetails.class.getName() + " where user_id=? AND session_id=?"; private static final String FIND_DISTINCT_USER = " select distinct details.userID from SubmissionDetails details " + - " where details.content =:contentID"; + " where details.submitFileSession =:sessionID"; /** @@ -65,11 +65,11 @@ return list; } - public List getUsersForContent(final Long contentID){ + public List getUsersForSession(final Long sessionID){ return (List) this.getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException{ return session.createQuery(FIND_DISTINCT_USER) - .setLong("contentID",contentID.longValue()) + .setLong("sessionID",sessionID.longValue()) .list(); } }); Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/FileDetailsDTO.java =================================================================== diff -u -r39c01a1dca00f314cfdbaadfadf123b2f27ab580 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/FileDetailsDTO.java (.../FileDetailsDTO.java) (revision 39c01a1dca00f314cfdbaadfadf123b2f27ab580) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/FileDetailsDTO.java (.../FileDetailsDTO.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -33,6 +33,7 @@ */ public class FileDetailsDTO implements Serializable{ + private Long submissionID; private Long reportID; private String filePath; private String fileDescription; @@ -44,9 +45,10 @@ private Long versionID; /** Miinimal Constructor*/ - public FileDetailsDTO(String filePath, String fileDescription, + public FileDetailsDTO(Long submissionID, String filePath, String fileDescription, Date dateOfSubmission,Long reportID, String comments, Long marks) { super(); + this.submissionID = submissionID; this.filePath = filePath; this.fileDescription = fileDescription; this.dateOfSubmission = dateOfSubmission; @@ -56,7 +58,8 @@ } public FileDetailsDTO(SubmissionDetails details, SubmitFilesReport report){ - + + this.submissionID = details.getSubmissionID(); this.filePath = details.getFilePath(); this.fileDescription = details.getFileDescription(); this.dateOfSubmission = details.getDateOfSubmission(); @@ -71,6 +74,7 @@ } public FileDetailsDTO(SubmissionDetails details){ + this.submissionID = details.getSubmissionID(); this.filePath = details.getFilePath(); this.fileDescription = details.getFileDescription(); this.dateOfSubmission = details.getDateOfSubmission(); @@ -194,4 +198,16 @@ public void setVersionID(Long versionID) { this.versionID = versionID; } + /** + * @return Returns the submissionID. + */ + public Long getSubmissionID() { + return submissionID; + } + /** + * @param submissionID The submissionID to set. + */ + public void setSubmissionID(Long submissionID) { + this.submissionID = submissionID; + } } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== diff -u -r39c01a1dca00f314cfdbaadfadf123b2f27ab580 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 39c01a1dca00f314cfdbaadfadf123b2f27ab580) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -380,6 +380,9 @@ NodeKey nodeKey = uploadFileToRepository(stream, fileName, mimeType); SubmissionDetails details = new SubmissionDetails(filePath,fileDescription,dateOfSubmission, userID,nodeKey.getUuid(),nodeKey.getVersion()); + SubmitFilesReport report = new SubmitFilesReport(); + details.setReport(report); + details.setSubmitFileSession(session); //update session, then insert the detail too. Set detailSet = session.getSubmissionDetails(); detailSet.add(details); @@ -554,8 +557,8 @@ * (non-Javadoc) * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#getUsers(java.lang.Long) */ - public List getUsers(Long contentID){ - List users = submissionDetailsDAO.getUsersForContent(contentID); + public List getUsers(Long sessionID){ + List users = submissionDetailsDAO.getUsersForSession(sessionID); Iterator iterator = users.iterator(); List table = new ArrayList(); while(iterator.hasNext()){ @@ -569,14 +572,14 @@ * (non-Javadoc) * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#generateReport(java.lang.Long) */ - public Hashtable generateReport(Long contentID){ - List users = submissionDetailsDAO.getUsersForContent(contentID); + public Hashtable generateReport(Long sessionID){ + List users = submissionDetailsDAO.getUsersForSession(sessionID); Iterator iterator = users.iterator(); Hashtable table = new Hashtable(); while(iterator.hasNext()){ Long userID = (Long)iterator.next(); User user = userDAO.getUserById(new Integer(userID.intValue())); - List userDetails = submissionDetailsDAO.getSubmissionDetailsForUserBySession(userID,contentID); + List userDetails = submissionDetailsDAO.getSubmissionDetailsForUserBySession(userID,sessionID); table.put(user.getUserDTO(),getUserDetails(userDetails.iterator())); } return table; @@ -617,13 +620,13 @@ report.getDateMarksReleased()); } - public ArrayList getStatus(Long contentID){ + public ArrayList getStatus(Long sessionID){ ArrayList details = new ArrayList(); - List users = submissionDetailsDAO.getUsersForContent(contentID); + List users = submissionDetailsDAO.getUsersForSession(sessionID); Iterator iterator = users.iterator(); while(iterator.hasNext()){ Long userID = (Long)iterator.next(); - List allFiles = submissionDetailsDAO.getSubmissionDetailsForUserBySession(userID,contentID); + List allFiles = submissionDetailsDAO.getSubmissionDetailsForUserBySession(userID,sessionID); boolean unmarked = hasUnmarkedContent(allFiles.iterator()); details.add(getStatusDetails(userID,unmarked)); } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java =================================================================== diff -u -rb496f01cb0de2c2968b080bced80c36ce24bb323 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision b496f01cb0de2c2968b080bced80c36ce24bb323) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -28,11 +28,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; - import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService; import org.lamsfoundation.lams.tool.sbmt.service.SubmitFilesServiceProxy; import org.lamsfoundation.lams.util.WebUtil; @@ -75,87 +76,92 @@ ActionForm form, HttpServletRequest request, HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); + Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID")); submitFilesService = getSubmitFilesService(); - List userList = submitFilesService.getUsers(contentID); - request.getSession().setAttribute("contentID",contentID); + List userList = submitFilesService.getUsers(sessionID); + request.getSession().setAttribute("toolSessionID",sessionID); request.getSession().setAttribute("USERLIST",userList); return mapping.findForward("userlist"); } - - public ActionForward generateReport(ActionMapping mapping, - ActionForm form, - HttpServletRequest request, - HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); - submitFilesService = getSubmitFilesService(); - Hashtable report = submitFilesService.generateReport(contentID); - request.getSession().setAttribute("contentID",contentID); - request.getSession().setAttribute("report",report); - return mapping.findForward("report"); - } - - public ActionForward getStatus(ActionMapping mapping, - ActionForm form, - HttpServletRequest request, - HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); - submitFilesService = getSubmitFilesService(); - ArrayList status = submitFilesService.getStatus(contentID); - request.getSession().setAttribute("contentID",contentID); - request.getSession().setAttribute("status",status); - return mapping.findForward("status"); - } public ActionForward getFilesUploadedByUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); + Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID")); Long userID = new Long(WebUtil.readLongParam(request,"userID")); submitFilesService = getSubmitFilesService(); - List report = submitFilesService.getFilesUploadedByUser(userID,contentID); - request.getSession().setAttribute("contentID",contentID); + //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",report); + request.getSession().setAttribute("userReport",files); return mapping.findForward("userReport"); } + public ActionForward markFile(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response){ + Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID")); + Long userID = new Long(WebUtil.readLongParam(request,"userID")); + Long detailID = new Long(WebUtil.readLongParam(request,"detailID")); + + submitFilesService = getSubmitFilesService(); + + request.getSession().setAttribute("toolSessionID",sessionID); + request.getSession().setAttribute("user", + submitFilesService.getUserDetails(userID)); + request.getSession().setAttribute("fileDetails", + submitFilesService.getFileDetails(detailID)); + return mapping.findForward("updateMarks"); + } public ActionForward updateMarks(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); - Long reportID =new Long(WebUtil.readLongParam(request,"reportID")); + Long sessionID =new Long(WebUtil.readLongParam(request,"toolSessionID")); + String reportIDStr = request.getParameter("reportID"); + Long reportID = new Long(-1); + if(!StringUtils.isEmpty(reportIDStr)) + reportID = Long.valueOf(reportIDStr); + Long marks = new Long(WebUtil.readLongParam(request,"marks")); String comments = WebUtil.readStrParam(request,"comments"); Long userID = new Long(WebUtil.readLongParam(request,"userID")); submitFilesService = getSubmitFilesService(); submitFilesService.updateMarks(reportID,marks,comments); - List report = submitFilesService.getFilesUploadedByUser(userID,contentID); + List report = submitFilesService.getFilesUploadedByUser(userID,sessionID); request.getSession().setAttribute("userReport",report); - request.getSession().setAttribute("contentID",contentID); + request.getSession().setAttribute("toolSessionID",sessionID); request.getSession().setAttribute("userID",userID); return mapping.findForward("userReport"); } - public ActionForward markFile(ActionMapping mapping, - ActionForm form, - HttpServletRequest request, - HttpServletResponse response){ - Long contentID =new Long(WebUtil.readLongParam(request,"contentID")); - Long userID = new Long(WebUtil.readLongParam(request,"userID")); - Long detailID = new Long(WebUtil.readLongParam(request,"detailID")); - + //TODO + public ActionForward getStatus(ActionMapping mapping, + ActionForm form, + HttpServletRequest request, + HttpServletResponse response){ + 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); + return mapping.findForward("status"); + } + public ActionForward generateReport(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + Long sessionID = new Long(WebUtil.readLongParam(request, + "toolSessionID")); submitFilesService = getSubmitFilesService(); - - request.getSession().setAttribute("contentID",contentID); - request.getSession().setAttribute("user", - submitFilesService.getUserDetails(userID)); - request.getSession().setAttribute("fileDetails", - submitFilesService.getFileDetails(detailID)); - return mapping.findForward("updateMarks"); -} + Hashtable report = submitFilesService.generateReport(sessionID); + request.getSession().setAttribute("toolSessionID", sessionID); + request.getSession().setAttribute("report", report); + return mapping.findForward("report"); + } + + } Index: lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/TestSubmissionDetailsDAO.java =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/TestSubmissionDetailsDAO.java (.../TestSubmissionDetailsDAO.java) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/TestSubmissionDetailsDAO.java (.../TestSubmissionDetailsDAO.java) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -73,7 +73,7 @@ } public void testGetDistinctUser(){ - List list = submissionDetailsDAO.getUsersForContent(new Long(1)); + List list = submissionDetailsDAO.getUsersForSession(new Long(1)); assertEquals(list.size(),3); } Index: lams_tool_sbmt/web/Login.jsp =================================================================== diff -u -rdf1375bbde992f59d04ee895a971eb4dfa7282b1 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/Login.jsp (.../Login.jsp) (revision df1375bbde992f59d04ee895a971eb4dfa7282b1) +++ lams_tool_sbmt/web/Login.jsp (.../Login.jsp) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -21,7 +21,7 @@
- +
Index: lams_tool_sbmt/web/Status.jsp =================================================================== diff -u -reb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/Status.jsp (.../Status.jsp) (revision eb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8) +++ lams_tool_sbmt/web/Status.jsp (.../Status.jsp) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -15,10 +15,10 @@ - + -
+ Index: lams_tool_sbmt/web/WEB-INF/struts/validation.xml =================================================================== diff -u -r7ce5a98708f5a561d46682de26ae44541ab23d20 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/WEB-INF/struts/validation.xml (.../validation.xml) (revision 7ce5a98708f5a561d46682de26ae44541ab23d20) +++ lams_tool_sbmt/web/WEB-INF/struts/validation.xml (.../validation.xml) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -7,7 +7,7 @@ - + Index: lams_tool_sbmt/web/updateMarks.jsp =================================================================== diff -u -reb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/updateMarks.jsp (.../updateMarks.jsp) (revision eb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8) +++ lams_tool_sbmt/web/updateMarks.jsp (.../updateMarks.jsp) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -16,7 +16,7 @@ - + Please assign a mark and a comment for the report by , @@ -25,7 +25,7 @@ File Description:
Date of Submission:
- /> + /> /> /> Marks: >
Index: lams_tool_sbmt/web/userReport.jsp =================================================================== diff -u -reb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8 -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/userReport.jsp (.../userReport.jsp) (revision eb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8) +++ lams_tool_sbmt/web/userReport.jsp (.../userReport.jsp) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -45,8 +45,9 @@ + > > - > + > > Index: lams_tool_sbmt/web/userlist.jsp =================================================================== diff -u -r09c9fa0ac21227610deb68479356ca37513ae74e -r8ad8873eb5b2b790da1c136795b0fdc9ac89027c --- lams_tool_sbmt/web/userlist.jsp (.../userlist.jsp) (revision 09c9fa0ac21227610deb68479356ca37513ae74e) +++ lams_tool_sbmt/web/userlist.jsp (.../userlist.jsp) (revision 8ad8873eb5b2b790da1c136795b0fdc9ac89027c) @@ -27,7 +27,7 @@
- +