Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SbmtResources.properties
===================================================================
diff -u -re4877b292d485295ac26552e87de062cb761ac18 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SbmtResources.properties (.../SbmtResources.properties) (revision e4877b292d485295ac26552e87de062cb761ac18)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SbmtResources.properties (.../SbmtResources.properties) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -57,6 +57,11 @@
label.monitoring.edit.activity.edit=Edit activity
label.monitoring.edit.activity.cancel=Cancel edit
label.monitoring.edit.activity.update=Update activity
+
+monitoring.statistic.title=Statistic for monitoring
+monitoring.statistic.marked=Marked files:
+monitoring.statistic.not.marked=Not marked files:
+monitoring.statistic.total.uploaded.file=Total uploaded files
#-------------------------Exception Labels-----------------#
sbmt.web.action.upload.exception = Upload of file failed.
monitoring.download.error = Download failed becuase of this reason: {0}
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java
===================================================================
diff -u -r21677c773e9f0c7e903336013ada9985c2e05800 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 21677c773e9f0c7e903336013ada9985c2e05800)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dao/hibernate/SubmissionDetailsDAO.java (.../SubmissionDetailsDAO.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -15,7 +15,6 @@
import net.sf.hibernate.type.Type;
import org.lamsfoundation.lams.learningdesign.dao.hibernate.BaseDAO;
-import org.lamsfoundation.lams.tool.sbmt.Learner;
import org.lamsfoundation.lams.tool.sbmt.SubmissionDetails;
import org.lamsfoundation.lams.tool.sbmt.SubmitFilesSession;
import org.lamsfoundation.lams.tool.sbmt.dao.ISubmissionDetailsDAO;
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/DTOException.java
===================================================================
diff -u -rb9ef7102d5de177b2caeaa920e9cfce8996267ed -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/DTOException.java (.../DTOException.java) (revision b9ef7102d5de177b2caeaa920e9cfce8996267ed)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/DTOException.java (.../DTOException.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -22,6 +22,8 @@
public class DTOException extends RuntimeException{
+ private static final long serialVersionUID = -6947149246197084147L;
+
public DTOException() {
super();
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatisticDTO.java
===================================================================
diff -u
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatisticDTO.java (revision 0)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatisticDTO.java (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -0,0 +1,52 @@
+/*
+ *Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ *
+ *This program is free software; you can redistribute it and/or modify
+ *it under the terms of the GNU General Public License as published by
+ *the Free Software Foundation; either version 2 of the License, or
+ *(at your option) any later version.
+ *
+ *This program is distributed in the hope that it will be useful,
+ *but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ *GNU General Public License for more details.
+ *
+ *You should have received a copy of the GNU General Public License
+ *along with this program; if not, write to the Free Software
+ *Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ *USA
+ *
+ *http://www.gnu.org/licenses/gpl.txt
+ */
+package org.lamsfoundation.lams.tool.sbmt.dto;
+/**
+ *
+ * @author Steve.Ni
+ *
+ * $version$
+ */
+public class StatisticDTO {
+
+ private int notMarkedCount;
+ private int markedCount;
+ private int totalUploadedFiles;
+
+ public int getMarkedCount() {
+ return markedCount;
+ }
+ public void setMarkedCount(int markedCount) {
+ this.markedCount = markedCount;
+ }
+ public int getNotMarkedCount() {
+ return notMarkedCount;
+ }
+ public void setNotMarkedCount(int notMarkedCount) {
+ this.notMarkedCount = notMarkedCount;
+ }
+ public int getTotalUploadedFiles() {
+ return totalUploadedFiles;
+ }
+ public void setTotalUploadedFiles(int totalUploadedFiles) {
+ this.totalUploadedFiles = totalUploadedFiles;
+ }
+}
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatusReportDTO.java
===================================================================
diff -u -reb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatusReportDTO.java (.../StatusReportDTO.java) (revision eb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/StatusReportDTO.java (.../StatusReportDTO.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -29,6 +29,7 @@
*/
public class StatusReportDTO implements Serializable {
+ private static final long serialVersionUID = 4915274448120747612L;
private Long userID;
private String login;
private String fullName;
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/exception/SubmitFilesException.java
===================================================================
diff -u -r09602b4fc6bb64e155ba57136c6d7f9b2a1fa82d -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/exception/SubmitFilesException.java (.../SubmitFilesException.java) (revision 09602b4fc6bb64e155ba57136c6d7f9b2a1fa82d)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/exception/SubmitFilesException.java (.../SubmitFilesException.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -26,7 +26,9 @@
* @author Manpreet Minhas
*/
public class SubmitFilesException extends RuntimeException {
-
+
+ private static final long serialVersionUID = 8623508856810983309L;
+
/**
* Default Constructor
*/
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java
===================================================================
diff -u -rc80bf4c3ad4122cedca89d2965789b5f380df406 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java (.../ISubmitFilesService.java) (revision c80bf4c3ad4122cedca89d2965789b5f380df406)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java (.../ISubmitFilesService.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -20,8 +20,6 @@
*/
package org.lamsfoundation.lams.tool.sbmt.service;
-import java.util.ArrayList;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
@@ -139,18 +137,7 @@
* @return The user information list
*/
public List getUsers(Long contentID);
- /**
- * This method is required in the monitoring enviornment
- * when the teacher wants to view all the learners who have
- * uploaded one file or the other for marking purposes. *
- *
- * @param contentID The content_id of the tool
- * @return Hashtable The required information
- */
- public Hashtable generateReport(Long contentID);
- public ArrayList getStatus(Long contentID);
-
public void updateMarks(Long reportID, Long marks, String comments);
public UserDTO getUserDetails(Long userID);
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java
===================================================================
diff -u -rc80bf4c3ad4122cedca89d2965789b5f380df406 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision c80bf4c3ad4122cedca89d2965789b5f380df406)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -24,13 +24,11 @@
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -73,8 +71,6 @@
import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesReportDAO;
import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesSessionDAO;
import org.lamsfoundation.lams.tool.sbmt.dto.FileDetailsDTO;
-import org.lamsfoundation.lams.tool.sbmt.dto.LearnerDetailsDTO;
-import org.lamsfoundation.lams.tool.sbmt.dto.StatusReportDTO;
import org.lamsfoundation.lams.tool.sbmt.exception.SubmitFilesException;
import org.lamsfoundation.lams.tool.sbmt.util.SbmtToolContentHandler;
import org.lamsfoundation.lams.usermanagement.User;
@@ -407,9 +403,11 @@
{
SubmitFilesContent submitContent = submitFilesContentDAO.getContentByID(toolContentId);
- SubmitFilesSession submitSession = new SubmitFilesSession (toolSessionId,
- SubmitFilesSession.INCOMPLETE);
-
+ SubmitFilesSession submitSession = new SubmitFilesSession ();
+
+ submitSession.setSessionID(toolSessionId);
+ submitSession.setStatus(new Integer(SubmitFilesSession.INCOMPLETE));
+ submitSession.setContent(submitContent);
submitFilesSessionDAO.createSession(submitSession);
log.debug("Survey session created");
}
@@ -646,91 +644,7 @@
}
return table;
}
- /**
- * (non-Javadoc)
- * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#generateReport(java.lang.Long)
- */
- 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 = learnerDAO.getSubmissionDetailsForUserBySession(userID,sessionID);
- table.put(user.getUserDTO(),getUserDetails(userDetails.iterator()));
- }
- return table;
- }
- /**
- * Utility function used by generateReport
method
- * above to assist in generating the report.
- *
- * @param iterator
- * @return ArrayList
- */
- private ArrayList getUserDetails(Iterator iterator){
- ArrayList details = new ArrayList();
- while(iterator.hasNext()){
- SubmissionDetails submissionDetails = (SubmissionDetails)iterator.next();
- details.add(getLearnerDetailsDTO(submissionDetails,
- submissionDetails.getReport()));
- }
- return details;
- }
- /**
- * Utility function used by getUserDetails
method
- * above to assist in generating the report.
- *
- * @param details
- * @param report
- * @return LearnerDetailsDTO
- */
- private LearnerDetailsDTO getLearnerDetailsDTO(SubmissionDetails details,
- SubmitFilesReport report){
- LearnerDetailsDTO dto = new LearnerDetailsDTO();
- dto.setComments(report.getComments());
-// dto.setContentInstruction()
-// dto.setContentLockOnFinished()
-// dto.setContentTitle()
- dto.setDateMarksReleased(report.getDateMarksReleased());
- dto.setDateOfSubmission(details.getDateOfSubmission());
- dto.setFileDescription(details.getFileDescription());
- dto.setMarks(report.getMarks());
-// dto.setName();
-// dto.setToolSessionID()
-// dto.setUserID()
- return dto;
- }
-
- public ArrayList getStatus(Long sessionID){
- ArrayList details = new ArrayList();
- List users = submissionDetailsDAO.getUsersForSession(sessionID);
- Iterator iterator = users.iterator();
- while(iterator.hasNext()){
- Long userID = (Long)iterator.next();
- List allFiles = learnerDAO.getSubmissionDetailsForUserBySession(userID,sessionID);
- boolean unmarked = hasUnmarkedContent(allFiles.iterator());
- details.add(getStatusDetails(userID,unmarked));
- }
- return details;
- }
- private boolean hasUnmarkedContent(Iterator details){
- boolean unmarked = false;
- while(details.hasNext()){
- SubmissionDetails submissionDetails = (SubmissionDetails)details.next();
- if(submissionDetails.getReport().getMarks()==null)
- return true;
- }
- return unmarked;
- }
- private StatusReportDTO getStatusDetails(Long userID,boolean unmarked){
- User user = userDAO.getUserById(new Integer(userID.intValue()));
- return new StatusReportDTO(user.getUserId(),
- user.getLogin(),
- user.getFullName(),
- new Boolean(unmarked));
- }
+
public void updateMarks(Long reportID, Long marks, String comments){
SubmitFilesReport report = submitFilesReportDAO.getReportByID(reportID);
if(report!=null){
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java
===================================================================
diff -u -reb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java (.../SubmitFilesServiceProxy.java) (revision eb8df38a09efc89ecb2524cb7cf70ad9f3ec69d8)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesServiceProxy.java (.../SubmitFilesServiceProxy.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -16,8 +16,6 @@
*/
public class SubmitFilesServiceProxy {
- private ISubmitFilesService submitFilesService;
-
public static final ISubmitFilesService getSubmitFilesService(ServletContext servletContext){
WebApplicationContext context = WebApplicationContextUtils
.getRequiredWebApplicationContext(servletContext);
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java
===================================================================
diff -u -rc80bf4c3ad4122cedca89d2965789b5f380df406 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java (.../AuthoringAction.java) (revision c80bf4c3ad4122cedca89d2965789b5f380df406)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java (.../AuthoringAction.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -5,9 +5,7 @@
package org.lamsfoundation.lams.tool.sbmt.web;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -21,7 +19,6 @@
import org.apache.struts.actions.LookupDispatchAction;
import org.apache.struts.upload.FormFile;
import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
-import org.lamsfoundation.lams.tool.sbmt.InstructionFiles;
import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent;
import org.lamsfoundation.lams.tool.sbmt.dto.AuthoringDTO;
import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService;
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java
===================================================================
diff -u -r10b6f6f69897fce9306dd8d83c1e44d1322124f8 -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision 10b6f6f69897fce9306dd8d83c1e44d1322124f8)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6)
@@ -24,8 +24,6 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -48,6 +46,7 @@
import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent;
import org.lamsfoundation.lams.tool.sbmt.dto.AuthoringDTO;
import org.lamsfoundation.lams.tool.sbmt.dto.FileDetailsDTO;
+import org.lamsfoundation.lams.tool.sbmt.dto.StatisticDTO;
import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService;
import org.lamsfoundation.lams.tool.sbmt.service.SubmitFilesServiceProxy;
import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants;
@@ -73,18 +72,13 @@
* @struts.action-forward name="editActivity" path="/monitoring/editactivity.jsp"
* @struts.action-forward name="success" path="/monitoring/success.jsp"
*
- * @struts.action-forward name="status" path="/Status.jsp"
- *
+ * @struts.action-forward name="statistic" path="/monitoring/statistic.jsp"
+ *
*/
public class MonitoringAction extends DispatchAction {
public ISubmitFilesService submitFilesService;
- public ISubmitFilesService getSubmitFilesService(){
- return SubmitFilesServiceProxy
- .getSubmitFilesService(this.getServlet()
- .getServletContext());
- }
/**
* List all user for monitor staff choose which user need to do report marking.
* It is first step to do report marking.
@@ -317,7 +311,14 @@
return null;
}
-
+ /**
+ * Display online/offline instruction information from Authoring. This page is read-only.
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
public ActionForward instructions(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -337,7 +338,15 @@
request.setAttribute(SbmtConstants.AUTHORING_DTO,authorDto);
return mapping.findForward("instructions");
}
-
+ /**
+ * Display acitivty from authoring. The information will be same with "Basic" tab in authoring page.
+ * This page is read-only.
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
public ActionForward showActivity(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -346,7 +355,14 @@
getAuthoringActivity(form, request);
return mapping.findForward("showActivity");
}
-
+ /**
+ * Provide editable page for activity. The information will be same with "Basic" tab in authoring page.
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
public ActionForward editActivity(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -355,6 +371,14 @@
getAuthoringActivity(form, request);
return mapping.findForward("editActivity");
}
+ /**
+ * Update activity to database. The information will be same with "Basic" tab in authoring page.
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
public ActionForward updateActivity(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -374,9 +398,51 @@
return mapping.findForward("success");
}
/**
+ * Provide statistic information. Includes:
+ *