Index: lams_tool_sbmt/velocity.log =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/Attic/velocity.log,v diff -u -r1.1 -r1.2 Binary files differ Index: lams_tool_sbmt/conf/middlegen/lams_tool_sbmt-prefs.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/conf/middlegen/lams_tool_sbmt-prefs.properties,v diff -u -r1.1 -r1.2 --- lams_tool_sbmt/conf/middlegen/lams_tool_sbmt-prefs.properties 6 Jun 2005 00:16:21 -0000 1.1 +++ lams_tool_sbmt/conf/middlegen/lams_tool_sbmt-prefs.properties 13 Jul 2005 07:28:48 -0000 1.2 @@ -68,6 +68,9 @@ hibernate.tables.tl_lasbmt11_report.columns.report_id.inctostring=true hibernate.tables.tl_lasbmt11_report.columns.report_id.java-name=reportID hibernate.tables.tl_lasbmt11_report.columns.report_id.java-type=java.lang.Long +hibernate.tables.tl_lasbmt11_report.columns.submission_id.columnspecialty=foreign key +hibernate.tables.tl_lasbmt11_report.columns.submission_id.java-name=submissionId +hibernate.tables.tl_lasbmt11_report.columns.submission_id.java-type=long hibernate.tables.tl_lasbmt11_report.columns.user_id.columnspecialty=property hibernate.tables.tl_lasbmt11_report.columns.user_id.incequals=true hibernate.tables.tl_lasbmt11_report.columns.user_id.inctostring=true @@ -94,6 +97,24 @@ hibernate.tables.tl_lasbmt11_session.columns.status.java-type=java.lang.Integer hibernate.tables.tl_lasbmt11_session.equalshashcode=true hibernate.tables.tl_lasbmt11_session.keygenerator=assigned +hibernate.tables.tl_lasbmt11_submission_details.base-class-name=TlLasbmt11SubmissionDetail +hibernate.tables.tl_lasbmt11_submission_details.columns.content_id.java-name=contentId +hibernate.tables.tl_lasbmt11_submission_details.columns.content_id.java-type=long +hibernate.tables.tl_lasbmt11_submission_details.columns.date_of_submission.java-name=dateOfSubmission +hibernate.tables.tl_lasbmt11_submission_details.columns.date_of_submission.java-type=java.sql.Timestamp +hibernate.tables.tl_lasbmt11_submission_details.columns.fileDescription.java-name=fileDescription +hibernate.tables.tl_lasbmt11_submission_details.columns.fileDescription.java-type=java.lang.String +hibernate.tables.tl_lasbmt11_submission_details.columns.filePath.java-name=filePath +hibernate.tables.tl_lasbmt11_submission_details.columns.filePath.java-type=java.lang.String +hibernate.tables.tl_lasbmt11_submission_details.columns.submission_id.java-name=submissionId +hibernate.tables.tl_lasbmt11_submission_details.columns.submission_id.java-type=java.lang.Long +hibernate.tables.tl_lasbmt11_submission_details.columns.user_id.java-name=userId +hibernate.tables.tl_lasbmt11_submission_details.columns.user_id.java-type=long +hibernate.tables.tl_lasbmt11_submission_details.columns.uuid.java-name=uuid +hibernate.tables.tl_lasbmt11_submission_details.columns.uuid.java-type=long +hibernate.tables.tl_lasbmt11_submission_details.columns.version_id.java-name=versionId +hibernate.tables.tl_lasbmt11_submission_details.columns.version_id.java-type=long +hibernate.tables.tl_lasbmt11_submission_details.keygenerator=assigned relations.tl_lasbmt11_content-tl_lasbmt11_report.tl_lasbmt11_content-has-tl_lasbmt11_report.enabled=true relations.tl_lasbmt11_content-tl_lasbmt11_report.tl_lasbmt11_content-has-tl_lasbmt11_report.target-many=true relations.tl_lasbmt11_content-tl_lasbmt11_report.tl_lasbmt11_report-has-tl_lasbmt11_content.enabled=true @@ -102,9 +123,19 @@ relations.tl_lasbmt11_content-tl_lasbmt11_session.tl_lasbmt11_content-has-tl_lasbmt11_session.target-many=true relations.tl_lasbmt11_content-tl_lasbmt11_session.tl_lasbmt11_session-has-tl_lasbmt11_content.enabled=true relations.tl_lasbmt11_content-tl_lasbmt11_session.tl_lasbmt11_session-has-tl_lasbmt11_content.target-many=false -tables.tl_lasbmt11_content.x=339 -tables.tl_lasbmt11_content.y=166 -tables.tl_lasbmt11_report.x=596 -tables.tl_lasbmt11_report.y=8 +relations.tl_lasbmt11_content-tl_lasbmt11_submission_details.tl_lasbmt11_content-has-tl_lasbmt11_submission_details.enabled=true +relations.tl_lasbmt11_content-tl_lasbmt11_submission_details.tl_lasbmt11_content-has-tl_lasbmt11_submission_details.target-many=true +relations.tl_lasbmt11_content-tl_lasbmt11_submission_details.tl_lasbmt11_submission_details-has-tl_lasbmt11_content.enabled=true +relations.tl_lasbmt11_content-tl_lasbmt11_submission_details.tl_lasbmt11_submission_details-has-tl_lasbmt11_content.target-many=false +relations.tl_lasbmt11_submission_details-tl_lasbmt11_report.tl_lasbmt11_report-has-tl_lasbmt11_submission_details.enabled=true +relations.tl_lasbmt11_submission_details-tl_lasbmt11_report.tl_lasbmt11_report-has-tl_lasbmt11_submission_details.target-many=false +relations.tl_lasbmt11_submission_details-tl_lasbmt11_report.tl_lasbmt11_submission_details-has-tl_lasbmt11_report.enabled=true +relations.tl_lasbmt11_submission_details-tl_lasbmt11_report.tl_lasbmt11_submission_details-has-tl_lasbmt11_report.target-many=true +tables.tl_lasbmt11_content.x=324 +tables.tl_lasbmt11_content.y=154 +tables.tl_lasbmt11_report.x=287 +tables.tl_lasbmt11_report.y=6 tables.tl_lasbmt11_session.x=49 tables.tl_lasbmt11_session.y=49 +tables.tl_lasbmt11_submission_details.x=521 +tables.tl_lasbmt11_submission_details.y=44 Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesContent.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesContent.java,v diff -u -r1.2 -r1.3 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesContent.java 13 Jul 2005 06:27:57 -0000 1.2 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesContent.java 13 Jul 2005 07:28:48 -0000 1.3 @@ -206,18 +206,22 @@ try { obj = super.clone(); //clone SubmitFIleSession object - Iterator iter = toolSession.iterator(); - Set set = new TreeSet(); - while(iter.hasNext()) - set.add(((SubmitFilesSession)iter.next()).clone()); - ((SubmitFilesContent)obj).toolSession = set; + if(toolSession != null ){ + Iterator iter = toolSession.iterator(); + Set set = new TreeSet(); + while(iter.hasNext()) + set.add(((SubmitFilesSession)iter.next()).clone()); + ((SubmitFilesContent)obj).toolSession = set; + } //clone SubmissionDetails object - iter = submissionDetails.iterator(); - set = new TreeSet(); - while(iter.hasNext()) - set.add(((SubmissionDetails)iter.next()).clone()); - ((SubmitFilesContent)obj).submissionDetails = set; + if(submissionDetails != null){ + Iterator iter = submissionDetails.iterator(); + Set set = new TreeSet(); + while(iter.hasNext()) + set.add(((SubmissionDetails)iter.next()).clone()); + ((SubmitFilesContent)obj).submissionDetails = set; + } } catch (CloneNotSupportedException e) { log.error("When clone " + SubmissionDetails.class + " failed"); Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesReport.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesReport.java,v diff -u -r1.2 -r1.3 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesReport.java 13 Jul 2005 06:27:57 -0000 1.2 +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/SubmitFilesReport.java 13 Jul 2005 07:28:48 -0000 1.3 @@ -90,7 +90,7 @@ /* (non-Javadoc) * @see java.lang.Object#clone() */ - protected Object clone() throws CloneNotSupportedException { + public Object clone() { Object obj = null; try { Index: lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/TestModel.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/Attic/TestModel.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_tool_sbmt/test/java/org/lamsfoundation/lams/tool/sbmt/dao/TestModel.java 13 Jul 2005 07:28:48 -0000 1.1 @@ -0,0 +1,146 @@ +/* + *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.dao; + +import java.util.Calendar; +import java.util.Date; + +import org.lamsfoundation.lams.tool.sbmt.SubmissionDetails; +import org.lamsfoundation.lams.tool.sbmt.SubmitFilesContent; +import org.lamsfoundation.lams.tool.sbmt.SubmitFilesReport; +import org.lamsfoundation.lams.tool.sbmt.SubmitFilesSession; + +import junit.framework.TestCase; + +/** + * @author Steve.Ni + * + * $version$ + */ +public class TestModel extends TestCase { + //report data + private static String commA ="commA"; + private static Long markA = new Long(100); + private static Long repA = new Long(100); + private static int dayA = 10; + private static int mthA = 9; + private static int yearA = 2003; + + private static String commB ="commB"; + private static Long markB = new Long(201); + private static Long repB = new Long(201); + private static int dayB = 11; + private static int mthB = 8; + private static int yearB = 2004; + + //content data + private static String insA = "InstructionsA"; + private static String insB = "InstructionsB"; + private static String titA = "titleA"; + private static String titB = "titleB"; + private static boolean deA = false; + private static boolean deB = true; + private static boolean offA = false; + private static boolean offB = false; + + private SubmitFilesContent content; + private SubmitFilesReport report; + private SubmitFilesSession session; + private SubmissionDetails detail; + + /* + * @see TestCase#setUp() + */ + protected void setUp() throws Exception { + content = new SubmitFilesContent(); + + content.setContentID(new Long(1)); + session = new SubmitFilesSession(); + detail = new SubmissionDetails(); + report = new SubmitFilesReport(); + } + /* + * Class under test for SubmitFilesReport clone() + */ + public void testReportClone(){ + fillReportA(report); + SubmitFilesReport reportC = (SubmitFilesReport) report.clone(); + fillReportB(report); + + assertEquals(reportC.getComments(),commA); + Calendar cal = Calendar.getInstance(); + cal.set(yearA,mthA,dayA); + assertEquals(reportC.getDateMarksReleased(),cal.getTime()); + assertEquals(reportC.getMarks(),markA); + assertEquals(reportC.getReportID(),repA); + + } + /* + * Class under test for SubmitFilesContent clone() + */ + public void testContentClone() { + fillContentA(content); + SubmitFilesContent contentC = (SubmitFilesContent) content.clone(); + fillContentB(content); + + assertEquals(contentC.getInstructions(),insA); + assertEquals(contentC.getTitle(),titA); + assertEquals(contentC.isDefineLater(),deA); + assertEquals(contentC.isRunOffline(),offA); +// assertEquals(contentC.getSubmissionDetails(),insA); +// assertEquals(contentC.getToolSession(),insA); + + } + + private void fillReportA(SubmitFilesReport report){ + report.setComments(commA); + Calendar cal = Calendar.getInstance(); + cal.set(yearA,mthA,dayA); + report.setDateMarksReleased(cal.getTime()); + report.setMarks(markA); + report.setReportID(repA); + } + private void fillReportB(SubmitFilesReport report){ + report.setComments(commB); + Calendar cal = Calendar.getInstance(); + cal.set(yearB,mthB,dayB); + report.setDateMarksReleased(cal.getTime()); + report.setMarks(markB); + report.setReportID(repB); + } + private void fillContentA(SubmitFilesContent content){ + content.setDefineLater(deA); + content.setInstructions(insA); + content.setRunOffline(offA); + content.setTitle(titA); +// content.setSubmissionDetails(); +// content.setToolSession(); + } + private void fillContentB(SubmitFilesContent content){ + content.setDefineLater(deB); + content.setInstructions(insB); + content.setRunOffline(offB); + content.setTitle(titB); +// content.setSubmissionDetails(); +// content.setToolSession(); + } + +}