Index: lams_tool_daco/.classpath =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/.classpath (.../.classpath) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/.classpath (.../.classpath) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -7,8 +7,8 @@ - - - - + + + + Index: lams_tool_daco/.project =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/.project (.../.project) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/.project (.../.project) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -18,7 +18,7 @@ exploded 2 - D:/jboss/server/default/deploy/lams.ear/lams-tool-ladaco10.war/WEB-INF/classes + D:/jboss-4.0.2/server/default/deploy/lams.ear/lams-tool-ladaco10.war Index: lams_tool_daco/build.properties =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/build.properties (.../build.properties) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/build.properties (.../build.properties) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -13,7 +13,7 @@ weblib=lib #project version -tool.version=20080611 +tool.version=20080731 # hide tool option hideTool=false Index: lams_tool_daco/build.xml =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/build.xml (.../build.xml) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/build.xml (.../build.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -98,7 +98,6 @@ force="true"> - Index: lams_tool_daco/conf/hibernate/mappings/hibernate.properties =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/conf/hibernate/mappings/hibernate.properties (.../hibernate.properties) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/conf/hibernate/mappings/hibernate.properties (.../hibernate.properties) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -2,6 +2,4 @@ hibernate.connection.password=lamsdemo hibernate.connection.url=jdbc:mysql://localhost/lams hibernate.connection.driver_class=com.mysql.jdbc.Driver -hibernate.dialect=org.hibernate.dialect.MySQLDialect - - +hibernate.dialect=org.hibernate.dialect.MySQLDialect \ No newline at end of file Index: lams_tool_daco/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,6 @@ activity.helptext =Asking questions with custom, limited answers. tool.display.name =Data Collection Tool tool.description =Tool for collecting data. -appName =Data Collection errorPage.title =Error page errorPage.heading =Some error occurs when handling your request @@ -20,9 +19,10 @@ label.common.summary.sum=Sum label.common.summary.average=Average label.common.summary.count=Count +label.common.summary.refresh=Refresh +label.common.heading =Data Collection label.author.title =Data Collection -label.authoring.heading =Data Collection label.authoring.heading.instructions =Instructions label.authoring.heading.instructions.desc =Please input online and offline instructions label.authoring.heading.advance.description =Please input advanced options for data collection @@ -37,12 +37,12 @@ label.authoring.basic.answeroption.ordinal=ABCDEFGHIJKLMNOPQRSTUVWXYZ label.authoring.basic.question.add=Add question -label.authoring.basic.textfield=Text field -label.authoring.basic.textfield.add =Add text field question +label.authoring.basic.textfield=Single line text +label.authoring.basic.textfield.add =Add single line text question label.authoring.basic.textfield.help=Learner enters a single line of text as an answer. -label.authoring.basic.textarea=Text area -label.authoring.basic.textarea.add =Add text area question -label.authoring.basic.textarea.help=Learner enters a multi line text as an answer. +label.authoring.basic.textarea=Multi-line text +label.authoring.basic.textarea.add =Add multi-line text question +label.authoring.basic.textarea.help=Learner enters a multi-line text as an answer. label.authoring.basic.number=Number label.authoring.basic.number.add =Add number question label.authoring.basic.number.help=Learner enters a number as an answer. @@ -79,14 +79,8 @@ label.authoring.basic.list.title =Question list label.authoring.basic.list.header.type=Type label.authoring.basic.list.header.question=Question -label.authoring.basic.textfield =Text field -label.authoring.basic.file =File label.authoring.basic.edit =Edit label.authoring.basic.delete =Delete -label.authoring.basic.textfield.input =Text field -label.authoring.basic.file.input =File -label.authoring.basic.description.input =Description -label.authoring.basic.zip.file.input =Zip file: label.authoring.basic.required =Question is required label.authoring.basic.additionaloptions.show=Show additional options label.authoring.basic.additionaloptions.hide=Hide additional options @@ -103,7 +97,6 @@ label.authoring.advanced.record.max=Maximum label.authoring.advanced.record.nolimit=No limit label.authoring.advanced.lock.on.finished =Lock when finished -label.authoring.advanced.run.content.auto =Run content automatically (only available if there is exactly one question) label.authoring.offline.file =Upload offline file label.authoring.offline.instruction =Offline Instructions @@ -122,6 +115,7 @@ label.learning.heading.list=List label.learning.heading.summary=Summary label.learning.heading.recordnumber =Record number: +label.learning.heading.recordcount=Total record count label.learning.heading.norecords=No records added. label.learning.add=Add record label.learning.textfield.hint=Enter a single line of text @@ -156,10 +150,24 @@ label.learning.tableheader.summary.all=All label.learning.summary.emptyanswer=Empty answer +title.monitoring=LAMS Data Collection monitoring +title.monitoring.recordlist=LAMS record list tab.monitoring.summary =Summary tab.monitoring.statistics =Statistic tab.monitoring.instructions =Instruction tab.monitoring.edit.activity =Edit Activity +label.monitoring.fullname=Full name +label.monitoring.loginname=Login name +label.monitoring.recordcount=Record count +label.monitoring.action=Action +label.monitoring.chooseuser=Choose learner +label.monitoring.viewrecords=View records +label.monitoring.viewrecords.all=View all records +label.monitoring.advancedsettings =Advanced Settings +label.monitoring.advancedsettings.on=On +label.monitoring.advancedsettings.off=Off +label.monitoring.advancedsettings.addNotebook =Add Notebook at end of Data Collection +label.monitoring.advancedsettings.notebookinstructions=Notebook instructions label.monitoring.group =Group label.monitoring.type =Type label.monitoring.title =Title @@ -176,24 +184,20 @@ label.monitoring.attachments =Attachments label.monitoring.user.fullname =Name label.monitoring.heading.access =Learners list -label.monitoring.access.time =Access time message.monitoring.edit.activity.not.editable =This Activity is no longer editable -message.monitoring.summary.no.session =No Session Available +message.monitoring.summary.no.session =No learners have accessed this activity yet. message.monitoring.summary.no.question.for.group =No question available for this group. -note.monitoring.summary =Note: number of learners is the number of learners who have viewed the question. export.label.question =Question export.title =Export portfolio of Data Collection export.init.question =Initial Questions -message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. -message.step.of =Step {0} of {1} +message.alertContentEdit =The modification of the content is not allowed since one or more participants has attempted the activity. message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Data Collection, you won't be able to view questions message.learning.addrecordsuccess =The record was added successfully. message.learning.editrecordsuccess =The record was updated successfully. message.activityLocked =The instructor has set this activity not to allow you to view any more questions after you have finished it. -message.maxFileSize =Max 250K label.open =Open label.delete =Delete @@ -205,33 +209,28 @@ label.hide =Hide label.save =Save label.cancel =Cancel +label.up =Move Up +label.down =Move down +label.continue =Continue +label.finished =Next Activity +label.finish =Finished button.upload =Upload button.add =Add button.cancel =Cancel button.try.again =Try again button.close =Close +button.edit =Edit define.later.message =Please wait for the teacher to complete the contents of this activity. run.offline.message =This activity is not being done on the computer. Please see your instructor for details. -open.in.new.window =Open textfield in pop-up page.title.monitoring.view.reflection =View Notebook Entries -button.edit =Edit message.no.reflection.available =No notebook available title.reflection =Notebook Entry monitoring.user.reflection =Notebook Entry - -label.up =Move Up -label.down =Move down -label.continue =Continue -label.finished =Next Activity -label.finish =Finished - - - errors.header = errors.footer = error.valueReqd =Value Required @@ -289,10 +288,8 @@ error.record.notenough=You should enter at least {0} records. error.record.toomuch=You should enter no more than {0} records. - error.upload.failed =Upload file failed: {0} error.msg.upload.file.not.found =Could not find upload file {0}. -error.msg.zip.file.exception =Could not handle zip file when uploading file. error.msg.file.not.found =File not found exception occurs when uploading file. error.msg.io.exception =IOException occurs when uploading file. error.msg.invaid.param.upload =InvalidParameterException occured while trying to upload File. Index: lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,6 @@ activity.helptext =Asking questions with custom, limited answers. tool.display.name =Data Collection Tool tool.description =Tool for collecting data. -appName =Data Collection errorPage.title =Error page errorPage.heading =Some error occurs when handling your request @@ -20,9 +19,11 @@ label.common.summary.sum=Sum label.common.summary.average=Average label.common.summary.count=Count +label.common.summary.refresh=Refresh +label.common.heading =Data Collection + label.author.title =Data Collection -label.authoring.heading =Data Collection label.authoring.heading.instructions =Instructions label.authoring.heading.instructions.desc =Please input online and offline instructions label.authoring.heading.advance.description =Please input advanced options for data collection @@ -37,12 +38,12 @@ label.authoring.basic.answeroption.ordinal=ABCDEFGHIJKLMNOPQRSTUVWXYZ label.authoring.basic.question.add=Add question -label.authoring.basic.textfield=Text field -label.authoring.basic.textfield.add =Add text field question +label.authoring.basic.textfield=Single line text +label.authoring.basic.textfield.add =Add single line text question label.authoring.basic.textfield.help=Learner enters a single line of text as an answer. -label.authoring.basic.textarea=Text area -label.authoring.basic.textarea.add =Add text area question -label.authoring.basic.textarea.help=Learner enters a multi line text as an answer. +label.authoring.basic.textarea=Multi-line text +label.authoring.basic.textarea.add =Add multi-line text question +label.authoring.basic.textarea.help=Learner enters a multi-line text as an answer. label.authoring.basic.number=Number label.authoring.basic.number.add =Add number question label.authoring.basic.number.help=Learner enters a number as an answer. @@ -62,7 +63,6 @@ label.authoring.basic.dropdown=Dropdown menu label.authoring.basic.dropdown.add=Add dropdown menu question label.authoring.basic.dropdown.help=Learner chooses one answer from the given options. -label.authoring.basic.checkbox=Checkbox label.authoring.basic.checkbox.add=Add checkbox question label.authoring.basic.checkbox.help=Learner chooses multiple answers from the given options. label.authoring.basic.longlat=Longitude/Latitude @@ -79,14 +79,8 @@ label.authoring.basic.list.title =Question list label.authoring.basic.list.header.type=Type label.authoring.basic.list.header.question=Question -label.authoring.basic.textfield =Text field -label.authoring.basic.file =File label.authoring.basic.edit =Edit label.authoring.basic.delete =Delete -label.authoring.basic.textfield.input =Text field -label.authoring.basic.file.input =File -label.authoring.basic.description.input =Description -label.authoring.basic.zip.file.input =Zip file: label.authoring.basic.required =Question is required label.authoring.basic.additionaloptions.show=Show additional options label.authoring.basic.additionaloptions.hide=Hide additional options @@ -103,7 +97,6 @@ label.authoring.advanced.record.max=Maximum label.authoring.advanced.record.nolimit=No limit label.authoring.advanced.lock.on.finished =Lock when finished -label.authoring.advanced.run.content.auto =Run content automatically (only available if there is exactly one question) label.authoring.offline.file =Upload offline file label.authoring.offline.instruction =Offline Instructions @@ -122,6 +115,7 @@ label.learning.heading.list=List label.learning.heading.summary=Summary label.learning.heading.recordnumber =Record number: +label.learning.heading.recordcount=Total record count label.learning.heading.norecords=No records added. label.learning.add=Add record label.learning.textfield.hint=Enter a single line of text @@ -156,10 +150,24 @@ label.learning.tableheader.summary.all=All label.learning.summary.emptyanswer=Empty answer +title.monitoring=LAMS Data Collection monitoring +title.monitoring.recordlist=LAMS record list tab.monitoring.summary =Summary tab.monitoring.statistics =Statistic tab.monitoring.instructions =Instruction tab.monitoring.edit.activity =Edit Activity +label.monitoring.fullname=Full name +label.monitoring.loginname=Login name +label.monitoring.recordcount=Record count +label.monitoring.action=Action +label.monitoring.chooseuser=Choose learner +label.monitoring.viewrecords=View records +label.monitoring.viewrecords.all=View all records +label.monitoring.advancedsettings =Advanced Settings +label.monitoring.advancedsettings.on=On +label.monitoring.advancedsettings.off=Off +label.monitoring.advancedsettings.addNotebook =Add Notebook at end of Data Collection +label.monitoring.advancedsettings.notebookinstructions=Notebook instructions label.monitoring.group =Group label.monitoring.type =Type label.monitoring.title =Title @@ -176,24 +184,20 @@ label.monitoring.attachments =Attachments label.monitoring.user.fullname =Name label.monitoring.heading.access =Learners list -label.monitoring.access.time =Access time message.monitoring.edit.activity.not.editable =This Activity is no longer editable -message.monitoring.summary.no.session =No Session Available +message.monitoring.summary.no.session =No learners have accessed this activity yet. message.monitoring.summary.no.question.for.group =No question available for this group. -note.monitoring.summary =Note: number of learners is the number of learners who have viewed the question. export.label.question =Question export.title =Export portfolio of Data Collection export.init.question =Initial Questions -message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. -message.step.of =Step {0} of {1} +message.alertContentEdit =The modification of the content is not allowed since one or more participants has attempted the activity. message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Data Collection, you won't be able to view questions message.learning.addrecordsuccess =The record was added successfully. message.learning.editrecordsuccess =The record was updated successfully. message.activityLocked =The instructor has set this activity not to allow you to view any more questions after you have finished it. -message.maxFileSize =Max 250K label.open =Open label.delete =Delete @@ -205,33 +209,27 @@ label.hide =Hide label.save =Save label.cancel =Cancel +label.up =Move Up +label.down =Move down +label.continue =Continue +label.finished =Next Activity +label.finish =Finished button.upload =Upload button.add =Add button.cancel =Cancel button.try.again =Try again button.close =Close +button.edit =Edit define.later.message =Please wait for the teacher to complete the contents of this activity. run.offline.message =This activity is not being done on the computer. Please see your instructor for details. - -open.in.new.window =Open textfield in pop-up page.title.monitoring.view.reflection =View Notebook Entries -button.edit =Edit message.no.reflection.available =No notebook available title.reflection =Notebook Entry monitoring.user.reflection =Notebook Entry - -label.up =Move Up -label.down =Move down -label.continue =Continue -label.finished =Next Activity -label.finish =Finished - - - errors.header = errors.footer = error.valueReqd =Value Required @@ -292,7 +290,6 @@ error.upload.failed =Upload file failed: {0} error.msg.upload.file.not.found =Could not find upload file {0}. -error.msg.zip.file.exception =Could not handle zip file when uploading file. error.msg.file.not.found =File not found exception occurs when uploading file. error.msg.io.exception =IOException occurs when uploading file. error.msg.invaid.param.upload =InvalidParameterException occured while trying to upload File. Index: lams_tool_daco/conf/xdoclet/global-forwards.xml =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/conf/xdoclet/global-forwards.xml (.../global-forwards.xml) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/conf/xdoclet/global-forwards.xml (.../global-forwards.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1 +1 @@ - \ No newline at end of file + Index: lams_tool_daco/conf/xdoclet/struts-actions.xml =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -38,8 +38,8 @@ - + @@ -52,8 +52,8 @@ - + @@ -99,16 +99,6 @@ - - - - - - - - @@ -161,17 +151,9 @@ - - + + - - - - - - Index: lams_tool_daco/db/model/daco.clay =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/db/model/daco.clay (.../daco.clay) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/db/model/daco.clay (.../daco.clay) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -76,7 +76,7 @@ - + @@ -166,7 +166,7 @@ - +
@@ -401,7 +401,7 @@ - + @@ -634,7 +634,7 @@ - + @@ -648,7 +648,7 @@ - + @@ -733,7 +733,7 @@ - + @@ -759,7 +759,7 @@
- +
@@ -856,7 +856,7 @@
- +
@@ -927,7 +927,7 @@ - + Index: lams_tool_daco/db/sql/create_lams_tool_daco.sql =================================================================== diff -u -r20efcf1f1ffa7e732d72deaf0c670f34836d9a0a -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/db/sql/create_lams_tool_daco.sql (.../create_lams_tool_daco.sql) (revision 20efcf1f1ffa7e732d72deaf0c670f34836d9a0a) +++ lams_tool_daco/db/sql/create_lams_tool_daco.sql (.../create_lams_tool_daco.sql) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1,127 +1,137 @@ SET FOREIGN_KEY_CHECKS=0; -drop table if exists tl_ladaco10_attachment; -drop table if exists tl_ladaco10_contents; -drop table if exists tl_ladaco10_questions; -drop table if exists tl_ladaco10_answer_options; -drop table if exists tl_ladaco10_session; -drop table if exists tl_ladaco10_user; -drop table if exists tl_ladaco10_answers; -create table tl_ladaco10_attachment ( - uid bigint not null auto_increment, - file_version_id bigint, - file_type varchar(255), - file_name varchar(255), - file_uuid bigint, + +DROP TABLE if exists tl_ladaco10_attachments cascade; +DROP TABLE if exists tl_ladaco10_contents cascade; +DROP TABLE if exists tl_ladaco10_questions cascade; +DROP TABLE if exists tl_ladaco10_answer_options cascade; +DROP TABLE if exists tl_ladaco10_question_log cascade; +DROP TABLE if exists tl_ladaco10_sessions cascade; +DROP TABLE if exists tl_ladaco10_users cascade; +DROP TABLE if exists tl_ladaco10_answers cascade; + +CREATE TABLE tl_ladaco10_contents ( + uid bigint NOT NULL UNIQUE auto_increment, create_date datetime, - content_uid bigint, - primary key (uid) -)type=innodb; -create table tl_ladaco10_contents ( - uid bigint not null auto_increment, - create_date datetime, update_date datetime, create_by bigint, title varchar(255), - run_offline tinyint, - lock_on_finished tinyint, - min_records smallint, - max_records smallint, + run_offline tinyint DEFAULT 0, + lock_on_finished tinyint DEFAULT 0, + min_records tinyint unsigned DEFAULT 0, + max_records tinyint unsigned DEFAULT 0, instructions text, online_instructions text, offline_instructions text, - content_in_use tinyint, - define_later tinyint, - content_id bigint unique, + content_in_use tinyint DEFAULT 0, + define_later tinyint DEFAULT 0, + content_id bigint UNIQUE, reflect_instructions varchar(255), reflect_on_activity smallint, - primary key (uid) -)type=innodb; -create table tl_ladaco10_questions ( - uid bigint not null auto_increment, + PRIMARY KEY (uid) +)TYPE=innodb; + +CREATE TABLE tl_ladaco10_sessions ( + uid bigint NOT NULL UNIQUE auto_increment, + session_end_date datetime, + session_start_date datetime, + status integer, + content_uid bigint, + session_id bigint UNIQUE, + session_name varchar(250), + PRIMARY KEY (uid) +)TYPE=innodb; + +CREATE TABLE tl_ladaco10_attachments ( + uid bigint NOT NULL UNIQUE auto_increment, + file_version_id bigint, + file_type varchar(255), + file_name varchar(255), + file_uuid bigint, + create_date datetime , + content_uid bigint, + PRIMARY KEY (uid) +)TYPE=innodb; + +CREATE TABLE tl_ladaco10_questions ( + uid bigint NOT NULL UNIQUE auto_increment, description text, organization_xml text, create_by bigint, - create_date datetime, + create_date datetime , create_by_author tinyint, - is_hide tinyint, - is_required tinyint, - question_type smallint, + is_hide tinyint DEFAULT 0, + is_required tinyint DEFAULT 0, + question_type tinyint unsigned, min_constraint float, - max_constraint float, - digits_decimal smallint, - summary smallint, + max_constraint float, + digits_decimal tinyint unsigned, + summary tinyint unsigned, content_uid bigint, session_uid bigint, - primary key (uid) -)type=innodb; -create table tl_ladaco10_answer_options -(uid bigint not null auto_increment, + PRIMARY KEY (uid) +)TYPE=innodb; + +CREATE TABLE tl_ladaco10_answer_options +(uid bigint NOT NULL UNIQUE auto_increment, question_uid bigint, -sequence_num smallint unsigned not null, +sequence_num tinyint unsigned DEFAULT 1, answer_option varchar(255), -primary key (uid)) -type=innodb; +PRIMARY KEY (uid)) +TYPE=innodb; -create table tl_ladaco10_question_log ( - uid bigint not null auto_increment, - access_date datetime, - question_uid bigint, - user_uid bigint, - complete tinyint, - session_id bigint, - primary key (uid) -)type=innodb; -create table tl_ladaco10_session ( - uid bigint not null auto_increment, - session_end_date datetime, - session_start_date datetime, - status integer, - content_uid bigint, - session_id bigint, - session_name varchar(250), - primary key (uid) -)type=innodb; -create table tl_ladaco10_user ( - uid bigint not null auto_increment, +CREATE TABLE tl_ladaco10_users ( + uid bigint NOT NULL auto_increment, user_id bigint, last_name varchar(255), first_name varchar(255), login_name varchar(255), session_finished smallint, session_uid bigint, content_uid bigint, - primary key (uid) -)type=innodb; -create table tl_ladaco10_answers -(uid bigint not null auto_increment, + PRIMARY KEY (uid) +)TYPE=innodb; + +CREATE TABLE tl_ladaco10_question_log ( + uid bigint NOT NULL UNIQUE auto_increment, + access_date datetime , + question_uid bigint, + user_uid bigint, + complete tinyint, + session_uid bigint, + PRIMARY KEY (uid) +)TYPE=innodb; + + +CREATE TABLE tl_ladaco10_answers +(uid bigint NOT NULL UNIQUE auto_increment, user_uid bigint, question_uid bigint, -record_id smallint unsigned not null, +record_id smallint unsigned, answer text, file_type varchar(255), file_name varchar(255), file_uuid bigint, file_version_id bigint, -primary key (uid)) type=innodb; +PRIMARY KEY (uid)) TYPE=innodb; -alter table tl_ladaco10_attachment add index FK_NEW_1728979407_1E7009430E79035 (content_uid), add constraint FK_NEW_1728979407_1E7009430E79035 foreign key (content_uid) references tl_ladaco10_contents (uid); -alter table tl_ladaco10_contents add index FK_NEW_1728979407_89093BF758092FB (create_by), add constraint FK_NEW_1728979407_89093BF758092FB foreign key (create_by) references tl_ladaco10_user (uid); -alter table tl_ladaco10_questions add index FK_NEW_1728979407_F52D1F93758092FB (create_by), add constraint FK_NEW_1728979407_F52D1F93758092FB foreign key (create_by) references tl_ladaco10_user (uid); -alter table tl_ladaco10_questions add index FK_NEW_1728979407_F52D1F9330E79035 (content_uid), add constraint FK_NEW_1728979407_F52D1F9330E79035 foreign key (content_uid) references tl_ladaco10_contents (uid); -alter table tl_ladaco10_questions add index FK_NEW_1728979407_F52D1F93EC0D3147 (session_uid), add constraint FK_NEW_1728979407_F52D1F93EC0D3147 foreign key (session_uid) references tl_ladaco10_session (uid); -alter table tl_ladaco10_answer_options add index FK_NEW_1728979407_30113BFCEC0D1113 (question_uid), add constraint FK_NEW_1728979407_30113BFCEC0D1113 foreign key (question_uid) references tl_ladaco10_questions (uid); -alter table tl_ladaco10_question_log add index FK_NEW_1728979407_693580A438BF8DFE (question_uid), add constraint FK_NEW_1728979407_693580A438BF8DFE foreign key (question_uid) references tl_ladaco10_questions (uid); -alter table tl_ladaco10_question_log add index FK_NEW_1728979407_693580A441F9365D (user_uid), add constraint FK_NEW_1728979407_693580A441F9365D foreign key (user_uid) references tl_ladaco10_user (uid); -alter table tl_ladaco10_session add index FK_NEW_1728979407_24AA78C530E79035 (content_uid), add constraint FK_NEW_1728979407_24AA78C530E79035 foreign key (content_uid) references tl_ladaco10_contents (uid); -alter table tl_ladaco10_user add index FK_NEW_1728979407_30113BFCEC0D3147 (session_uid), add constraint FK_NEW_1728979407_30113BFCEC0D3147 foreign key (session_uid) references tl_ladaco10_session (uid); -alter table tl_ladaco10_user add index FK_NEW_1728979407_30113BFC309ED320 (content_uid), add constraint FK_NEW_1728979407_30113BFC309ED320 foreign key (content_uid) references tl_ladaco10_contents (uid); -alter table tl_ladaco10_answers add index FK_NEW_1728979407_30113BFCEC0D1111 (user_uid), add constraint FK_NEW_1728979407_30113BFCEC0D1111 foreign key (user_uid) references tl_ladaco10_user (uid); -alter table tl_ladaco10_answers add index FK_NEW_1728979407_30113BFCEC0D1112 (question_uid), add constraint FK_NEW_1728979407_30113BFCEC0D1112 foreign key (question_uid) references tl_ladaco10_questions (uid); +ALTER TABLE tl_ladaco10_attachments ADD INDEX (content_uid), ADD CONSTRAINT FOREIGN KEY (content_uid) REFERENCES tl_ladaco10_contents (uid); +ALTER TABLE tl_ladaco10_contents ADD INDEX (create_by), ADD CONSTRAINT DacoToUser FOREIGN KEY (create_by) REFERENCES tl_ladaco10_users (uid); +ALTER TABLE tl_ladaco10_questions ADD INDEX (create_by), ADD CONSTRAINT QuestionToUser FOREIGN KEY (create_by) REFERENCES tl_ladaco10_users (uid); +ALTER TABLE tl_ladaco10_questions ADD INDEX (content_uid), ADD CONSTRAINT QuestionToDaco FOREIGN KEY (content_uid) REFERENCES tl_ladaco10_contents (uid); +ALTER TABLE tl_ladaco10_questions ADD INDEX (session_uid), ADD CONSTRAINT FOREIGN KEY (session_uid) REFERENCES tl_ladaco10_sessions (uid); +ALTER TABLE tl_ladaco10_answer_options ADD INDEX (question_uid), ADD CONSTRAINT FOREIGN KEY (question_uid) REFERENCES tl_ladaco10_questions (uid); +ALTER TABLE tl_ladaco10_question_log ADD INDEX (question_uid), ADD CONSTRAINT LogToQuestion FOREIGN KEY (question_uid) REFERENCES tl_ladaco10_questions (uid); +ALTER TABLE tl_ladaco10_question_log ADD INDEX (user_uid), ADD CONSTRAINT LogToUser FOREIGN KEY (user_uid) REFERENCES tl_ladaco10_users (uid); +ALTER TABLE tl_ladaco10_sessions ADD INDEX (content_uid), ADD CONSTRAINT SessionToDaco FOREIGN KEY (content_uid) REFERENCES tl_ladaco10_contents (uid); +ALTER TABLE tl_ladaco10_users ADD INDEX (session_uid), ADD CONSTRAINT UserToSession FOREIGN KEY (session_uid) REFERENCES tl_ladaco10_sessions (uid); +ALTER TABLE tl_ladaco10_users ADD INDEX (content_uid), ADD CONSTRAINT UserToDaco FOREIGN KEY (content_uid) REFERENCES tl_ladaco10_contents (uid); +ALTER TABLE tl_ladaco10_answers ADD INDEX (user_uid), ADD CONSTRAINT AnswerToUser FOREIGN KEY (user_uid) REFERENCES tl_ladaco10_users (uid); +ALTER TABLE tl_ladaco10_answers ADD INDEX (question_uid), ADD CONSTRAINT AnswerToQuestion FOREIGN KEY (question_uid) REFERENCES tl_ladaco10_questions (uid); INSERT INTO `tl_ladaco10_contents` (`uid`, `create_date`, `update_date`, `create_by`, `title`, `run_offline`, `lock_on_finished`,`min_records`,`max_records`, `instructions`, `online_instructions`, `offline_instructions`, `content_in_use`, `define_later`, `content_id`,`reflect_on_activity`) VALUES - (1,NULL,NULL,NULL,'Daco','0','0',0,0,'Instructions ',null,null,0,0,${default_content_id},0); + (1,NULL,NULL,NULL,'Daco',0,0,0,0,'Instructions ',NULL,NULL,0,0,${default_content_id},0); INSERT INTO `tl_ladaco10_questions` (`uid`, `description`, `organization_xml`, `create_by`, `create_date`, `create_by_author`, `is_hide`, `is_required`, `question_type`, `min_constraint`, `max_constraint`,`digits_decimal`,`summary`, `content_uid`, `session_uid`) VALUES - (1,'
What is your favourite colour?
',NULL,null,NOW(),1,0,0,1,NULL,NULL,NULL,NULL,1,NULL); - + (DEFAULT,'
What is your favourite colour?
',NULL,NULL,NOW(),1,0,0,1,NULL,NULL,NULL,NULL,1,NULL); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_daco/db/sql/drop_lams_tool_daco.sql =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/db/sql/drop_lams_tool_daco.sql (.../drop_lams_tool_daco.sql) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/db/sql/drop_lams_tool_daco.sql (.../drop_lams_tool_daco.sql) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1,10 +1,10 @@ SET FOREIGN_KEY_CHECKS=0; -drop table if exists tl_ladaco10_attachment; +drop table if exists tl_ladaco10_attachments; drop table if exists tl_ladaco10_contents; drop table if exists tl_ladaco10_questions; drop table if exists tl_ladaco10_answer_options; drop table if exists tl_ladaco10_question_log; -drop table if exists tl_ladaco10_session; -drop table if exists tl_ladaco10_user; +drop table if exists tl_ladaco10_sessions; +drop table if exists tl_ladaco10_users; drop table if exists tl_ladaco10_answers; SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java (.../DacoConstants.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -24,13 +24,13 @@ package org.lamsfoundation.lams.tool.daco; public class DacoConstants { + // system-wide constants public static final String TOOL_SIGNATURE = "ladaco10"; public static final String DACO_SERVICE = "dacoService"; public static final String TOOL_CONTENT_HANDLER_NAME = "dacoToolContentHandler"; + public static final int SESSION_COMPLETED = 1; - public static final int COMPLETED = 1; - - // daco type; + // question types public static final String QUESTION_TYPE = "questionType"; public static final short QUESTION_TYPE_TEXTFIELD = 1; public static final short QUESTION_TYPE_TEXTAREA = 2; @@ -47,19 +47,19 @@ public static final String[] LONGLAT_MAPS_LIST = new String[] { "Google Maps", "Google Earth", "Geabios", "Open Street Map", "Multimap" }; - // answer options + // answer options' constants public static final int INIT_ANSWER_OPTION_COUNT = 3; public static final int ANSWER_OPTION_MINIMUM_COUNT = 2; public static final String ANSWER_OPTION_DESC_PREFIX = "answerOptionItemDesc"; public static final String ANSWER_OPTION_COUNT = "answerOptionCount"; - public static final String ANSWER_OPTION_SELECT = "label.authoring.basic.answeroption.select"; - // image extensions + // image question valid extensions public static final String[] IMAGE_EXTENSIONS = new String[] { "GIF", "JPG", "PNG" }; // format for the date question public static final String DATE_PART_DELIMETER = "-"; - // for action forward name + + // action forward names public static final String SUCCESS = "success"; public static final String ERROR = "error"; public static final String DEFINE_LATER = "definelater"; @@ -70,40 +70,42 @@ public static final String RECORD_OPERATION_EDIT = "edit"; // question summary columns - public static final short QUESTION_SUMMARY_COLUMN_COUNT = 4; - public static final short QUESTION_SUMMARY_ANSWER = 0; - public static final short QUESTION_SUMMARY_SUM = 1; - public static final short QUESTION_SUMMARY_AVERAGE = 2; - public static final short QUESTION_SUMMARY_COUNT = 3; + public static final short QUESTION_DB_NUMBER_SUMMARY_QUESTION_UID = 0; + public static final short QUESTION_DB_NUMBER_SUMMARY_SUM = 1; + public static final short QUESTION_DB_NUMBER_SUMMARY_AVERAGE = 2; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_UID = 0; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_ANSWER = 1; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_TYPE = 2; + public static final short QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_COUNT = 3; - public static final short QUESTION_DB_SUMMARY_QUESTION_UID = 0; - public static final short QUESTION_DB_SUMMARY_ANSWER = 1; - public static final short QUESTION_DB_SUMMARY_QUESTION_TYPE = 2; - public static final short QUESTION_DB_SUMMARY_SUM = 3; - public static final short QUESTION_DB_SUMMARY_AVERAGE = 4; - public static final short QUESTION_DB_SUMMARY_COUNT = 5; - // learning views public static final String LEARNING_VIEW_HORIZONTAL = "horizontal"; public static final String LEARNING_VIEW_VERTICAL = "vertical"; + + //monitoring summary query match + public static final Long MONITORING_SUMMARY_MATCH_ALL = null; + public static final Long MONITORING_SUMMARY_MATCH_NONE = -1L; + + //common parameters'/attributes' names + public static final String TOOL_CONTENT_ID = "toolContentID"; + public static final String TOOL_SESSION_ID = "toolSessionID"; + public static final String USER_UID = "userUid"; // for parameters' name - public static final String PARAM_TOOL_CONTENT_ID = "toolContentID"; - public static final String PARAM_TOOL_SESSION_ID = "toolSessionID"; + public static final String PARAM_FILE_VERSION_ID = "fileVersionId"; public static final String PARAM_FILE_UUID = "fileUuid"; public static final String PARAM_QUESTION_INDEX = "questionIndex"; public static final String PARAM_RECORD_INDEX = "recordIndex"; - public static final String PARAM_DACO_QUESTION_UID = "questionUid"; + public static final String PARAM_QUESTION_UID = "questionUid"; public static final String PARAM_RUN_OFFLINE = "runOffline"; - public static final String PARAM_TITLE = "title"; - public static final String PARAM_QUESTION_REQUIRED = "questionRequired"; public static final String PARAM_LONGLAT_MAPS_SELECTED = "longlatMapsSelected"; - public static final String PARAM_REMOVE_INDEX = "removeIndex"; + public static final String PARAM_ANSWER_OPTION_INDEX = "removeIndex"; // for request attribute name + public static final String ATTR_USER = "user"; + public static final String ATTR_MONITORING_SUMMARY = "monitoringSummary"; + public static final String ATTR_MONITORING_CURRENT_TAB = "monitoringCurrentTab"; public static final String ATTR_LEARNING_CURRENT_TAB = "learningCurrentTab"; - public static final String ATTR_TOOL_CONTENT_ID = "toolContentID"; - public static final String ATTR_TOOL_SESSION_ID = "toolSessionID"; public static final String ATTR_QUESTION_LIST = "questionList"; public static final String ATTR_RECORD_LIST = "recordList"; public static final String ATT_ATTACHMENT_LIST = "instructionAttachmentList"; @@ -113,12 +115,10 @@ public static final String ATTR_QUESTION_REVIEW_URL = "dacoQuestionReviewUrl"; public static final String ATTR_DACO = "daco"; public static final String ATTR_NEXT_ACTIVITY_URL = "nextActivityUrl"; - public static final String ATTR_SUMMARY_LIST = "summaryList"; public static final String ATTR_USER_LIST = "userList"; public static final String ATTR_FINISH_LOCK = "finishedLock"; public static final String ATTR_SESSION_MAP_ID = "sessionMapID"; public static final String ATTR_DACO_FORM = "dacoForm"; - public static final String ATTR_ADD_QUESTION_TYPE = "addType"; public static final String ATTR_FILE_TYPE_FLAG = "fileTypeFlag"; public static final String ATTR_TITLE = "title"; public static final String ATTR_USER_FINISHED = "userFinished"; @@ -127,12 +127,11 @@ public static final String ATTR_REFLECTION_INSTRUCTION = "reflectInstructions"; public static final String ATTR_REFLECTION_ENTRY = "reflectEntry"; public static final String ATTR_REFLECT_LIST = "reflectList"; - public static final String ATTR_USER_UID = "userUid"; public static final String ATTR_RECORD_OPERATION_SUCCESS = "recordOperationSuccess"; public static final String ATTR_DISPLAYED_RECORD_NUMBER = "displayedRecordNumber"; public static final String ATTR_LEARNING_VIEW = "learningView"; public static final String ATTR_QUESTION_SUMMARIES = "questionSummaries"; - + public static final String ATTR_TOTAL_RECORD_COUNT = "totalRecordCount"; // error message keys public static final String ERROR_MSG_DESC_BLANK = "error.question.desc.blank"; public static final String ERROR_MSG_FILE_BLANK = "error.question.file.blank"; @@ -182,5 +181,5 @@ public static final String ERROR_MSG_RECORD_TOOMUCH = "error.record.toomuch"; public static final String PAGE_EDITABLE = "isPageEditable"; - public static final String MODE_AUTHOR_SESSION = "author_session"; + } \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DAO.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DAO.java (.../DAO.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DAO.java (.../DAO.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -26,7 +26,6 @@ import java.io.Serializable; import java.util.List; - /** * Data Access Object (DAO) interface. This is an interface * used to tag our DAO classes and to provide common methods to all DAOs. @@ -35,36 +34,38 @@ */ public interface DAO { - /** - * Generic method used to get all objects of a particular type. This - * is the same as lookup up all rows in a table. - * @param clazz the type of objects (a.k.a. while table) to get data from - * @return List of populated objects - */ - public List getObjects(Class clazz); - - /** - * Generic method to get an object based on class and identifier. An - * ObjectRetrievalFailureException Runtime Exception is thrown if - * nothing is found. - * - * @param clazz model class to lookup - * @param id the identifier (primary key) of the class - * @return a populated object - * @see org.springframework.orm.ObjectRetrievalFailureException - */ - public Object getObject(Class clazz, Serializable id); + /** + * Generic method used to get all objects of a particular type. This + * is the same as lookup up all rows in a table. + * @param clazz the type of objects (a.k.a. while table) to get data from + * @return List of populated objects + */ + public List getObjects(Class clazz); - /** - * Generic method to save an object - handles both update and insert. - * @param o the object to save - */ - public void saveObject(Object o); + /** + * Generic method to get an object based on class and identifier. An + * ObjectRetrievalFailureException Runtime Exception is thrown if + * nothing is found. + * + * @param clazz model class to lookup + * @param id the identifier (primary key) of the class + * @return a populated object + * @see org.springframework.orm.ObjectRetrievalFailureException + */ + public Object getObject(Class clazz, Serializable id); - /** - * Generic method to delete an object based on class and id - * @param clazz model class to lookup - * @param id the identifier (primary key) of the class - */ - public void removeObject(Class clazz, Serializable id); + /** + * Generic method to save an object - handles both update and insert. + * @param o the object to save + */ + public void saveObject(Object o); + + /** + * Generic method to delete an object based on class and id + * @param clazz model class to lookup + * @param id the identifier (primary key) of the class + */ + public void removeObject(Class clazz, Serializable id); + + public void releaseFromCache(Object o); } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoAnswerDAO.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoAnswerDAO.java (.../DacoAnswerDAO.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoAnswerDAO.java (.../DacoAnswerDAO.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -2,9 +2,9 @@ import java.util.List; +import org.lamsfoundation.lams.tool.daco.dto.QuestionSummaryDTO; import org.lamsfoundation.lams.tool.daco.model.Daco; import org.lamsfoundation.lams.tool.daco.model.DacoAnswer; -import org.lamsfoundation.lams.tool.daco.util.QuestionSummary; public interface DacoAnswerDAO extends DAO { List> getRecordsByUserUid(Long userUid); @@ -15,5 +15,7 @@ List> getRecordsByUserUidAndDaco(Long userUid, Daco daco); - List getSummaries(Long contentUid, Long userUid, List blankSummary); + List getQuestionSummaries(Long contentUid, Long userUid, List blankSummary); + + Integer getTotalRecordCount(Long contentId); } \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionDAO.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionDAO.java (.../DacoQuestionDAO.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionDAO.java (.../DacoQuestionDAO.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -35,7 +35,7 @@ * @param dacoUid * @return */ - List getByContentUid(Long dacoUid); + List getByContentUid(Long dacoId); DacoQuestion getByUid(Long dacoQuestionUid); } \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionVisitDAO.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionVisitDAO.java (.../DacoQuestionVisitDAO.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/DacoQuestionVisitDAO.java (.../DacoQuestionVisitDAO.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -24,24 +24,13 @@ package org.lamsfoundation.lams.tool.daco.dao; import java.util.List; -import java.util.Map; import org.lamsfoundation.lams.tool.daco.model.DacoQuestionVisitLog; public interface DacoQuestionVisitDAO extends DAO { - - public DacoQuestionVisitLog getDacoQuestionLog(Long questionUid,Long userId); + public DacoQuestionVisitLog getDacoQuestionLog(Long questionUid, Long userId); - public int getUserViewLogCount(Long sessionId, Long userUid); - /** - * Return list which contains key pair which key is daco question uid, value is number view. - * - * @param contentId - * @return - */ - public Map getSummary(Long contentId); - - public List getDacoQuestionLogBySession(Long sessionId,Long questionUid); + public List getDacoQuestionLogBySession(Long sessionId, Long questionUid); } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/BaseDAOHibernate.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/BaseDAOHibernate.java (.../BaseDAOHibernate.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/BaseDAOHibernate.java (.../BaseDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -39,34 +39,40 @@ * @author Dapeng.Ni */ public class BaseDAOHibernate extends HibernateDaoSupport implements DAO { - protected final Log log = LogFactory.getLog(getClass()); + protected final Log log = LogFactory.getLog(getClass()); - /** - * @see com.edgenius.paradise.dao.DAO#saveObject(java.lang.Object) - */ - public void saveObject(Object o) { - getHibernateTemplate().saveOrUpdate(o); - } + /** + * @see com.edgenius.paradise.dao.DAO#saveObject(java.lang.Object) + */ + public void saveObject(Object o) { + getHibernateTemplate().saveOrUpdate(o); + } - /** - * @see com.edgenius.paradise.dao.DAO#getObject(java.lang.Class, java.io.Serializable) - */ - public Object getObject(Class clazz, Serializable id) { - Object o = getHibernateTemplate().get(clazz, id); - return o; - } + /** + * @see com.edgenius.paradise.dao.DAO#getObject(java.lang.Class, java.io.Serializable) + */ + public Object getObject(Class clazz, Serializable id) { + Object o = getHibernateTemplate().get(clazz, id); + return o; + } - /** - * @see com.edgenius.paradise.dao.DAO#getObjects(java.lang.Class) - */ - public List getObjects(Class clazz) { - return getHibernateTemplate().loadAll(clazz); - } + /** + * @see com.edgenius.paradise.dao.DAO#getObjects(java.lang.Class) + */ + public List getObjects(Class clazz) { + return getHibernateTemplate().loadAll(clazz); + } - /** - * @see com.edgenius.paradise.dao.DAO#removeObject(java.lang.Class, java.io.Serializable) - */ - public void removeObject(Class clazz, Serializable id) { - getHibernateTemplate().delete(getObject(clazz, id)); - } + /** + * @see com.edgenius.paradise.dao.DAO#removeObject(java.lang.Class, java.io.Serializable) + */ + public void removeObject(Class clazz, Serializable id) { + getHibernateTemplate().delete(getObject(clazz, id)); + } + + public void releaseFromCache(Object o) { + getSession().evict(o); + + } + } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoAnswerDAOHibernate.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoAnswerDAOHibernate.java (.../DacoAnswerDAOHibernate.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoAnswerDAOHibernate.java (.../DacoAnswerDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -2,14 +2,14 @@ import java.util.LinkedList; import java.util.List; -import java.util.Set; import org.lamsfoundation.lams.tool.daco.DacoConstants; import org.lamsfoundation.lams.tool.daco.dao.DacoAnswerDAO; +import org.lamsfoundation.lams.tool.daco.dto.QuestionSummaryDTO; +import org.lamsfoundation.lams.tool.daco.dto.QuestionSummarySingleAnswerDTO; import org.lamsfoundation.lams.tool.daco.model.Daco; import org.lamsfoundation.lams.tool.daco.model.DacoAnswer; import org.lamsfoundation.lams.tool.daco.model.DacoQuestion; -import org.lamsfoundation.lams.tool.daco.util.QuestionSummary; public class DacoAnswerDAOHibernate extends BaseDAOHibernate implements DacoAnswerDAO { @@ -19,8 +19,44 @@ + " as p where p.question.uid=? order by user.uid,record_id"; private static final String FIND_BY_USER_UID_AND_DACO = "from " + DacoAnswer.class.getName() - + " as p where p.user.uid=? and p.question.uid in (?) order by record_id,question_uid"; + + " as p where p.user.uid=? and p.question.uid in ([QUESTION_UID_LIST]) order by record_id,question_uid"; + private static final String FIND_USER_NUMBER_SUMMARY = "SELECT q.uid, " + + "SUM(a.answer),AVG(a.answer) FROM " + + DacoAnswer.class.getName() + + " AS a, " + + DacoQuestion.class.getName() + + " AS q WHERE a.question.uid=q.uid AND q.daco.uid=:contentUid AND a.user.uid=:userUid AND q.type=:numberQuestionType AND a.answer IS NOT NULL " + + "GROUP BY q.uid ORDER BY q.uid"; + + private static final String FIND_ALL_NUMBER_SUMMARY = "SELECT q.uid, " + + "SUM(a.answer),AVG(a.answer) FROM " + + DacoAnswer.class.getName() + + " AS a, " + + DacoQuestion.class.getName() + + " AS q WHERE a.question.uid=q.uid AND q.daco.uid=:contentUid AND q.type=:numberQuestionType AND a.answer IS NOT NULL " + + "GROUP BY q.uid ORDER BY q.uid"; + + private static final String FIND_USER_ANSWER_ENUMERATION_QUERY = "SELECT DISTINCT q.uid, a.answer, q.type, COUNT(*) FROM " + + DacoAnswer.class.getName() + " AS a, " + DacoQuestion.class.getName() + + " AS q WHERE a.question.uid=q.uid AND q.daco.uid=:contentUid AND a.user.uid=:userUid " + + "AND q.type IN (:numberQuestionType,:radioQuestionType,:dropdownQuestionType,:checkboxQuestionType) " + + "AND a.answer IS NOT NULL GROUP BY q.uid, a.answer ORDER BY q.uid,a.answer"; + + private static final String FIND_ALL_ANSWER_ENUMERATION_QUERY = "SELECT DISTINCT q.uid, a.answer, q.type, COUNT(*) FROM " + + DacoAnswer.class.getName() + " AS a, " + DacoQuestion.class.getName() + + " AS q WHERE a.question.uid=q.uid AND q.daco.uid=:contentUid " + + "AND q.type IN (:numberQuestionType,:radioQuestionType,:dropdownQuestionType,:checkboxQuestionType) " + + "AND a.answer IS NOT NULL GROUP BY q.uid, a.answer ORDER BY q.uid,a.answer"; + + private static final String FIND_ANSWER_COUNT = "SELECT COUNT(*) FROM " + DacoAnswer.class.getName() + + " AS a WHERE a.question.uid=? AND a.answer IS NOT NULL"; + + private static final String FIND_TOTAL_RECORD_COUNT = "SELECT COUNT (DISTINCT a.recordId) FROM " + DacoAnswer.class.getName() + + " AS a WHERE a.question.daco.contentId=?"; + + private static final String QUESTION_UID_LIST_MARKER = "[QUESTION_UID_LIST]"; + public List> getRecordsByUserUid(Long userUid) { List list = getHibernateTemplate().find(DacoAnswerDAOHibernate.FIND_BY_USER_UID, userUid); if (list == null || list.size() == 0) { @@ -71,12 +107,13 @@ public List> getRecordsByUserUidAndDaco(Long userUid, Daco daco) { StringBuilder set = new StringBuilder(); List> result = new LinkedList>(); - for (DacoQuestion question : (Set) daco.getDacoQuestions()) { + for (DacoQuestion question : daco.getDacoQuestions()) { set.append(question.getUid()).append(','); } set.deleteCharAt(set.length() - 1); - List list = getHibernateTemplate().find(DacoAnswerDAOHibernate.FIND_BY_USER_UID_AND_DACO, - new Object[] { userUid, set.toString() }); + String modifiedQuery = DacoAnswerDAOHibernate.FIND_BY_USER_UID_AND_DACO.replace( + DacoAnswerDAOHibernate.QUESTION_UID_LIST_MARKER, set.toString()); + List list = getHibernateTemplate().find(modifiedQuery, userUid); if (list != null && list.size() > 0) { int recordNumber = -1; List record = null; @@ -95,26 +132,26 @@ return result; } - public List getSummaries(Long contentUid, Long userUid, List summaries) { + public List getQuestionSummaries(Long contentUid, Long userUid, List summaries) { - List result = getHibernateTemplate().findByNamedQueryAndNamedParam("userNumberQuery", + List result = getHibernateTemplate().findByNamedParam(DacoAnswerDAOHibernate.FIND_USER_NUMBER_SUMMARY, new String[] { "contentUid", "userUid", "numberQuestionType" }, new Object[] { contentUid, userUid, DacoConstants.QUESTION_TYPE_NUMBER }); for (Object[] objectRow : result) { addNumberSummary(summaries, objectRow, true); } - result = getHibernateTemplate().findByNamedQueryAndNamedParam("allNumberQuery", + result = getHibernateTemplate().findByNamedParam(DacoAnswerDAOHibernate.FIND_ALL_NUMBER_SUMMARY, new String[] { "contentUid", "numberQuestionType" }, new Object[] { contentUid, DacoConstants.QUESTION_TYPE_NUMBER }); for (Object[] objectRow : result) { addNumberSummary(summaries, objectRow, false); } - result = getHibernateTemplate().findByNamedQueryAndNamedParam( - "userAnswerEnumerationQuery", + result = getHibernateTemplate().findByNamedParam( + DacoAnswerDAOHibernate.FIND_USER_ANSWER_ENUMERATION_QUERY, new String[] { "contentUid", "userUid", "numberQuestionType", "radioQuestionType", "dropdownQuestionType", "checkboxQuestionType" }, new Object[] { contentUid, userUid, DacoConstants.QUESTION_TYPE_NUMBER, DacoConstants.QUESTION_TYPE_RADIO, @@ -124,8 +161,8 @@ addAnswerEnumerationSummary(summaries, objectRow, true); } - result = getHibernateTemplate().findByNamedQueryAndNamedParam( - "allAnswerEnumerationQuery", + result = getHibernateTemplate().findByNamedParam( + DacoAnswerDAOHibernate.FIND_ALL_ANSWER_ENUMERATION_QUERY, new String[] { "contentUid", "numberQuestionType", "radioQuestionType", "dropdownQuestionType", "checkboxQuestionType" }, new Object[] { contentUid, DacoConstants.QUESTION_TYPE_NUMBER, DacoConstants.QUESTION_TYPE_RADIO, @@ -137,57 +174,59 @@ return summaries; } - private void addAnswerEnumerationSummary(List summaries, Object[] objectRow, boolean isUserSummary) { + private void addAnswerEnumerationSummary(List summaries, Object[] objectRow, boolean isUserSummary) { String[] row = rewriteRow(objectRow); - long currentUid = Long.parseLong(row[DacoConstants.QUESTION_DB_SUMMARY_QUESTION_UID]); - QuestionSummary summary = summaries.get(findQuestionSequenceNumber(currentUid, summaries)); - String[] columns = new String[DacoConstants.QUESTION_SUMMARY_COLUMN_COUNT]; - columns[DacoConstants.QUESTION_SUMMARY_ANSWER] = row[DacoConstants.QUESTION_DB_SUMMARY_ANSWER]; - columns[DacoConstants.QUESTION_SUMMARY_AVERAGE] = row[DacoConstants.QUESTION_DB_SUMMARY_AVERAGE]; - columns[DacoConstants.QUESTION_SUMMARY_COUNT] = row[DacoConstants.QUESTION_DB_SUMMARY_COUNT]; + long currentUid = Long.parseLong(row[DacoConstants.QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_UID]); + QuestionSummaryDTO summary = summaries.get(findQuestionSequenceNumber(currentUid, summaries)); + QuestionSummarySingleAnswerDTO singleAnswer = new QuestionSummarySingleAnswerDTO(); + singleAnswer.setAnswer(row[DacoConstants.QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_ANSWER]); + singleAnswer.setCount(row[DacoConstants.QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_COUNT]); + Integer answerCount = (Integer) getHibernateTemplate().find(DacoAnswerDAOHibernate.FIND_ANSWER_COUNT, currentUid).get(0); + singleAnswer.setAverage(Math.round(Float.parseFloat(singleAnswer.getCount()) / answerCount * 100) + "%"); - if (Short.parseShort(row[DacoConstants.QUESTION_DB_SUMMARY_QUESTION_TYPE]) == DacoConstants.QUESTION_TYPE_NUMBER) { - String[] currentColumns = null; + if (Short.parseShort(row[DacoConstants.QUESTION_DB_ANSWER_ENUMERATION_SUMMARY_QUESTION_TYPE]) == DacoConstants.QUESTION_TYPE_NUMBER) { + QuestionSummarySingleAnswerDTO currentSingleAnswer = null; int answerIndex = 1; do { - currentColumns = isUserSummary ? summary.getUserSummaryRow(answerIndex) : summary.getAllSummaryRow(answerIndex); - if (currentColumns == null) { + currentSingleAnswer = isUserSummary ? summary.getUserSummarySingleAnswer(answerIndex) : summary + .getAllSummarySingleAnswer(answerIndex); + if (currentSingleAnswer == null) { if (isUserSummary) { - summary.addUserSummaryRow(answerIndex, columns); + summary.addUserSummarySingleAnswer(answerIndex, singleAnswer); } else { - summary.addAllSummaryRow(answerIndex, columns); + summary.addAllSummarySingleAnswer(answerIndex, singleAnswer); } - currentColumns = null; + currentSingleAnswer = null; } answerIndex++; } - while (currentColumns != null); + while (currentSingleAnswer != null); } else { - String answer = row[DacoConstants.QUESTION_DB_SUMMARY_ANSWER]; - int answerIndex = Integer.parseInt(answer) - 1; + int answerIndex = Integer.parseInt(singleAnswer.getAnswer()) - 1; if (isUserSummary) { - summary.addUserSummaryRow(answerIndex, columns); + summary.addUserSummarySingleAnswer(answerIndex, singleAnswer); } else { - summary.addAllSummaryRow(answerIndex, columns); + summary.addAllSummarySingleAnswer(answerIndex, singleAnswer); } } } - private void addNumberSummary(List summaries, Object[] objectRow, boolean isUserSummary) { + private void addNumberSummary(List summaries, Object[] objectRow, boolean isUserSummary) { String[] row = rewriteRow(objectRow); - long currentUid = Long.parseLong(row[DacoConstants.QUESTION_DB_SUMMARY_QUESTION_UID]); - QuestionSummary summary = summaries.get(findQuestionSequenceNumber(currentUid, summaries)); - String[] columns = isUserSummary ? summary.getUserSummaryRow(0) : summary.getAllSummaryRow(0); - columns[DacoConstants.QUESTION_SUMMARY_SUM] = row[DacoConstants.QUESTION_DB_SUMMARY_SUM]; - columns[DacoConstants.QUESTION_SUMMARY_AVERAGE] = row[DacoConstants.QUESTION_DB_SUMMARY_AVERAGE]; + long currentUid = Long.parseLong(row[DacoConstants.QUESTION_DB_NUMBER_SUMMARY_QUESTION_UID]); + QuestionSummaryDTO summary = summaries.get(findQuestionSequenceNumber(currentUid, summaries)); + QuestionSummarySingleAnswerDTO singleAnswer = isUserSummary ? summary.getUserSummarySingleAnswer(0) : summary + .getAllSummarySingleAnswer(0); + singleAnswer.setSum(row[DacoConstants.QUESTION_DB_NUMBER_SUMMARY_SUM]); + singleAnswer.setAverage(row[DacoConstants.QUESTION_DB_NUMBER_SUMMARY_AVERAGE]); } - private int findQuestionSequenceNumber(Long uid, List summaries) { + private int findQuestionSequenceNumber(Long uid, List summaries) { for (int summaryNumber = 0; summaryNumber < summaries.size(); summaryNumber++) { - QuestionSummary summary = summaries.get(summaryNumber); + QuestionSummaryDTO summary = summaries.get(summaryNumber); if (summary != null && uid.equals(summary.getQuestionUid())) { return summaryNumber; } @@ -198,8 +237,12 @@ private String[] rewriteRow(Object[] objectRow) { String[] row = new String[objectRow.length]; for (int fieldNumber = 0; fieldNumber < objectRow.length; fieldNumber++) { - row[fieldNumber] = (String) objectRow[fieldNumber]; + row[fieldNumber] = String.valueOf(objectRow[fieldNumber]); } return row; } + + public Integer getTotalRecordCount(Long contentId) { + return (Integer) getHibernateTemplate().find(DacoAnswerDAOHibernate.FIND_TOTAL_RECORD_COUNT, contentId).get(0); + } } \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoDAOHibernate.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoDAOHibernate.java (.../DacoDAOHibernate.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoDAOHibernate.java (.../DacoDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -34,23 +34,24 @@ * * @version $Revision$ */ -public class DacoDAOHibernate extends BaseDAOHibernate implements DacoDAO{ - private static final String GET_QUESTION_BY_CONTENTID = "from "+Daco.class.getName()+" as r where r.contentId=?"; - +public class DacoDAOHibernate extends BaseDAOHibernate implements DacoDAO { + private static final String FIND_BY_CONTENT_ID = "from " + Daco.class.getName() + " as r where r.contentId=?"; + public Daco getByContentId(Long contentId) { - List list = getHibernateTemplate().find(GET_QUESTION_BY_CONTENTID,contentId); - if(list.size() > 0) + List list = getHibernateTemplate().find(DacoDAOHibernate.FIND_BY_CONTENT_ID, contentId); + if (list.size() > 0) { return (Daco) list.get(0); - else + } + else { return null; + } } public Daco getByUid(Long dacoUid) { - return (Daco) getObject(Daco.class,dacoUid); + return (Daco) getObject(Daco.class, dacoUid); } public void delete(Daco daco) { this.getHibernateTemplate().delete(daco); } - -} +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionDAOHibernate.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionDAOHibernate.java (.../DacoQuestionDAOHibernate.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionDAOHibernate.java (.../DacoQuestionDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -31,10 +31,10 @@ public class DacoQuestionDAOHibernate extends BaseDAOHibernate implements DacoQuestionDAO { private static final String FIND_BY_CONTENT_UID = "from " + DacoQuestion.class.getName() - + " where content_uid = ? order by create_date asc"; + + " where daco.uid = ? order by create_date asc"; - public List getByContentUid(Long dacoUid) { - return this.getHibernateTemplate().find(DacoQuestionDAOHibernate.FIND_BY_CONTENT_UID, dacoUid); + public List getByContentUid(Long contentUid) { + return this.getHibernateTemplate().find(DacoQuestionDAOHibernate.FIND_BY_CONTENT_UID, contentUid); } public DacoQuestion getByUid(Long dacoQuestionUid) { Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionVisitDAOHibernate.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionVisitDAOHibernate.java (.../DacoQuestionVisitDAOHibernate.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoQuestionVisitDAOHibernate.java (.../DacoQuestionVisitDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -23,66 +23,42 @@ /* $$Id$$ */ package org.lamsfoundation.lams.tool.daco.dao.hibernate; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.lamsfoundation.lams.tool.daco.dao.DacoQuestionVisitDAO; import org.lamsfoundation.lams.tool.daco.model.Daco; import org.lamsfoundation.lams.tool.daco.model.DacoQuestionVisitLog; import org.lamsfoundation.lams.tool.daco.model.DacoSession; -public class DacoQuestionVisitDAOHibernate extends BaseDAOHibernate implements DacoQuestionVisitDAO{ - +public class DacoQuestionVisitDAOHibernate extends BaseDAOHibernate implements DacoQuestionVisitDAO { + private static final String FIND_BY_QUESTION_AND_USER = "from " + DacoQuestionVisitLog.class.getName() + " as r where r.user.userId = ? and r.dacoQuestion.uid=?"; - private static final String FIND_BY_QUESTION_BYSESSION = "from " + DacoQuestionVisitLog.class.getName() + private static final String FIND_BY_QUESTION_AND_SESSION = "from " + DacoQuestionVisitLog.class.getName() + " as r where r.sessionId = ? and r.dacoQuestion.uid=?"; - - private static final String FIND_VIEW_COUNT_BY_USER = "select count(*) from " + DacoQuestionVisitLog.class.getName() + + private static final String FIND_VIEW_COUNT_BY_USER = "select count(*) from " + DacoQuestionVisitLog.class.getName() + " as r where r.sessionId=? and r.user.userId =?"; private static final String FIND_SUMMARY = "select v.dacoQuestion.uid, count(v.dacoQuestion) from " - + DacoQuestionVisitLog.class.getName() + " as v , " - + DacoSession.class.getName() + " as s, " - + Daco.class.getName() + " as r " - +" where v.sessionId = s.sessionId " - +" and s.daco.uid = r.uid " - +" and r.contentId =? " - +" group by v.sessionId, v.dacoQuestion.uid "; - - public DacoQuestionVisitLog getDacoQuestionLog(Long questionUid,Long userId){ - List list = getHibernateTemplate().find(FIND_BY_QUESTION_AND_USER,new Object[]{userId,questionUid}); - if(list == null || list.size() ==0) + + DacoQuestionVisitLog.class.getName() + " as v , " + DacoSession.class.getName() + " as s, " + Daco.class.getName() + + " as r " + " where v.sessionUid = s.uid " + " and s.daco.uid = r.uid " + " and r.contentId =? " + + " group by v.sessionUid, v.dacoQuestion.uid "; + + public DacoQuestionVisitLog getDacoQuestionLog(Long questionUid, Long userId) { + List list = getHibernateTemplate().find(DacoQuestionVisitDAOHibernate.FIND_BY_QUESTION_AND_USER, + new Object[] { userId, questionUid }); + if (list == null || list.size() == 0) { return null; + } return (DacoQuestionVisitLog) 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 List getDacoQuestionLogBySession(Long sessionId, Long questionUid) { - public Map getSummary(Long contentId) { - - // Note: Hibernate 3.1 query.uniqueResult() returns Integer, Hibernate 3.2 query.uniqueResult() returns Long - List result = getHibernateTemplate().find(FIND_SUMMARY,contentId); - Map summaryList = new HashMap (result.size()); - for(Object[] list : result){ - if ( list[1] != null ) { - summaryList.put((Long)list[0],new Integer(((Number)list[1]).intValue())); - } - } - return summaryList; - + return getHibernateTemplate().find(DacoQuestionVisitDAOHibernate.FIND_BY_QUESTION_AND_SESSION, + new Object[] { sessionId, questionUid }); } - public List getDacoQuestionLogBySession(Long sessionId, Long questionUid) { - - return getHibernateTemplate().find(FIND_BY_QUESTION_BYSESSION,new Object[]{sessionId,questionUid}); - } - } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoSessionDAOHibernate.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoSessionDAOHibernate.java (.../DacoSessionDAOHibernate.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoSessionDAOHibernate.java (.../DacoSessionDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -28,27 +28,30 @@ import org.lamsfoundation.lams.tool.daco.dao.DacoSessionDAO; import org.lamsfoundation.lams.tool.daco.model.DacoSession; +public class DacoSessionDAOHibernate extends BaseDAOHibernate implements DacoSessionDAO { -public class DacoSessionDAOHibernate extends BaseDAOHibernate implements DacoSessionDAO{ - private static final String FIND_BY_SESSION_ID = "from " + DacoSession.class.getName() + " as p where p.sessionId=?"; - private static final String FIND_BY_CONTENT_ID = "from " + DacoSession.class.getName() + " as p where p.daco.contentId=?"; - + private static final String FIND_BY_CONTENT_ID = "from " + DacoSession.class.getName() + + " as p where p.daco.contentId=? ORDER BY p.sessionId"; + public DacoSession getSessionBySessionId(Long sessionId) { - List list = getHibernateTemplate().find(FIND_BY_SESSION_ID,sessionId); - if(list == null || list.size() == 0) + List list = getHibernateTemplate().find(DacoSessionDAOHibernate.FIND_BY_SESSION_ID, sessionId); + if (list == null || list.size() == 0) { return null; + } return (DacoSession) list.get(0); } + public List getByContentId(Long toolContentId) { - return getHibernateTemplate().find(FIND_BY_CONTENT_ID,toolContentId); + return getHibernateTemplate().find(DacoSessionDAOHibernate.FIND_BY_CONTENT_ID, toolContentId); } - + public void delete(DacoSession session) { this.getHibernateTemplate().delete(session); } + public void deleteBySessionId(Long toolSessionId) { - this.removeObject(DacoSession.class,toolSessionId); + this.removeObject(DacoSession.class, toolSessionId); } } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java (.../DacoUserDAOHibernate.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dao/hibernate/DacoUserDAOHibernate.java (.../DacoUserDAOHibernate.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -28,30 +28,34 @@ import org.lamsfoundation.lams.tool.daco.dao.DacoUserDAO; import org.lamsfoundation.lams.tool.daco.model.DacoUser; +public class DacoUserDAOHibernate extends BaseDAOHibernate implements DacoUserDAO { -public class DacoUserDAOHibernate extends BaseDAOHibernate implements DacoUserDAO{ - - private static final String FIND_BY_USER_ID_CONTENT_ID = "from " + DacoUser.class.getName() + " as u where u.userId =? and u.daco.contentId=?"; - private static final String FIND_BY_USER_ID_SESSION_ID = "from " + DacoUser.class.getName() + " as u where u.userId =? and u.session.sessionId=?"; + private static final String FIND_BY_USER_ID_AND_CONTENT_ID = "from " + DacoUser.class.getName() + + " as u where u.userId =? and u.daco.contentId=?"; + private static final String FIND_BY_USER_ID_AND_SESSION_ID = "from " + DacoUser.class.getName() + + " as u where u.userId =? and u.session.sessionId=?"; private static final String FIND_BY_SESSION_ID = "from " + DacoUser.class.getName() + " as u where u.session.sessionId=?"; + private static final String FIND_BY_CONTENT_ID = "from " + DacoUser.class.getName() + " as u where u.daco.contentId=?"; public DacoUser getUserByUserIDAndSessionID(Long userID, Long sessionId) { - List list = this.getHibernateTemplate().find(FIND_BY_USER_ID_SESSION_ID,new Object[]{userID,sessionId}); - if(list == null || list.size() == 0) + List list = this.getHibernateTemplate().find(DacoUserDAOHibernate.FIND_BY_USER_ID_AND_SESSION_ID, + new Object[] { userID, sessionId }); + if (list == null || list.size() == 0) { return null; + } return (DacoUser) list.get(0); } public DacoUser getUserByUserIDAndContentID(Long userId, Long contentId) { - List list = this.getHibernateTemplate().find(FIND_BY_USER_ID_CONTENT_ID,new Object[]{userId,contentId}); - if(list == null || list.size() == 0) + List list = this.getHibernateTemplate().find(DacoUserDAOHibernate.FIND_BY_USER_ID_AND_CONTENT_ID, + new Object[] { userId, contentId }); + if (list == null || list.size() == 0) { return null; + } return (DacoUser) list.get(0); } public List getBySessionID(Long sessionId) { - return this.getHibernateTemplate().find(FIND_BY_SESSION_ID,sessionId); + return this.getHibernateTemplate().find(DacoUserDAOHibernate.FIND_BY_SESSION_ID, sessionId); } - - -} +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummarySessionDTO.java =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummarySessionDTO.java (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummarySessionDTO.java (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,64 @@ +/**************************************************************** + * 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.daco.dto; + +import java.util.List; + + +public class MonitoringSummarySessionDTO { + + private Long sessionId; + private String sessionName; + private List users; + + public MonitoringSummarySessionDTO(Long sessionId, String sessionName) { + this.sessionId = sessionId; + this.sessionName = sessionName; + } + + public String getSessionName() { + return sessionName; + } + + public void setSessionName(String sessionName) { + this.sessionName = sessionName; + } + + public Long getSessionId() { + return sessionId; + } + + public void setSessionId(Long sessionId) { + this.sessionId = sessionId; + } + + public List getUsers() { + return users; + } + + public void setUsers(List users) { + this.users = users; + } +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummaryUserDTO.java =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummaryUserDTO.java (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/MonitoringSummaryUserDTO.java (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,70 @@ +/** + * + */ +package org.lamsfoundation.lams.tool.daco.dto; + +import java.util.List; + +import org.lamsfoundation.lams.tool.daco.model.DacoAnswer; + +public class MonitoringSummaryUserDTO { + + private Long uid; + private String fullName; + private String loginName; + private List> records; + private Integer recordCount; + + public MonitoringSummaryUserDTO() { + + } + + public MonitoringSummaryUserDTO(Long uid, String fullName, String loginName) { + this.uid = uid; + this.fullName = fullName; + this.loginName = loginName; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String userFullName) { + fullName = userFullName; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String userLoginName) { + loginName = userLoginName; + } + + public List> getRecords() { + return records; + } + + public void setRecords(List> records) { + this.records = records; + if (records != null) { + recordCount = records.size(); + } + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public Integer getRecordCount() { + return recordCount; + } + + public void setRecordCount(Integer recordCount) { + this.recordCount = recordCount; + } +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummaryDTO.java =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummaryDTO.java (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummaryDTO.java (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,83 @@ +package org.lamsfoundation.lams.tool.daco.dto; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class QuestionSummaryDTO implements Cloneable { + private List userSummary = new ArrayList(); + private List allSummary = new ArrayList(); + private Long questionUid; + + public void addAllSummarySingleAnswer(int number, QuestionSummarySingleAnswerDTO singleAnswer) { + while (number >= allSummary.size()) { + allSummary.add(null); + } + allSummary.set(number, singleAnswer); + } + + public QuestionSummarySingleAnswerDTO getAllSummarySingleAnswer(int number) { + if (allSummary == null || number >= allSummary.size()) { + return null; + } + return allSummary.get(number); + } + + public void addUserSummarySingleAnswer(int number, QuestionSummarySingleAnswerDTO singleAnswer) { + while (number >= userSummary.size()) { + userSummary.add(null); + } + userSummary.set(number, singleAnswer); + } + + public QuestionSummarySingleAnswerDTO getUserSummarySingleAnswer(int number) { + if (userSummary == null || number >= userSummary.size()) { + return null; + } + return userSummary.get(number); + } + + public Long getQuestionUid() { + return questionUid; + } + + public void setQuestionUid(Long questionUid) { + this.questionUid = questionUid; + } + + public List getUserSummary() { + return userSummary; + } + + public void setUserSummary(List userSummary) { + this.userSummary = userSummary; + } + + public List getAllSummary() { + return allSummary; + } + + public void setAllSummary(List allSummary) { + this.allSummary = allSummary; + } + + @Override + public Object clone() { + QuestionSummaryDTO clone = null; + try { + clone = (QuestionSummaryDTO) super.clone(); + } + catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + if (userSummary != null) { + List list = new ArrayList(userSummary.size()); + for (QuestionSummarySingleAnswerDTO singleAnswer : userSummary) { + list.add((QuestionSummarySingleAnswerDTO) singleAnswer.clone()); + } + Iterator iter = userSummary.iterator(); + clone.userSummary = list; + } + return clone; + } +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummarySingleAnswerDTO.java =================================================================== diff -u --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummarySingleAnswerDTO.java (revision 0) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/dto/QuestionSummarySingleAnswerDTO.java (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,66 @@ +/** + * + */ +package org.lamsfoundation.lams.tool.daco.dto; + +public class QuestionSummarySingleAnswerDTO { + private String answer; + private String sum; + private String average; + private String count; + + public QuestionSummarySingleAnswerDTO(String answer, String sum, String average, String count) { + this.answer = answer; + this.sum = sum; + this.average = average; + this.count = count; + } + + public QuestionSummarySingleAnswerDTO() { + + } + + public String getAnswer() { + return answer; + } + + public void setAnswer(String answer) { + this.answer = answer; + } + + public String getSum() { + return sum; + } + + public void setSum(String sum) { + this.sum = sum; + } + + public String getAverage() { + return average; + } + + public void setAverage(String average) { + this.average = average; + } + + public String getCount() { + return count; + } + + public void setCount(String count) { + this.count = count; + } + + @Override + public Object clone() { + Object clone = null; + try { + clone = super.clone(); + } + catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + return clone; + } +} \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml (.../Daco.hbm.xml) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/Daco.hbm.xml (.../Daco.hbm.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -44,10 +44,11 @@ @@ -121,11 +122,12 @@ attachments = new LinkedHashSet(); // general infomation private Date created; private Date updated; private DacoUser createdBy; // daco Questions - private Set dacoQuestions; + private Set dacoQuestions = new LinkedHashSet(); private boolean reflectOnActivity; private String reflectInstructions; @@ -86,15 +84,6 @@ private List onlineFileList; private List offlineFileList; - /** - * Default contruction method. - * - */ - public Daco() { - attachments = new HashSet(); - dacoQuestions = new HashSet(); - } - // ********************************************************** // Function method for Daco // ********************************************************** @@ -122,31 +111,18 @@ try { daco = (Daco) super.clone(); daco.setUid(null); - if (dacoQuestions != null) { - Iterator iter = dacoQuestions.iterator(); - Set set = new LinkedHashSet(); - while (iter.hasNext()) { - DacoQuestion question = (DacoQuestion) iter.next(); - DacoQuestion newQuestion = (DacoQuestion) question.clone(); - // just clone old file without duplicate it in repository - set.add(newQuestion); - } - daco.dacoQuestions = set; + daco.setDacoQuestions(new LinkedHashSet(dacoQuestions.size())); + for (DacoQuestion question : dacoQuestions) { + DacoQuestion clonedQuestion = (DacoQuestion) question.clone(); + clonedQuestion.setDaco(daco); + daco.getDacoQuestions().add(clonedQuestion); } - // clone attachment - if (attachments != null) { - Iterator iter = attachments.iterator(); - Set set = new LinkedHashSet(); - while (iter.hasNext()) { - DacoAttachment file = (DacoAttachment) iter.next(); - DacoAttachment newFile = (DacoAttachment) file.clone(); - // just clone old file without duplicate it in repository - set.add(newFile); - } - daco.attachments = set; + daco.setAttachments(new LinkedHashSet(attachments.size())); + for (DacoAttachment attachment : attachments) { + daco.getAttachments().add((DacoAttachment) attachment.clone()); } - // clone ReourceUser as well + if (createdBy != null) { daco.setCreatedBy((DacoUser) createdBy.clone()); } @@ -251,10 +227,9 @@ } /** + * @hibernate.many-to-one cascade="all" column="create_by" foreign-key="DacoToUser" * @return Returns the userid of the user who created the Share daco. * - * @hibernate.many-to-one cascade="save-update" column="create_by" - * */ public DacoUser getCreatedBy() { return createdBy; @@ -382,31 +357,31 @@ * * @return a set of Attachments to this Message. */ - public Set getAttachments() { + public Set getAttachments() { return attachments; } - /* + /** * @param attachments The attachments to set. */ - public void setAttachments(Set attachments) { + public void setAttachments(Set attachments) { this.attachments = attachments; } /** * * - * @hibernate.set lazy="true" inverse="false" cascade="all" order-by="uid asc" + * @hibernate.set lazy="false" inverse="false" cascade="all" order-by="uid asc" outer-join="true" * @hibernate.collection-key column="content_uid" * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.daco.model.DacoQuestion" * * @return */ - public Set getDacoQuestions() { + public Set getDacoQuestions() { return dacoQuestions; } - public void setDacoQuestions(Set dacoQuestions) { + public void setDacoQuestions(Set dacoQuestions) { this.dacoQuestions = dacoQuestions; } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.hbm.xml =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.hbm.xml (.../DacoAnswer.hbm.xml) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.hbm.xml (.../DacoAnswer.hbm.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -32,6 +32,7 @@ outer-join="auto" update="true" insert="true" + foreign-key="AnswerToUser" column="user_uid" /> @@ -58,6 +59,7 @@ outer-join="auto" update="true" insert="true" + foreign-key="AnswerToQuestion" column="question_uid" /> @@ -100,92 +102,5 @@ --> - - - - - - - - -SELECT question_uid, -NULL AS answer, -NULL AS question_type, -SUM(answer) AS sum, -AVG(answer) AS average, -NULL AS count -FROM tl_ladaco10_answers AS a, tl_ladaco10_questions AS q -WHERE a.question_uid=q.uid - AND q.content_uid=:contentUid - AND a.user_uid=:userUid - AND question_type=:numberQuestionType - AND answer IS NOT NULL -GROUP BY question_uid -ORDER BY question_uid - - - - - - - - -SELECT question_uid, -NULL AS answer, -question_type, -SUM(answer) AS sum, -AVG(answer) AS average, -NULL AS count -FROM tl_ladaco10_answers AS a, tl_ladaco10_questions AS q -WHERE a.question_uid=q.uid - AND q.content_uid=:contentUid - AND question_type=:numberQuestionType - AND answer IS NOT NULL -GROUP BY question_uid ORDER BY question_uid - - - - - - - - - -SELECT DISTINCT a.question_uid, -answer, -question_type, -NULL AS sum, -CONCAT(ROUND(COUNT(1)/(SELECT COUNT(1) FROM tl_ladaco10_answers WHERE question_uid=q.uid AND answer IS NOT NULL)*100),'%') AS average, -COUNT(1) AS count -FROM tl_ladaco10_answers AS a, tl_ladaco10_questions AS q -WHERE a.question_uid=q.uid - AND q.content_uid=:contentUid - AND a.user_uid=:userUid - AND question_type IN (:numberQuestionType,:radioQuestionType,:dropdownQuestionType,:checkboxQuestionType) - AND answer IS NOT NULL -GROUP BY question_uid, answer ORDER BY question_uid,answer - - - - - - - - - -SELECT DISTINCT a.question_uid, -answer, -question_type, -NULL AS sum, -CONCAT(ROUND(COUNT(1)/(SELECT COUNT(1) FROM tl_ladaco10_answers WHERE question_uid=q.uid AND answer IS NOT NULL)*100),'%') AS average, -COUNT(1) AS count -FROM tl_ladaco10_answers a, tl_ladaco10_questions q -WHERE a.question_uid=q.uid - AND q.content_uid=:contentUid - AND question_type IN (:numberQuestionType,:radioQuestionType,:dropdownQuestionType,:checkboxQuestionType) - AND answer IS NOT NULL -GROUP BY question_uid, answer ORDER BY question_uid,answer - - Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.java =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.java (.../DacoAnswer.java) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswer.java (.../DacoAnswer.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -83,7 +83,7 @@ } /** - * @hibernate.many-to-one column="user_uid" cascade="none" + * @hibernate.many-to-one column="user_uid" cascade="none" foreign-key="AnswerToUser" * @return */ public DacoUser getUser() { @@ -119,7 +119,7 @@ } /** - * @hibernate.many-to-one column="question_uid" cascade="none" + * @hibernate.many-to-one column="question_uid" cascade="none" foreign-key="AnswerToQuestion" * @return */ public DacoQuestion getQuestion() { Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswerOption.java =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswerOption.java (.../DacoAnswerOption.java) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAnswerOption.java (.../DacoAnswerOption.java) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -46,15 +46,15 @@ // ********************************************************** /** - * @hibernate.id generator-class="native" type="java.lang.Long" column="uid" + * @hibernate.id generator-class="native" column="uid" * @return Returns the answer ID. */ public Long getUid() { return uid; } - public void setUid(Long uuid) { - this.uid = uuid; + private void setUid(Long uuid) { + uid = uuid; } /** @@ -81,14 +81,16 @@ this.answerOption = answerOption; } + @Override public Object clone() { - Object obj = null; + DacoAnswerOption obj = null; try { - obj = super.clone(); - ((DacoAnswerOption) obj).setUid(null); - } catch (CloneNotSupportedException e) { - log.error("When clone " + DacoAnswerOption.class + " failed"); + obj = (DacoAnswerOption) super.clone(); + obj.setUid(null); } + catch (CloneNotSupportedException e) { + DacoAnswerOption.log.error("When clone " + DacoAnswerOption.class + " failed"); + } return obj; } Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAttachment.hbm.xml =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAttachment.hbm.xml (.../DacoAttachment.hbm.xml) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/model/DacoAttachment.hbm.xml (.../DacoAttachment.hbm.xml) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -8,7 +8,7 @@ > @@ -127,8 +128,8 @@ @@ -144,6 +145,17 @@ + + Index: lams_tool_daco/web/pages/authoring/definelaterforbid.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/definelaterforbid.jsp (.../definelaterforbid.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/definelaterforbid.jsp (.../definelaterforbid.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@

- +

Index: lams_tool_daco/web/pages/authoring/instructions.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/instructions.jsp (.../instructions.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/instructions.jsp (.../instructions.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -2,8 +2,7 @@ <%@ page import="org.lamsfoundation.lams.contentrepository.client.IToolContentHandler"%> + value="<%=request.getAttribute(org.apache.struts.taglib.html.Constants.BEAN_KEY)%>" /> - + Index: lams_tool_daco/web/pages/authoring/parts/adddate.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/adddate.jsp (.../adddate.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/adddate.jsp (.../adddate.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/adddropdown.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/adddropdown.jsp (.../adddropdown.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/authoring/parts/adddropdown.jsp (.../adddropdown.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -13,7 +13,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addfile.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addfile.jsp (.../addfile.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/addfile.jsp (.../addfile.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addimage.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addimage.jsp (.../addimage.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/addimage.jsp (.../addimage.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addlonglat.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addlonglat.jsp (.../addlonglat.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/addlonglat.jsp (.../addlonglat.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -13,7 +13,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addnumber.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addnumber.jsp (.../addnumber.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/authoring/parts/addnumber.jsp (.../addnumber.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addradio.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addradio.jsp (.../addradio.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/authoring/parts/addradio.jsp (.../addradio.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -13,7 +13,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addtextarea.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addtextarea.jsp (.../addtextarea.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/addtextarea.jsp (.../addtextarea.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/addtextfield.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/addtextfield.jsp (.../addtextfield.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/addtextfield.jsp (.../addtextfield.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -11,7 +11,7 @@ var msgHideAdditionalOptions = ""; - + Index: lams_tool_daco/web/pages/authoring/parts/instructionfilelist.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/authoring/parts/instructionfilelist.jsp (.../instructionfilelist.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/authoring/parts/instructionfilelist.jsp (.../instructionfilelist.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -30,7 +30,7 @@
  • - Index: lams_tool_daco/web/pages/learning/learning.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/learning/learning.jsp (.../learning.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/learning/learning.jsp (.../learning.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -17,6 +17,7 @@ + @@ -73,7 +74,7 @@ - + @@ -97,18 +98,20 @@ -
    - - - - - - - - - - -
    +
    + + + + + + + + + + + + +
  • Index: lams_tool_daco/web/pages/learning/listRecords.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/learning/listRecords.jsp (.../listRecords.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/learning/listRecords.jsp (.../listRecords.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1,12 +1,17 @@
    <%@ include file="/common/taglibs.jsp"%> + + + + + - + @@ -17,24 +22,34 @@ var editRecordUrl = ""; var removeRecordUrl = ""; - -
    - - - - - - -
    -

    ${daco.title}

    -
    ${daco.instructions}
    + + + + + + + + + + + +
    +

    ${daco.title}

    +
    ${daco.instructions}
    +

    - +

    + +

    + : ${fn:length(recordList)} +

    +
    + @@ -68,16 +83,19 @@ + - + " + onclick="javascript:removeRecord('${sessionMapID}',${recordStatus.index+1})" /> + + +
    ${recordStatus.index+1} - " - onclick="javascript:editRecord('${sessionMapID}',${recordStatus.index+1})" /> + " + onclick="javascript:editRecord('${sessionMapID}',${recordStatus.index+1})" /> - " - onclick="javascript:removeRecord('${sessionMapID}',${recordStatus.index+1})" />
    Index: lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp =================================================================== diff -u -r20efcf1f1ffa7e732d72deaf0c670f34836d9a0a -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp (.../listRecordsHorizontalPart.jsp) (revision 20efcf1f1ffa7e732d72deaf0c670f34836d9a0a) +++ lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp (.../listRecordsHorizontalPart.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -38,14 +38,16 @@
    ${recordStatus.index+1}
    -
    +
    " onclick="javascript:parent.editRecord('${sessionMapID}',${recordStatus.index+1})" /> " onclick="javascript:parent.removeRecord('${sessionMapID}',${recordStatus.index+1})" />
    +
    +
    @@ -56,136 +58,136 @@ - - - - - - - -
    - + + + + +
    - - - id="lastHorizontalQuestion" - - - - - - - style="height: 69px" - - - style="height: 85px" - - + + + + + + + + + + + id="lastHorizontalQuestion" - - - > - - - - - - - - - - - - - - - - - - - - - - - ${answer.fileName} - - - - - - - - - -
    - - - + + + + + + style="height: 69px" + + + style="height: 85px" + + - - checked="checked" - - > - ${answerOption.answerOption}
    - -
    -
    - - - - - - - - - ${answerOption.answerOption} - - - - - - - - - - - -
    + + + > + + + + + + + + + + + + + + + + + + + + + + + ${answer.fileName} + + + + + + + + + +
    + + + + + + checked="checked" + + > + ${answerOption.answerOption}
    + +
    +
    + + + + + + - -
    + + ${answerOption.answerOption} - ${answerOption.answerOption}
    -
    -
    - - - - - - - - - - -
    - - - -
    -
    - - - -
    -
    -
    -
    -
    + + + + +
    + + + + + ${answerOption.answerOption}
    + +
    +
    + + + + + + + + + + +
    + + + +
    +
    + + + +
    +
    +
    +
    + +
    Index: lams_tool_daco/web/pages/learning/questionSummaries.jsp =================================================================== diff -u -r2b2611326286bc64cc4e22c9d16642ad038b93c3 -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/learning/questionSummaries.jsp (.../questionSummaries.jsp) (revision 2b2611326286bc64cc4e22c9d16642ad038b93c3) +++ lams_tool_daco/web/pages/learning/questionSummaries.jsp (.../questionSummaries.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1,14 +1,25 @@ <%@ include file="/common/taglibs.jsp"%>
    + + + + + + + + + + +
    @@ -19,7 +30,7 @@ ${daco.instructions}
    - +
    @@ -30,6 +41,17 @@ + + + + + @@ -58,7 +80,8 @@ - + @@ -68,47 +91,61 @@ - - - - -
    + + + ${userRecordCount } + + ${allRecordCount } +
    - ${questionSummary.userSummary[0][question.summary]} + + + ${questionSummary.userSummary[0].sum} + + + ${questionSummary.userSummary[0].average} + + - ${questionSummary.allSummary[0][question.summary]} + + + ${questionSummary.allSummary[0].sum} + + + ${questionSummary.allSummary[0].average} + + - + - +
    - ${summary[0]} + ${singleAnswer.answer} - ${summary[2]} + ${singleAnswer.count}
    - + @@ -120,42 +157,58 @@ - - + +
    - ${summary[0]} + ${singleAnswer.answer} - ${summary[2]} + ${singleAnswer.count}
    - +
    - ${fn:substring(ordinal,summary[0]-1,summary[0])}) + ${fn:substring(ordinal,singleAnswer.answer-1,singleAnswer.answer)}) - ${summary[question.summary]} + + + ${singleAnswer.sum} + + + ${singleAnswer.average} + +
    - +
    - ${fn:substring(ordinal,summary[0]-1,summary[0])}) + ${fn:substring(ordinal,singleAnswer.answer-1,singleAnswer.answer)}) - ${summary[question.summary]} + + + ${singleAnswer.sum} + + + ${singleAnswer.average} + +
    XX--
    -

    - Refresh -

    + +

    + +

    +
    \ No newline at end of file Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/learningobj/defaultcontent.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/learningobj/icons/.cvsignore'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_daco/web/pages/learningobj/icons/base.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/empty.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/folder.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/folderopen.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/join.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/joinbottom.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/line.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/minus.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/minusbottom.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/page.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/plus.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Index: lams_tool_daco/web/pages/learningobj/icons/plusbottom.gif =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 Binary files differ Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/learningobj/mainframe.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/learningobj/navigatortree.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/learningobj/xmltree.xsl'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_daco/web/pages/monitoring/editactivity.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -2,7 +2,7 @@ - +

    @@ -28,16 +28,17 @@
    - - - - - - - -
    + + + + + + + + + + + + + + \ No newline at end of file Index: lams_tool_daco/web/pages/monitoring/instructions.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/monitoring/instructions.jsp (.../instructions.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/monitoring/instructions.jsp (.../instructions.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -93,4 +93,4 @@ - + \ No newline at end of file Index: lams_tool_daco/web/pages/monitoring/listRecords.jsp =================================================================== diff -u --- lams_tool_daco/web/pages/monitoring/listRecords.jsp (revision 0) +++ lams_tool_daco/web/pages/monitoring/listRecords.jsp (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,97 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + <%@ include file="/common/header.jsp"%> + + + + + + + + + <fmt:message key="title.monitoring.recordlist" /> + + + +
    +
    +
    +
    + + + + + +
    +
    + +
    + + + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + : ${userGroup.sessionName} +
    + ${user.fullName} + + ${user.loginName} + + ${user.recordCount} +
    + + + <%@ include file="/pages/learning/listRecords.jsp" %> + +
    +
    +
    +
    + +
    + +
    \ No newline at end of file Index: lams_tool_daco/web/pages/monitoring/monitoring.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -6,33 +6,20 @@ - <%@ include file="/common/tabbedheader.jsp" %> - + <%@ include file="/common/tabbedheader.jsp" %> + + + + + <fmt:message key="title.monitoring" /> + - +

    - +

    - + - +
    -
    + \ No newline at end of file Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/monitoring/statistic.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_daco/web/pages/monitoring/statistics.jsp =================================================================== diff -u --- lams_tool_daco/web/pages/monitoring/statistics.jsp (revision 0) +++ lams_tool_daco/web/pages/monitoring/statistics.jsp (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -0,0 +1,43 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + +
    + +
    +
    + + + + + +
    +
    + +
    + + + +
    +

    + <%@ include file="/pages/learning/questionSummaries.jsp" %> +
    +
    \ No newline at end of file Index: lams_tool_daco/web/pages/monitoring/summary.jsp =================================================================== diff -u -rbe03cfbba16a388e85d82cb8986f63d6b2ad568b -r9aa7e24878b41bd6baffa35e83ef392e670811c3 --- lams_tool_daco/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision be03cfbba16a388e85d82cb8986f63d6b2ad568b) +++ lams_tool_daco/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 9aa7e24878b41bd6baffa35e83ef392e670811c3) @@ -1,150 +1,154 @@ <%@ include file="/common/taglibs.jsp"%> - + + + + - -
    -
    + - - - - - <%-- display group name on first row--%> - +

    + + + + + +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + ${daco.minRecords} + + +
    + + + + + + + + ${daco.maxRecords} + + +
    + + + + + + + + + + +
    + + + + + + + + + + +
    + + + ${daco.reflectInstructions} +
    +
    + + + + +
    + +
    +
    + + + + + + + + + + - - - - - - - - - - <%-- End group title display --%> - - - - - - - - - - - - - - - - <%-- Reflection list --%> - - - - - - - - - - - - - + - - - + + + + - - - - - -
    ${question.sessionName} - -
    - -
    -
    +
    + : ${sessionSummary.sessionName}
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${question.questionTitle} - - ${question.username} - - - - - - - ${question.viewNumber} - - - 0 - - - - - - - - - - -
    -

    -
    ${user.fullName}${user.loginName} - - - - + ${user.fullName} + + ${user.loginName} + + ${user.recordCount} +   + + + + + + + +
    + + +
    +
    +

    + + + + + + + + + +

    \ No newline at end of file Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/monitoring/userlist.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/questionreview/initnav.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/questionreview/instructionsnav.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 9aa7e24878b41bd6baffa35e83ef392e670811c3 refers to a dead (removed) revision in file `lams_tool_daco/web/pages/questionreview/mainframe.jsp'. Fisheye: No comparison available. Pass `N' to diff?