Index: lams_tool_sbmt/.classpath =================================================================== diff -u -r19af5451964ee2a465bfb89fb4a2f6f9c666c675 -r0bab69ca213843b109a46bf4834d736cb956cf6f --- lams_tool_sbmt/.classpath (.../.classpath) (revision 19af5451964ee2a465bfb89fb4a2f6f9c666c675) +++ lams_tool_sbmt/.classpath (.../.classpath) (revision 0bab69ca213843b109a46bf4834d736cb956cf6f) @@ -9,5 +9,6 @@ + Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== diff -u -r12363516e3d2a82823dca22cf7cafa91a4c8f9a6 -r0bab69ca213843b109a46bf4834d736cb956cf6f --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 12363516e3d2a82823dca22cf7cafa91a4c8f9a6) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 0bab69ca213843b109a46bf4834d736cb956cf6f) @@ -54,6 +54,7 @@ import org.lamsfoundation.lams.contentrepository.service.IRepositoryService; import org.lamsfoundation.lams.contentrepository.service.RepositoryProxy; import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.tool.ToolContentManager; import org.lamsfoundation.lams.tool.ToolSessionExportOutputData; import org.lamsfoundation.lams.tool.ToolSessionManager; @@ -72,7 +73,9 @@ import org.lamsfoundation.lams.tool.sbmt.dao.ISubmitFilesSessionDAO; import org.lamsfoundation.lams.tool.sbmt.dto.FileDetailsDTO; import org.lamsfoundation.lams.tool.sbmt.exception.SubmitFilesException; +import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants; import org.lamsfoundation.lams.tool.sbmt.util.SbmtToolContentHandler; +import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dao.IUserDAO; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -96,9 +99,12 @@ private ILearnerDAO learnerDAO; + private SbmtToolContentHandler toolContentHandler; private IUserDAO userDAO; - + + private ILamsToolService toolService; + private ILearnerService learnerService; private IRepositoryService repositoryService; /*************************************************************************** @@ -176,15 +182,33 @@ this.learnerDAO = learnerDAO; } + public Learner getLearner(Long sessionID, Long userID) { + return learnerDAO.getLearner(sessionID,userID); + } + public ILearnerService getLearnerService() { + return learnerService; + } + + public void setLearnerService(ILearnerService learnerService) { + this.learnerService = learnerService; + } + + public ILamsToolService getToolService() { + return toolService; + } + + public void setToolService(ILamsToolService toolService) { + this.toolService = toolService; + } + /** * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.ToolContentManager#copyToolContent(java.lang.Long, * java.lang.Long) */ public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { - // TODO fix this to use the default content id - shouldn't throw the exception if (fromContentId == null || toContentId == null) throw new ToolException( "Failed to create the SubmitFiles tool seession"); @@ -228,8 +252,11 @@ * @return */ private SubmitFilesContent duplicateDefaultToolContent(Long toolContentId) { - //TODO - return null; + long contentId=0; + contentId =toolService.getToolDefaultContentIdBySignature(SbmtConstants.TOOLSIGNNATURE); + SubmitFilesContent content = new SubmitFilesContent(); + content.setContentID(new Long(contentId)); + return content; } /** @@ -281,7 +308,6 @@ submitFilesContentDAO.delete(submitFilesContent); } } - //TODO check for related session data and delete as appropriate } /** @@ -426,9 +452,28 @@ * @see org.lamsfoundation.lams.tool.ToolSessionManager#leaveToolSession(java.lang.Long, * org.lamsfoundation.lams.usermanagement.User) */ - public String leaveToolSession(Long toolSessionId, User learner) { - // TODO Auto-generated method stub - return null; + public String leaveToolSession(Long toolSessionId, User learner) + throws DataMissingException, ToolException{ + if(toolSessionId == null){ + log.error("Fail to leave tool Session based on null tool session id."); + throw new ToolException("Fail to remove tool Session based on null tool session id."); + } + if(learner == null){ + log.error("Fail to leave tool Session based on null learner."); + throw new ToolException("Fail to remove tool Session based on null learner."); + } + + SubmitFilesSession session = submitFilesSessionDAO.getSessionByID(toolSessionId); + if(session != null){ + session.setStatus(new Integer(SubmitFilesSession.COMPLETED)); + submitFilesSessionDAO.update(session); + }else{ + log.error("Fail to leave tool Session.Could not find submit file " + + "session by given session id: "+toolSessionId); + throw new DataMissingException("Fail to leave tool Session." + + "Could not find submit file session by given session id: "+toolSessionId); + } + return learnerService.completeToolSession(toolSessionId,learner); } /** @@ -458,8 +503,19 @@ */ public void removeToolSession(Long toolSessionId) throws DataMissingException, ToolException{ - // TODO Auto-generated method stub - return; + if(toolSessionId == null){ + log.error("Fail to remove tool Session based on null tool session id."); + throw new ToolException("Fail to remove tool Session based on null tool session id."); + } + + SubmitFilesSession session = submitFilesSessionDAO.getSessionByID(toolSessionId); + if(session != null) + submitFilesSessionDAO.delete(session); + else{ + log.error("Could not find submit file session by given session id: "+toolSessionId); + throw new DataMissingException("Could not find submit file session by given session id: "+toolSessionId); + } + return; } /** * (non-Javadoc) @@ -704,8 +760,4 @@ } - - public Learner getLearner(Long sessionID, Long userID) { - return learnerDAO.getLearner(sessionID,userID); - } } \ No newline at end of file Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml =================================================================== diff -u -r87916b2e9c4406342e26149d731a5ab070f4d4e0 -r0bab69ca213843b109a46bf4834d736cb956cf6f --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml (.../submitFilesApplicationContext.xml) (revision 87916b2e9c4406342e26149d731a5ab070f4d4e0) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/submitFilesApplicationContext.xml (.../submitFilesApplicationContext.xml) (revision 0bab69ca213843b109a46bf4834d736cb956cf6f) @@ -75,6 +75,8 @@ + + Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java =================================================================== diff -u -r917358423e83fc323518885887537421fd0afafb -r0bab69ca213843b109a46bf4834d736cb956cf6f --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java (.../SbmtConstants.java) (revision 917358423e83fc323518885887537421fd0afafb) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/util/SbmtConstants.java (.../SbmtConstants.java) (revision 0bab69ca213843b109a46bf4834d736cb956cf6f) @@ -23,5 +23,6 @@ public class SbmtConstants { public static final String AUTHORING_DTO = "authoring"; + public static final String TOOLSIGNNATURE = "lasbmt11"; }