Index: lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql,v diff -u -r1.12 -r1.13 --- lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql 3 Nov 2005 00:36:07 -0000 1.12 +++ lams_tool_sbmt/db/sql/create_lams_tool_sbmt.sql 7 Nov 2005 00:22:53 -0000 1.13 @@ -58,6 +58,6 @@ alter table tl_lasbmt11_submission_details add index FK1411A53C93C861A (session_id), add constraint FK1411A53C93C861A foreign key (session_id) references tl_lasbmt11_session (session_id); alter table tl_lasbmt11_submission_details add index FK1411A53C10BBAB1B (learner_id), add constraint FK1411A53C10BBAB1B foreign key (learner_id) references tl_lasbmt11_session_learners (learner_id); -INSERT INTO `tl_lasbmt11_content` (content_id,title,instruction,define_later,run_offline,content_in_use,lock_on_finished) values(1,"Java Submission","Submit your java programs",0,0,0,0); +INSERT INTO `tl_lasbmt11_content` (content_id,title,instruction,define_later,run_offline,content_in_use,lock_on_finished) values(${default_content_id},"Java Submission","Submit your java programs",0,0,0,0); INSERT INTO `tl_lasbmt11_session` (session_id,content_id,status) values(1,1,1); SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java,v diff -u -r1.17 -r1.18 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java 12 Aug 2005 04:26:51 -0000 1.17 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/ISubmitFilesService.java 7 Nov 2005 00:22:53 -0000 1.18 @@ -177,4 +177,20 @@ * @return */ public Learner getLearner(Long sessionID, Long userID); + /** + * Create the default content for the given contentID. These default data will copy from default record in + * Tool Content database table. + * + * @return + * The SubmitFilesContent with default content and given contentID + */ + public SubmitFilesContent createDefaultContent(Long contentID); + + + /** + * This method retrieves the default content id. + * @param toolSignature The tool signature which is defined in lams_tool table. + * @return the default content id + */ + public Long getToolDefaultContentIdBySignature(String toolSignature); } Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java,v diff -u -r1.25 -r1.26 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 6 Oct 2005 06:47:52 -0000 1.25 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java 7 Nov 2005 00:22:53 -0000 1.26 @@ -24,6 +24,7 @@ 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; @@ -215,7 +216,7 @@ SubmitFilesContent fromContent = submitFilesContentDAO.getContentByID(fromContentId); if ( fromContent == null ) { - // TODO need to get default content here!!! + fromContent = createDefaultContent(fromContentId); } SubmitFilesContent toContent = (SubmitFilesContent) fromContent.clone(); //reset some new attributes for toContent @@ -323,17 +324,19 @@ submitFilesContentDAO.save(content); } - /** + /* * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#updateSubmitFilesContent(org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent) */ public void updateSubmitFilesContent(SubmitFilesContent submitFilesContent) { submitFilesContentDAO.update(submitFilesContent); - } + public void saveSubmitFilesContent(SubmitFilesContent submitFilesContent) { + submitFilesContentDAO.save(submitFilesContent); + } - /** + /* * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#getSubmitFilesContent(java.lang.Long) @@ -351,7 +354,7 @@ return content; } - /** + /* * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#getSubmitFilesReport(java.lang.Long) @@ -417,7 +420,7 @@ submitFilesContentDAO.deleteInstructionFile(contentID, uuid, versionID, type); } - /** + /* * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.ToolSessionManager#createToolSession(java.lang.Long, @@ -456,7 +459,7 @@ } - /** + /* * (non-Javadoc) * * @see org.lamsfoundation.lams.tool.ToolSessionManager#leaveToolSession(java.lang.Long, @@ -779,5 +782,47 @@ } } - + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#getToolDefaultContentIdBySignature(java.lang.Long) + */ + public Long getToolDefaultContentIdBySignature(String toolSignature) + { + Long contentId = null; + contentId=new Long(toolService.getToolDefaultContentIdBySignature(toolSignature)); + if (contentId == null) + { + String error="Could not retrieve default content id for this tool"; + log.error(error); + throw new SubmitFilesException(error); + } + return contentId; + } + /* (non-Javadoc) + * @see org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService#createDefaultContent(java.lang.Long) + */ + public SubmitFilesContent createDefaultContent(Long contentID) { + if (contentID == null) + { + String error="Could not retrieve default content id for this tool"; + log.error(error); + throw new SubmitFilesException(error); + } + Long defaultToolContentId = getToolDefaultContentIdBySignature(SbmtConstants.TOOLSIGNNATURE); + SubmitFilesContent defaultContent = getSubmitFilesContent(defaultToolContentId); + if(defaultContent == null) + { + String error="Could not retrieve default content record for this tool"; + log.error(error); + throw new SubmitFilesException(error); + } + + //save default content by given ID. + SubmitFilesContent content = new SubmitFilesContent(); + content = (SubmitFilesContent) defaultContent.clone(); + content.setContentID(contentID); + saveSubmitFilesContent(content); + + + return content; + } } \ No newline at end of file Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java,v diff -u -r1.11 -r1.12 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java 18 Aug 2005 00:23:43 -0000 1.11 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/AuthoringAction.java 7 Nov 2005 00:22:53 -0000 1.12 @@ -185,7 +185,11 @@ .getServlet().getServletContext()); SubmitFilesContent persistContent = submitFilesService.getSubmitFilesContent(contentID); - //if this content does not exist(empty without id), or find out wrong content(id not match), + //if this content does not exist(empty without id), create a content by default content record. + if(persistContent == null){ + persistContent = submitFilesService.createDefaultContent(contentID); + } + //if find out wrong content(id not match), //then reset the contentID to current value in order to keep it on HTML page. if(!contentID.equals(persistContent.getContentID())){ persistContent = new SubmitFilesContent(); Index: lams_tool_sbmt/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/WEB-INF/Attic/web.xml,v diff -u -r1.8 -r1.9 --- lams_tool_sbmt/web/WEB-INF/web.xml 10 Oct 2005 04:41:20 -0000 1.8 +++ lams_tool_sbmt/web/WEB-INF/web.xml 7 Nov 2005 00:22:53 -0000 1.9 @@ -189,23 +189,23 @@ - http://java.sun.com/jstl/fmt - /WEB-INF/JSTL/tlds/fmt.tld + tags-fmt + /WEB-INF/jstl/tlds/fmt.tld - http://java.sun.com/jstl/fmt-rt - /WEB-INF/JSTL/tlds/fmt-rt.tld + tags-fmt-rt + /WEB-INF/jstl/tlds/fmt-rt.tld - http://java.sun.com/jstl/core - /WEB-INF/JSTL/tlds/c.tld + tags-core + /WEB-INF/jstl/tlds/c.tld - http://java.sun.com/jstl/core-rt - /WEB-INF/JSTL/tlds/c-rt.tld + tags-core-rt + /WEB-INF/jstl/tlds/c-rt.tld Index: lams_tool_sbmt/web/WEB-INF/struts/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/web/WEB-INF/struts/Attic/struts-config.xml,v diff -u -r1.20 -r1.21 --- lams_tool_sbmt/web/WEB-INF/struts/struts-config.xml 4 Nov 2005 03:28:15 -0000 1.20 +++ lams_tool_sbmt/web/WEB-INF/struts/struts-config.xml 7 Nov 2005 00:22:53 -0000 1.21 @@ -13,7 +13,7 @@ - +