Index: lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -156,8 +156,6 @@
label.learning.heading =Share Resources
label.learning.choose.one.answer =Choose one of the following answers.
label.learning.choose.at.least.one.answer =Choose at least one answer.
-label.learning.submit.page =Submit page
-label.learning.submit.all =Submit all
label.learning.matching.pairs.pick.up =Pick up the corresponding answers
label.learning.matching.pairs.choose =Choose
label.learning.short.answer.answer =Answer:
@@ -166,6 +164,10 @@
label.learning.ordering.sort.answers =Sort answers in the right order
label.learning.marks.penalty =Marks for this submission: {0}/{1}. This submission attracted a penalty of {2}.
label.learning.marks =Marks for this submission: {0}/{1}.
+label.learning.finish.test =Finish Test
+label.learning.submit.all =Submit All
+label.learning.next.activity =Next Activity
+label.learning.resubmit =Resubmit
monitoring.tab.summary =Summary
monitoring.tab.instructions =Instruction
monitoring.tab.statistics =Statistic
Index: lams_tool_assessment/conf/xdoclet/struts-actions.xml
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -186,54 +186,27 @@
parameter="nextPage" >
-
-
-
-
-
+
+ parameter="finishTest" >
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
Index: lams_tool_assessment/db/sql/create_lams_tool_assessment.sql
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/db/sql/create_lams_tool_assessment.sql (.../create_lams_tool_assessment.sql) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -4,8 +4,10 @@
drop table if exists tl_laasse10_assessment_question;
drop table if exists tl_laasse10_question_option;
drop table if exists tl_laasse10_assessment_overall_feedback;
-drop table if exists tl_laasse10_assessment_question_result;
-drop table if exists tl_laasse10_assessment_answer;
+drop table if exists tl_laasse10_assessment_unit;
+drop table if exists tl_laasse10_assessment_result;
+drop table if exists tl_laasse10_question_result;
+drop table if exists tl_laasse10_option_answer;
drop table if exists tl_laasse10_session;
drop table if exists tl_laasse10_user;
create table tl_laasse10_attachment (
@@ -26,7 +28,7 @@
title varchar(255),
run_offline tinyint,
time_limit integer DEFAULT 0,
- attempts_allowed integer DEFAULT 0,
+ attempts_allowed integer DEFAULT 1,
instructions text,
online_instructions text,
offline_instructions text,
@@ -97,23 +99,29 @@
unit varchar(255),
primary key (uid)
)type=innodb;
-create table tl_laasse10_question_result (
+create table tl_laasse10_assessment_result (
uid bigint not null auto_increment,
+ assessment_uid bigint,
start_date datetime,
finish_date datetime,
+ user_uid bigint,
+ session_id bigint,
+ primary key (uid)
+)type=innodb;
+create table tl_laasse10_question_result (
+ uid bigint not null auto_increment,
assessment_question_uid bigint,
+ result_uid bigint,
answer_string text,
answer_float float,
answer_boolean boolean,
mark float,
penalty float,
- user_uid bigint,
- session_id bigint,
primary key (uid)
)type=innodb;
-create table tl_laasse10_assessment_answer (
+create table tl_laasse10_option_answer (
uid bigint not null unique auto_increment,
- result_uid bigint,
+ question_result_uid bigint,
sequence_id integer,
answer_boolean boolean,
answer_int integer,
@@ -148,21 +156,18 @@
alter table tl_laasse10_question_option add index FK_tl_laasse10_question_option_1 (question_uid), add constraint FK_tl_laasse10_question_option_1 foreign key (question_uid) references tl_laasse10_assessment_question (uid);
alter table tl_laasse10_assessment_overall_feedback add index FK_tl_laasse10_assessment_overall_feedback_1 (assessment_uid), add constraint FK_tl_laasse10_assessment_overall_feedback_1 foreign key (assessment_uid) references tl_laasse10_assessment (uid);
alter table tl_laasse10_assessment_unit add index FK_tl_laasse10_assessment_unit_1 (question_uid), add constraint FK_tl_laasse10_assessment_unit_1 foreign key (question_uid) references tl_laasse10_assessment_question (uid);
+alter table tl_laasse10_assessment_result add index FK_tl_laasse10_assessment_result_2 (user_uid), add constraint FK_tl_laasse10_assessment_result_2 foreign key (user_uid) references tl_laasse10_user (uid);
+alter table tl_laasse10_assessment_result add index FK_tl_laasse10_assessment_result_3 (assessment_uid), add constraint FK_tl_laasse10_assessment_result_3 foreign key (assessment_uid) references tl_laasse10_assessment (uid);
alter table tl_laasse10_question_result add index FK_NEW_1720029621_693580A438BF8DFE (assessment_question_uid), add constraint FK_NEW_1720029621_693580A438BF8DFE foreign key (assessment_question_uid) references tl_laasse10_assessment_question (uid);
-alter table tl_laasse10_question_result add index FK_NEW_1720029621_693580A441F9365D (user_uid), add constraint FK_NEW_1720029621_693580A441F9365D foreign key (user_uid) references tl_laasse10_user (uid);
-alter table tl_laasse10_assessment_answer add index FK_tl_laasse10_assessment_answer_1 (result_uid), add constraint FK_tl_laasse10_assessment_answer_1 foreign key (result_uid) references tl_laasse10_question_result (uid);
+alter table tl_laasse10_question_result add index FK_tl_laasse10_question_result_1 (result_uid), add constraint FK_tl_laasse10_question_result_1 foreign key (result_uid) references tl_laasse10_assessment_result (uid);
+alter table tl_laasse10_option_answer add index FK_tl_laasse10_option_answer_1 (question_result_uid), add constraint FK_tl_laasse10_option_answer_1 foreign key (question_result_uid) references tl_laasse10_question_result (uid);
alter table tl_laasse10_session add index FK_NEW_1720029621_24AA78C530E79035 (assessment_uid), add constraint FK_NEW_1720029621_24AA78C530E79035 foreign key (assessment_uid) references tl_laasse10_assessment (uid);
alter table tl_laasse10_user add index FK_NEW_1720029621_30113BFCEC0D3147 (session_uid), add constraint FK_NEW_1720029621_30113BFCEC0D3147 foreign key (session_uid) references tl_laasse10_session (uid);
alter table tl_laasse10_user add index FK_NEW_1720029621_30113BFC309ED320 (assessment_uid), add constraint FK_NEW_1720029621_30113BFC309ED320 foreign key (assessment_uid) references tl_laasse10_assessment (uid);
-
-
INSERT INTO `tl_laasse10_assessment` (`uid`, `create_date`, `update_date`, `create_by`, `title`, `run_offline`,
`instructions`, `online_instructions`, `offline_instructions`, `content_in_use`, `define_later`, `content_id`, `allow_question_feedback`,
`allow_overall_feedback`, `allow_right_wrong_answers`, `allow_grades_after_attempt`, `shuffled`,`reflect_on_activity`) VALUES
(1,NULL,NULL,NULL,'Assessment','0','Instructions ',null,null,0,0,${default_content_id},0,0,0,0,0,0);
-INSERT INTO `tl_laasse10_assessment_question` (`uid`, `question_type`, `title`, `question`, `sequence_id`, `general_feedback`, `feedback_on_correct`, `feedback_on_partially_correct`, `feedback_on_incorrect`, `shuffle`, `case_sensitive`, `hide`, `create_by_author`, `create_date`, `create_by`, `assessment_uid`, `session_uid`) VALUES
- (1,1,'Title','Question',1,'general_feedback','feedback_on_correct','feedback_on_partially_correct','feedback_on_incorrect',0,0,0,0,NOW(),NULL,1,NULL);
-
SET FOREIGN_KEY_CHECKS=1;
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -152,8 +152,6 @@
public static final String ATTR_USER_LIST = "userList";
- public static final String ATTR_FINISH_LOCK = "finishedLock";
-
public static final String ATTR_LOCK_ON_FINISH = "lockOnFinish";
public static final String ATTR_SESSION_MAP_ID = "sessionMapID";
@@ -174,7 +172,15 @@
public static final String ATTR_PAGED_QUESTIONS = "pagedQuestions";
- public static final String ATTR_RESULT_FOR_ORDERING = "resultForOrdering";
+ public static final String ATTR_QUESTION_FOR_ORDERING = "questionForOrdering";
+
+ public static final String ATTR_ASSESSMENT_RESULT = "assessmentResult";
+
+ public static final String ATTR_IS_RESUBMIT_ALLOWED = "isResubmitAllowed";
+
+ public static final String ATTR_FINISHED_LOCK = "finishedLock";
+
+ public static final String ATTR_USER = "user";
// error message keys
public static final String ERROR_MSG_QUESTION_NAME_BLANK = "error.question.name.blank";
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/assessmentApplicationContext.xml
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/assessmentApplicationContext.xml (.../assessmentApplicationContext.xml) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/assessmentApplicationContext.xml (.../assessmentApplicationContext.xml) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -25,8 +25,9 @@
org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestionOption.hbm.xml
org/lamsfoundation/lams/tool/assessment/model/AssessmentOverallFeedback.hbm.xml
org/lamsfoundation/lams/tool/assessment/model/AssessmentUnit.hbm.xml
+ org/lamsfoundation/lams/tool/assessment/model/AssessmentResult.hbm.xml
org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestionResult.hbm.xml
- org/lamsfoundation/lams/tool/assessment/model/AssessmentAnswer.hbm.xml
+ org/lamsfoundation/lams/tool/assessment/model/AssessmentOptionAnswer.hbm.xml
org/lamsfoundation/lams/tool/assessment/model/AssessmentAttachment.hbm.xml
org/lamsfoundation/lams/tool/assessment/model/AssessmentSession.hbm.xml
@@ -49,6 +50,11 @@
+
+
+
+
+
@@ -84,6 +90,9 @@
+
+
+
@@ -139,7 +148,8 @@
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
- PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
+ PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
PROPAGATION_REQUIRED,-java.lang.Exception
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentQuestionResultDAO.java
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentQuestionResultDAO.java (.../AssessmentQuestionResultDAO.java) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentQuestionResultDAO.java (.../AssessmentQuestionResultDAO.java) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -30,16 +30,16 @@
public interface AssessmentQuestionResultDAO extends DAO {
- public AssessmentQuestionResult getAssessmentQuestionResult(Long questionUid, Long userId);
+// public AssessmentQuestionResult getAssessmentQuestionResult(Long questionUid, Long userId);
+//
+// /**
+// * Return list which contains key pair which key is assessment question uid, value is number view.
+// *
+// * @param contentId
+// * @return
+// */
+// public Map getSummary(Long contentId);
+//
+// public List getAssessmentQuestionResultBySession(Long sessionId, Long questionUid);
- /**
- * Return list which contains key pair which key is assessment question uid, value is number view.
- *
- * @param contentId
- * @return
- */
- public Map getSummary(Long contentId);
-
- public List getAssessmentQuestionResultBySession(Long sessionId, Long questionUid);
-
}
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentResultDAO.java
===================================================================
diff -u
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentResultDAO.java (revision 0)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/AssessmentResultDAO.java (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -0,0 +1,51 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.tool.assessment.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import org.lamsfoundation.lams.tool.assessment.model.AssessmentQuestionResult;
+import org.lamsfoundation.lams.tool.assessment.model.AssessmentResult;
+
+public interface AssessmentResultDAO extends DAO {
+
+ List getAssessmentResult(Long assessmentUid, Long userId);
+
+ AssessmentResult getLastAssessmentResult(Long assessmentUid, Long userId);
+
+ int getAssessmentResultCount(Long toolSessionId, Long userId);
+
+// /**
+// * Return list which contains key pair which key is assessment question uid, value is number view.
+// *
+// * @param contentId
+// * @return
+// */
+// Map getSummary(Long contentId);
+
+// List getAssessmentResultBySession(Long sessionId, Long questionUid);
+
+}
+
\ No newline at end of file
Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java
===================================================================
diff -u -r3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f -rffbd31e92ef761df70dfa660de414ba7b8b269ce
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java (.../AssessmentQuestionResultDAOHibernate.java) (revision 3fdcee6fa67ca8bbbf112bb01a95873fc76a6b0f)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentQuestionResultDAOHibernate.java (.../AssessmentQuestionResultDAOHibernate.java) (revision ffbd31e92ef761df70dfa660de414ba7b8b269ce)
@@ -34,52 +34,51 @@
public class AssessmentQuestionResultDAOHibernate extends BaseDAOHibernate implements AssessmentQuestionResultDAO {
- private static final String FIND_BY_QUESTION_AND_USER = "from " + AssessmentQuestionResult.class.getName()
- + " as r where r.user.userId = ? and r.assessmentQuestion.uid=?";
-
- private static final String FIND_BY_QUESTION_AND_SESSION = "from " + AssessmentQuestionResult.class.getName()
- + " as r where r.sessionId = ? and r.assessmentQuestion.uid=?";
-
-// private static final String FIND_VIEW_COUNT_BY_USER = "select count(*) from "
-// + AssessmentQuestionResult.class.getName() + " as r where r.sessionId=? and r.user.userId =?";
-
- private static final String FIND_SUMMARY = "select v.assessmentQuestion.uid, count(v.assessmentQuestion) from "
- + AssessmentQuestionResult.class.getName() + " as v , " + AssessmentSession.class.getName() + " as s, "
- + Assessment.class.getName() + " as r " + " where v.sessionId = s.sessionId "
- + " and s.assessment.uid = r.uid " + " and r.contentId =? "
- + " group by v.sessionId, v.assessmentQuestion.uid ";
-
- public AssessmentQuestionResult getAssessmentQuestionResult(Long questionUid, Long userId) {
- List list = getHibernateTemplate().find(FIND_BY_QUESTION_AND_USER, new Object[] { userId, questionUid });
- if (list == null || list.size() == 0)
- return null;
- return (AssessmentQuestionResult) list.get(0);
- }
-
+// private static final String FIND_BY_QUESTION_AND_USER = "from " + AssessmentQuestionResult.class.getName()
+// + " as r where r.user.userId = ? and r.assessmentQuestion.uid=?";
+//
+// private static final String FIND_BY_QUESTION_AND_SESSION = "from " + AssessmentQuestionResult.class.getName()
+// + " as r where r.sessionId = ? and r.assessmentQuestion.uid=?";
+//
+//// private static final String FIND_VIEW_COUNT_BY_USER = "select count(*) from "
+//// + AssessmentQuestionResult.class.getName() + " as r where r.sessionId=? and r.user.userId =?";
+//
+// private static final String FIND_SUMMARY = "select v.assessmentQuestion.uid, count(v.assessmentQuestion) from "
+// + AssessmentQuestionResult.class.getName() + " as v , " + AssessmentSession.class.getName() + " as s, "
+// + Assessment.class.getName() + " as r " + " where v.sessionId = s.sessionId "
+// + " and s.assessment.uid = r.uid " + " and r.contentId =? "
+// + " group by v.sessionId, v.assessmentQuestion.uid ";
+//
+// public AssessmentQuestionResult getAssessmentQuestionResult(Long questionUid, Long userId) {
+// List list = getHibernateTemplate().find(FIND_BY_QUESTION_AND_USER, new Object[] { userId, questionUid });
+// if (list == null || list.size() == 0)
+// return null;
+// return (AssessmentQuestionResult) list.get(0);
+// }
+//
// public int getUserViewLogCount(Long toolSessionId, Long userUid) {
// List list = getHibernateTemplate().find(FIND_VIEW_COUNT_BY_USER, new Object[] { toolSessionId, userUid });
// if (list == null || list.size() == 0)
// return 0;
// return ((Number) list.get(0)).intValue();
// }
+//
+// public Map getSummary(Long contentId) {
+//
+// // Note: Hibernate 3.1 query.uniqueResult() returns Integer, Hibernate 3.2 query.uniqueResult() returns Long
+// List