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 @@
-
+