Index: tool_adapters/readme.txt
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/readme.txt,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/readme.txt 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1 @@
+Directory for tool adapters
Index: tool_adapters/dotlrn/lams_tool_dlforum/.classpath
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/.classpath,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/.classpath 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/.project
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/.project,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/.project 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,22 @@
+
+
+ lams_tool_dlforum
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.ibm.sse.model.structuredbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/build.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/build.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/build.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,20 @@
+
+# project-wide properties
+signature=dlfrum10
+
+#project version
+tool.version=20080724
+
+package=org/lamsfoundation/lams/tool/dlfrum
+package.name=org.lamsfoundation.lams.tool.dlfrum
+weblib=lib
+
+# hide tool option
+hideTool=false
+
+# Minimum compatible version
+min.server.version.number=2.0
+
+# Language files package
+language.files.package=org.lamsfoundation.lams.tool.dlfrum
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/build.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/build.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/build.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,531 @@
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Deploying the DotLRNForum Tool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/hibernate.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/hibernate.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/hibernate.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,7 @@
+hibernate.connection.username=lams
+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
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.hbm.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.hbm.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.hbm.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.hbm.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.hbm.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.hbm.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.hbm.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.hbm.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/jar/META-INF/MANIFEST.MF
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/jar/META-INF/MANIFEST.MF,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/jar/META-INF/MANIFEST.MF 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,3 @@
+Implementation-Title: LAMS - Notebok Tool
+Implementation-Version: 2.1
+Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org)
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/language/ApplicationResources.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/language/ApplicationResources.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/language/ApplicationResources.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,44 @@
+appName = dotLRNForum
+
+ # CVS ID: $Id: ApplicationResources.properties,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+#=================== labels for dotLRNForum =================#
+
+activity.helptext =.LRN Forum Online threaded discussion tool
+tool.display.name =.LRN Forum
+tool.description =.LRN Forum Tool
+activity.title =.LRN Forum
+activity.description =.LRN Forum Tool
+pageTitle.authoring =.LRN Forum Authoring
+pageTitle.admin =.LRN Forum Configuration
+admin.extToolAdapterServletUrl =External tool adapter servlet URL
+admin.extServerId =External server id mapping
+admin.formError =There was an error processing the form, please ensure both fields are filled and click save again.
+admin.return =Return to maintain LAMS
+monitor.sessions =Sessions
+button.save =Save
+pageTitle.learning =Online .LRNForum
+message.defineLaterSet =Please wait for the teacher to complete the contents of this activity
+message.runOfflineSet =This activity is not being done on the computer. Please see your instructor for details.
+pageTitle.monitoring =.LRN Forum Monitoring
+button.summary =Summary
+button.editActivity =Edit Activity
+button.statistics =Statistics
+titleHeading.summary =Summary
+titleHeading.statistics =Statistics
+titleHeading.editActivity =Edit Activity
+titleHeading.exportPortfolio =Export Portfolio
+exportPortfolio.message.nosessions =There are no sessions for this dotLRNForum.
+heading.group =Group {0}:
+heading.totalLearners =Number of Learners:
+heading.totalLearnersInGroup =Total Number of Learners in Group:
+heading.totalFinishedLearnersInGroup =Number of Finished Learners:
+button.cancel =Cancel
+button.ok =OK
+button.done =Done
+button.next =Next
+label.save =Save
+label.cancel =Cancel
+error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity.
+
+#======= End labels =====
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,44 @@
+appName = dotLRNForum
+
+ # CVS ID: $Id: ApplicationResources.properties,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+#=================== labels for dotLRNForum =================#
+
+activity.helptext =.LRN Forum Online threaded discussion tool
+tool.display.name =.LRN Forum
+tool.description =.LRN Forum Tool
+activity.title =.LRN Forum
+activity.description =.LRN Forum Tool
+pageTitle.authoring =.LRN Forum Authoring
+pageTitle.admin =.LRN Forum Configuration
+admin.extToolAdapterServletUrl =External tool adapter servlet URL
+admin.extServerId =External server id mapping
+admin.formError =There was an error processing the form, please ensure both fields are filled and click save again.
+admin.return =Return to maintain LAMS
+monitor.sessions =Sessions
+button.save =Save
+pageTitle.learning =Online .LRNForum
+message.defineLaterSet =Please wait for the teacher to complete the contents of this activity
+message.runOfflineSet =This activity is not being done on the computer. Please see your instructor for details.
+pageTitle.monitoring =.LRN Forum Monitoring
+button.summary =Summary
+button.editActivity =Edit Activity
+button.statistics =Statistics
+titleHeading.summary =Summary
+titleHeading.statistics =Statistics
+titleHeading.editActivity =Edit Activity
+titleHeading.exportPortfolio =Export Portfolio
+exportPortfolio.message.nosessions =There are no sessions for this dotLRNForum.
+heading.group =Group {0}:
+heading.totalLearners =Number of Learners:
+heading.totalLearnersInGroup =Total Number of Learners in Group:
+heading.totalFinishedLearnersInGroup =Number of Finished Learners:
+button.cancel =Cancel
+button.ok =OK
+button.done =Done
+button.next =Next
+label.save =Save
+label.cancel =Cancel
+error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity.
+
+#======= End labels =====
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources_en_AU.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources_en_AU.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/language/lams/ApplicationResources_en_AU.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,44 @@
+appName = dotLRNForum
+
+ # CVS ID: $Id: ApplicationResources_en_AU.properties,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+#=================== labels for dotLRNForum =================#
+
+activity.helptext =.LRN Forum Online threaded discussion tool
+tool.display.name =.LRN Forum
+tool.description =.LRN Forum Tool
+activity.title =.LRN Forum
+activity.description =.LRN Forum Tool
+pageTitle.authoring =.LRN Forum Authoring
+pageTitle.admin =.LRN Forum Configuration
+admin.extToolAdapterServletUrl =External tool adapter servlet URL
+admin.extServerId =External server id mapping
+admin.formError =There was an error processing the form, please ensure both fields are filled and click save again.
+admin.return =Return to maintain LAMS
+monitor.sessions =Sessions
+button.save =Save
+pageTitle.learning =Online .LRNForum
+message.defineLaterSet =Please wait for the teacher to complete the contents of this activity
+message.runOfflineSet =This activity is not being done on the computer. Please see your instructor for details.
+pageTitle.monitoring =.LRN Forum Monitoring
+button.summary =Summary
+button.editActivity =Edit Activity
+button.statistics =Statistics
+titleHeading.summary =Summary
+titleHeading.statistics =Statistics
+titleHeading.editActivity =Edit Activity
+titleHeading.exportPortfolio =Export Portfolio
+exportPortfolio.message.nosessions =There are no sessions for this dotLRNForum.
+heading.group =Group {0}:
+heading.totalLearners =Number of Learners:
+heading.totalLearnersInGroup =Total Number of Learners in Group:
+heading.totalFinishedLearnersInGroup =Number of Finished Learners:
+button.cancel =Cancel
+button.ok =OK
+button.done =Done
+button.next =Next
+label.save =Save
+label.cancel =Cancel
+error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity.
+
+#======= End labels =====
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,44 @@
+appName = dotLRNForum
+
+ # CVS ID: $Id: ApplicationResources.properties,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+#=================== labels for dotLRNForum =================#
+
+activity.helptext =.LRN Forum Online threaded discussion tool
+tool.display.name =.LRN Forum
+tool.description =.LRN Forum Tool
+activity.title =.LRN Forum
+activity.description =.LRN Forum Tool
+pageTitle.authoring =.LRN Forum Authoring
+pageTitle.admin =.LRN Forum Configuration
+admin.extToolAdapterServletUrl =External tool adapter servlet URL
+admin.extServerId =External server id mapping
+admin.formError =There was an error processing the form, please ensure both fields are filled and click save again.
+admin.return =Return to maintain LAMS
+monitor.sessions =Sessions
+button.save =Save
+pageTitle.learning =Online .LRNForum
+message.defineLaterSet =Please wait for the teacher to complete the contents of this activity
+message.runOfflineSet =This activity is not being done on the computer. Please see your instructor for details.
+pageTitle.monitoring =.LRN Forum Monitoring
+button.summary =Summary
+button.editActivity =Edit Activity
+button.statistics =Statistics
+titleHeading.summary =Summary
+titleHeading.statistics =Statistics
+titleHeading.editActivity =Edit Activity
+titleHeading.exportPortfolio =Export Portfolio
+exportPortfolio.message.nosessions =There are no sessions for this dotLRNForum.
+heading.group =Group {0}:
+heading.totalLearners =Number of Learners:
+heading.totalLearnersInGroup =Total Number of Learners in Group:
+heading.totalFinishedLearnersInGroup =Number of Finished Learners:
+button.cancel =Cancel
+button.ok =OK
+button.done =Done
+button.next =Next
+label.save =Save
+label.cancel =Cancel
+error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity.
+
+#======= End labels =====
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources_en_AU.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources_en_AU.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/language/rams/ApplicationResources_en_AU.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,44 @@
+appName = dotLRNForum
+
+ # CVS ID: $Id: ApplicationResources_en_AU.properties,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+#=================== labels for dotLRNForum =================#
+
+activity.helptext =.LRN Forum Online threaded discussion tool
+tool.display.name =.LRN Forum
+tool.description =.LRN Forum Tool
+activity.title =.LRN Forum
+activity.description =.LRN Forum Tool
+pageTitle.authoring =.LRN Forum Authoring
+pageTitle.admin =.LRN Forum Configuration
+admin.extToolAdapterServletUrl =External tool adapter servlet URL
+admin.extServerId =External server id mapping
+admin.formError =There was an error processing the form, please ensure both fields are filled and click save again.
+admin.return =Return to maintain LAMS
+monitor.sessions =Sessions
+button.save =Save
+pageTitle.learning =Online .LRNForum
+message.defineLaterSet =Please wait for the teacher to complete the contents of this activity
+message.runOfflineSet =This activity is not being done on the computer. Please see your instructor for details.
+pageTitle.monitoring =.LRN Forum Monitoring
+button.summary =Summary
+button.editActivity =Edit Activity
+button.statistics =Statistics
+titleHeading.summary =Summary
+titleHeading.statistics =Statistics
+titleHeading.editActivity =Edit Activity
+titleHeading.exportPortfolio =Export Portfolio
+exportPortfolio.message.nosessions =There are no sessions for this dotLRNForum.
+heading.group =Group {0}:
+heading.totalLearners =Number of Learners:
+heading.totalLearnersInGroup =Total Number of Learners in Group:
+heading.totalFinishedLearnersInGroup =Number of Finished Learners:
+button.cancel =Cancel
+button.ok =OK
+button.done =Done
+button.next =Next
+label.save =Save
+label.cancel =Cancel
+error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity.
+
+#======= End labels =====
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/middlegen/lams_tool_ladotLRNForum11-prefs.properties
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/middlegen/lams_tool_ladotLRNForum11-prefs.properties,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/middlegen/lams_tool_ladotLRNForum11-prefs.properties 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,128 @@
+# Middlegen Preferences
+hibernate.tables.tl_dlfrum10_attachment.base-class-name=DotLRNForumAttachment
+hibernate.tables.tl_dlfrum10_attachment.columns.create_date.columnspecialty=property
+hibernate.tables.tl_dlfrum10_attachment.columns.create_date.java-name=createDate
+hibernate.tables.tl_dlfrum10_attachment.columns.create_date.java-type=java.sql.Timestamp
+hibernate.tables.tl_dlfrum10_attachment.columns.dotLRNForum_uid.columnspecialty=foreign key
+hibernate.tables.tl_dlfrum10_attachment.columns.dotLRNForum_uid.java-name=dotLRNForumUid
+hibernate.tables.tl_dlfrum10_attachment.columns.dotLRNForum_uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_attachment.columns.file_name.inctostring=true
+hibernate.tables.tl_dlfrum10_attachment.columns.file_name.java-name=fileName
+hibernate.tables.tl_dlfrum10_attachment.columns.file_name.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_attachment.columns.file_type.java-name=fileType
+hibernate.tables.tl_dlfrum10_attachment.columns.file_type.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_attachment.columns.file_uuid.columnspecialty=property
+hibernate.tables.tl_dlfrum10_attachment.columns.file_uuid.incequals=false
+hibernate.tables.tl_dlfrum10_attachment.columns.file_uuid.inctostring=true
+hibernate.tables.tl_dlfrum10_attachment.columns.file_uuid.java-name=fileUuid
+hibernate.tables.tl_dlfrum10_attachment.columns.file_uuid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_attachment.columns.file_version_id.inctostring=true
+hibernate.tables.tl_dlfrum10_attachment.columns.file_version_id.java-name=fileVersionId
+hibernate.tables.tl_dlfrum10_attachment.columns.file_version_id.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_attachment.columns.uid.columnspecialty=key
+hibernate.tables.tl_dlfrum10_attachment.columns.uid.incequals=true
+hibernate.tables.tl_dlfrum10_attachment.columns.uid.inctostring=true
+hibernate.tables.tl_dlfrum10_attachment.columns.uid.java-name=uid
+hibernate.tables.tl_dlfrum10_attachment.columns.uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_attachment.equalshashcode=true
+hibernate.tables.tl_dlfrum10_attachment.keygenerator=native
+hibernate.tables.tl_dlfrum10_dotLRNForum.base-class-name=DotLRNForum
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.content_in_use.java-name=contentInUse
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.content_in_use.java-type=java.lang.Boolean
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.create_by.java-name=createBy
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.create_by.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.create_date.java-name=createDate
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.create_date.java-type=java.sql.Timestamp
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.define_later.java-name=defineLater
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.define_later.java-type=java.lang.Boolean
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.instructions.inctostring=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.instructions.java-name=instructions
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.instructions.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.lock_on_finished.java-name=lockOnFinished
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.lock_on_finished.java-type=java.lang.Boolean
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.offline_instructions.java-name=offlineInstructions
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.offline_instructions.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.online_instructions.java-name=onlineInstructions
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.online_instructions.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.run_offline.java-name=runOffline
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.run_offline.java-type=java.lang.Boolean
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.title.inctostring=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.title.java-name=title
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.title.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.tool_content_id.inctostring=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.tool_content_id.java-name=toolContentId
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.tool_content_id.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.uid.columnspecialty=key
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.uid.incequals=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.uid.inctostring=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.uid.java-name=uid
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.update_date.java-name=updateDate
+hibernate.tables.tl_dlfrum10_dotLRNForum.columns.update_date.java-type=java.sql.Timestamp
+hibernate.tables.tl_dlfrum10_dotLRNForum.dynamicInsert=false
+hibernate.tables.tl_dlfrum10_dotLRNForum.equalshashcode=true
+hibernate.tables.tl_dlfrum10_dotLRNForum.keygenerator=native
+hibernate.tables.tl_dlfrum10_session.base-class-name=DotLRNForumSession
+hibernate.tables.tl_dlfrum10_session.columns.dotLRNForum_uid.java-name=dotLRNForumUid
+hibernate.tables.tl_dlfrum10_session.columns.dotLRNForum_uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_session.columns.session_end_date.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.session_end_date.java-name=sessionEndDate
+hibernate.tables.tl_dlfrum10_session.columns.session_end_date.java-type=java.sql.Timestamp
+hibernate.tables.tl_dlfrum10_session.columns.session_id.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.session_id.java-name=sessionId
+hibernate.tables.tl_dlfrum10_session.columns.session_id.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_session.columns.session_name.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.session_name.java-name=sessionName
+hibernate.tables.tl_dlfrum10_session.columns.session_name.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_session.columns.session_start_date.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.session_start_date.java-name=sessionStartDate
+hibernate.tables.tl_dlfrum10_session.columns.session_start_date.java-type=java.sql.Timestamp
+hibernate.tables.tl_dlfrum10_session.columns.status.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.status.java-name=status
+hibernate.tables.tl_dlfrum10_session.columns.status.java-type=java.lang.Integer
+hibernate.tables.tl_dlfrum10_session.columns.uid.columnspecialty=key
+hibernate.tables.tl_dlfrum10_session.columns.uid.incequals=true
+hibernate.tables.tl_dlfrum10_session.columns.uid.inctostring=true
+hibernate.tables.tl_dlfrum10_session.columns.uid.java-name=uid
+hibernate.tables.tl_dlfrum10_session.columns.uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_session.equalshashcode=true
+hibernate.tables.tl_dlfrum10_session.keygenerator=native
+hibernate.tables.tl_dlfrum10_user.base-class-name=DotLRNForumUser
+hibernate.tables.tl_dlfrum10_user.columns.first_name.java-name=firstName
+hibernate.tables.tl_dlfrum10_user.columns.first_name.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_user.columns.last_name.columnspecialty=property
+hibernate.tables.tl_dlfrum10_user.columns.last_name.java-name=lastName
+hibernate.tables.tl_dlfrum10_user.columns.last_name.java-type=java.lang.String
+hibernate.tables.tl_dlfrum10_user.columns.session_id.inctostring=true
+hibernate.tables.tl_dlfrum10_user.columns.session_id.java-name=sessionId
+hibernate.tables.tl_dlfrum10_user.columns.session_id.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_user.columns.uid.columnspecialty=key
+hibernate.tables.tl_dlfrum10_user.columns.uid.incequals=true
+hibernate.tables.tl_dlfrum10_user.columns.uid.inctostring=true
+hibernate.tables.tl_dlfrum10_user.columns.uid.java-name=uid
+hibernate.tables.tl_dlfrum10_user.columns.uid.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_user.columns.user_id.inctostring=true
+hibernate.tables.tl_dlfrum10_user.columns.user_id.java-name=userId
+hibernate.tables.tl_dlfrum10_user.columns.user_id.java-type=java.lang.Long
+hibernate.tables.tl_dlfrum10_user.equalshashcode=true
+hibernate.tables.tl_dlfrum10_user.keygenerator=sequence
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_attachment.tl_dlfrum10_attachment-has-tl_dlfrum10_dotLRNForum.enabled=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_attachment.tl_dlfrum10_attachment-has-tl_dlfrum10_dotLRNForum.target-many=false
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_attachment.tl_dlfrum10_dotLRNForum-has-tl_dlfrum10_attachment.enabled=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_attachment.tl_dlfrum10_dotLRNForum-has-tl_dlfrum10_attachment.target-many=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_session.tl_dlfrum10_dotLRNForum-has-tl_dlfrum10_session.enabled=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_session.tl_dlfrum10_dotLRNForum-has-tl_dlfrum10_session.target-many=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_session.tl_dlfrum10_session-has-tl_dlfrum10_dotLRNForum.enabled=true
+relations.tl_dlfrum10_dotLRNForum-tl_dlfrum10_session.tl_dlfrum10_session-has-tl_dlfrum10_dotLRNForum.target-many=false
+relations.tl_dlfrum10_session-tl_dlfrum10_user.tl_dlfrum10_session-has-tl_dlfrum10_user.enabled=true
+relations.tl_dlfrum10_session-tl_dlfrum10_user.tl_dlfrum10_session-has-tl_dlfrum10_user.target-many=true
+relations.tl_dlfrum10_session-tl_dlfrum10_user.tl_dlfrum10_user-has-tl_dlfrum10_session.enabled=true
+relations.tl_dlfrum10_session-tl_dlfrum10_user.tl_dlfrum10_user-has-tl_dlfrum10_session.target-many=false
+tables.tl_dlfrum10_attachment.x=566
+tables.tl_dlfrum10_attachment.y=173
+tables.tl_dlfrum10_dotLRNForum.x=308
+tables.tl_dlfrum10_dotLRNForum.y=176
+tables.tl_dlfrum10_session.x=70
+tables.tl_dlfrum10_session.y=70
+tables.tl_dlfrum10_user.x=460
+tables.tl_dlfrum10_user.y=28
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/war/META-INF/MANIFEST.MF
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/war/META-INF/MANIFEST.MF,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/war/META-INF/MANIFEST.MF 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,4 @@
+Implementation-Title: LAMS - DotLRNForum Tool
+Implementation-Version: 2.1
+Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org)
+Class-Path: ./lams.jar ./lams-tool-dlfrum10.jar ./lams-contentrepository.jar ./lams-learning.jar
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/error-pages.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/error-pages.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/error-pages.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,13 @@
+
+ 500
+ /error.jsp
+
+
+ 403
+ /403.jsp
+
+
+ 404
+ /404.jsp
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filter-mappings.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filter-mappings.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filter-mappings.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,14 @@
+
+ SystemSessionFilter
+ /*
+
+
+
+ hibernateFilter
+ /*
+
+
+
+ LocaleFilter
+ /*
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filters.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filters.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/filters.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,24 @@
+
+ SystemSessionFilter
+
+ org.lamsfoundation.lams.web.session.SystemSessionFilter
+
+
+
+
+ hibernateFilter
+
+ org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter
+
+
+ sessionFactoryBeanName
+ dotLRNForumSessionFactory
+
+
+
+
+ LocaleFilter
+
+ org.lamsfoundation.lams.web.filter.LocaleFilter
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/global-forwards.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/global-forwards.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/global-forwards.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,3 @@
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/listeners.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/listeners.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/listeners.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,10 @@
+
+
+ org.springframework.web.context.ContextLoaderListener
+
+
+
+
+ org.lamsfoundation.lams.web.SessionListener
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlet-mappings.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlet-mappings.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlet-mappings.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,20 @@
+
+ action
+ *.do
+
+
+
+
+ Connector
+ /fckeditor/editor/filemanager/browser/default/connectors/jsp/connector
+
+
+
+ download
+ /download/*
+
+
+
+ exportPortfolio
+ /exportPortfolio
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlets.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlets.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/servlets.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,56 @@
+
+ action
+ org.apache.struts.action.ActionServlet
+
+ config
+ /WEB-INF/struts/struts-config.xml
+
+
+ debug
+ 999
+
+
+ detail
+ 2
+
+
+ validate
+ true
+
+ 1
+
+
+
+
+
+ Connector
+ com.fredck.FCKeditor.connector.ConnectorServlet
+
+ baseDir
+ /UserFiles/
+
+
+ debug
+ false
+
+ 1
+
+
+
+
+ Attachment Download
+ Attachment Download
+ download
+ org.lamsfoundation.lams.contentrepository.client.ToolDownload
+
+ toolContentHandlerBeanName
+ dotLRNForumToolContentHandler
+
+ 3
+
+
+
+ exportPortfolio
+ org.lamsfoundation.lams.tool.dlfrum.web.servlets.ExportServlet
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-forms.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-forms.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-forms.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1 @@
\ No newline at end of file
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-message-resources.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-message-resources.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-message-resources.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1 @@
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-plugins.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-plugins.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/struts-plugins.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,9 @@
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/taglibs.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/taglibs.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/taglibs.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+ tags-bean
+ /WEB-INF/struts/tlds/struts-bean.tld
+
+
+
+ tags-html
+ /WEB-INF/struts/tlds/struts-html.tld
+
+
+
+ tags-logic
+ /WEB-INF/struts/tlds/struts-logic.tld
+
+
+
+ tags-tiles
+ /WEB-INF/struts/tlds/struts-tiles.tld
+
+
+
+
+
+
+
+ tags-fmt
+ /WEB-INF/jstl/tlds/fmt.tld
+
+
+
+ tags-core
+ /WEB-INF/jstl/tlds/c.tld
+
+
+
+ tags-function
+ /WEB-INF/jstl/tlds/fn.tld
+
+
+
+ tags-xml
+ /WEB-INF/jstl/tlds/x.tld
+
+
+
+
+
+
+ tags-permittedTaglibs
+ /WEB-INF/jstl/tlds/permittedTaglibs.tld
+
+
+
+ tags-scriptfree
+ /WEB-INF/jstl/tlds/scriptfree.tld
+
+
+
+
+
+
+ fck-editor
+ /WEB-INF/fckeditor/tlds/FCKeditor.tld
+
+
+
+ tags-lams
+ /WEB-INF/lams.tld
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-security.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-security.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-security.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,103 @@
+
+
+
+ Secure Content
+ *.jsp
+ *.html
+ *.do
+
+
+ LEARNER
+ TEACHER
+ MONITOR
+ AUTHOR
+ ADMIN
+ SYSADMIN
+ AUTHOR ADMIN
+
+
+
+
+
+ Authoring Update
+ /authoring.do
+
+
+ AUTHOR
+ AUTHOR ADMIN
+ SYSADMIN
+
+
+
+
+
+ Staff Content
+ /monitoring.do
+
+
+ MONITOR
+ TEACHER
+
+
+
+
+
+
+ Download Files
+ /download/
+
+
+ AUTHOR
+ MONITOR
+ TEACHER
+ ADMIN
+ SYSADMIN
+ AUTHOR ADMIN
+
+
+
+
+
+ FORM
+ LAMS
+
+ /login.jsp
+ /login.jsp?failed=y
+
+
+
+
+
+
+ Student
+ LEARNER
+
+
+ Student
+ TEACHER
+
+
+
+ Can create/modify a learning design
+ AUTHOR
+
+
+
+ Can running and monitoring a learning session
+ MONITOR
+
+
+
+ Can add/remove users to the system, set up classes of users for sessions
+ ADMIN
+
+
+
+ Can add/remove users to the system, set up classes of users for sessions
+ SYSADMIN
+
+
+
+ Can create/modify a learning design and edit default tool content
+ AUTHOR ADMIN
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-settings.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-settings.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/conf/xdoclet/web-settings.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,20 @@
+
+
+
+ javax.servlet.jsp.jstl.fmt.localizationContext
+ org.lamsfoundation.lams.tool.dlfrum.ApplicationResources
+
+
+
+ contextConfigLocation
+
+ classpath:/org/lamsfoundation/lams/applicationContext.xml
+ classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/toolApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/integrationContext.xml
+ classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
+ classpath:/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/activity_insert.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/activity_insert.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/activity_insert.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,80 @@
+-- CVS ID: $Id: activity_insert.sql,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+INSERT INTO lams_learning_activity
+(
+activity_ui_id
+, description
+, title
+, help_text
+, xcoord
+, ycoord
+, parent_activity_id
+, parent_ui_id
+, learning_activity_type_id
+, grouping_support_type_id
+, apply_grouping_flag
+, grouping_id
+, grouping_ui_id
+, order_id
+, define_later_flag
+, learning_design_id
+, learning_library_id
+, create_date_time
+, run_offline_flag
+, max_number_of_options
+, min_number_of_options
+, options_instructions
+, tool_id
+, tool_content_id
+, activity_category_id
+, gate_activity_level_id
+, gate_open_flag
+, gate_start_time_offset
+, gate_end_time_offset
+, gate_start_date_time
+, gate_end_date_time
+, library_activity_ui_image
+, create_grouping_id
+, create_grouping_ui_id
+, library_activity_id
+, language_file
+)
+VALUES
+(
+NULL
+, 'DotLRNForum Tool'
+, 'DotLRNForum Tool'
+, 'Put some help text here.'
+, NULL
+, NULL
+, NULL
+, NULL
+, 1
+, 2
+, 0
+, NULL
+, NULL
+, NULL
+, 0
+, NULL
+, ${learning_library_id}
+, NOW()
+, 0
+, NULL
+, NULL
+, NULL
+, ${tool_id}
+, NULL
+, 6
+, NULL
+, NULL
+, NULL
+, NULL
+, NULL
+, NULL
+, 'tool/dlfrum10/images/icon_dotLRNForum.swf'
+, NULL
+, NULL
+, NULL
+, 'org.lamsfoundation.lams.tool.dlfrum.ApplicationResources'
+)
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/create_lams_tool_dotLRNForum.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/create_lams_tool_dotLRNForum.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/create_lams_tool_dotLRNForum.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,40 @@
+-- CVS ID: $Id: create_lams_tool_dotLRNForum.sql,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+SET FOREIGN_KEY_CHECKS=0;
+drop table if exists tl_dlfrum10_dotlrnforum;
+drop table if exists tl_dlfrum10_session;
+drop table if exists tl_dlfrum10_user;
+drop table if exists tl_dlfrum10_configuration;
+create table tl_dlfrum10_dotlrnforum (uid bigint not null auto_increment, create_date datetime, update_date datetime, define_later bit, content_in_use bit, run_offline bit, tool_content_id bigint, ext_tool_content_id bigint, ext_user_name varchar(255), ext_course_id varchar(255), ext_course_url varchar(255), primary key (uid))TYPE=InnoDB;
+create table tl_dlfrum10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, ext_session_id bigint, session_name varchar(250), dotLRNForum_uid bigint, primary key (uid))TYPE=InnoDB;
+create table tl_dlfrum10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dotlrnforum_session_uid bigint, entry_uid bigint, primary key (uid))TYPE=InnoDB;
+create table tl_dlfrum10_configuration (uid bigint not null auto_increment, config_key varchar(30) unique, config_value varchar(255), primary key (uid))TYPE=InnoDB;
+alter table tl_dlfrum10_session add index FKC3601D49E66F3387 (dotLRNForum_uid), add constraint FKC3601D49E66F3387 foreign key (dotLRNForum_uid) references tl_dlfrum10_dotlrnforum (uid);
+alter table tl_dlfrum10_user add index FKEB7D85F89CB14C64 (dotlrnforum_session_uid), add constraint FKEB7D85F89CB14C64 foreign key (dotlrnforum_session_uid) references tl_dlfrum10_session (uid);
+alter table tl_dlfrum10_user add index FKEB7D85F8C1134AEC (dotLRNForum_session_uid), add constraint FKEB7D85F8C1134AEC foreign key (dotLRNForum_session_uid) references tl_dlfrum10_session (uid);
+
+INSERT INTO tl_dlfrum10_configuration (
+ config_key,
+ config_value
+)
+VALUES(
+ "toolAdapterServlet",
+ "http://localhost:8000/lams2conf/tooladapter_dlfrum10"
+);
+
+INSERT INTO tl_dlfrum10_dotlrnforum (
+ tool_content_id,
+ ext_tool_content_id,
+ run_offline,
+ content_in_use,
+ define_later
+)
+VALUES(
+ 0,
+ null,
+ 0,
+ 0,
+ 0
+);
+
+SET FOREIGN_KEY_CHECKS=1;
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/drop_lams_tool_dotLRNForum.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/drop_lams_tool_dotLRNForum.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/drop_lams_tool_dotLRNForum.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,13 @@
+-- CVS ID: $Id: drop_lams_tool_dotLRNForum.sql,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+SET FOREIGN_KEY_CHECKS=0;
+DROP TABLE IF EXISTS tl_dlfrum10_user;
+DROP TABLE IF EXISTS tl_dlfrum10_attachment;
+DROP TABLE IF EXISTS tl_dlfrum10_session;
+DROP TABLE IF EXISTS tl_dlfrum10_dotLRNForum;
+SET FOREIGN_KEY_CHECKS=1;
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/library_insert.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/library_insert.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/library_insert.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,16 @@
+-- CVS ID: $Id: library_insert.sql,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+INSERT INTO lams_learning_library
+(
+description,
+title,
+valid_flag,
+create_date_time
+)
+VALUES
+(
+'DotLRNForum Tool',
+'DotLRNForum',
+0,
+NOW()
+)
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/table-schema.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/table-schema.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/table-schema.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,18 @@
+alter table tl_dlfrum10_attachment drop foreign key FK35DADD90E66F3387;
+alter table tl_dlfrum10_session drop foreign key FKC3601D49E66F3387;
+alter table tl_dlfrum10_user drop foreign key FKEB7D85F89CB14C64;
+alter table tl_dlfrum10_user drop foreign key FKEB7D85F8C1134AEC;
+drop table if exists tl_dlfrum10_attachment;
+drop table if exists tl_dlfrum10_configuration;
+drop table if exists tl_dlfrum10_dotlrnforum;
+drop table if exists tl_dlfrum10_session;
+drop table if exists tl_dlfrum10_user;
+create table tl_dlfrum10_attachment (uid bigint not null auto_increment, file_version_id bigint, file_type varchar(255), file_name varchar(255), file_uuid bigint, create_date datetime, dotLRNForum_uid bigint, primary key (uid));
+create table tl_dlfrum10_configuration (uid bigint not null auto_increment, config_key varchar(30) unique, config_value varchar(255), primary key (uid));
+create table tl_dlfrum10_dotlrnforum (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, define_later bit, content_in_use bit, run_offline bit, tool_content_id bigint, ext_tool_content_id bigint, ext_user_name varchar(255), ext_course_id varchar(255), ext_course_url varchar(255), primary key (uid));
+create table tl_dlfrum10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, ext_session_id bigint, session_name varchar(250), dotLRNForum_uid bigint, primary key (uid));
+create table tl_dlfrum10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dotlnrforum_session_uid bigint, entry_uid bigint, dotLRNForum_session_uid bigint, primary key (uid));
+alter table tl_dlfrum10_attachment add index FK35DADD90E66F3387 (dotLRNForum_uid), add constraint FK35DADD90E66F3387 foreign key (dotLRNForum_uid) references tl_dlfrum10_dotlrnforum (uid);
+alter table tl_dlfrum10_session add index FKC3601D49E66F3387 (dotLRNForum_uid), add constraint FKC3601D49E66F3387 foreign key (dotLRNForum_uid) references tl_dlfrum10_dotlrnforum (uid);
+alter table tl_dlfrum10_user add index FKEB7D85F89CB14C64 (dotlnrforum_session_uid), add constraint FKEB7D85F89CB14C64 foreign key (dotlnrforum_session_uid) references tl_dlfrum10_session (uid);
+alter table tl_dlfrum10_user add index FKEB7D85F8C1134AEC (dotLRNForum_session_uid), add constraint FKEB7D85F8C1134AEC foreign key (dotLRNForum_session_uid) references tl_dlfrum10_session (uid);
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/tool_insert.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/tool_insert.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/tool_insert.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,68 @@
+-- CVS ID: $Id: tool_insert.sql,v 1.1 2008/08/18 04:05:23 lfoxton Exp $
+
+INSERT INTO lams_tool
+(
+tool_signature,
+service_name,
+tool_display_name,
+description,
+tool_identifier,
+tool_version,
+learning_library_id,
+default_tool_content_id,
+valid_flag,
+grouping_support_type_id,
+supports_run_offline_flag,
+learner_url,
+learner_preview_url,
+learner_progress_url,
+author_url,
+monitor_url,
+define_later_url,
+export_pfolio_learner_url,
+export_pfolio_class_url,
+contribute_url,
+moderation_url,
+help_url,
+admin_url,
+language_file,
+classpath_addition,
+context_file,
+create_date_time,
+modified_date_time,
+ext_lms_id,
+supports_outputs
+)
+VALUES
+(
+'dlfrum10',
+'dotLRNForumService',
+'DotLRNForum',
+'DotLRNForum',
+'dotLRNForum',
+'@tool_version@',
+NULL,
+NULL,
+0,
+2,
+1,
+'tool/dlfrum10/learning.do?mode=learner',
+'tool/dlfrum10/learning.do?mode=author',
+'tool/dlfrum10/learning.do?mode=teacher',
+'tool/dlfrum10/authoring.do',
+'tool/dlfrum10/monitoring.do',
+'tool/dlfrum10/authoring.do?mode=teacher',
+'tool/dlfrum10/exportPortfolio?mode=learner',
+'tool/dlfrum10/exportPortfolio?mode=teacher',
+'tool/dlfrum10/contribute.do',
+'tool/dlfrum10/moderate.do',
+'http://wiki.lamsfoundation.org/display/lamsdocs/dlfrum10',
+'tool/dlfrum10/dlfrum10admin.do',
+'org.lamsfoundation.lams.tool.dlfrum.ApplicationResources',
+'lams-tool-dlfrum10.jar',
+'/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml',
+NOW(),
+NOW(),
+'dotLRN',
+true
+)
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20070227.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20070227.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20070227.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,4 @@
+-- Update the DotLRNForum tables to 20070227
+-- This is for the LAMS 2.0.1 release.
+
+UPDATE lams_tool set modified_date_time = now(), classpath_addition = 'lams-tool-dlfrum10.jar', context_file = '/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml' where tool_signature = 'dlfrum10';
Index: tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20080229.sql
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20080229.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/db/sql/updatescripts/updateTo20080229.sql 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,2 @@
+UPDATE lams_tool SET modified_date_time = NOW() WHERE tool_signature = "dlfrum10";
+UPDATE lams_tool SET tool_version = "20080229" WHERE tool_signature = "dlfrum10";
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.hbm.xml
+ org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.hbm.xml
+ org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.hbm.xml
+ org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.hbm.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumConfigItemDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumConfigItemDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumConfigItemDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,11 @@
+package org.lamsfoundation.lams.tool.dlfrum.dao;
+
+
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+
+public interface IDotLRNForumConfigItemDAO extends IBaseDAO
+{
+ void saveOrUpdate(DotLRNForumConfigItem toConfig);
+ public DotLRNForumConfigItem getConfigItemByKey(final String configKey);
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,40 @@
+/****************************************************************
+ * 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 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: IDotLRNForumDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao;
+
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+
+/**
+ * DAO for accessing the DotLRNForum objects - interface defining
+ * methods to be implemented by the Hibernate or other implementation.
+ */
+public interface IDotLRNForumDAO extends IBaseDAO{
+
+ DotLRNForum getByContentId(Long toolContentId);
+
+ void saveOrUpdate(DotLRNForum toContent);
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumSessionDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumSessionDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumSessionDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,41 @@
+/****************************************************************
+ * 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 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: IDotLRNForumSessionDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao;
+
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+
+/**
+ * DAO for accessing the DotLRNForumSession objects - interface defining
+ * methods to be implemented by the Hibernate or other implementation.
+ */
+public interface IDotLRNForumSessionDAO extends IBaseDAO{
+
+ void saveOrUpdate(DotLRNForumSession session);
+
+ DotLRNForumSession getBySessionId(Long toolSessionId);
+
+ void deleteBySessionID(Long toolSessionID);
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumUserDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumUserDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/IDotLRNForumUserDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,60 @@
+/****************************************************************
+ * 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 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: IDotLRNForumUserDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao;
+
+import org.lamsfoundation.lams.dao.IBaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+
+/**
+ * DAO for accessing the DotLRNForumUser objects - interface defining
+ * methods to be implemented by the Hibernate or other implementation.
+ */
+public interface IDotLRNForumUserDAO extends IBaseDAO{
+ /**
+ *
+ * @param userId
+ * @param toolSessionId
+ * @return
+ */
+ DotLRNForumUser getByUserIdAndSessionId(Long userId, Long toolSessionId);
+
+ void saveOrUpdate(DotLRNForumUser dotLRNForumUser);
+
+ /**
+ *
+ * @param loginName
+ * @param sessionID
+ * @return
+ */
+ DotLRNForumUser getByLoginNameAndSessionId(String loginName, Long toolSessionId);
+
+
+ /**
+ *
+ * @param uid
+ * @return
+ */
+ DotLRNForumUser getByUID(Long uid);
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumConfigItemDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumConfigItemDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumConfigItemDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,32 @@
+package org.lamsfoundation.lams.tool.dlfrum.dao.hibernate;
+
+import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumConfigItemDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+import org.springframework.orm.hibernate3.HibernateCallback;
+public class DotLRNForumConfigItemDAO extends BaseDAO implements IDotLRNForumConfigItemDAO
+{
+ private static final String LOAD_CONFIG_ITEM_BY_KEY = "from DotLRNForumConfigItem configuration"
+ + " where configuration.configKey=:key";
+
+ public DotLRNForumConfigItem getConfigItemByKey(final String configKey)
+ {
+ return (DotLRNForumConfigItem) getHibernateTemplate().execute(new HibernateCallback()
+ {
+ public Object doInHibernate(Session session) throws HibernateException
+ {
+ return session.createQuery(LOAD_CONFIG_ITEM_BY_KEY)
+ .setString("key",configKey)
+ .uniqueResult();
+ }
+ });
+
+ }
+
+ public void saveOrUpdate(DotLRNForumConfigItem dotLRNForumConfigItem) {
+ this.getHibernateTemplate().saveOrUpdate(dotLRNForumConfigItem);
+ this.getHibernateTemplate().flush();
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,54 @@
+/****************************************************************
+ * 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 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: DotLRNForumDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao.hibernate;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+
+/**
+ * DAO for accessing the DotLRNForum objects - Hibernate specific code.
+ */
+public class DotLRNForumDAO extends BaseDAO implements IDotLRNForumDAO {
+
+ private static final String FIND_FORUM_BY_CONTENTID = "from DotLRNForum dotLRNForum where dotLRNForum.toolContentId=?";
+
+
+ public DotLRNForum getByContentId(Long toolContentId) {
+ List list = getHibernateTemplate().find(FIND_FORUM_BY_CONTENTID,toolContentId);
+ if (list != null && list.size() > 0)
+ return (DotLRNForum) list.get(0);
+ else
+ return null;
+ }
+
+ public void saveOrUpdate(DotLRNForum dotLRNForum) {
+ this.getHibernateTemplate().saveOrUpdate(dotLRNForum);
+ this.getHibernateTemplate().flush();
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumSessionDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumSessionDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumSessionDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,60 @@
+/****************************************************************
+ * 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 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: DotLRNForumSessionDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao.hibernate;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumSessionDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+
+/**
+ * DAO for accessing the DotLRNForumSession objects - Hibernate specific code.
+ */
+public class DotLRNForumSessionDAO extends BaseDAO implements IDotLRNForumSessionDAO {
+
+ public static final String SQL_QUERY_FIND_BY_SESSION_ID = "from "
+ + DotLRNForumSession.class.getName() + " where session_id=?";
+
+ public void saveOrUpdate(DotLRNForumSession session) {
+ this.getHibernateTemplate().saveOrUpdate(session);
+ this.getHibernateTemplate().flush();
+ }
+
+ public DotLRNForumSession getBySessionId(Long toolSessionId) {
+ List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_SESSION_ID, toolSessionId);
+ if (list == null || list.isEmpty())
+ return null;
+ return (DotLRNForumSession) list.get(0);
+ }
+
+ public void deleteBySessionID(Long toolSessionID) {
+ DotLRNForumSession session = getBySessionId(toolSessionID);
+ if(session != null){
+ this.getHibernateTemplate().delete(session);
+ this.getHibernateTemplate().flush();
+ }
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumUserDAO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumUserDAO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dao/hibernate/DotLRNForumUserDAO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,88 @@
+/****************************************************************
+ * 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 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: DotLRNForumUserDAO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dao.hibernate;
+
+import java.util.List;
+
+import org.lamsfoundation.lams.dao.hibernate.BaseDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumUserDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+
+/**
+ * DAO for accessing the DotLRNForumUser objects - Hibernate specific code.
+ */
+public class DotLRNForumUserDAO extends BaseDAO implements IDotLRNForumUserDAO {
+
+ public static final String SQL_QUERY_FIND_BY_USER_ID_SESSION_ID = "from "
+ + DotLRNForumUser.class.getName() + " as f"
+ + " where user_id=? and f.dotLRNForumSession.sessionId=?";
+
+ public static final String SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID = "from "
+ + DotLRNForumUser.class.getName()
+ + " as f where login_name=? and f.dotLRNForumSession.sessionId=?";
+
+ private static final String SQL_QUERY_FIND_BY_UID = "from "
+ + DotLRNForumUser.class.getName() + " where uid=?";
+
+ public DotLRNForumUser getByUserIdAndSessionId(Long userId, Long toolSessionId) {
+ List list = this.getHibernateTemplate().find(
+ SQL_QUERY_FIND_BY_USER_ID_SESSION_ID,
+ new Object[] { userId, toolSessionId });
+
+ if (list == null || list.isEmpty())
+ return null;
+
+ return (DotLRNForumUser) list.get(0);
+ }
+
+ public DotLRNForumUser getByLoginNameAndSessionId(String loginName,
+ Long toolSessionId) {
+
+ List list = this.getHibernateTemplate().find(
+ SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID,
+ new Object[] { loginName, toolSessionId });
+
+ if (list == null || list.isEmpty())
+ return null;
+
+ return (DotLRNForumUser) list.get(0);
+
+ }
+
+ public void saveOrUpdate(DotLRNForumUser dotLRNForumUser) {
+ this.getHibernateTemplate().saveOrUpdate(dotLRNForumUser);
+ this.getHibernateTemplate().flush();
+ }
+
+ public DotLRNForumUser getByUID(Long uid) {
+ List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_UID,
+ new Object[] { uid });
+
+ if (list == null || list.isEmpty())
+ return null;
+
+ return (DotLRNForumUser) list.get(0);
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumDTO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumDTO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumDTO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,162 @@
+/****************************************************************
+ * 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: DotLRNForumDTO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dto;
+
+import java.util.Date;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+
+public class DotLRNForumDTO {
+
+ private Long uid;
+ private Date createDate;
+ private Date updateDate;
+ private boolean defineLater;
+ private Long toolContentId;
+ private Long extToolContentId;
+ private String extUsername;
+ private String extCourseId;
+ private String extCourseUrl;
+
+ public Set sessionDTOs = new TreeSet();
+
+ public Long currentTab;
+
+ /* Constructors */
+ public DotLRNForumDTO(){}
+
+ public DotLRNForumDTO(DotLRNForum dotLRNForum) {
+ uid = dotLRNForum.getUid();
+ createDate = dotLRNForum.getCreateDate();
+ updateDate = dotLRNForum.getUpdateDate();
+ defineLater = dotLRNForum.isDefineLater();
+ toolContentId = dotLRNForum.getToolContentId();
+ extToolContentId = dotLRNForum.getExtToolContentId();
+ extUsername = dotLRNForum.getExtUsername();
+ extCourseId = dotLRNForum.getExtCourseId();
+ extCourseUrl = dotLRNForum.getExtCourseUrl();
+ for (Iterator iter = dotLRNForum.getDotLRNForumSessions().iterator(); iter.hasNext();) {
+ DotLRNForumSession session = (DotLRNForumSession) iter.next();
+ DotLRNForumSessionDTO sessionDTO = new DotLRNForumSessionDTO(session);
+
+ sessionDTOs.add(sessionDTO);
+ }
+ }
+
+ /* Getters / Setters */
+ public Set getSessionDTOs() {
+ return sessionDTOs;
+ }
+
+ public void setSessionDTOs(Set sessionDTOs) {
+ this.sessionDTOs = sessionDTOs;
+ }
+
+ public Long getToolContentId() {
+ return toolContentId;
+ }
+
+ public void setToolContentId(Long toolContentID) {
+ this.toolContentId = toolContentID;
+ }
+
+ public Long getCurrentTab() {
+ return currentTab;
+ }
+
+ public void setCurrentTab(Long currentTab) {
+ this.currentTab = currentTab;
+ }
+
+ public Long getUid() {
+ return uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ public Date getCreateDate() {
+ return createDate;
+ }
+
+ public void setCreateDate(Date createDate) {
+ this.createDate = createDate;
+ }
+
+ public Date getUpdateDate() {
+ return updateDate;
+ }
+
+ public void setUpdateDate(Date updateDate) {
+ this.updateDate = updateDate;
+ }
+
+ public boolean isDefineLater() {
+ return defineLater;
+ }
+
+ public void setDefineLater(boolean defineLater) {
+ this.defineLater = defineLater;
+ }
+
+ public Long getExtToolContentId() {
+ return extToolContentId;
+ }
+
+ public void setExtToolContentId(Long extToolContentId) {
+ this.extToolContentId = extToolContentId;
+ }
+
+ public String getExtUsername() {
+ return extUsername;
+ }
+
+ public void setExtUsername(String extUsername) {
+ this.extUsername = extUsername;
+ }
+
+ public String getExtCourseId() {
+ return extCourseId;
+ }
+
+ public void setExtCourseId(String extCourseId) {
+ this.extCourseId = extCourseId;
+ }
+
+ public String getExtCourseUrl() {
+ return extCourseUrl;
+ }
+
+ public void setExtCourseUrl(String extCourseUrl) {
+ this.extCourseUrl = extCourseUrl;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumSessionDTO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumSessionDTO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumSessionDTO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,122 @@
+/****************************************************************
+ * 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: DotLRNForumSessionDTO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dto;
+
+import java.util.Iterator;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+
+public class DotLRNForumSessionDTO implements Comparable {
+
+ Long sessionID;
+
+ Long extSessionID;
+
+ String sessionName;
+
+ Set userDTOs = new TreeSet();
+
+ int numberOfLearners;
+
+ int numberOfFinishedLearners;
+
+
+ public DotLRNForumSessionDTO(DotLRNForumSession session) {
+ this.sessionID = session.getSessionId();
+ this.sessionName = session.getSessionName();
+ this.extSessionID = session.getExtSessionId();
+ numberOfFinishedLearners = 0;
+ for (Iterator iterator = session.getDotLRNForumUsers().iterator(); iterator.hasNext();) {
+ DotLRNForumUser user = (DotLRNForumUser) iterator.next();
+ DotLRNForumUserDTO userDTO = new DotLRNForumUserDTO(user);
+ userDTOs.add(userDTO);
+ }
+ numberOfLearners = userDTOs.size();
+ }
+
+ public DotLRNForumSessionDTO() {}
+
+ public Long getSessionID() {
+ return sessionID;
+ }
+
+ public void setSessionID(Long sessionID) {
+ this.sessionID = sessionID;
+ }
+
+ public String getSessionName() {
+ return sessionName;
+ }
+
+ public void setSessionName(String sessionName) {
+ this.sessionName = sessionName;
+ }
+
+ public int compareTo(Object o) {
+ int returnValue;
+ DotLRNForumSessionDTO toSession = (DotLRNForumSessionDTO)o;
+ returnValue = this.sessionName.compareTo(toSession.sessionName);
+ if (returnValue == 0) {
+ returnValue = this.sessionID.compareTo(toSession.sessionID);
+ }
+ return returnValue;
+ }
+
+ public Set getUserDTOs() {
+ return userDTOs;
+ }
+
+ public void setUserDTOs(Set dotLRNForumUsers) {
+ this.userDTOs = dotLRNForumUsers;
+ }
+
+ public int getNumberOfLearners() {
+ return numberOfLearners;
+ }
+
+ public void setNumberOfLearners(int numberOfLearners) {
+ this.numberOfLearners = numberOfLearners;
+ }
+
+ public int getNumberOfFinishedLearners() {
+ return numberOfFinishedLearners;
+ }
+
+ public void setNumberOfFinishedLearners(int numberOfFinishedLearners) {
+ this.numberOfFinishedLearners = numberOfFinishedLearners;
+ }
+
+ public Long getExtSessionID() {
+ return extSessionID;
+ }
+
+ public void setExtSessionID(Long extSessionID) {
+ this.extSessionID = extSessionID;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumUserDTO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumUserDTO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/DotLRNForumUserDTO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,101 @@
+/****************************************************************
+ * 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: DotLRNForumUserDTO.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.dto;
+
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+
+public class DotLRNForumUserDTO{
+
+ public Long uid;
+
+ public String loginName;
+
+ public String firstName;
+
+ public String lastName;
+
+ public boolean finishedActivity;
+
+
+ public DotLRNForumUserDTO(DotLRNForumUser user) {
+ this.uid = user.getUid();
+ this.loginName = user.getLoginName();
+ this.firstName = user.getFirstName();
+ this.lastName = user.getLastName();
+ this.finishedActivity = user.isFinishedActivity();
+ }
+
+
+ public int compareTo(Object o) {
+ int returnValue;
+ DotLRNForumUserDTO toUser = (DotLRNForumUserDTO)o;
+ returnValue = this.lastName.compareTo(toUser.lastName);
+ if (returnValue == 0) {
+ returnValue = this.uid.compareTo(toUser.uid);
+ }
+ return returnValue;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getLoginName() {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName) {
+ this.loginName = loginName;
+ }
+
+ public Long getUid() {
+ return uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ public boolean isFinishedActivity() {
+ return finishedActivity;
+ }
+
+ public void setFinishedActivity(boolean finishedActivity) {
+ this.finishedActivity = finishedActivity;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/NotebookEntryDTO.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/NotebookEntryDTO.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/dto/NotebookEntryDTO.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,56 @@
+package org.lamsfoundation.lams.tool.dlfrum.dto;
+
+import java.util.Date;
+
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+
+public class NotebookEntryDTO {
+
+ private Long uid;
+
+ private String entry;
+
+ private Date createDate;
+
+ private Date lastModified;
+
+ public NotebookEntryDTO(NotebookEntry entry) {
+ this.uid = entry.getUid();
+ this.entry = entry.getEntry();
+ this.createDate = entry.getCreateDate();
+ this.lastModified = entry.getLastModified();
+ }
+
+ public Date getCreateDate() {
+ return createDate;
+ }
+
+ public void setCreateDate(Date createDate) {
+ this.createDate = createDate;
+ }
+
+ public String getEntry() {
+ return entry;
+ }
+
+ public void setEntry(String entry) {
+ this.entry = entry;
+ }
+
+ public Date getLastModified() {
+ return lastModified;
+ }
+
+ public void setLastModified(Date lastModified) {
+ this.lastModified = lastModified;
+ }
+
+ public Long getUid() {
+ return uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForum.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,330 @@
+/****************************************************************
+ * 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 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: DotLRNForum.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.model;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumService;
+
+/**
+ * @hibernate.class table="tl_dlfrum10_dotlrnforum"
+ */
+
+public class DotLRNForum implements java.io.Serializable, Cloneable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 4093029387948273849L;
+
+ static Logger log = Logger.getLogger(DotLRNForumService.class.getName());
+
+ private static final String CUSTOM_CSV_MAP_PARAM_USER = "user";
+ private static final String CUSTOM_CSV_MAP_PARAM_COURSE = "course";
+ private static final String CUSTOM_CSV_MAP_PARAM_COURSE_URL = "courseUrl";
+
+ // Fields
+ /**
+ *
+ */
+ private Long uid;
+ private Date createDate;
+ private Date updateDate;
+ private boolean defineLater;
+ private Long toolContentId;
+ private Long extToolContentId;
+ private Set dotLRNForumSessions;
+ private boolean runOffline;
+ private boolean contentInUse;
+ private String extUsername;
+ private String extCourseId;
+ private String extCourseUrl;
+
+ //*********** NON Persisit fields
+ private IToolContentHandler toolContentHandler;
+
+ // Constructors
+
+
+ public DotLRNForum(Long uid, Date createDate, Date updateDate,
+ boolean defineLater, boolean runOffline, boolean contentInUse,
+ Long toolContentId, Long extToolContentId, String extUsername,
+ String extCourseId, String extCourseUrl,
+ Set dotLRNForumSessions,
+ IToolContentHandler toolContentHandler) {
+ super();
+ this.uid = uid;
+ this.createDate = createDate;
+ this.updateDate = updateDate;
+ this.defineLater = defineLater;
+ this.toolContentId = toolContentId;
+ this.extToolContentId = extToolContentId;
+ this.dotLRNForumSessions = dotLRNForumSessions;
+ this.toolContentHandler = toolContentHandler;
+ this.runOffline = runOffline;
+ this.contentInUse = contentInUse;
+ this.extCourseId = extCourseId;
+ this.extUsername = extUsername;
+ this.extCourseUrl = extCourseUrl;
+ }
+
+ /** default constructor */
+ public DotLRNForum() {
+ }
+
+ // Property accessors
+ /**
+ * @hibernate.id generator-class="native" type="java.lang.Long" column="uid"
+ *
+ */
+ public Long getUid() {
+ return this.uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @hibernate.property column="create_date"
+ *
+ */
+ public Date getCreateDate() {
+ return this.createDate;
+ }
+
+ public void setCreateDate(Date createDate) {
+ this.createDate = createDate;
+ }
+
+ /**
+ * @hibernate.property column="update_date"
+ *
+ */
+ public Date getUpdateDate() {
+ return this.updateDate;
+ }
+
+ public void setUpdateDate(Date updateDate) {
+ this.updateDate = updateDate;
+ }
+
+ /**
+ * @hibernate.property column="define_later" length="1"
+ *
+ */
+ public boolean isDefineLater() {
+ return this.defineLater;
+ }
+
+ public void setDefineLater(boolean defineLater) {
+ this.defineLater = defineLater;
+ }
+
+
+
+ /**
+ * @hibernate.property column="content_in_use" length="1"
+ *
+ */
+ public boolean isContentInUse() {
+ return contentInUse;
+ }
+
+ public void setContentInUse(boolean contentInUse) {
+ this.contentInUse = contentInUse;
+ }
+
+ /**
+ * @hibernate.property column="run_offline" length="1"
+ *
+ */
+ public boolean isRunOffline() {
+ return runOffline;
+ }
+
+ public void setRunOffline(boolean runOffline) {
+ this.runOffline = runOffline;
+ }
+
+ /**
+ * @hibernate.property column="tool_content_id" length="20"
+ *
+ */
+ public Long getToolContentId() {
+ return this.toolContentId;
+ }
+
+ public void setToolContentId(Long toolContentId) {
+ this.toolContentId = toolContentId;
+ }
+
+ /**
+ * @hibernate.property column="ext_tool_content_id" length="20"
+ *
+ */
+ public Long getExtToolContentId() {
+ return extToolContentId;
+ }
+
+ public void setExtToolContentId(Long extToolContentId) {
+ this.extToolContentId = extToolContentId;
+ }
+
+ /**
+ * @hibernate.property column="ext_user_name" length="255"
+ *
+ */
+ public String getExtUsername() {
+ return extUsername;
+ }
+
+ public void setExtUsername(String extUsername) {
+ this.extUsername = extUsername;
+ }
+
+ /**
+ * @hibernate.property column="ext_course_id" length="255"
+ *
+ */
+ public String getExtCourseId() {
+ return extCourseId;
+ }
+
+ public void setExtCourseId(String extCourseId) {
+ this.extCourseId = extCourseId;
+ }
+
+ /**
+ * @hibernate.property column="ext_course_url" length="255"
+ *
+ */
+ public String getExtCourseUrl() {
+ return extCourseUrl;
+ }
+
+ public void setExtCourseUrl(String extCourseUrl) {
+ this.extCourseUrl = extCourseUrl;
+ }
+
+ public static long getSerialVersionUID() {
+ return serialVersionUID;
+ }
+
+ /**
+ * @hibernate.set lazy="true" inverse="true" cascade="none"
+ * @hibernate.collection-key column="dotlrnforum_uid"
+ * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession"
+ *
+ */
+ public Set getDotLRNForumSessions() {
+ return dotLRNForumSessions;
+ }
+
+ public void setDotLRNForumSessions(Set dotLRNForumSessions) {
+ this.dotLRNForumSessions = dotLRNForumSessions;
+ }
+
+ public IToolContentHandler getToolContentHandler() {
+ return toolContentHandler;
+ }
+
+ public void setToolContentHandler(IToolContentHandler toolContentHandler) {
+ this.toolContentHandler = toolContentHandler;
+ }
+
+ /**
+ * toString
+ *
+ * @return String
+ */
+ public String toString() {
+ StringBuffer buffer = new StringBuffer();
+
+ buffer.append(getClass().getName()).append("@").append(Integer.toHexString(hashCode())).append(" [");
+ buffer.append("toolContentId").append("='").append(getToolContentId()).append("' ");
+ buffer.append("exttoolContentId").append("='").append(getExtToolContentId()).append("' ");
+ buffer.append("]");
+
+ return buffer.toString();
+ }
+
+ public boolean equals(Object other) {
+ if ((this == other))
+ return true;
+ if ((other == null))
+ return false;
+ if (!(other instanceof DotLRNForum))
+ return false;
+ DotLRNForum castOther = (DotLRNForum) other;
+
+ return ((this.getUid() == castOther.getUid()) || (this.getUid() != null
+ && castOther.getUid() != null && this.getUid().equals(
+ castOther.getUid())));
+ }
+
+ public int hashCode() {
+ int result = 17;
+ result = 37 * result
+ + (getUid() == null ? 0 : this.getUid().hashCode());
+ return result;
+ }
+
+ public static DotLRNForum newInstance(DotLRNForum fromContent, Long toContentId,
+ IToolContentHandler dotLRNForumToolContentHandler) {
+ DotLRNForum toContent = new DotLRNForum();
+ fromContent.toolContentHandler = dotLRNForumToolContentHandler;
+ toContent = (DotLRNForum) fromContent.clone();
+ toContent.setToolContentId(toContentId);
+ toContent.setCreateDate(new Date());
+ return toContent;
+ }
+
+ protected Object clone() {
+
+ DotLRNForum dotLRNForum = null;
+ try {
+ dotLRNForum = (DotLRNForum) super.clone();
+ dotLRNForum.setUid(null);
+ dotLRNForum.dotLRNForumSessions = new HashSet();
+
+ } catch (CloneNotSupportedException cnse) {
+ log.error("Error cloning " + DotLRNForum.class);
+ }
+ return dotLRNForum;
+ }
+
+ public void setByCustomCSVHashMap(HashMap params)
+ {
+ this.extUsername = params.get(CUSTOM_CSV_MAP_PARAM_USER);
+ this.extCourseId = params.get(CUSTOM_CSV_MAP_PARAM_COURSE);
+ this.extCourseUrl = params.get(CUSTOM_CSV_MAP_PARAM_COURSE_URL);
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumConfigItem.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,64 @@
+package org.lamsfoundation.lams.tool.dlfrum.model;
+
+import org.apache.log4j.Logger;
+
+/**
+ * @hibernate.class table="tl_dlfrum10_configuration"
+ */
+public class DotLRNForumConfigItem implements java.io.Serializable
+{
+
+ private static final long serialVersionUID = 2910983748293847627L;
+
+ static Logger log = Logger.getLogger(DotLRNForumConfigItem.class.getName());
+
+ public static final String KEY_EXTERNAL_TOOL_SERVER = "toolAdapterServlet";
+
+ Long id;
+ String configKey;
+ String configValue;
+
+ // empty contsructor
+ public DotLRNForumConfigItem() {}
+
+
+ /**
+ * @hibernate.id generator-class="native" type="java.lang.Long" column="uid"
+ *
+ */
+ public Long getId() {
+ return id;
+ }
+
+
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+
+
+ /**
+ * @hibernate.property column="config_key" length="30"
+ * not-null="false" unique="true"
+ */
+ public String getConfigKey() {
+ return configKey;
+ }
+
+ public void setConfigKey(String configKey) {
+ this.configKey = configKey;
+ }
+
+ /**
+ * @hibernate.property column="config_value" length="255"
+ * not-null="false"
+ */
+ public String getConfigValue() {
+ return configValue;
+ }
+
+ public void setConfigValue(String configValue) {
+ this.configValue = configValue;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumSession.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,264 @@
+/****************************************************************
+ * 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 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: DotLRNForumSession.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.model;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * Represents the tool session.
+ *
+ * @hibernate.class table="tl_dlfrum10_session"
+ */
+
+public class DotLRNForumSession implements java.io.Serializable {
+
+ private static Logger log = Logger.getLogger(DotLRNForumSession.class);
+ /**
+ *
+ */
+ private static final long serialVersionUID = 2736481298379482738L;
+
+ // Fields
+ private Long uid;
+
+ private Date sessionEndDate;
+
+ private Date sessionStartDate;
+
+ private Integer status;
+
+ private Long sessionId;
+
+ private Long extSessionId;
+
+ private String sessionName;
+
+ private DotLRNForum dotLRNForum;
+
+ private Set dotLRNForumUsers;
+
+ // Constructors
+
+ /** default constructor */
+ public DotLRNForumSession() {
+ }
+
+ /** full constructor */
+ public DotLRNForumSession(Date sessionEndDate, Date sessionStartDate,
+ Integer status, Long sessionId, Long extSessionId, String sessionName, DotLRNForum dotLRNForum,
+ Set dotLRNForumUsers) {
+ this.sessionEndDate = sessionEndDate;
+ this.sessionStartDate = sessionStartDate;
+ this.status = status;
+ this.sessionId = sessionId;
+ this.sessionName = sessionName;
+ this.dotLRNForum = dotLRNForum;
+ this.dotLRNForumUsers = dotLRNForumUsers;
+ }
+
+ // Property accessors
+ /**
+ * @hibernate.id generator-class="native" type="java.lang.Long" column="uid"
+ *
+ */
+
+ public Long getUid() {
+ return this.uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @hibernate.property column="session_end_date"
+ *
+ */
+
+ public Date getSessionEndDate() {
+ return this.sessionEndDate;
+ }
+
+ public void setSessionEndDate(Date sessionEndDate) {
+ this.sessionEndDate = sessionEndDate;
+ }
+
+ /**
+ * @hibernate.property column="session_start_date"
+ *
+ */
+
+ public Date getSessionStartDate() {
+ return this.sessionStartDate;
+ }
+
+ public void setSessionStartDate(Date sessionStartDate) {
+ this.sessionStartDate = sessionStartDate;
+ }
+
+ /**
+ * @hibernate.property column="status" length="11"
+ *
+ */
+
+ public Integer getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+
+ /**
+ * @hibernate.property column="session_id" length="20"
+ *
+ */
+
+ public Long getSessionId() {
+ return this.sessionId;
+ }
+
+ public void setSessionId(Long sessionId) {
+ this.sessionId = sessionId;
+ }
+
+
+ /**
+ * @hibernate.property column="ext_session_id" length="20"
+ * @return
+ */
+ public Long getExtSessionId() {
+ return extSessionId;
+ }
+
+ public void setExtSessionId(Long extSessionId) {
+ this.extSessionId = extSessionId;
+ }
+
+ /**
+ * @hibernate.property column="session_name" length="250"
+ *
+ */
+
+ public String getSessionName() {
+ return this.sessionName;
+ }
+
+ public void setSessionName(String sessionName) {
+ this.sessionName = sessionName;
+ }
+
+ /**
+ * @hibernate.many-to-one not-null="true"
+ * @hibernate.column name="dotLRNForum_uid"
+ *
+ */
+
+ public DotLRNForum getDotLRNForum() {
+ return this.dotLRNForum;
+ }
+
+ public void setDotLRNForum(DotLRNForum dotLRNForum) {
+ this.dotLRNForum = dotLRNForum;
+ }
+
+ /**
+ * @hibernate.set lazy="true" inverse="true" cascade="none"
+ * @hibernate.collection-key column="dotLRNForum_session_uid"
+ * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser"
+ *
+ */
+
+ public Set getDotLRNForumUsers() {
+ return this.dotLRNForumUsers;
+ }
+
+ public void setDotLRNForumUsers(Set dotLRNForumUsers) {
+ this.dotLRNForumUsers = dotLRNForumUsers;
+ }
+
+ /**
+ * toString
+ *
+ * @return String
+ */
+ public String toString() {
+ StringBuffer buffer = new StringBuffer();
+
+ buffer.append(getClass().getName()).append("@").append(
+ Integer.toHexString(hashCode())).append(" [");
+ buffer.append("sessionEndDate").append("='")
+ .append(getSessionEndDate()).append("' ");
+ buffer.append("sessionStartDate").append("='").append(
+ getSessionStartDate()).append("' ");
+ buffer.append("status").append("='").append(getStatus()).append("' ");
+ buffer.append("sessionID").append("='").append(getSessionId()).append(
+ "' ");
+ buffer.append("sessionName").append("='").append(getSessionName())
+ .append("' ");
+ buffer.append("]");
+
+ return buffer.toString();
+ }
+
+ public boolean equals(Object other) {
+ if ((this == other))
+ return true;
+ if ((other == null))
+ return false;
+ if (!(other instanceof DotLRNForumSession))
+ return false;
+ DotLRNForumSession castOther = (DotLRNForumSession) other;
+
+ return ((this.getUid() == castOther.getUid()) || (this.getUid() != null
+ && castOther.getUid() != null && this.getUid().equals(
+ castOther.getUid())));
+ }
+
+ public int hashCode() {
+ int result = 17;
+ result = 37 * result
+ + (getUid() == null ? 0 : this.getUid().hashCode());
+ return result;
+ }
+
+ public Object clone(){
+
+ DotLRNForumSession session = null;
+ try{
+ session = (DotLRNForumSession) super.clone();
+ session.dotLRNForumUsers = new HashSet();
+ } catch (CloneNotSupportedException e) {
+ log.error("When clone " + DotLRNForumSession.class + " failed");
+ }
+ return session;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/model/DotLRNForumUser.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,216 @@
+/****************************************************************
+ * 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 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: DotLRNForumUser.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.model;
+
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+
+/**
+ *
+ * Caches the user details. This allows the tool to be more efficient at
+ * displaying user names but means that when people's names change, they won't
+ * change in the "old" tool data.
+ *
+ * @hibernate.class table="tl_dlfrum10_user"
+ */
+
+public class DotLRNForumUser implements java.io.Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 928378476276354672L;
+
+ // Fields
+ private Long uid;
+
+ private Long userId;
+
+ private String lastName;
+
+ private String firstName;
+
+ private String loginName;
+
+ private DotLRNForumSession dotLRNForumSession;
+
+ private boolean finishedActivity;
+
+ private Long entryUID;
+
+ // Constructors
+
+ /** default constructor */
+ public DotLRNForumUser() {
+ }
+
+ public DotLRNForumUser(UserDTO user, DotLRNForumSession dotLRNForumSession) {
+ this.userId = new Long(user.getUserID().intValue());
+ this.firstName = user.getFirstName();
+ this.lastName = user.getLastName();
+ this.loginName = user.getLogin();
+ this.dotLRNForumSession = dotLRNForumSession;
+ this.finishedActivity = false;
+ }
+
+ /** full constructor */
+ public DotLRNForumUser(Long userId, String lastName, String firstName,
+ DotLRNForumSession dotLRNForumSession) {
+ this.userId = userId;
+ this.lastName = lastName;
+ this.firstName = firstName;
+ this.dotLRNForumSession = dotLRNForumSession;
+ }
+
+ // Property accessors
+ /**
+ * @hibernate.id generator-class="native" type="java.lang.Long" column="uid"
+ */
+ public Long getUid() {
+ return this.uid;
+ }
+
+ public void setUid(Long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * @hibernate.property column="user_id" length="20"
+ *
+ */
+ public Long getUserId() {
+ return this.userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+ /**
+ * @hibernate.property column="last_name" length="255"
+ *
+ */
+ public String getLastName() {
+ return this.lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ /**
+ * @hibernate.property column="login_name" length="255"
+ *
+ */
+ public String getLoginName() {
+ return loginName;
+ }
+
+ public void setLoginName(String loginName) {
+ this.loginName = loginName;
+ }
+
+ /**
+ * @hibernate.property column="first_name" length="255"
+ *
+ */
+ public String getFirstName() {
+ return this.firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ /**
+ * @hibernate.property column="finishedActivity"
+ */
+ public boolean isFinishedActivity() {
+ return finishedActivity;
+ }
+
+ public void setFinishedActivity(boolean finishedActivity) {
+ this.finishedActivity = finishedActivity;
+ }
+
+ /**
+ * @hibernate.many-to-one not-null="true"
+ * @hibernate.column name="dotlrnforum_session_uid"
+ *
+ */
+ public DotLRNForumSession getDotLRNForumSession() {
+ return this.dotLRNForumSession;
+ }
+
+ public void setDotLRNForumSession(DotLRNForumSession dotLRNForumSession) {
+ this.dotLRNForumSession = dotLRNForumSession;
+ }
+
+ /**
+ * @hibernate.property column="entry_uid"
+ */
+ public Long getEntryUID() {
+ return entryUID;
+ }
+
+ public void setEntryUID(Long entryUID) {
+ this.entryUID = entryUID;
+ }
+
+ /**
+ * toString
+ *
+ * @return String
+ */
+ public String toString() {
+ StringBuffer buffer = new StringBuffer();
+
+ buffer.append(getClass().getName()).append("@").append(
+ Integer.toHexString(hashCode())).append(" [");
+ buffer.append("userId").append("='").append(getUserId()).append("' ");
+ buffer.append("]");
+
+ return buffer.toString();
+ }
+
+ public boolean equals(Object other) {
+ if ((this == other))
+ return true;
+ if ((other == null))
+ return false;
+ if (!(other instanceof DotLRNForumUser))
+ return false;
+ DotLRNForumUser castOther = (DotLRNForumUser) other;
+
+ return ((this.getUid() == castOther.getUid()) || (this.getUid() != null
+ && castOther.getUid() != null && this.getUid().equals(
+ castOther.getUid())));
+ }
+
+ public int hashCode() {
+ int result = 17;
+ result = 37 * result
+ + (getUid() == null ? 0 : this.getUid().hashCode());
+ return result;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumOutputFactory.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumOutputFactory.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumOutputFactory.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,99 @@
+/****************************************************************
+ * 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
+ * ****************************************************************
+ */
+package org.lamsfoundation.lams.tool.dlfrum.service;
+
+import java.util.List;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import org.lamsfoundation.lams.tool.OutputFactory;
+import org.lamsfoundation.lams.tool.ToolOutput;
+import org.lamsfoundation.lams.tool.ToolOutputDefinition;
+import org.lamsfoundation.lams.tool.exception.ToolException;
+
+/**
+ * Creates the output definitions for dotLRNforum tool Adapter tool.
+ */
+public class DotLRNForumOutputFactory extends OutputFactory{
+
+ protected final static String OUTPUT_NAME_LEARNER_NUM_POSTS = "learner.number.of.posts";
+ protected final static String OUTPUT_NAME_LEARNER_NUM_WORDS = "learner.number.of.words";
+
+ public DotLRNForumOutputFactory() {}
+
+ /**
+ * @see org.lamsfoundation.lams.tool.OutputDefinitionFactory#getToolOutputDefinitions(java.lang.Object)
+ */
+ public SortedMap getToolOutputDefinitions(
+ Object toolContentObject) throws ToolException {
+ TreeMap definitionMap = new TreeMap();
+
+ ToolOutputDefinition definition = buildRangeDefinition(OUTPUT_NAME_LEARNER_NUM_POSTS, new Long(0), null);
+ definitionMap.put(OUTPUT_NAME_LEARNER_NUM_POSTS, definition);
+
+ ToolOutputDefinition definition2 = buildRangeDefinition(OUTPUT_NAME_LEARNER_NUM_WORDS, new Long(0), null);
+ definitionMap.put(OUTPUT_NAME_LEARNER_NUM_WORDS, definition2);
+
+ return definitionMap;
+ }
+
+
+ public SortedMap getToolOutput(List names, IDotLRNForumService dlForumService,
+ Long toolSessionId, Long learnerId, String extCourseId, Long extSessionId) {
+
+ TreeMap map = new TreeMap();
+ if ( names == null || names.contains(OUTPUT_NAME_LEARNER_NUM_POSTS)) {
+ map.put(OUTPUT_NAME_LEARNER_NUM_POSTS, getExtToolOutput(OUTPUT_NAME_LEARNER_NUM_POSTS, dlForumService, extCourseId, learnerId, extSessionId.toString(), toolSessionId));
+ }
+ if ( names.contains(OUTPUT_NAME_LEARNER_NUM_WORDS)) {
+ map.put(OUTPUT_NAME_LEARNER_NUM_WORDS, getExtToolOutput(OUTPUT_NAME_LEARNER_NUM_WORDS, dlForumService, extCourseId, learnerId, extSessionId.toString(), toolSessionId));
+ }
+ return map;
+
+ }
+
+ public ToolOutput getToolOutput(String name, IDotLRNForumService dlForumService,
+ Long toolSessionId, Long learnerId, String extCourseId, Long extSessionId) {
+
+ /*
+ if ( name != null && name.equals(OUTPUT_NAME_LEARNER_NUM_POSTS)) {
+ return this.getExtToolOutput(name, dlForumService, extCourseId, learnerId, extSessionId.toString(), toolSessionId);
+ }
+ if ( name != null && name.equals(OUTPUT_NAME_LEARNER_NUM_WORDS)) {
+ return this.getExtToolOutput(name, dlForumService, extCourseId, learnerId, extSessionId.toString(), toolSessionId);
+ }
+ */
+ if ( name != null)
+ {
+ return getExtToolOutput(name, dlForumService, extCourseId, learnerId, extSessionId.toString(), toolSessionId);
+ }
+ return null;
+
+ }
+
+ public ToolOutput getExtToolOutput(String outputName, IDotLRNForumService dlForumService, String extCourseId, Long userId, String extToolContentId, Long toolSessionId)
+ {
+ int number = dlForumService.getExternalToolOutputInt(outputName, extCourseId, userId, extToolContentId, toolSessionId);
+ return new ToolOutput(outputName, getI18NText(outputName, true), new Long(number));
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumService.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumService.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumService.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,1024 @@
+/****************************************************************
+ * 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 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: DotLRNForumService.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.service;
+
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLEncoder;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.contentrepository.AccessDeniedException;
+import org.lamsfoundation.lams.contentrepository.ICredentials;
+import org.lamsfoundation.lams.contentrepository.ITicket;
+import org.lamsfoundation.lams.contentrepository.LoginException;
+import org.lamsfoundation.lams.contentrepository.WorkspaceNotFoundException;
+import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler;
+import org.lamsfoundation.lams.contentrepository.service.IRepositoryService;
+import org.lamsfoundation.lams.contentrepository.service.RepositoryProxy;
+import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials;
+import org.lamsfoundation.lams.integration.ExtServerOrgMap;
+import org.lamsfoundation.lams.integration.UserInfoFetchException;
+import org.lamsfoundation.lams.integration.service.IIntegrationService;
+import org.lamsfoundation.lams.learning.service.ILearnerService;
+import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException;
+import org.lamsfoundation.lams.learningdesign.service.IExportToolContentService;
+import org.lamsfoundation.lams.learningdesign.service.ImportToolContentException;
+import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
+import org.lamsfoundation.lams.tool.IToolVO;
+import org.lamsfoundation.lams.tool.ToolAdapterContentManager;
+import org.lamsfoundation.lams.tool.ToolContentImport102Manager;
+import org.lamsfoundation.lams.tool.ToolOutput;
+import org.lamsfoundation.lams.tool.ToolOutputDefinition;
+import org.lamsfoundation.lams.tool.ToolSessionExportOutputData;
+import org.lamsfoundation.lams.tool.ToolSessionManager;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumConfigItemDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumSessionDAO;
+import org.lamsfoundation.lams.tool.dlfrum.dao.IDotLRNForumUserDAO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumConstants;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumException;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumToolContentHandler;
+import org.lamsfoundation.lams.tool.dlfrum.util.WebUtility;
+import org.lamsfoundation.lams.tool.exception.DataMissingException;
+import org.lamsfoundation.lams.tool.exception.SessionDataExistsException;
+import org.lamsfoundation.lams.tool.exception.ToolException;
+import org.lamsfoundation.lams.tool.service.ILamsToolService;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+import org.lamsfoundation.lams.util.FileUtil;
+import org.lamsfoundation.lams.util.HashUtil;
+import org.lamsfoundation.lams.util.audit.IAuditService;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+
+/**
+ * An implementation of the IDotLRNForumService interface.
+ *
+ * As a requirement, all LAMS tool's service bean must implement
+ * ToolContentManager and ToolSessionManager.
+ */
+
+public class DotLRNForumService implements ToolSessionManager, ToolAdapterContentManager,
+ IDotLRNForumService, ToolContentImport102Manager {
+
+ static Logger logger = Logger.getLogger(DotLRNForumService.class.getName());
+
+ public static final String CUSTOM_CSV_MAP_PARAM_USER = "user";
+ public static final String CUSTOM_CSV_MAP_PARAM_COURSE = "course";
+ public static final String CUSTOM_CSV_MAP_PARAM_COURSE_URL = "courseUrl";
+
+ public static final String EXT_SERVER_PARAM_USER = "un";
+ public static final String EXT_SERVER_PARAM_COURSE = "cs";
+ public static final String EXT_SERVER_PARAM_TIMESTAMP = "ts";
+ public static final String EXT_SERVER_PARAM_HASH = "hs";
+ public static final String EXT_SERVER_PARAM_METHOD = "method";
+ public static final String EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID = "extToolContentID";
+ public static final String EXT_SERVER_PARAM_UPLOAD_FILE = "upload_file";
+ public static final String EXT_SERVER_PARAM_OUTPUT_NAME = "oname";
+
+ private static final int EXPECTED_CSV_SIZE = 3;
+ private static final String EXPECTED_CSV_FORM = "user,course,coursUrl";
+
+ private IDotLRNForumDAO dotLRNForumDAO = null;
+
+ private IDotLRNForumSessionDAO dotLRNForumSessionDAO = null;
+
+ private IDotLRNForumUserDAO dotLRNForumUserDAO = null;
+
+ private IDotLRNForumConfigItemDAO dotLRNForumConfigItemDAO = null;
+
+ private ILearnerService learnerService;
+
+ private ILamsToolService toolService;
+
+ private IToolContentHandler dotLRNForumToolContentHandler = null;
+
+ private IRepositoryService repositoryService = null;
+
+ private IAuditService auditService = null;
+
+ private IExportToolContentService exportContentService;
+
+ private ICoreNotebookService coreNotebookService;
+
+ private IIntegrationService integrationService;
+
+ private DotLRNForumOutputFactory dotLRNForumOutputFactory;
+
+ public DotLRNForumService() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /* ************ Methods from ToolSessionManager ************* */
+ public void createToolSession(Long toolSessionId, String toolSessionName,
+ Long toolContentId) throws ToolException {
+ if (logger.isDebugEnabled()) {
+ logger.debug("entering method createToolSession:"
+ + " toolSessionId = " + toolSessionId
+ + " toolSessionName = " + toolSessionName
+ + " toolContentId = " + toolContentId);
+ }
+
+ DotLRNForumSession session = new DotLRNForumSession();
+ session.setSessionId(toolSessionId);
+ session.setSessionName(toolSessionName);
+
+
+ // learner starts
+ DotLRNForum dotLRNForum = dotLRNForumDAO.getByContentId(toolContentId);
+ session.setDotLRNForum(dotLRNForum);
+
+ try
+ {
+ // Get the required params, then call the eternal server
+ HashMap params = getRequiredExtServletParams(dotLRNForum.getExtUsername(), dotLRNForum.getExtCourseId());
+ params.put(EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID, dotLRNForum.getExtToolContentId().toString());
+ session.setExtSessionId(copyExternalToolContent(params));
+ }
+ catch(Exception e)
+ {
+ logger.error("Failed to call external server to copy tool content" + e);
+ throw new ToolException("Failed to call external server to copy tool content" + e);
+ }
+
+ dotLRNForumSessionDAO.saveOrUpdate(session);
+ }
+
+
+ /**
+ * Calls the external server to copy the content and return a new id
+ * @param extToolContentId
+ * @return
+ */
+ public Long copyExternalToolContent(HashMap params)
+ throws ToolException, Exception
+ {
+
+ String cloneServletUrl = dotLRNForumConfigItemDAO.getConfigItemByKey(DotLRNForumConfigItem.KEY_EXTERNAL_TOOL_SERVER).getConfigValue();
+
+ // add the method to the params
+ params.put(EXT_SERVER_PARAM_METHOD, EXT_SERVER_METHOD_CLONE);
+
+ // Make the request
+ InputStream is = WebUtility.getResponseInputStreamFromExternalServer(cloneServletUrl, params);
+ BufferedReader isReader = new BufferedReader(new InputStreamReader(is));
+ String str = isReader.readLine();
+ if (str == null) {
+ throw new UserInfoFetchException("Fail to clone forum in .LRN:"
+ + " - No data returned from external server");
+ }
+
+ return Long.parseLong(str);
+ }
+
+ public HashMap getRequiredExtServletParams(String customCSV)
+ {
+ HashMap params = new HashMap ();
+ HashMap paramsCSV = decodeCustomCSV(customCSV);
+ params.put(EXT_SERVER_PARAM_COURSE, paramsCSV.get(CUSTOM_CSV_MAP_PARAM_COURSE));
+ params.put(EXT_SERVER_PARAM_USER, paramsCSV.get(CUSTOM_CSV_MAP_PARAM_USER));
+
+ String timestamp = Long.toString(new Date().getTime());
+ params.put(EXT_SERVER_PARAM_TIMESTAMP, timestamp);
+
+ ExtServerOrgMap serverMap = this.getExtServerOrgMap();
+ String hash = hash(serverMap, paramsCSV.get(CUSTOM_CSV_MAP_PARAM_USER), timestamp);
+ params.put(EXT_SERVER_PARAM_HASH, hash);
+
+ return params;
+ }
+
+ public HashMap getRequiredExtServletParams(String user, String course)
+ {
+ HashMap params = new HashMap();
+ params.put(EXT_SERVER_PARAM_USER, user);
+ params.put(EXT_SERVER_PARAM_COURSE, course);
+
+ String timestamp = Long.toString(new Date().getTime());
+ params.put(EXT_SERVER_PARAM_TIMESTAMP, timestamp);
+
+ ExtServerOrgMap serverMap = this.getExtServerOrgMap();
+ String hash = hash(serverMap, user, timestamp);
+ params.put(EXT_SERVER_PARAM_HASH, hash);
+
+ return params;
+ }
+
+ public HashMap decodeCustomCSV(String customCSV)
+ {
+ HashMap map = new HashMap();
+ if (customCSV != null)
+ {
+ String[] split = customCSV.split(",");
+ if (split.length != EXPECTED_CSV_SIZE)
+ {
+ return null;
+ }
+ map.put(CUSTOM_CSV_MAP_PARAM_USER, split[0]);
+ map.put(CUSTOM_CSV_MAP_PARAM_COURSE, split[1]);
+ map.put(CUSTOM_CSV_MAP_PARAM_COURSE_URL, split[2]);
+ return map;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public int getExternalToolOutputInt(String outputName, String extCourseId, Long userId, String extToolContentId, Long toolSessionId)
+ {
+ DotLRNForumUser user = this.getUserByUserIdAndSessionId(userId, toolSessionId);
+ ExtServerOrgMap extServerMap = getExtServerOrgMap();
+
+ String extUserName = user.getLoginName().substring(extServerMap.getPrefix().length() + 1);
+
+ try{
+ String outputServletUrl = dotLRNForumConfigItemDAO.getConfigItemByKey(DotLRNForumConfigItem.KEY_EXTERNAL_TOOL_SERVER).getConfigValue();
+
+ HashMap params = getRequiredExtServletParams(extUserName, extCourseId);
+ params.put(EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID, extToolContentId);
+ params.put(EXT_SERVER_PARAM_METHOD, EXT_SERVER_METHOD_OUTPUT);
+ params.put(EXT_SERVER_PARAM_OUTPUT_NAME, URLEncoder.encode(outputName, "UTF8"));
+
+ InputStream is = WebUtility.getResponseInputStreamFromExternalServer(outputServletUrl, params);
+ BufferedReader isReader = new BufferedReader(new InputStreamReader(is));
+ int ret = Integer.parseInt(isReader.readLine());
+ return ret;
+ }
+ catch (Exception e)
+ {
+ logger.debug("Failed getting external output", e);
+ throw new ToolException ("Failed getting external output", e);
+ }
+ }
+
+ /**
+ * Get the tool output for the given tool output names.
+ * @see org.lamsfoundation.lams.tool.ToolSessionManager#getToolOutput(java.util.List, java.lang.Long, java.lang.Long)
+ */
+ public SortedMap getToolOutput(List names,
+ Long toolSessionId, Long learnerId) {
+ dotLRNForumOutputFactory = getDotLRNForumOutputFactory();
+ DotLRNForumSession session = this.getSessionBySessionId(toolSessionId);
+ if (session == null)
+ {
+ return null;
+ }
+ return dotLRNForumOutputFactory.getToolOutput(names, this, toolSessionId, learnerId, session.getDotLRNForum().getExtCourseId(), session.getExtSessionId());
+ }
+
+ /**
+ * Get the tool output for the given tool output name.
+ * @see org.lamsfoundation.lams.tool.ToolSessionManager#getToolOutput(java.lang.String, java.lang.Long, java.lang.Long)
+ */
+ public ToolOutput getToolOutput(String name, Long toolSessionId,
+ Long learnerId) {
+ dotLRNForumOutputFactory = getDotLRNForumOutputFactory();
+ DotLRNForumSession session = this.getSessionBySessionId(toolSessionId);
+ if (session == null)
+ {
+ return null;
+ }
+
+ return dotLRNForumOutputFactory.getToolOutput(name, this, toolSessionId, learnerId, session.getDotLRNForum().getExtCourseId(), session.getExtSessionId());
+ }
+
+ /** Get the definitions for possible output for an activity, based on the toolContentId. These may be definitions that are always
+ * available for the tool (e.g. number of marks for Multiple Choice) or a custom definition created for a particular activity
+ * such as the answer to the third question contains the word Koala and hence the need for the toolContentId
+ * @return SortedMap of ToolOutputDefinitions with the key being the name of each definition
+ */
+ public SortedMap getToolOutputDefinitions(Long toolContentId) throws ToolException {
+ dotLRNForumOutputFactory = getDotLRNForumOutputFactory();
+ DotLRNForum dlfrum = getDotLRNForumByContentId(toolContentId);
+ if (dlfrum == null)
+ {
+ dlfrum = getDefaultContent();
+ }
+ return dotLRNForumOutputFactory.getToolOutputDefinitions(dlfrum);
+ }
+
+
+
+ public String hash(ExtServerOrgMap serverMap, String extUsername, String timestamp) {
+ String serverId = serverMap.getServerid();
+ String serverKey = serverMap.getServerkey();
+ String plaintext = timestamp.trim().toLowerCase()+extUsername.trim().toLowerCase()+serverId.trim().toLowerCase()+serverKey.trim().toLowerCase();
+ return HashUtil.sha1(plaintext);
+ }
+
+
+ public String leaveToolSession(Long toolSessionId, Long learnerId)
+ throws DataMissingException, ToolException {
+ return learnerService.completeToolSession(toolSessionId, learnerId);
+ }
+
+ public ToolSessionExportOutputData exportToolSession(Long toolSessionId)
+ throws DataMissingException, ToolException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ToolSessionExportOutputData exportToolSession(List toolSessionIds)
+ throws DataMissingException, ToolException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void removeToolSession(Long toolSessionId)
+ throws DataMissingException, ToolException {
+ dotLRNForumSessionDAO.deleteBySessionID(toolSessionId);
+ // TODO check if cascade worked
+ }
+
+
+
+ /* ************ Methods from ToolContentManager ************************* */
+
+ public void copyToolContent(Long fromContentId, Long toContentId)
+ throws ToolException {
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("entering method copyToolContent:" + " fromContentId="
+ + fromContentId + " toContentId=" + toContentId);
+ }
+
+ if (toContentId == null) {
+ String error = "Failed to copy tool content: toContentID is null";
+ throw new ToolException(error);
+ }
+
+ DotLRNForum fromContent = null;
+ if ( fromContentId != null ) {
+ fromContent = dotLRNForumDAO.getByContentId(fromContentId);
+ }
+ if (fromContent == null) {
+ // create the fromContent using the default tool content
+ fromContent = getDefaultContent();
+ }
+ DotLRNForum toContent = DotLRNForum.newInstance(fromContent, toContentId,
+ dotLRNForumToolContentHandler);
+
+ // calling the external tool to copy it's content.
+ /*
+ try
+ {
+
+ toContent.setExtToolContentId(copyExternalToolContent(
+ fromContent.getExtToolContentId(),
+ fromContent.getExtUsername(),
+ fromContent.getExtCourseId(),
+ fromContent.getExtCourseUrl()
+ ));
+
+ }
+ catch(Exception e)
+ {
+ throw new ToolException("Failed to call external server to copy tool content" + e);
+ }*/
+
+ dotLRNForumDAO.saveOrUpdate(toContent);
+ }
+
+ /**
+ * Special copyToolContent implemented from ToolAdapterContentManager
+ * customCSV is passed here so we have a chance to get the external course,
+ * user and course url. This function is only neccessary when we are integrated
+ * with an external LMS, otherwise this service should not implement
+ * ToolAdapterContentManager, but instead implement the regular
+ * ToolContentManager and use the regular
+ * copyContent(Long fromContentId, Long toContentId) function
+ */
+ public void copyToolContent(Long fromContentId, Long toContentId, String customCSV)
+ throws ToolException {
+
+ if (logger.isDebugEnabled()) {
+ logger.debug("entering method copyToolContent:" + " fromContentId="
+ + fromContentId + " toContentId=" + toContentId);
+ }
+
+ if (toContentId == null) {
+ String error = "Failed to copy tool content: toContentID is null";
+ throw new ToolException(error);
+ }
+
+ HashMap mapCSV = decodeCustomCSV(customCSV);
+ if (mapCSV == null)
+ {
+ logger.error("Tool adapter tool cusomCSV not in required (user,course,courseURL) form: " + EXPECTED_CSV_FORM);
+ throw new ToolException("dotLRNForum tool cusomCSV not in required (user,course,courseURL) form: " + EXPECTED_CSV_FORM);
+ }
+
+ DotLRNForum fromContent = null;
+ if ( fromContentId != null ) {
+ fromContent = dotLRNForumDAO.getByContentId(fromContentId);
+ }
+
+ // Set the default params for the external cloning request
+ HashMap params = getRequiredExtServletParams(customCSV);
+
+ if ((fromContent == null) || fromContent.getExtToolContentId() == null)
+ {
+ // create the fromContent using the default tool content
+ fromContent = getDefaultContent();
+ try
+ {
+ // notify the external server to create the default content
+ params.put(EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID, "0");
+ fromContent.setExtToolContentId(copyExternalToolContent(params));
+ fromContent.setByCustomCSVHashMap(mapCSV);
+ }
+ catch(Exception e)
+ {
+ throw new ToolException("Failed to call external server to create default tool content" + e);
+ }
+ }
+
+ // Create a new instance to copy the tool content to
+ DotLRNForum toContent = DotLRNForum.newInstance(fromContent, toContentId,dotLRNForumToolContentHandler);
+ toContent.setByCustomCSVHashMap(mapCSV);
+
+
+ // calling the external tool to copy it's content.
+ try
+ {
+ params.put(EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID, fromContent.getExtToolContentId().toString());
+ toContent.setExtToolContentId(copyExternalToolContent(params));
+ }
+ catch(Exception e)
+ {
+ throw new ToolException("Failed to call external server to copy tool content" + e);
+ }
+
+ dotLRNForumDAO.saveOrUpdate(toContent);
+ }
+
+ public void setAsDefineLater(Long toolContentId, boolean value)
+ throws DataMissingException, ToolException {
+ DotLRNForum dotLRNForum = dotLRNForumDAO.getByContentId(toolContentId);
+ if (dotLRNForum == null) {
+ throw new ToolException("Could not find tool with toolContentID: "
+ + toolContentId);
+ }
+ dotLRNForum.setDefineLater(value);
+ dotLRNForumDAO.saveOrUpdate(dotLRNForum);
+ }
+
+ public void setAsRunOffline(Long toolContentId, boolean value)
+ throws DataMissingException, ToolException {
+ DotLRNForum dotLRNForum = dotLRNForumDAO.getByContentId(toolContentId);
+ if (dotLRNForum == null) {
+ throw new ToolException("Could not find tool with toolContentID: "
+ + toolContentId);
+ }
+ dotLRNForum.setRunOffline(value);
+ dotLRNForumDAO.saveOrUpdate(dotLRNForum);
+ }
+
+ public void removeToolContent(Long toolContentId, boolean removeSessionData)
+ throws SessionDataExistsException, ToolException {
+ // TODO Auto-generated method stub
+ }
+
+ /**
+ * Export the XML fragment for the tool's content, along with any files
+ * needed for the content.
+ *
+ * @throws DataMissingException
+ * if no tool content matches the toolSessionId
+ * @throws ToolException
+ * if any other error occurs
+ */
+
+ public void exportToolContent(Long toolContentId, String rootPath)
+ throws DataMissingException, ToolException {
+
+
+ DotLRNForum dotLRNForum = dotLRNForumDAO.getByContentId(toolContentId);
+ if (dotLRNForum == null) {
+ dotLRNForum = getDefaultContent();
+ }
+ if (dotLRNForum == null)
+ throw new DataMissingException("Unable to find default content for the dotLRNForum tool");
+
+ // If no external content was found, export empty dotLRNForum
+ // Otherwise, call the external servlet to get the export file
+ if (dotLRNForum.getExtToolContentId() == null)
+ {
+ dotLRNForum.setExtToolContentId(null);
+ dotLRNForum.setToolContentHandler(null);
+ dotLRNForum.setDotLRNForumSessions(null);
+
+ try {
+ exportContentService.exportToolContent(toolContentId,
+ dotLRNForum, dotLRNForumToolContentHandler, rootPath);
+ } catch (ExportToolContentException e) {
+ throw new ToolException(e);
+ }
+ }
+ else
+ {
+
+ URLConnection conn = null;
+ try
+ {
+ // Create the directory to store the export file
+ String toolPath = FileUtil.getFullPath(rootPath,toolContentId.toString());
+ FileUtil.createDirectory(toolPath);
+
+ String exportServletUrl = dotLRNForumConfigItemDAO.getConfigItemByKey(DotLRNForumConfigItem.KEY_EXTERNAL_TOOL_SERVER).getConfigValue();
+
+ // setting these to arbitrary values since they are only used to construct the hash
+ String extUsername="authUser";
+ String extCourseId="extCourse";
+ HashMap params = this.getRequiredExtServletParams(extUsername, extCourseId);
+ params.put(EXT_SERVER_PARAM_METHOD, EXT_SERVER_METHOD_EXPORT);
+ params.put(EXT_SERVER_PARAM_EXT_TOOL_CONTENT_ID, dotLRNForum.getExtToolContentId().toString());
+
+ // Get the reponse stream from the external server (hopefully containing the export file
+ InputStream in = WebUtility.getResponseInputStreamFromExternalServer(exportServletUrl, params);
+
+ // Get the output stream to write the file for extport
+ OutputStream out = new BufferedOutputStream(new FileOutputStream(toolPath + "/ext_tool.txt"));
+
+ byte[] buffer = new byte[1024];
+ int numRead;
+ long numWritten = 0;
+ while ((numRead = in.read(buffer)) != -1)
+ {
+ out.write(buffer, 0, numRead);
+ numWritten += numRead;
+ }
+ logger.debug("Path to dotLRNForum export content: " + toolPath + "/ext_tool.txt");
+
+ out.flush();
+ out.close();
+ in.close();
+ }
+ catch (Exception e)
+ {
+ logger.error("Problem exporting data from external .LRN servlet", e);
+ }
+ }
+ }
+
+ /**
+ * Default importToolContent, not implemented because this is a tooladapter tool
+ */
+ public void importToolContent(Long toolContentId, Integer newUserUid,
+ String toolContentPath,String fromVersion,String toVersion) throws ToolException
+ {
+
+ }
+
+ public ExtServerOrgMap getExtServerOrgMap()
+ {
+ if (integrationService==null)
+ integrationService = getIntegrationService();
+ IToolVO tool = toolService.getToolBySignature(DotLRNForumConstants.TOOL_SIGNATURE);
+ return integrationService.getExtServerOrgMap(tool.getExtLmsId());
+ }
+
+
+ /**
+ * Import the XML fragment for the tool's content, along with any files
+ * needed for the content.
+ *
+ * @throws ToolException
+ * if any other error occurs
+ */
+ public void importToolContent(Long toolContentId, Integer newUserUid,
+ String toolContentPath,String fromVersion,String toVersion, String customCSV) throws ToolException {
+
+ File extExportFile = new File(toolContentPath + "/ext_tool.txt");
+
+ // if specially exported tooladapter file is found, send it to the external server
+ // otherwise, simply import an empty dotLRNForum
+ if (extExportFile.exists())
+ {
+
+ try {
+
+ String importServletUrl = dotLRNForumConfigItemDAO.getConfigItemByKey(DotLRNForumConfigItem.KEY_EXTERNAL_TOOL_SERVER).getConfigValue();
+
+ if (customCSV== null)
+ {
+ logger.error("Could not retrieve customCSV required for importing tool adapter tool. CustomCSV: " + customCSV);
+ throw new ToolException("Could not retrieve customCSV required for importing tool adapter tool. CustomCSV: " + customCSV);
+ }
+
+ HashMap params = getRequiredExtServletParams(customCSV);
+ params.put(EXT_SERVER_PARAM_METHOD, EXT_SERVER_METHOD_IMPORT);
+
+ // Do the external multipart post to upload the file to external LMS (returns an extToolContentId)
+ InputStream is = WebUtility.performMultipartPost(extExportFile, EXT_SERVER_PARAM_UPLOAD_FILE, importServletUrl, params);
+ DataInputStream inStream = new DataInputStream ( is );
+ String str = inStream.readLine();
+ Long extContentId = Long.parseLong(str);
+ inStream.close();
+
+ // Save the resulting dotLRN forum
+ DotLRNForum dotLRNForum = new DotLRNForum();
+ dotLRNForum.setToolContentId(toolContentId);
+ dotLRNForum.setCreateDate(new Date());
+ dotLRNForum.setExtToolContentId(extContentId);
+ saveOrUpdateDotLRNForum(dotLRNForum);
+
+ } catch (Exception e) {
+ logger.error("Problem passing dotLRNForum export file to external server", e);
+ throw new ToolException(e);
+ }
+ }
+ else // use the normal LAMS method of importing activities from an xml file
+ {
+
+ try {
+ Object toolPOJO = exportContentService.importToolContent(
+ toolContentPath, dotLRNForumToolContentHandler,
+ fromVersion, toVersion);
+ if (!(toolPOJO instanceof DotLRNForum))
+ throw new ImportToolContentException(
+ "Import DotLRNForum tool content failed. Deserialized object is "
+ + toolPOJO);
+ DotLRNForum dotLRNForum = (DotLRNForum) toolPOJO;
+ // reset it to new toolContentId
+ dotLRNForum.setToolContentId(toolContentId);
+ dotLRNForumDAO.saveOrUpdate(dotLRNForum);
+ } catch (Exception e) {
+ throw new ToolException(e);
+ }
+ }
+ }
+
+ /* ********** IDotLRNForumService Methods ********************************* */
+
+ public Long getDefaultContentIdBySignature(String toolSignature) {
+ Long toolContentId = null;
+ toolContentId = new Long(toolService
+ .getToolDefaultContentIdBySignature(toolSignature));
+ if (toolContentId == null) {
+ String error = "Could not retrieve default content id for this tool";
+ logger.error(error);
+ throw new DotLRNForumException(error);
+ }
+ return toolContentId;
+ }
+
+ public DotLRNForum getDefaultContent() {
+ /*
+ Long defaultContentID = getDefaultContentIdBySignature(DotLRNForumConstants.TOOL_SIGNATURE);
+ DotLRNForum defaultContent = getDotLRNForumByContentId(defaultContentID);
+ if (defaultContent == null) {
+ String error = "Could not retrieve default content record for this tool";
+ logger.error(error);
+ throw new DotLRNForumException(error);
+ }
+ return defaultContent;
+ */
+ DotLRNForum defaultContent = new DotLRNForum();
+ return defaultContent;
+ }
+
+ public DotLRNForum copyDefaultContent(Long newContentID) {
+
+ if (newContentID == null) {
+ String error = "Cannot copy the DotLRNForum tools default content: + "
+ + "newContentID is null";
+ logger.error(error);
+ throw new DotLRNForumException(error);
+ }
+
+ DotLRNForum defaultContent = getDefaultContent();
+ // create new dotLRNForum using the newContentID
+ DotLRNForum newContent = new DotLRNForum();
+ newContent = DotLRNForum.newInstance(defaultContent, newContentID,
+ dotLRNForumToolContentHandler);
+ dotLRNForumDAO.saveOrUpdate(newContent);
+ return newContent;
+ }
+
+ public DotLRNForum getDotLRNForumByContentId(Long toolContentID) {
+ DotLRNForum dotLRNForum = (DotLRNForum) dotLRNForumDAO
+ .getByContentId(toolContentID);
+ if (dotLRNForum == null) {
+ logger.debug("Could not find the content with toolContentID:"
+ + toolContentID);
+ }
+ return dotLRNForum;
+ }
+
+ public DotLRNForumConfigItem getConfigItem(String key)
+ {
+ return dotLRNForumConfigItemDAO.getConfigItemByKey(key);
+ }
+
+ public void saveOrUpdateDotLRNForumConfigItem(DotLRNForumConfigItem item)
+ {
+ dotLRNForumConfigItemDAO.saveOrUpdate(item);
+ }
+
+ public DotLRNForumSession getSessionBySessionId(Long toolSessionId) {
+ DotLRNForumSession dotLRNForumSession = dotLRNForumSessionDAO
+ .getBySessionId(toolSessionId);
+ if (dotLRNForumSession == null) {
+ logger
+ .debug("Could not find the dotLRNForum session with toolSessionID:"
+ + toolSessionId);
+ }
+ return dotLRNForumSession;
+ }
+
+ public DotLRNForumUser getUserByUserIdAndSessionId(Long userId,
+ Long toolSessionId) {
+ return dotLRNForumUserDAO.getByUserIdAndSessionId(userId, toolSessionId);
+ }
+
+ public DotLRNForumUser getUserByLoginNameAndSessionId(String loginName,
+ Long toolSessionId) {
+ return dotLRNForumUserDAO.getByLoginNameAndSessionId(loginName,
+ toolSessionId);
+ }
+
+ public DotLRNForumUser getUserByUID(Long uid) {
+ return dotLRNForumUserDAO.getByUID(uid);
+ }
+
+ public void deleteFromRepository(Long uuid, Long versionID)
+ throws DotLRNForumException {
+ ITicket ticket = getRepositoryLoginTicket();
+ try {
+ repositoryService.deleteVersion(ticket, uuid, versionID);
+ } catch (Exception e) {
+ throw new DotLRNForumException(
+ "Exception occured while deleting files from"
+ + " the repository " + e.getMessage());
+ }
+ }
+
+ public void saveOrUpdateDotLRNForum(DotLRNForum dotLRNForum) {
+ dotLRNForumDAO.saveOrUpdate(dotLRNForum);
+ }
+
+ public void saveOrUpdateDotLRNForumSession(DotLRNForumSession dotLRNForumSession) {
+ dotLRNForumSessionDAO.saveOrUpdate(dotLRNForumSession);
+ }
+
+ public void saveOrUpdateDotLRNForumUser(DotLRNForumUser dotLRNForumUser) {
+ dotLRNForumUserDAO.saveOrUpdate(dotLRNForumUser);
+ }
+
+ public DotLRNForumUser createDotLRNForumUser(UserDTO user,
+ DotLRNForumSession dotLRNForumSession) {
+ DotLRNForumUser dotLRNForumUser = new DotLRNForumUser(user, dotLRNForumSession);
+ saveOrUpdateDotLRNForumUser(dotLRNForumUser);
+ return dotLRNForumUser;
+ }
+
+ public IAuditService getAuditService() {
+ return auditService;
+ }
+
+ public void setAuditService(IAuditService auditService) {
+ this.auditService = auditService;
+ }
+
+
+
+ /**
+ * This method verifies the credentials of the SubmitFiles Tool and gives it
+ * the Ticket to login and access the Content Repository.
+ *
+ * A valid ticket is needed in order to access the content from the
+ * repository. This method would be called evertime the tool needs to
+ * upload/download files from the content repository.
+ *
+ * @return ITicket The ticket for repostory access
+ * @throws SubmitFilesException
+ */
+ private ITicket getRepositoryLoginTicket() throws DotLRNForumException {
+ repositoryService = RepositoryProxy.getRepositoryService();
+ ICredentials credentials = new SimpleCredentials(
+ DotLRNForumToolContentHandler.repositoryUser,
+ DotLRNForumToolContentHandler.repositoryId);
+ try {
+ ITicket ticket = repositoryService.login(credentials,
+ DotLRNForumToolContentHandler.repositoryWorkspaceName);
+ return ticket;
+ } catch (AccessDeniedException ae) {
+ throw new DotLRNForumException("Access Denied to repository."
+ + ae.getMessage());
+ } catch (WorkspaceNotFoundException we) {
+ throw new DotLRNForumException("Workspace not found."
+ + we.getMessage());
+ } catch (LoginException e) {
+ throw new DotLRNForumException("Login failed." + e.getMessage());
+ }
+ }
+
+ /* ===============Methods implemented from ToolContentImport102Manager =============== */
+
+
+ /**
+ * Import the data for a 1.0.2 DotLRNForum
+ */
+ public void import102ToolContent(Long toolContentId, UserDTO user, Hashtable importValues)
+ {
+ Date now = new Date();
+ DotLRNForum dotLRNForum = new DotLRNForum();
+ dotLRNForum.setCreateDate(now);
+ dotLRNForum.setDefineLater(Boolean.FALSE);
+ dotLRNForum.setRunOffline(Boolean.FALSE);
+ dotLRNForum.setToolContentId(toolContentId);
+ dotLRNForum.setUpdateDate(now);
+
+ dotLRNForumDAO.saveOrUpdate(dotLRNForum);
+ }
+
+ /** Set the description, throws away the title value as this is not supported in 2.0 */
+ public void setReflectiveData(Long toolContentId, String title, String description)
+ throws ToolException, DataMissingException {
+
+ logger.warn("Setting the reflective field on a dotLRNForum. This doesn't make sense as the dotLRNForum is for reflection and we don't reflect on reflection!");
+ DotLRNForum dotLRNForum = getDotLRNForumByContentId(toolContentId);
+ if ( dotLRNForum == null ) {
+ throw new DataMissingException("Unable to set reflective data titled "+title
+ +" on activity toolContentId "+toolContentId
+ +" as the tool content does not exist.");
+ }
+
+ //dotLRNForum.setInstructions(description);
+ }
+
+ //=========================================================================================
+ /* ********** Used by Spring to "inject" the linked objects ************* */
+
+ public IDotLRNForumDAO getDotLRNForumDAO() {
+ return dotLRNForumDAO;
+ }
+
+ public void setDotLRNForumDAO(IDotLRNForumDAO dotLRNForumDAO) {
+ this.dotLRNForumDAO = dotLRNForumDAO;
+ }
+
+ public IDotLRNForumConfigItemDAO getDotLRNForumConfigItemDAO() {
+ return dotLRNForumConfigItemDAO;
+ }
+
+ public void setDotLRNForumConfigItemDAO(
+ IDotLRNForumConfigItemDAO dotLRNForumConfigItemDAO) {
+ this.dotLRNForumConfigItemDAO = dotLRNForumConfigItemDAO;
+ }
+
+ public IToolContentHandler getDotLRNForumToolContentHandler() {
+ return dotLRNForumToolContentHandler;
+ }
+
+ public void setDotLRNForumToolContentHandler(
+ IToolContentHandler dotLRNForumToolContentHandler) {
+ this.dotLRNForumToolContentHandler = dotLRNForumToolContentHandler;
+ }
+
+ public IDotLRNForumSessionDAO getDotLRNForumSessionDAO() {
+ return dotLRNForumSessionDAO;
+ }
+
+ public void setDotLRNForumSessionDAO(IDotLRNForumSessionDAO sessionDAO) {
+ this.dotLRNForumSessionDAO = sessionDAO;
+ }
+
+ public ILamsToolService getToolService() {
+ return toolService;
+ }
+
+ public void setToolService(ILamsToolService toolService) {
+ this.toolService = toolService;
+ }
+
+ public IDotLRNForumUserDAO getDotLRNForumUserDAO() {
+ return dotLRNForumUserDAO;
+ }
+
+ public void setDotLRNForumUserDAO(IDotLRNForumUserDAO userDAO) {
+ this.dotLRNForumUserDAO = userDAO;
+ }
+
+ public ILearnerService getLearnerService() {
+ return learnerService;
+ }
+
+ public void setLearnerService(ILearnerService learnerService) {
+ this.learnerService = learnerService;
+ }
+
+ public IExportToolContentService getExportContentService() {
+ return exportContentService;
+ }
+
+ public void setExportContentService(
+ IExportToolContentService exportContentService) {
+ this.exportContentService = exportContentService;
+ }
+
+ public ICoreNotebookService getCoreNotebookService() {
+ return coreNotebookService;
+ }
+
+ public void setCoreNotebookService(ICoreNotebookService coreNotebookService) {
+ this.coreNotebookService = coreNotebookService;
+ }
+
+ public DotLRNForumOutputFactory getDotLRNForumOutputFactory() {
+ if (dotLRNForumOutputFactory == null)
+ {
+ dotLRNForumOutputFactory = new DotLRNForumOutputFactory();
+ }
+ return dotLRNForumOutputFactory;
+ }
+
+ public void setDotLRNForumOutputFactory(
+ DotLRNForumOutputFactory dotLRNForumOutputFactory) {
+ this.dotLRNForumOutputFactory = dotLRNForumOutputFactory;
+ }
+
+ /**
+ * TODO: Use spring injection instead of hacking a context
+ * @return
+ */
+ public IIntegrationService getIntegrationService() {
+
+ if (integrationService==null)
+ {
+ String contexts[] = {"/org/lamsfoundation/lams/applicationContext.xml",
+ "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml",
+ "/org/lamsfoundation/lams/toolApplicationContext.xml",
+ "/org/lamsfoundation/lams/integrationContext.xml",
+ "/org/lamsfoundation/lams/learning/learningApplicationContext.xml",
+ "/org/lamsfoundation/lams/contentrepository/applicationContext.xml",
+ "/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml",
+ "/org/lamsfoundation/lams/commonContext.xml"};
+
+ ApplicationContext context = new ClassPathXmlApplicationContext(contexts);
+
+ if ( context == null )
+ throw new DotLRNForumException("Unable to access application context. Cannot create integration service object.");
+
+ IIntegrationService service =(IIntegrationService)context.getBean("integrationService");
+ return service;
+ }
+ else
+ {
+ return integrationService;
+ }
+ }
+
+ public void setIntegrationService(IIntegrationService integrationService) {
+ this.integrationService = integrationService;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumServiceProxy.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumServiceProxy.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/DotLRNForumServiceProxy.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,80 @@
+/****************************************************************
+ * 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 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: DotLRNForumServiceProxy.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.service;
+
+import javax.servlet.ServletContext;
+
+import org.lamsfoundation.lams.integration.service.IIntegrationService;
+import org.lamsfoundation.lams.tool.ToolContentManager;
+import org.lamsfoundation.lams.tool.ToolSessionManager;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+
+/**
+ *
This class act as the proxy between web layer and service layer. It is
+ * designed to decouple the presentation logic and business logic completely.
+ * In this way, the presentation tier will no longer be aware of the changes in
+ * service layer. Therefore we can feel free to switch the business logic
+ * implementation.
+ */
+
+public class DotLRNForumServiceProxy {
+
+ public static final IDotLRNForumService getDotLRNForumService(ServletContext servletContext)
+ {
+ return (IDotLRNForumService)getDotLRNForumDomainService(servletContext);
+ }
+
+ private static Object getDotLRNForumDomainService(ServletContext servletContext)
+ {
+ WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
+ return wac.getBean("dotLRNForumService");
+ }
+
+ /*
+ * Return the dotLRNForum tool version of tool session manager implementation.
+ * It will delegate to the Spring helper method to retrieve the proper
+ * bean from Spring bean factory.
+ * @param servletContext the servletContext for current application
+ * @return noticeboard service object.*/
+ public static final ToolSessionManager getDotLRNForumSessionManager(ServletContext servletContext)
+ {
+ return (ToolSessionManager)getDotLRNForumDomainService(servletContext);
+ }
+
+
+ /*
+ * Return the dotLRNForum tool version of tool content manager implementation.
+ * It will delegate to the Spring helper method to retrieve the proper
+ * bean from Spring bean factory.
+ * @param servletContext the servletContext for current application
+ * @return noticeboard service object. */
+ public static final ToolContentManager getDotLRNForumContentManager(ServletContext servletContext)
+ {
+ return (ToolContentManager)getDotLRNForumDomainService(servletContext);
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/IDotLRNForumService.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/IDotLRNForumService.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/service/IDotLRNForumService.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,223 @@
+/****************************************************************
+ * 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 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: IDotLRNForumService.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.service;
+
+import java.util.HashMap;
+
+import org.lamsfoundation.lams.integration.ExtServerOrgMap;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumException;
+import org.lamsfoundation.lams.tool.service.ILamsToolService;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+
+/**
+ * Defines the services available to the web layer from the DotLRNForum Service
+ */
+public interface IDotLRNForumService {
+
+ public static final String EXT_SERVER_METHOD_CLONE = "clone";
+ public static final String EXT_SERVER_METHOD_IMPORT = "import";
+ public static final String EXT_SERVER_METHOD_EXPORT = "export";
+ public static final String EXT_SERVER_METHOD_OUTPUT = "output";
+ public static final String EXT_SERVER_METHOD_EXPORT_PORTFOLIO = "export_portfolio";
+
+
+ /**
+ * Makes a copy of the default content and assigns it a newContentID
+ *
+ * @params newContentID
+ * @return
+ */
+ public DotLRNForum copyDefaultContent(Long newContentID);
+
+ /**
+ * Returns an instance of the DotLRNForum tools default content.
+ *
+ * @return
+ */
+ public DotLRNForum getDefaultContent();
+
+ /**
+ * @param toolSignature
+ * @return
+ */
+ public Long getDefaultContentIdBySignature(String toolSignature);
+
+ /**
+ * @param toolContentID
+ * @return
+ */
+ public DotLRNForum getDotLRNForumByContentId(Long toolContentID);
+
+
+ /**
+ * @param uuid
+ * @param versionID
+ */
+ public void deleteFromRepository(Long uuid, Long versionID)
+ throws DotLRNForumException;
+
+
+ /**
+ * @param dotLRNForum
+ */
+ public void saveOrUpdateDotLRNForum(DotLRNForum dotLRNForum);
+
+ /**
+ * @param toolSessionId
+ * @return
+ */
+ public DotLRNForumSession getSessionBySessionId(Long toolSessionId);
+
+ /**
+ * @param dotLRNForumSession
+ */
+ public void saveOrUpdateDotLRNForumSession(DotLRNForumSession dotLRNForumSession);
+
+
+ /**
+ * Get the dotLRNForum config item by key
+ * @param key
+ * @return
+ */
+ public DotLRNForumConfigItem getConfigItem(String key);
+
+ /**
+ * Save a dotLRN configItem
+ * @param item
+ */
+ public void saveOrUpdateDotLRNForumConfigItem(DotLRNForumConfigItem item);
+
+ /**
+ *
+ * @param userId
+ * @param toolSessionId
+ * @return
+ */
+ public DotLRNForumUser getUserByUserIdAndSessionId(Long userId,
+ Long toolSessionId);
+
+ /**
+ *
+ * @param uid
+ * @return
+ */
+ public DotLRNForumUser getUserByUID(Long uid);
+
+ /**
+ * Gets the external organisation map for this tool adapter
+ * @return
+ */
+ public ExtServerOrgMap getExtServerOrgMap();
+
+ /**
+ * Creates a hash for talking to the external server
+ * @param serverMap
+ * @param extUsername
+ * @param timestamp
+ * @return
+ */
+ public String hash(ExtServerOrgMap serverMap, String extUsername, String timestamp);
+
+ /**
+ *
+ * @param dotLRNForumUser
+ */
+ public void saveOrUpdateDotLRNForumUser(DotLRNForumUser dotLRNForumUser);
+
+ /**
+ *
+ * @param user
+ * @param dotLRNForumSession
+ * @return
+ */
+ public DotLRNForumUser createDotLRNForumUser(UserDTO user,DotLRNForumSession dotLRNForumSession);
+
+
+ /**
+ *
+ * @return toolService
+ */
+ ILamsToolService getToolService();
+
+ /**
+ * gets the tool output for the external server
+ * @param outputName
+ * @param extCourseId
+ * @param userId
+ * @param extToolContentId
+ * @param toolSessionId
+ * @return
+ */
+ public int getExternalToolOutputInt(String outputName, String extCourseId, Long userId, String extToolContentId, Long toolSessionId);
+
+
+ /**
+ * Converts the customCSV parameter into a hashmap
+ * @param customCSV
+ * @return
+ */
+ public HashMap decodeCustomCSV(String customCSV);
+
+ /**
+ * Constructs a parameter hashmap to be used for the default parameters
+ * required by the external LMS tool adapter servlet. For instance in dotLRNForum,
+ * this constructs the following:
+ *
+ * {
+ * ["un", username],
+ * ["cs", course],
+ * ["ts", timestamp],
+ * ["hs", hash],
+ * }
+ *
+ * @param user
+ * @param course
+ * @return
+ */
+ public HashMap getRequiredExtServletParams(String user, String course);
+
+
+ /**
+ * Constructs a parameter hashmap based off customCSV to be used for the default parameters
+ * required by the external LMS tool adapter servlet. For instance in dotLRNForum,
+ * this constructs the following:
+ *
+ * {
+ * ["un", username],
+ * ["cs", course],
+ * ["ts", timestamp],
+ * ["hs", hash],
+ * }
+ *
+ * @param user
+ * @param course
+ * @return
+ */
+ public HashMap getRequiredExtServletParams(String customCSV);
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumConstants.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumConstants.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumConstants.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,50 @@
+/****************************************************************
+ * 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 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: DotLRNForumConstants.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.util;
+
+public interface DotLRNForumConstants {
+ public static final String TOOL_SIGNATURE = "dlfrum10";
+
+ // DotLRNForum session status
+ public static final Integer SESSION_NOT_STARTED = new Integer(0);
+ public static final Integer SESSION_IN_PROGRESS = new Integer(1);
+ public static final Integer SESSION_COMPLETED = new Integer(2);
+
+ public static final String AUTHORING_DEFAULT_TAB = "1";
+ public static final String DELETED_ATTACHMENT_LIST = "deletedAttachmentList";
+ public static final String AUTH_SESSION_ID_COUNTER = "authoringSessionIdCounter";
+ public static final String AUTH_SESSION_ID = "authoringSessionId";
+
+ public static final int MONITORING_SUMMARY_MAX_MESSAGES = 5;
+
+ // Attribute names
+ public static final String ATTR_MESSAGE = "message";
+ public static final String ATTR_SESSION_MAP = "sessionMap";
+
+ // Parameter names
+ public static final String PARAM_PARENT_PAGE = "parentPage";
+
+ static final String FILTER_REPLACE_TEXT = "***";
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumException.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumException.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumException.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,57 @@
+/****************************************************************
+ * 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 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: DotLRNForumException.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.util;
+
+/**
+ *
+ * @author lfoxton
+ *
+ */
+public class DotLRNForumException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -5518806968051758859L;
+
+ public DotLRNForumException(String message) {
+ super(message);
+ }
+
+ public DotLRNForumException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public DotLRNForumException() {
+ super();
+
+ }
+
+ public DotLRNForumException(Throwable cause) {
+ super(cause);
+
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumToolContentHandler.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumToolContentHandler.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/DotLRNForumToolContentHandler.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,76 @@
+/****************************************************************
+ * 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 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: DotLRNForumToolContentHandler.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.util;
+
+import org.lamsfoundation.lams.contentrepository.client.ToolContentHandler;
+
+/**
+ * Simple client for accessing the content repository.
+ */
+public class DotLRNForumToolContentHandler extends ToolContentHandler {
+
+ // TODO these three fields were changed to public, since accessor methods
+ // cannot be made static. Check if we can do this a better way.
+ public static String repositoryWorkspaceName = "dotLRNForumworkspace";
+
+ public static String repositoryUser = "dotLRNForum";
+
+ public static char[] repositoryId = { 'l', 'a', 'm', 's', '-', 'e', 'x' };
+
+ /**
+ *
+ */
+ public DotLRNForumToolContentHandler() {
+ super();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.lamsfoundation.lams.contentrepository.client.ToolContentHandler#getRepositoryWorkspaceName()
+ */
+ public String getRepositoryWorkspaceName() {
+ return repositoryWorkspaceName;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.lamsfoundation.lams.contentrepository.client.ToolContentHandler#getRepositoryUser()
+ */
+ public String getRepositoryUser() {
+ return repositoryUser;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.lamsfoundation.lams.contentrepository.client.ToolContentHandler#getRepositoryId()
+ */
+ public char[] getRepositoryId() {
+ return repositoryId;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/WebUtility.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/WebUtility.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/util/WebUtility.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,163 @@
+package org.lamsfoundation.lams.tool.dlfrum.util;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.tool.exception.ToolException;
+
+public class WebUtility
+{
+ static Logger logger = Logger.getLogger(WebUtility.class.getName());
+
+ /**
+ * Uploads a file for importing sequences
+ * Uses a multi-part http post to post the file as well as the user, course, and
+ * hash server-authentication strings.
+ *
+ * Some of the java multipart posting libraries clashed with existing jboss libraries
+ * So instead, the multipart post is put together manually
+ *
+ * @param f
+ * @param urlString
+ * @param timestamp
+ * @param extUsername
+ * @param extCourseId
+ * @param hash
+ * @return
+ * @throws IOException
+ */
+ public static InputStream performMultipartPost(
+ File f,
+ String fileParamName,
+ String urlString,
+ HashMap params
+ )
+ throws MalformedURLException, IOException
+ {
+ HttpURLConnection conn = null;
+ DataOutputStream dos = null;
+ DataInputStream inStream = null;
+ String lineEnd = "\r\n";
+ String twoHyphens = "--";
+ String boundary = "*****";
+ int bytesRead, bytesAvailable, bufferSize;
+ byte[] buffer;
+ int maxBufferSize = 1*1024*1024;
+
+ //------------------ CLIENT REQUEST
+ FileInputStream fileInputStream = new FileInputStream( f );
+
+ // open a URL connection to the Servlet
+ URL url = new URL(urlString);
+
+ // Open a HTTP connection to the URL
+ conn = (HttpURLConnection) url.openConnection();
+
+ // Allow Inputs
+ conn.setDoInput(true);
+
+ // Allow Outputs
+ conn.setDoOutput(true);
+
+ // Don't use a cached copy.
+ conn.setUseCaches(false);
+
+ // Use a post method.
+ conn.setRequestMethod("POST");
+ conn.setRequestProperty("Connection", "Keep-Alive");
+ conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);
+
+ dos = new DataOutputStream( conn.getOutputStream() );
+
+ // Put the parameters into the multipart post
+ for (Entry entry : params.entrySet())
+ {
+ dos.writeBytes(twoHyphens + boundary + lineEnd);
+ dos.writeBytes("Content-Disposition: form-data; name=\"" + entry.getKey() + "\";" + lineEnd);
+ dos.writeBytes(entry.getValue());
+ dos.writeBytes(lineEnd);
+ }
+
+ // Write the file part into the post-------------------------------
+ dos.writeBytes(twoHyphens + boundary + lineEnd);
+ dos.writeBytes("Content-Disposition: form-data; name=\"" +fileParamName+ "\";"+ " filename=\"" + f.getName() +"\"" + lineEnd);
+ dos.writeBytes(lineEnd);
+
+ // create a buffer of maximum size
+ bytesAvailable = fileInputStream.available();
+ bufferSize = Math.min(bytesAvailable, maxBufferSize);
+ buffer = new byte[bufferSize];
+
+ // read file and write it into form...
+ bytesRead = fileInputStream.read(buffer, 0, bufferSize);
+ while (bytesRead > 0)
+ {
+ dos.write(buffer, 0, bufferSize);
+ bytesAvailable = fileInputStream.available();
+ bufferSize = Math.min(bytesAvailable, maxBufferSize);
+ bytesRead = fileInputStream.read(buffer, 0, bufferSize);
+ }
+
+ // send multipart form data necessary after file data...
+ dos.writeBytes(lineEnd);
+ dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
+ // Write the file part into the post-------------------------------
+
+ // close streams
+ fileInputStream.close();
+ dos.flush();
+ dos.close();
+
+ return conn.getInputStream();
+ }
+
+ public static InputStream getResponseInputStreamFromExternalServer(String urlStr, HashMap params) throws ToolException, IOException
+ {
+ if (!urlStr.endsWith("?"))
+ urlStr += "?";
+
+ for (Entry entry : params.entrySet())
+ {
+ urlStr += "&" + entry.getKey() + "=" + entry.getValue();
+ }
+
+ logger.debug("Making request to external servlet: " + urlStr);
+
+ URL url = new URL(urlStr);
+ URLConnection conn = url.openConnection();
+ if (!(conn instanceof HttpURLConnection))
+ {
+ logger.error("Fail to connect to external server though url: " + urlStr);
+ throw new ToolException("Fail to connect to external server though url: " + urlStr);
+ }
+
+ HttpURLConnection httpConn = (HttpURLConnection) conn;
+ if (httpConn.getResponseCode() != HttpURLConnection.HTTP_OK)
+ {
+ logger.error("Fail to fetch data from external server, response code: " + httpConn.getResponseCode() + " Url: " + urlStr);
+ throw new ToolException("Fail to fetch data from external server, response code: " + httpConn.getResponseCode() + " Url: " + urlStr);
+ }
+
+ InputStream is = url.openConnection().getInputStream();
+ if (is == null)
+ {
+ logger.error("Fail to fetch data from external server, return InputStream null: " + urlStr);
+ throw new ToolException("Fail to fetch data from external server, return inputStream null: " + urlStr);
+ }
+
+ return is;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AdminAction.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AdminAction.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AdminAction.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,89 @@
+package org.lamsfoundation.lams.tool.dlfrum.web.actions;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.lamsfoundation.lams.tool.Tool;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumServiceProxy;
+import org.lamsfoundation.lams.tool.dlfrum.service.IDotLRNForumService;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumConstants;
+import org.lamsfoundation.lams.tool.dlfrum.web.forms.AdminForm;
+import org.lamsfoundation.lams.tool.service.ILamsToolService;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+/**
+ * @author
+ * @version
+ *
+ * @struts.action path="/dlfrum10admin" parameter="dispatch" scope="request"
+ * name="dlfrum10AdminForm" validate="false"
+ *
+ * @struts.action-forward name="config" path="/pages/admin/config.jsp"
+ */
+public class AdminAction extends LamsDispatchAction
+{
+ public IDotLRNForumService dotLRNForumService;
+ public ILamsToolService toolService;
+
+ private static String KEY_TOOL_ADAPTER_SERVLET = "toolAdapterServlet";
+ //private static String KEY_EXT_SERVERID_MAPPING = "extServerIdMapping";
+
+ public ActionForward unspecified(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response)
+ {
+ // set up dotLRNForumService
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(this.getServlet().getServletContext());
+ }
+
+ AdminForm adminForm = (AdminForm)form;
+
+ if (toolService == null) {toolService = dotLRNForumService.getToolService();}
+ Tool tool = toolService.getPersistToolBySignature(DotLRNForumConstants.TOOL_SIGNATURE);
+
+ DotLRNForumConfigItem toolAdpServlet = dotLRNForumService.getConfigItem(KEY_TOOL_ADAPTER_SERVLET);
+
+ if (toolAdpServlet != null)
+ adminForm.setToolAdapterServlet(toolAdpServlet.getConfigValue());
+
+ if (tool != null && tool.getExtLmsId() != null)
+ adminForm.setServerIdMapping(tool.getExtLmsId());
+
+
+ request.setAttribute("error", false);
+ return mapping.findForward("config");
+ }
+
+ public ActionForward saveContent(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response)
+ {
+ AdminForm adminForm = (AdminForm)form;
+
+ if (adminForm.getToolAdapterServlet() != null && !adminForm.getToolAdapterServlet().equals("") &&
+ adminForm.getServerIdMapping() != null && !adminForm.getServerIdMapping().equals("") )
+ {
+ // set up dotLRNForumService
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(this.getServlet().getServletContext());
+ }
+
+ DotLRNForumConfigItem servletConfig = dotLRNForumService.getConfigItem(KEY_TOOL_ADAPTER_SERVLET);
+ servletConfig.setConfigValue(adminForm.getToolAdapterServlet());
+ dotLRNForumService.saveOrUpdateDotLRNForumConfigItem(servletConfig);
+
+ if (toolService == null) {toolService = dotLRNForumService.getToolService();}
+ Tool tool = toolService.getPersistToolBySignature(DotLRNForumConstants.TOOL_SIGNATURE);
+ tool.setExtLmsId(adminForm.getServerIdMapping());
+ toolService.saveOrUpdateTool(tool);
+ return mapping.findForward("config");
+ }
+ else
+ {
+ request.setAttribute("error", true);
+ return mapping.findForward("config");
+ }
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AuthoringAction.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AuthoringAction.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/AuthoringAction.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,231 @@
+/****************************************************************
+ * 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 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: AuthoringAction.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.actions;
+
+import java.net.URLEncoder;
+import java.util.Date;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.lamsfoundation.lams.integration.service.IIntegrationService;
+import org.lamsfoundation.lams.tool.ToolAccessMode;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumServiceProxy;
+import org.lamsfoundation.lams.tool.dlfrum.service.IDotLRNForumService;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumConstants;
+import org.lamsfoundation.lams.tool.exception.ToolException;
+import org.lamsfoundation.lams.util.Configuration;
+import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+/**
+ * @author
+ * @version
+ *
+ * @struts.action path="/authoring" name="authoringForm" parameter="dispatch"
+ * scope="request" validate="false"
+ *
+ * @struts.action-forward name="success" path="tiles:/authoring/main"
+ * @struts.action-forward name="message_page" path="tiles:/generic/message"
+ */
+public class AuthoringAction extends LamsDispatchAction {
+
+ private static Logger logger = Logger.getLogger(AuthoringAction.class);
+
+ public IDotLRNForumService dotLRNForumService;
+
+ // Authoring SessionMap key names
+ private static final String KEY_TOOL_CONTENT_ID = "toolContentID";
+
+ private static final String KEY_EXTERNAL_TOOL_CONTENT_ID = "extToolContentID";
+
+ private static final String KEY_CONTENT_FOLDER_ID = "contentFolderID";
+
+ private static final String KEY_MODE = "mode";
+
+ private static final String KEY_ONLINE_FILES = "onlineFiles";
+
+ private static final String KEY_OFFLINE_FILES = "offlineFiles";
+
+ private static final String KEY_UNSAVED_ONLINE_FILES = "unsavedOnlineFiles";
+
+ private static final String KEY_UNSAVED_OFFLINE_FILES = "unsavedOfflineFiles";
+
+ private static final String KEY_DELETED_FILES = "deletedFiles";
+
+ private static final String DOTLRN_EDIT_RELATIVE_URL = "/forums/admin/forum-lams-edit";
+
+ private static final String DOTLRN_AUTHOR_RELATIVE_URL = "/forums/admin/forum-lams-new";
+
+ private static final String TOOL_APP_URL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + DotLRNForumConstants.TOOL_SIGNATURE + "/";
+
+
+ public IIntegrationService integrationService;
+
+ /**
+ * Default method when no dispatch parameter is specified. It is expected
+ * that the parameter toolContentID will be passed in. This
+ * will be used to retrieve content for this tool.
+ *
+ */
+ protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) {
+
+ // Extract toolContentID, contentFolderID and ToolAccessMode from parameters.
+ Long toolContentID = new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_TOOL_CONTENT_ID));
+ String contentFolderID = WebUtil.readStrParam(request,AttributeNames.PARAM_CONTENT_FOLDER_ID);
+ ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, KEY_MODE,true);
+
+ // set up dotLRNForumService
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(this.getServlet().getServletContext());
+ }
+
+ // retrieving DotLRNForum with given toolContentID
+ // if is a new instance, customCSV should be passed, and used for the course url, otherwise the saved value should be used
+ DotLRNForum dotLRNForum = dotLRNForumService.getDotLRNForumByContentId(toolContentID);
+
+ // Getting the custom csv from the request
+ String customCSV = WebUtil.readStrParam(request, "customCSV", true);
+ String userFromCSV = null;
+ String courseFromCSV = null;
+ String courseUrlFromCSV = null;
+ if(customCSV==null && dotLRNForum==null)
+ {
+ logger.error("CustomCSV required if dotLRNForum is null");
+ throw new ToolException("CustomCSV required if dotLRNForum is null");
+ }
+ else if (customCSV!=null)
+ {
+ String splitCSV[] = customCSV.split(",");
+ if (splitCSV.length != 3)
+ {
+ logger.error("dotLRNForum tool customCSV not in required (user,course,courseURL) form: " + customCSV);
+ throw new ToolException("dotLRNForum tool cusomCSV not in required (user,course,courseURL) form: " + customCSV);
+ }
+ else
+ {
+ userFromCSV = splitCSV[0];
+ courseFromCSV = splitCSV[1];
+ courseUrlFromCSV = splitCSV[2];
+ }
+ }
+
+ if (dotLRNForum == null)
+ {
+ dotLRNForum = dotLRNForumService.copyDefaultContent(toolContentID);
+ dotLRNForum.setExtUsername(userFromCSV);
+ dotLRNForum.setExtUsername(courseFromCSV);
+ dotLRNForum.setExtCourseUrl(courseUrlFromCSV);
+ dotLRNForum.setCreateDate(new Date());
+ dotLRNForumService.saveOrUpdateDotLRNForum(dotLRNForum);
+ // TODO NOTE: this causes DB orphans when LD not saved.
+ }
+
+ if (mode != null && mode.isTeacher()) {
+ // Set the defineLater flag so that learners cannot use content
+ // while we
+ // are editing. This flag is released when updateContent is called.
+ dotLRNForum.setDefineLater(true);
+ dotLRNForumService.saveOrUpdateDotLRNForum(dotLRNForum);
+ }
+
+ // if no external content id, open the dotLRN author page, otherwise, open the edit page
+ try{
+
+ // If the dotLRNForum has a saved course url, use it, otherwise use the one giving in the request in customCSV
+ String courseUrlToBeUsed = (dotLRNForum.getExtCourseUrl() != null) ? dotLRNForum.getExtCourseUrl() : courseUrlFromCSV;
+ if (dotLRNForum.getExtToolContentId()==null)
+ {
+ String responseUrl = courseUrlToBeUsed + DOTLRN_AUTHOR_RELATIVE_URL +
+ "?" +AttributeNames.PARAM_TOOL_CONTENT_ID + "=" + toolContentID.toString()
+ + "&lamsUpdateURL=" + URLEncoder.encode(TOOL_APP_URL + "/authoring.do?dispatch=updateContent", "UTF8");
+
+ log.debug("Sending to dotLRN forum author page: " + responseUrl);
+ response.sendRedirect(responseUrl);
+ }
+ else
+ {
+ String responseUrl = courseUrlToBeUsed + DOTLRN_EDIT_RELATIVE_URL +
+ "?" +AttributeNames.PARAM_TOOL_CONTENT_ID + "=" + toolContentID.toString()
+ + "&forum_id=" + dotLRNForum.getExtToolContentId()
+ + "&lamsUpdateURL=" + URLEncoder.encode(TOOL_APP_URL + "/authoring.do?dispatch=updateContent", "UTF8");
+
+ log.debug("Sending to dotLRN forum edit page: " + responseUrl);
+ response.sendRedirect(responseUrl);
+
+ }
+ }
+ catch (Exception e)
+ {
+ log.error("Could not redirect to dotLRN forum authoring", e);
+ }
+ return null;
+ }
+
+ public ActionForward updateContent(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) {
+ // TODO need error checking.
+
+ Long toolContentID = new Long(WebUtil.readLongParam(request,KEY_TOOL_CONTENT_ID));
+ Long externalToolContentID = new Long(WebUtil.readLongParam(request,KEY_EXTERNAL_TOOL_CONTENT_ID));
+ //String sessionMapID = WebUtil.readStrParam(request,"sessionMapID");
+
+ // get dotLRNForum content.
+ DotLRNForum dotLRNForum = dotLRNForumService.getDotLRNForumByContentId(toolContentID);
+ dotLRNForum.setExtToolContentId(externalToolContentID);
+ dotLRNForum.setUpdateDate(new Date());
+ dotLRNForum.setDefineLater(false);
+ dotLRNForumService.saveOrUpdateDotLRNForum(dotLRNForum);
+
+ String redirectString = Configuration.get(ConfigurationKeys.SERVER_URL)
+ + "/tool/" + DotLRNForumConstants.TOOL_SIGNATURE + "/clearsession.do"
+ + "?action=confirm&mode=author"
+ + "&signature=" + DotLRNForumConstants.TOOL_SIGNATURE
+ + "&toolContentID=" + toolContentID.toString()
+ + "&defineLater=no"
+ + "&customiseSessionID="
+ + "&contentFolderID=0";
+
+ log.debug("Manual redirect for DotLRNForum to: " + redirectString);
+
+ try
+ {
+ response.sendRedirect(redirectString);
+ }
+ catch(Exception e)
+ {
+ log.error("Could not redirect to clear session action for DotLRNForum", e);
+ }
+
+ return null;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/ClearSessionAction.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/ClearSessionAction.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/ClearSessionAction.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,51 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id: ClearSessionAction.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+package org.lamsfoundation.lams.tool.dlfrum.web.actions;
+
+import javax.servlet.http.HttpSession;
+
+import org.lamsfoundation.lams.authoring.web.LamsAuthoringFinishAction;
+import org.lamsfoundation.lams.tool.ToolAccessMode;
+
+/**
+ * This class give a chance to clear HttpSession when user save/close authoring page.
+ * @author Steve.Ni
+ * ----------------XDoclet Tags--------------------
+ *
+ * @struts:action path="/clearsession" validate="false"
+ *
+ * @version $Revision: 1.1 $
+ */
+public class ClearSessionAction extends LamsAuthoringFinishAction {
+
+ @Override
+ public void clearSession(String customiseSessionID,HttpSession session, ToolAccessMode mode) {
+ if(mode.isAuthor()){
+ session.removeAttribute(customiseSessionID);
+ }
+ }
+
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/LearningAction.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/LearningAction.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/LearningAction.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,213 @@
+/****************************************************************
+ * 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 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: LearningAction.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.actions;
+
+import java.io.IOException;
+import java.net.URLEncoder;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.lamsfoundation.lams.tool.ToolSessionManager;
+import org.lamsfoundation.lams.tool.dlfrum.dto.DotLRNForumDTO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumServiceProxy;
+import org.lamsfoundation.lams.tool.dlfrum.service.IDotLRNForumService;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumConstants;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumException;
+import org.lamsfoundation.lams.tool.exception.DataMissingException;
+import org.lamsfoundation.lams.tool.exception.ToolException;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+import org.lamsfoundation.lams.util.Configuration;
+import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+import org.lamsfoundation.lams.web.session.SessionManager;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+
+/**
+ * @author
+ * @version
+ *
+ * @struts.action path="/learning" parameter="dispatch" scope="request" name="learningForm"
+ * @struts.action-forward name="dotLRNForum" path="tiles:/learning/main"
+ * @struts.action-forward name="runOffline" path="tiles:/learning/runOffline"
+ * @struts.action-forward name="defineLater" path="tiles:/learning/defineLater"
+ */
+public class LearningAction extends LamsDispatchAction {
+
+ private static Logger log = Logger.getLogger(LearningAction.class);
+
+ private static final boolean MODE_OPTIONAL = false;
+
+ private static final String TOOL_APP_URL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + DotLRNForumConstants.TOOL_SIGNATURE + "/";
+
+ private IDotLRNForumService dotLRNForumService;
+
+ public ActionForward unspecified(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response)
+ throws Exception {
+
+ //LearningForm learningForm = (LearningForm) form;
+
+ // 'toolSessionID' and 'mode' paramters are expected to be present.
+ // TODO need to catch exceptions and handle errors.
+ //ToolAccessMode mode = WebUtil.readToolAccessModeParam(request,AttributeNames.PARAM_MODE, MODE_OPTIONAL);
+
+ Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID);
+
+ // set up dotLRNForumService
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(this.getServlet().getServletContext());
+ }
+
+ // Retrieve the session and content.
+ DotLRNForumSession dotLRNForumSession = dotLRNForumService.getSessionBySessionId(toolSessionID);
+ if (dotLRNForumSession == null) {
+ throw new DotLRNForumException("Cannot retreive session with toolSessionID: "+ toolSessionID);
+ }
+
+ DotLRNForum dotLRNForum = dotLRNForumSession.getDotLRNForum();
+
+ // check defineLater
+ if (dotLRNForum.isDefineLater()) {
+ return mapping.findForward("defineLater");
+ }
+
+ // set mode, toolSessionID and DotLRNForumDTO
+ //request.setAttribute("mode", mode.toString());
+ //learningForm.setToolSessionID(toolSessionID);
+
+ DotLRNForumDTO dotLRNForumDTO = new DotLRNForumDTO();
+
+
+ request.setAttribute("dotLRNForumDTO", dotLRNForumDTO);
+
+ // Set the content in use flag.
+ if (!dotLRNForum.isContentInUse()) {
+ dotLRNForum.setContentInUse(new Boolean(true));
+ dotLRNForumService.saveOrUpdateDotLRNForum(dotLRNForum);
+ }
+
+ // check runOffline
+ if (dotLRNForum.isRunOffline()) {
+ return mapping.findForward("runOffline");
+ }
+
+ if (dotLRNForum.getExtToolContentId()!=null)
+ {
+ try{
+ String returnUrl = TOOL_APP_URL + "learning.do?"
+ + AttributeNames.PARAM_TOOL_SESSION_ID + "=" + toolSessionID.toString()
+ + "&dispatch=finishActivity";
+ returnUrl = URLEncoder.encode(returnUrl, "UTF8");
+
+ String responseUrl = dotLRNForum.getExtCourseUrl() + "/forums/forum-view?"
+ + "forum_id=" + dotLRNForumSession.getExtSessionId()
+ + "&" + AttributeNames.PARAM_TOOL_SESSION_ID + "=" + toolSessionID.toString()
+ + "&returnUrl=" + returnUrl;
+
+ /*
+ String responseUrl = dotLRNForum.getExtCourseUrl() + "/forums/forum-view?"
+ + "forum_id=" + dotLRNForum.getExtToolContentId()
+ + "&" + AttributeNames.PARAM_TOOL_SESSION_ID + "=" + toolSessionID.toString()
+ + "&returnUrl=" + returnUrl;
+ */
+
+ log.debug("Redirecting for dotLRN forum learner: " + responseUrl);
+ response.sendRedirect(responseUrl);
+ }
+ catch (Exception e)
+ {
+ log.error("Could not redirect to dotLRN forum authoring", e);
+ }
+ }
+ else
+ {
+ throw new DotLRNForumException ("External content id null for learner");
+ }
+ return null;
+ }
+
+ private DotLRNForumUser getCurrentUser(Long toolSessionId) {
+ UserDTO user = (UserDTO) SessionManager.getSession().getAttribute(
+ AttributeNames.USER);
+
+ // attempt to retrieve user using userId and toolSessionId
+ DotLRNForumUser dotLRNForumUser = dotLRNForumService
+ .getUserByUserIdAndSessionId(new Long(user.getUserID()
+ .intValue()), toolSessionId);
+
+ if (dotLRNForumUser == null) {
+ DotLRNForumSession dotLRNForumSession = dotLRNForumService
+ .getSessionBySessionId(toolSessionId);
+ dotLRNForumUser = dotLRNForumService.createDotLRNForumUser(user,
+ dotLRNForumSession);
+ }
+
+ return dotLRNForumUser;
+ }
+
+ public ActionForward finishActivity(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) {
+
+ Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID");
+
+ DotLRNForumUser dotLRNForumUser = getCurrentUser(toolSessionID);
+
+ if (dotLRNForumUser != null) {
+ dotLRNForumUser.setFinishedActivity(true);
+ dotLRNForumService.saveOrUpdateDotLRNForumUser(dotLRNForumUser);
+ } else {
+ log.error("finishActivity(): couldn't find DotLRNForumUser with id: "
+ + dotLRNForumUser.getUserId() + "and toolSessionID: "
+ + toolSessionID);
+ }
+
+ ToolSessionManager sessionMgrService = DotLRNForumServiceProxy
+ .getDotLRNForumSessionManager(getServlet().getServletContext());
+
+ String nextActivityUrl;
+ try {
+ nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID,
+ dotLRNForumUser.getUserId());
+ response.sendRedirect(nextActivityUrl);
+ } catch (DataMissingException e) {
+ throw new DotLRNForumException(e);
+ } catch (ToolException e) {
+ throw new DotLRNForumException(e);
+ } catch (IOException e) {
+ throw new DotLRNForumException(e);
+ }
+
+ return null; // TODO need to return proper page.
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/MonitoringAction.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/MonitoringAction.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/actions/MonitoringAction.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,101 @@
+/****************************************************************
+ * 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 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: MonitoringAction.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $$ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.actions;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.tool.dlfrum.dto.DotLRNForumDTO;
+import org.lamsfoundation.lams.tool.dlfrum.dto.DotLRNForumUserDTO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumUser;
+import org.lamsfoundation.lams.tool.dlfrum.service.IDotLRNForumService;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumServiceProxy;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumConstants;
+import org.lamsfoundation.lams.util.Configuration;
+import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+
+/**
+ * @author
+ * @version
+ *
+ * @struts.action path="/monitoring" parameter="dispatch" scope="request" name="monitoringForm" validate="false"
+ *
+ * @struts.action-forward name="success" path="tiles:/monitoring/main"
+ *
+ */
+public class MonitoringAction extends LamsDispatchAction {
+
+ private static Logger log = Logger.getLogger(MonitoringAction.class);
+
+ private static final String TOOL_APP_URL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + DotLRNForumConstants.TOOL_SIGNATURE + "/";
+
+
+ public IDotLRNForumService dotLRNForumService;
+
+ public ActionForward unspecified(ActionMapping mapping, ActionForm form,
+ HttpServletRequest request, HttpServletResponse response) {
+
+ setupService();
+
+ Long toolContentID = new Long(WebUtil.readLongParam(request,AttributeNames.PARAM_TOOL_CONTENT_ID));
+
+ String contentFolderID = WebUtil.readStrParam(request,AttributeNames.PARAM_CONTENT_FOLDER_ID);
+
+ DotLRNForum dotLRNForum = dotLRNForumService.getDotLRNForumByContentId(toolContentID);
+
+
+ if (dotLRNForum == null) {
+ // TODO error page.
+ }
+
+ DotLRNForumDTO dotLRNForumDT0 = new DotLRNForumDTO(dotLRNForum);
+
+ Long currentTab = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB,true);
+ dotLRNForumDT0.setCurrentTab(currentTab);
+
+ request.setAttribute("dotLRNForumDTO", dotLRNForumDT0);
+ request.setAttribute("contentFolderID", contentFolderID);
+ return mapping.findForward("success");
+ }
+
+ /**
+ * set up dotLRNForumService
+ */
+ private void setupService() {
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(this
+ .getServlet().getServletContext());
+ }
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AdminForm.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AdminForm.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AdminForm.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,43 @@
+package org.lamsfoundation.lams.tool.dlfrum.web.forms;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+
+/**
+ * @struts.form name="dlfrum10AdminForm"
+ */
+public class AdminForm extends ActionForm
+{
+ private static final long serialVersionUID = 8872637862875198L;
+
+ String toolAdapterServlet;
+ String serverIdMapping;
+
+ @Override
+ public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
+ ActionErrors ac = new ActionErrors();
+ ac.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("this is an error"));
+ return ac;
+ }
+
+ public String getToolAdapterServlet() {
+ return toolAdapterServlet;
+ }
+
+ public void setToolAdapterServlet(String toolAdapterServlet) {
+ this.toolAdapterServlet = toolAdapterServlet;
+ }
+
+ public String getServerIdMapping() {
+ return serverIdMapping;
+ }
+
+ public void setServerIdMapping(String serverIdMapping) {
+ this.serverIdMapping = serverIdMapping;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AuthoringForm.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AuthoringForm.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/AuthoringForm.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,218 @@
+/****************************************************************
+ * 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: AuthoringForm.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.forms;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.apache.struts.upload.FormFile;
+import org.lamsfoundation.lams.web.util.SessionMap;
+
+/**
+ * @struts.form name="authoringForm"
+ */
+public class AuthoringForm extends ActionForm {
+
+ private static final long serialVersionUID = 3950453134542135495L;
+
+ // Properties
+
+ String title;
+
+ String instructions;
+
+ String offlineInstruction;
+
+ String onlineInstruction;
+
+ boolean lockOnFinished;
+
+ boolean allowRichEditor;
+
+ boolean evalcomixEvaluationByLearners;
+
+ boolean evalcomixEvaluationByTeachers;
+
+ String evalcomixInstrumentFormAndViewUrl;
+
+ FormFile onlineFile;
+
+ FormFile offlineFile;
+
+ String currentTab;
+
+ String dispatch;
+
+ String sessionMapID;
+
+ Long deleteFileUuid;
+
+ SessionMap sessionMap;
+
+ @Override
+ public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
+ ActionErrors ac = new ActionErrors();
+ ac.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("this is an error"));
+
+ return ac;
+ }
+
+ public String getSessionMapID() {
+ return sessionMapID;
+ }
+
+ public void setSessionMapID(String sessionMapID) {
+ this.sessionMapID = sessionMapID;
+ }
+
+ public String getCurrentTab() {
+ return currentTab;
+ }
+
+ public void setCurrentTab(String currentTab) {
+ this.currentTab = currentTab;
+ }
+
+ public String getDispatch() {
+ return dispatch;
+ }
+
+ public void setDispatch(String dispatch) {
+ this.dispatch = dispatch;
+ }
+
+ public String getInstructions() {
+ return instructions;
+ }
+
+ public void setInstructions(String instructions) {
+ this.instructions = instructions;
+ }
+
+ public boolean isLockOnFinished() {
+ return lockOnFinished;
+ }
+
+ public void setLockOnFinished(boolean lockOnFinished) {
+ this.lockOnFinished = lockOnFinished;
+ }
+
+ public FormFile getOfflineFile() {
+ return offlineFile;
+ }
+
+ public void setOfflineFile(FormFile offlineFile) {
+ this.offlineFile = offlineFile;
+ }
+
+ public String getOfflineInstruction() {
+ return offlineInstruction;
+ }
+
+ public void setOfflineInstruction(String offlineInstruction) {
+ this.offlineInstruction = offlineInstruction;
+ }
+
+ public FormFile getOnlineFile() {
+ return onlineFile;
+ }
+
+ public void setOnlineFile(FormFile onlineFile) {
+ this.onlineFile = onlineFile;
+ }
+
+ public String getOnlineInstruction() {
+ return onlineInstruction;
+ }
+
+ public void setOnlineInstruction(String onlineInstruction) {
+ this.onlineInstruction = onlineInstruction;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public void setSessionMap(SessionMap sessionMap) {
+ this.sessionMap = sessionMap;
+ }
+
+ public SessionMap getSessionMap() {
+ return sessionMap;
+ }
+
+ public Long getDeleteFileUuid() {
+ return deleteFileUuid;
+ }
+
+ public void setDeleteFileUuid(Long deleteFile) {
+ this.deleteFileUuid = deleteFile;
+ }
+
+ public boolean isAllowRichEditor() {
+ return allowRichEditor;
+ }
+
+ public void setAllowRichEditor(boolean allowRichEditor) {
+ this.allowRichEditor = allowRichEditor;
+ }
+
+ public String getEvalcomixInstrumentFormAndViewUrl() {
+ return evalcomixInstrumentFormAndViewUrl;
+ }
+
+ public void setEvalcomixInstrumentFormAndViewUrl(
+ String evalcomixInstrumentFormAndViewUrl) {
+ this.evalcomixInstrumentFormAndViewUrl = evalcomixInstrumentFormAndViewUrl;
+ }
+
+ public boolean isEvalcomixEvaluationByLearners() {
+ return evalcomixEvaluationByLearners;
+ }
+
+ public void setEvalcomixEvaluationByLearners(
+ boolean evalcomixEvaluationByLearners) {
+ this.evalcomixEvaluationByLearners = evalcomixEvaluationByLearners;
+ }
+
+ public boolean isEvalcomixEvaluationByTeachers() {
+ return evalcomixEvaluationByTeachers;
+ }
+
+ public void setEvalcomixEvaluationByTeachers(
+ boolean evalcomixEvaluationByTeachers) {
+ this.evalcomixEvaluationByTeachers = evalcomixEvaluationByTeachers;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/LearningForm.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/LearningForm.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/LearningForm.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,96 @@
+/****************************************************************
+ * 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: LearningForm.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.forms;
+
+import org.apache.struts.action.ActionForm;
+
+/**
+ *
+ * @author Anthony Sukkar
+ *
+ * @struts.form name="learningForm"
+ */
+public class LearningForm extends ActionForm {
+
+ private static final long serialVersionUID = -4728946254882237144L;
+
+ String title;
+ String instructions;
+
+ String dispatch;
+ Long toolSessionID;
+ String mode;
+
+ String entryText;
+
+ public String getMode() {
+ return mode;
+ }
+
+ public void setMode(String mode) {
+ this.mode = mode;
+ }
+
+ public String getDispatch() {
+ return dispatch;
+ }
+
+ public void setDispatch(String dispatch) {
+ this.dispatch = dispatch;
+ }
+
+ public Long getToolSessionID() {
+ return toolSessionID;
+ }
+
+ public void setToolSessionID(Long toolSessionID) {
+ this.toolSessionID = toolSessionID;
+ }
+
+ public String getInstructions() {
+ return instructions;
+ }
+
+ public void setInstructions(String instructions) {
+ this.instructions = instructions;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getEntryText() {
+ return entryText;
+ }
+
+ public void setEntryText(String entryText) {
+ this.entryText = entryText;
+ }
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/MonitoringForm.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/MonitoringForm.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/forms/MonitoringForm.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,83 @@
+/****************************************************************
+ * 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: MonitoringForm.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.forms;
+
+import org.apache.struts.action.ActionForm;
+
+/**
+ * @struts.form name="monitoringForm"
+ */
+public class MonitoringForm extends ActionForm {
+
+ private static final long serialVersionUID = 9096908688391850595L;
+
+ String dispatch;
+ boolean teacherVisible;
+ Long toolSessionID;
+
+ // editing message page.
+ Long messageUID;
+ String messageBody;
+ boolean messageHidden;
+
+ public String getMessageBody() {
+ return messageBody;
+ }
+ public void setMessageBody(String messageBody) {
+ this.messageBody = messageBody;
+ }
+ public Long getMessageUID() {
+ return messageUID;
+ }
+ public void setMessageUID(Long messageUID) {
+ this.messageUID = messageUID;
+ }
+ public String getDispatch() {
+ return dispatch;
+ }
+ public void setDispatch(String dispatch) {
+ this.dispatch = dispatch;
+ }
+ public Long getToolSessionID() {
+ return toolSessionID;
+ }
+ public void setToolSessionID(Long toolSessionID) {
+ this.toolSessionID = toolSessionID;
+ }
+ public boolean isTeacherVisible() {
+ return teacherVisible;
+ }
+ public void setTeacherVisible(boolean visible) {
+ this.teacherVisible = visible;
+ }
+ public boolean isMessageHidden() {
+ return messageHidden;
+ }
+ public void setMessageHidden(boolean messageHidden) {
+ this.messageHidden = messageHidden;
+ }
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/servlets/ExportServlet.java
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/servlets/ExportServlet.java,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/src/java/org/lamsfoundation/lams/tool/dlfrum/web/servlets/ExportServlet.java 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,206 @@
+/****************************************************************
+ * 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: ExportServlet.java,v 1.1 2008/08/18 04:05:23 lfoxton Exp $ */
+
+package org.lamsfoundation.lams.tool.dlfrum.web.servlets;
+
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Set;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.lamsfoundation.lams.tool.ToolAccessMode;
+import org.lamsfoundation.lams.tool.dlfrum.dto.DotLRNForumDTO;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForum;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumConfigItem;
+import org.lamsfoundation.lams.tool.dlfrum.model.DotLRNForumSession;
+import org.lamsfoundation.lams.tool.dlfrum.service.DotLRNForumServiceProxy;
+import org.lamsfoundation.lams.tool.dlfrum.service.IDotLRNForumService;
+import org.lamsfoundation.lams.tool.dlfrum.util.DotLRNForumException;
+import org.lamsfoundation.lams.tool.dlfrum.util.WebUtility;
+import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet;
+import org.lamsfoundation.lams.web.util.AttributeNames;
+
+public class ExportServlet extends AbstractExportPortfolioServlet {
+
+ private static final long serialVersionUID = -2829707715037631881L;
+
+ private static Logger logger = Logger.getLogger(ExportServlet.class);
+
+ private final String FILENAME = "dotLRNForum_main.html";
+
+ private IDotLRNForumService dotLRNForumService;
+
+ protected String doExport(HttpServletRequest request,
+ HttpServletResponse response, String directoryName, Cookie[] cookies) {
+
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(getServletContext());
+ }
+
+ try {
+ if (StringUtils.equals(mode, ToolAccessMode.LEARNER.toString())) {
+ request.getSession().setAttribute(AttributeNames.ATTR_MODE,
+ ToolAccessMode.LEARNER);
+ doLearnerExport(request, response, directoryName, cookies);
+ } else if (StringUtils.equals(mode, ToolAccessMode.TEACHER
+ .toString())) {
+ request.getSession().setAttribute(AttributeNames.ATTR_MODE,
+ ToolAccessMode.TEACHER);
+ doTeacherExport(request, response, directoryName, cookies);
+ String basePath = request.getScheme() + "://" + request.getServerName()
+ + ":" + request.getServerPort() + request.getContextPath();
+ writeResponseToFile(basePath + "/pages/export/exportPortfolio.jsp",
+ directoryName, FILENAME, cookies);
+
+
+ }
+ } catch (DotLRNForumException e) {
+ logger.error("Cannot perform export for dotLRNForum tool.");
+ }
+ return FILENAME;
+ }
+
+ protected String doOfflineExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) {
+ if (toolContentID == null && toolSessionID == null) {
+ logger.error("Tool content Id or and session Id are null. Unable to activity title");
+ } else {
+ if (dotLRNForumService == null) {
+ dotLRNForumService = DotLRNForumServiceProxy.getDotLRNForumService(getServletContext());
+ }
+
+ DotLRNForum content = null;
+ if ( toolContentID != null ) {
+ content = dotLRNForumService.getDotLRNForumByContentId(toolContentID);
+ } else {
+ DotLRNForumSession session=dotLRNForumService.getSessionBySessionId(toolSessionID);
+ if ( session != null )
+ content = session.getDotLRNForum();
+ }
+ if ( content != null ) {
+ //activityTitle = content.getTitle();
+ }
+ }
+ return super.doOfflineExport(request, response, directoryName, cookies);
+ }
+
+ private void doLearnerExport(HttpServletRequest request,
+ HttpServletResponse response, String directoryName, Cookie[] cookies)
+ throws DotLRNForumException {
+
+ logger.debug("doExportLearner: toolContentID:" + toolSessionID);
+
+ // check if toolSessionID available
+ if (toolSessionID == null) {
+ String error = "Tool Session ID is missing. Unable to continue";
+ logger.error(error);
+ throw new DotLRNForumException(error);
+ }
+
+ DotLRNForumSession dotLRNForumSession = dotLRNForumService.getSessionBySessionId(toolSessionID);
+
+ DotLRNForum dotLRNForum = dotLRNForumSession.getDotLRNForum();
+
+ try{
+ exportFileFromExternalServer(request, response,
+ dotLRNForumSession.getExtSessionId(), dotLRNForum.getExtCourseId(),
+ directoryName + "/" + FILENAME);
+ }
+ catch (Exception e)
+ {
+ logger.error("Could not fetch export file from external servlet", e);
+ throw new DotLRNForumException("Could not fetch export file from external servlet", e);
+ }
+ }
+
+ private void doTeacherExport(HttpServletRequest request,
+ HttpServletResponse response, String directoryName, Cookie[] cookies)
+ throws DotLRNForumException {
+
+ logger.debug("doExportTeacher: toolContentID:" + toolContentID);
+
+ // check if toolContentID available
+ if (toolContentID == null) {
+ String error = "Tool Content ID is missing. Unable to continue";
+ logger.error(error);
+ throw new DotLRNForumException(error);
+ }
+
+ DotLRNForum dotLRNForum = dotLRNForumService.getDotLRNForumByContentId(toolContentID);
+ DotLRNForumDTO dotLRNForumDTO = new DotLRNForumDTO(dotLRNForum);
+ request.getSession().setAttribute("dotLRNForumDTO", dotLRNForumDTO);
+
+ Set sessions = dotLRNForum.getDotLRNForumSessions();
+ for (DotLRNForumSession session : sessions)
+ {
+ try {
+ String fullPath = directoryName + "/"+ session.getSessionName();
+ exportFileFromExternalServer(request, response, session.getExtSessionId(), dotLRNForum.getExtCourseId(),fullPath);
+ } catch (Exception e) {
+ logger.error("Could not fetch export file from external servlet", e);
+ throw new DotLRNForumException("Could not fetch export file from external servlet", e);
+ }
+ }
+
+ request.getSession().setAttribute("sessions", sessions);
+ }
+
+ private void exportFileFromExternalServer(HttpServletRequest request,
+ HttpServletResponse response, Long extToolSessionId, String extCourseId, String fullPath) throws Exception
+ {
+ String exportPortFolioServletUrl = dotLRNForumService.getConfigItem(DotLRNForumConfigItem.KEY_EXTERNAL_TOOL_SERVER).getConfigValue();
+
+ String extUsername="authUser"; // setting user to arbitrary values since they are only used to construct the hash
+
+ HashMap params = dotLRNForumService.getRequiredExtServletParams(extUsername, extCourseId);
+ params.put("method", IDotLRNForumService.EXT_SERVER_METHOD_EXPORT_PORTFOLIO);
+ params.put("extToolContentID", extToolSessionId.toString());
+
+ InputStream in = WebUtility.getResponseInputStreamFromExternalServer(exportPortFolioServletUrl, params);
+ OutputStream out = new BufferedOutputStream(new FileOutputStream(fullPath));
+ byte[] buffer = new byte[1024];
+ int numRead;
+ long numWritten = 0;
+ logger.debug("Getting file...");
+ while ((numRead = in.read(buffer)) != -1)
+ {
+ out.write(buffer, 0, numRead);
+ logger.debug(new String(buffer));
+ numWritten += numRead;
+ }
+ logger.debug("Path to dotLRNForum export portfolio content: " + fullPath);
+ out.flush();
+ out.close();
+ }
+
+
+}
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/403.jsp
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/403.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/403.jsp 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,25 @@
+<%--
+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 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
+--%>
+<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
+<%@ taglib uri="tags-lams" prefix="lams"%>
+<%@ taglib uri="tags-core" prefix="c" %>
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/404.jsp
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/404.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/404.jsp 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,27 @@
+<%--
+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 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
+--%>
+<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
+<%@ taglib uri="tags-lams" prefix="lams"%>
+<%@ taglib uri="tags-core" prefix="c" %>
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/error.jsp
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/error.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/error.jsp 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,91 @@
+<%--
+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 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
+--%>
+
+
+
+<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
+<%@ taglib uri="tags-lams" prefix="lams"%>
+<%@ taglib uri="tags-core" prefix="c"%>
+<%@ taglib uri="tags-fmt" prefix="fmt"%>
+
+
+
+
+
+
+<%-- Catch JSP Servlet Exception --%>
+<%
+if (exception != null) {
+%>
+
+ <%=exception.getMessage()%>
+
+
+ <%=exception.getClass().getName()%>
+
+<%
+ java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
+ java.io.PrintStream os = new java.io.PrintStream(bos);
+ exception.printStackTrace(os);
+ String stack = new String(bos.toByteArray());
+%>
+
+ <%=stack%>
+
+<%
+} else if ((Exception) request.getAttribute("javax.servlet.error.exception") != null) {
+%>
+
+
+ <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage()%>
+
+
+ <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage()
+ .getClass().getName()%>
+
+<%
+ java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
+ java.io.PrintStream os = new java.io.PrintStream(bos);
+ ((Exception) request.getAttribute("javax.servlet.error.exception")).printStackTrace(os);
+ String stack = new String(bos.toByteArray());
+%>
+
+ <%=stack%>
+
+<%
+}
+%>
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/META-INF/MANIFEST.MF
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/META-INF/MANIFEST.MF,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/META-INF/MANIFEST.MF 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,5 @@
+Implementation-Title: LAMS - DotLRNForum Tool
+Implementation-Version: 2.1
+Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org)
+Class-Path: ./lams.jar
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/lams.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/lams.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/lams.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,508 @@
+
+
+
+
+ 1.0
+ lams
+
+ LAMSTags
+
+
+
+
+ Output the basic URL for the current webapp. e.g. http://server/lams/tool/nb11/
+ Base URL for the current web app
+
+
+ WebAppURL
+ org.lamsfoundation.lams.web.tag.WebAppURLTag
+ empty
+
+
+
+
+ Output a random number for the learner and passon flash movies to communicate directly.
+ generate unique ID
+
+
+ generateID
+ org.lamsfoundation.lams.web.tag.GenerateIDTag
+ empty
+
+
+ Output a random number for the learner and passon flash movies to communicate directly.
+ id
+ false
+
+ true
+
+
+
+
+
+
+ Get the configuration value for the specified key
+ Configuration value
+
+
+ Configuration
+ org.lamsfoundation.lams.web.tag.ConfigurationTag
+ empty
+
+
+ Get the configuration value for the specified key
+ key
+ false
+
+ true
+
+
+
+
+
+
+ Output the Server URL as defined in the lams.xml configuration file.
+ LAMS URL
+
+
+ LAMSURL
+ org.lamsfoundation.lams.web.tag.LAMSURLTag
+ empty
+
+
+
+
+ Render html tag with direction and language
+ Render html tag with direction and language
+
+
+ html
+ org.lamsfoundation.lams.web.tag.HtmlTag
+ JSP
+
+
+ Render html tag with direction and language
+ xhtml
+ false
+
+ true
+
+
+
+
+
+
+ Converts text from \n or \r\n to <BR> before rendering
+ Converts text from \n or \r\n to <BR> before rendering
+
+
+ out
+ org.lamsfoundation.lams.web.tag.MultiLinesOutputTag
+ empty
+
+
+ Converts text from \n or \r\n to <BR> before rendering
+ value
+ true
+
+ true
+
+
+
+ Converts text from \n or \r\n to <BR> before rendering
+ escapeHtml
+ false
+
+ true
+
+
+
+
+
+
+ Help tag
+ Help tag
+
+
+ help
+ org.lamsfoundation.lams.web.tag.HelpTag
+ empty
+
+
+ Help tag
+ module
+ false
+
+ true
+
+
+
+ Help tag
+ toolSignature
+ false
+
+ true
+
+
+
+ Help tag
+ page
+ false
+
+ true
+
+
+
+ Help tag
+ style
+ false
+
+ true
+
+
+
+
+
+
+ Converts role name into form usable as message resources key
+ Converts role name into form usable as message resources key
+
+
+ role
+ org.lamsfoundation.lams.web.tag.RoleTag
+ empty
+
+
+ Converts role name into form usable as message resources key
+ role
+ true
+
+ true
+
+
+
+
+
+
+ Output stylesheet based on the user preferences.
+ User's chosen stylesheet
+
+
+ css
+ org.lamsfoundation.lams.web.tag.CssTag
+ empty
+
+
+ Output stylesheet based on the user preferences.
+ localLinkPath
+ false
+
+ true
+
+
+
+ Output stylesheet based on the user preferences.
+ style
+ false
+
+ true
+
+
+
+
+
+
+ Output details from the shared session UserDTO object
+ user details
+
+
+ user
+ org.lamsfoundation.lams.web.tag.UserTag
+ empty
+
+
+ Output details from the shared session UserDTO object
+ property
+ true
+
+ true
+
+
+
+
+
+
+ STRUTS-textarea
+ org.lamsfoundation.lams.web.tag.MultiLinesTextareaTag
+ empty
+
+ accesskey
+ false
+ true
+
+
+ alt
+ false
+ true
+
+
+ altKey
+ false
+ true
+
+
+ bundle
+ false
+ true
+
+
+ cols
+ false
+ true
+
+
+ disabled
+ false
+ true
+
+
+ errorKey
+ false
+ true
+
+
+ errorStyle
+ false
+ true
+
+
+ errorStyleClass
+ false
+ true
+
+
+ errorStyleId
+ false
+ true
+
+
+ indexed
+ false
+ true
+
+
+ name
+ false
+ true
+
+
+ onblur
+ false
+ true
+
+
+ onchange
+ false
+ true
+
+
+ onclick
+ false
+ true
+
+
+ ondblclick
+ false
+ true
+
+
+ onfocus
+ false
+ true
+
+
+ onkeydown
+ false
+ true
+
+
+ onkeypress
+ false
+ true
+
+
+ onkeyup
+ false
+ true
+
+
+ onmousedown
+ false
+ true
+
+
+ onmousemove
+ false
+ true
+
+
+ onmouseout
+ false
+ true
+
+
+ onmouseover
+ false
+ true
+
+
+ onmouseup
+ false
+ true
+
+
+ property
+ true
+ true
+
+
+ readonly
+ false
+ true
+
+
+ rows
+ false
+ true
+
+
+ style
+ false
+ true
+
+
+ styleClass
+ false
+ true
+
+
+ styleId
+ false
+ true
+
+
+ tabindex
+ false
+ true
+
+
+ title
+ false
+ true
+
+
+ titleKey
+ false
+ true
+
+
+ value
+ false
+ true
+
+
+
+ Tab
+ /WEB-INF/tags/Tab.tag
+
+
+ Tabs
+ /WEB-INF/tags/Tabs.tag
+
+
+ TabBody
+ /WEB-INF/tags/TabBody.tag
+
+
+ TabName
+ /WEB-INF/tags/TabName.tag
+
+
+ FCKEditor
+ /WEB-INF/tags/FCKEditor.tag
+
+
+ AuthoringButton
+ /WEB-INF/tags/AuthoringButton.tag
+
+
+ headItems
+ /WEB-INF/tags/headItems.tag
+
+
+ Passon
+ /WEB-INF/tags/Passon.tag
+
+
+ ExportPortOutput
+ /WEB-INF/tags/ExportPortOutput.tag
+
+
+ Date
+ /WEB-INF/tags/Date.tag
+
+
+ DefineLater
+ /WEB-INF/tags/DefineLater.tag
+
+
+ ImgButtonWrapper
+ /WEB-INF/tags/ImgButtonWrapper.tag
+
+
+ textarea
+ org.lamsfoundation.lams.web.tag.LAMSMultiLinesTextareaTag
+ JSP
+ true
+
+ Render text exactly same as original input, which even won't escape the input HTML tag.
+
+
+
+
+ name
+ true
+ true
+
+
+
+
+ id
+ false
+ true
+
+
+
+
+ onchange
+ false
+ true
+
+
+
+ head
+ /WEB-INF/tags/Head.tag
+
+
+ ProgressOutput
+ /WEB-INF/tags/ProgressOutput.tag
+
+
+ LearnerFlashEnabled
+ /WEB-INF/tags/LearnerFlashEnabled.tag
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/web.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/web.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/web.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+ javax.servlet.jsp.jstl.fmt.localizationContext
+ org.lamsfoundation.lams.tool.dlfrum.ApplicationResources
+
+
+
+ contextConfigLocation
+
+ classpath:/org/lamsfoundation/lams/applicationContext.xml
+ classpath:/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/toolApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/integrationContext.xml
+ classpath:/org/lamsfoundation/lams/learning/learningApplicationContext.xml
+ classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml
+ classpath:/org/lamsfoundation/lams/tool/dlfrum/dotLRNForumApplicationContext.xml
+
+
+
+
+ SystemSessionFilter
+
+ org.lamsfoundation.lams.web.session.SystemSessionFilter
+
+
+
+ hibernateFilter
+
+ org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter
+
+
+ sessionFactoryBeanName
+ dotLRNForumSessionFactory
+
+
+
+ LocaleFilter
+
+ org.lamsfoundation.lams.web.filter.LocaleFilter
+
+
+
+
+ SystemSessionFilter
+ /*
+
+
+ hibernateFilter
+ /*
+
+
+ LocaleFilter
+ /*
+
+
+
+
+ org.springframework.web.context.ContextLoaderListener
+
+
+
+
+ org.lamsfoundation.lams.web.SessionListener
+
+
+
+
+ action
+ org.apache.struts.action.ActionServlet
+
+ config
+ /WEB-INF/struts/struts-config.xml
+
+
+ debug
+ 999
+
+
+ detail
+ 2
+
+
+ validate
+ true
+
+ 1
+
+
+
+
+
+ Connector
+ com.fredck.FCKeditor.connector.ConnectorServlet
+
+ baseDir
+ /UserFiles/
+
+
+ debug
+ false
+
+ 1
+
+
+
+
+ Attachment Download
+ Attachment Download
+ download
+ org.lamsfoundation.lams.contentrepository.client.ToolDownload
+
+ toolContentHandlerBeanName
+ dotLRNForumToolContentHandler
+
+ 3
+
+
+
+ exportPortfolio
+ org.lamsfoundation.lams.tool.dlfrum.web.servlets.ExportServlet
+
+
+
+ action
+ *.do
+
+
+
+
+ Connector
+ /fckeditor/editor/filemanager/browser/default/connectors/jsp/connector
+
+
+
+ download
+ /download/*
+
+
+
+ exportPortfolio
+ /exportPortfolio
+
+
+
+ 120
+
+
+
+
+
+ 500
+ /error.jsp
+
+
+ 403
+ /403.jsp
+
+
+ 404
+ /404.jsp
+
+
+
+
+
+
+
+
+ tags-bean
+ /WEB-INF/struts/tlds/struts-bean.tld
+
+
+ tags-html
+ /WEB-INF/struts/tlds/struts-html.tld
+
+
+ tags-logic
+ /WEB-INF/struts/tlds/struts-logic.tld
+
+
+ tags-tiles
+ /WEB-INF/struts/tlds/struts-tiles.tld
+
+
+
+
+
+ tags-fmt
+ /WEB-INF/jstl/tlds/fmt.tld
+
+
+ tags-core
+ /WEB-INF/jstl/tlds/c.tld
+
+
+ tags-function
+ /WEB-INF/jstl/tlds/fn.tld
+
+
+ tags-xml
+ /WEB-INF/jstl/tlds/x.tld
+
+
+
+
+
+ tags-permittedTaglibs
+ /WEB-INF/jstl/tlds/permittedTaglibs.tld
+
+
+ tags-scriptfree
+ /WEB-INF/jstl/tlds/scriptfree.tld
+
+
+
+
+
+ fck-editor
+ /WEB-INF/fckeditor/tlds/FCKeditor.tld
+
+
+ tags-lams
+ /WEB-INF/lams.tld
+
+
+
+
+
+
+
+ Secure Content
+ *.jsp
+ *.html
+ *.do
+
+
+ LEARNER
+ TEACHER
+ MONITOR
+ AUTHOR
+ ADMIN
+ SYSADMIN
+ AUTHOR ADMIN
+
+
+
+
+
+ Authoring Update
+ /authoring.do
+
+
+ AUTHOR
+ AUTHOR ADMIN
+ SYSADMIN
+
+
+
+
+ Staff Content
+ /monitoring.do
+
+
+ MONITOR
+ TEACHER
+
+
+
+
+
+
+ Download Files
+ /download/
+
+
+ AUTHOR
+ MONITOR
+ TEACHER
+ ADMIN
+ SYSADMIN
+ AUTHOR ADMIN
+
+
+
+
+
+ FORM
+ LAMS
+
+ /login.jsp
+ /login.jsp?failed=y
+
+
+
+
+
+
+ Student
+ LEARNER
+
+
+ Student
+ TEACHER
+
+
+
+ Can create/modify a learning design
+ AUTHOR
+
+
+
+ Can running and monitoring a learning session
+ MONITOR
+
+
+
+ Can add/remove users to the system, set up classes of users for sessions
+ ADMIN
+
+
+
+ Can add/remove users to the system, set up classes of users for sessions
+ SYSADMIN
+
+
+ Can create/modify a learning design and edit default tool content
+ AUTHOR ADMIN
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/fckeditor/tlds/FCKeditor.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/fckeditor/tlds/FCKeditor.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/fckeditor/tlds/FCKeditor.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,215 @@
+
+
+
+
+ 2.3
+ 1.1
+ FCKeditor
+ http://fckeditor.net/tags-fckeditor
+ FCKeditor taglib
+
+ editor
+ com.fredck.FCKeditor.tags.FCKeditorTag
+ JSP
+
+ id
+ true
+ true
+
+
+ basePath
+ false
+ true
+
+
+ toolbarSet
+ false
+ true
+
+
+ width
+ false
+ true
+
+
+ height
+ false
+ true
+
+
+ customConfigurationsPath
+ false
+ true
+
+
+ editorAreaCSS
+ false
+ true
+
+
+ baseHref
+ false
+ true
+
+
+ skinPath
+ false
+ true
+
+
+ pluginsPath
+ false
+ true
+
+
+ fullPage
+ false
+ true
+
+
+ debug
+ false
+ true
+
+
+ autoDetectLanguage
+ false
+ true
+
+
+ defaultLanguage
+ false
+ true
+
+
+ contentLangDirection
+ false
+ true
+
+
+ enableXHTML
+ false
+ true
+
+
+ enableSourceXHTML
+ false
+ true
+
+
+ fillEmptyBlocks
+ false
+ true
+
+
+ formatSource
+ false
+ true
+
+
+ formatOutput
+ false
+ true
+
+
+ formatIndentator
+ false
+ true
+
+
+ geckoUseSPAN
+ false
+ true
+
+
+ startupFocus
+ false
+ true
+
+
+ forcePasteAsPlainText
+ false
+ true
+
+
+ forceSimpleAmpersand
+ false
+ true
+
+
+ tabSpaces
+ false
+ true
+
+
+ useBROnCarriageReturn
+ false
+ true
+
+
+ toolbarStartExpanded
+ false
+ true
+
+
+ toolbarCanCollapse
+ false
+ true
+
+
+ fontColors
+ false
+ true
+
+
+ fontNames
+ false
+ true
+
+
+ fontSizes
+ false
+ true
+
+
+ fontFormats
+ false
+ true
+
+
+ stylesXmlPath
+ false
+ true
+
+
+ linkBrowserURL
+ false
+ true
+
+
+ imageBrowserURL
+ false
+ true
+
+
+ flashBrowserURL
+ false
+ true
+
+
+ linkUploadURL
+ false
+ true
+
+
+ imageUploadURL
+ false
+ true
+
+
+ flashUploadURL
+ false
+ true
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/c.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/c.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/c.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,563 @@
+
+
+
+
+ JSTL 1.1 core library
+ JSTL core
+ 1.1
+ c
+ http://java.sun.com/jsp/jstl/core
+
+
+
+ Provides core validation features for JSTL tags.
+
+
+ org.apache.taglibs.standard.tlv.JstlCoreTLV
+
+
+
+
+
+ Catches any Throwable that occurs in its body and optionally
+ exposes it.
+
+ catch
+ org.apache.taglibs.standard.tag.common.core.CatchTag
+ JSP
+
+
+Name of the exported scoped variable for the
+exception thrown from a nested action. The type of the
+scoped variable is the type of the exception thrown.
+
+ var
+ false
+ false
+
+
+
+
+
+ Simple conditional tag that establishes a context for
+ mutually exclusive conditional operations, marked by
+ <when> and <otherwise>
+
+ choose
+ org.apache.taglibs.standard.tag.common.core.ChooseTag
+ JSP
+
+
+
+
+ Simple conditional tag, which evalutes its body if the
+ supplied condition is true and optionally exposes a Boolean
+ scripting variable representing the evaluation of this condition
+
+ if
+ org.apache.taglibs.standard.tag.rt.core.IfTag
+ JSP
+
+
+The test condition that determines whether or
+not the body content should be processed.
+
+ test
+ true
+ true
+ boolean
+
+
+
+Name of the exported scoped variable for the
+resulting value of the test condition. The type
+of the scoped variable is Boolean.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Retrieves an absolute or relative URL and exposes its contents
+ to either the page, a String in 'var', or a Reader in 'varReader'.
+
+ import
+ org.apache.taglibs.standard.tag.rt.core.ImportTag
+ org.apache.taglibs.standard.tei.ImportTEI
+ JSP
+
+
+The URL of the resource to import.
+
+ url
+ true
+ true
+
+
+
+Name of the exported scoped variable for the
+resource's content. The type of the scoped
+variable is String.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+resource's content. The type of the scoped
+variable is Reader.
+
+ varReader
+ false
+ false
+
+
+
+Name of the context when accessing a relative
+URL resource that belongs to a foreign
+context.
+
+ context
+ false
+ true
+
+
+
+Character encoding of the content at the input
+resource.
+
+ charEncoding
+ false
+ true
+
+
+
+
+
+ The basic iteration tag, accepting many different
+ collection types and supporting subsetting and other
+ functionality
+
+ forEach
+ org.apache.taglibs.standard.tag.rt.core.ForEachTag
+ org.apache.taglibs.standard.tei.ForEachTEI
+ JSP
+
+
+Collection of items to iterate over.
+
+ items
+ false
+ true
+ java.lang.Object
+
+
+
+If items specified:
+Iteration begins at the item located at the
+specified index. First item of the collection has
+index 0.
+If items not specified:
+Iteration begins with index set at the value
+specified.
+
+ begin
+ false
+ true
+ int
+
+
+
+If items specified:
+Iteration ends at the item located at the
+specified index (inclusive).
+If items not specified:
+Iteration ends when index reaches the value
+specified.
+
+ end
+ false
+ true
+ int
+
+
+
+Iteration will only process every step items of
+the collection, starting with the first one.
+
+ step
+ false
+ true
+ int
+
+
+
+Name of the exported scoped variable for the
+current item of the iteration. This scoped
+variable has nested visibility. Its type depends
+on the object of the underlying collection.
+
+ var
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+status of the iteration. Object exported is of type
+javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested
+visibility.
+
+ varStatus
+ false
+ false
+
+
+
+
+
+ Iterates over tokens, separated by the supplied delimeters
+
+ forTokens
+ org.apache.taglibs.standard.tag.rt.core.ForTokensTag
+ JSP
+
+
+String of tokens to iterate over.
+
+ items
+ true
+ true
+ java.lang.String
+
+
+
+The set of delimiters (the characters that
+separate the tokens in the string).
+
+ delims
+ true
+ true
+ java.lang.String
+
+
+
+Iteration begins at the token located at the
+specified index. First token has index 0.
+
+ begin
+ false
+ true
+ int
+
+
+
+Iteration ends at the token located at the
+specified index (inclusive).
+
+ end
+ false
+ true
+ int
+
+
+
+Iteration will only process every step tokens
+of the string, starting with the first one.
+
+ step
+ false
+ true
+ int
+
+
+
+Name of the exported scoped variable for the
+current item of the iteration. This scoped
+variable has nested visibility.
+
+ var
+ false
+ false
+
+
+
+Name of the exported scoped variable for the
+status of the iteration. Object exported is of
+type
+javax.servlet.jsp.jstl.core.LoopTag
+Status. This scoped variable has nested
+visibility.
+
+ varStatus
+ false
+ false
+
+
+
+
+
+ Like <%= ... >, but for expressions.
+
+ out
+ org.apache.taglibs.standard.tag.rt.core.OutTag
+ JSP
+
+
+Expression to be evaluated.
+
+ value
+ true
+ true
+
+
+
+Default value if the resulting value is null.
+
+ default
+ false
+ true
+
+
+
+Determines whether characters <,>,&,'," in the
+resulting string should be converted to their
+corresponding character entity codes. Default value is
+true.
+
+ escapeXml
+ false
+ true
+
+
+
+
+
+
+ Subtag of <choose> that follows <when> tags
+ and runs only if all of the prior conditions evaluated to
+ 'false'
+
+ otherwise
+ org.apache.taglibs.standard.tag.common.core.OtherwiseTag
+ JSP
+
+
+
+
+ Adds a parameter to a containing 'import' tag's URL.
+
+ param
+ org.apache.taglibs.standard.tag.rt.core.ParamTag
+ JSP
+
+
+Name of the query string parameter.
+
+ name
+ true
+ true
+
+
+
+Value of the parameter.
+
+ value
+ false
+ true
+
+
+
+
+
+ Redirects to a new URL.
+
+ redirect
+ org.apache.taglibs.standard.tag.rt.core.RedirectTag
+ JSP
+
+
+The URL of the resource to redirect to.
+
+ url
+ false
+ true
+
+
+
+Name of the context when redirecting to a relative URL
+resource that belongs to a foreign context.
+
+ context
+ false
+ true
+
+
+
+
+
+ Removes a scoped variable (from a particular scope, if specified).
+
+ remove
+ org.apache.taglibs.standard.tag.common.core.RemoveTag
+ empty
+
+
+Name of the scoped variable to be removed.
+
+ var
+ true
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Sets the result of an expression evaluation in a 'scope'
+
+ set
+ org.apache.taglibs.standard.tag.rt.core.SetTag
+ JSP
+
+
+Name of the exported scoped variable to hold the value
+specified in the action. The type of the scoped variable is
+whatever type the value expression evaluates to.
+
+ var
+ false
+ false
+
+
+
+Expression to be evaluated.
+
+ value
+ false
+ true
+
+
+
+Target object whose property will be set. Must evaluate to
+a JavaBeans object with setter property property, or to a
+java.util.Map object.
+
+ target
+ false
+ true
+
+
+
+Name of the property to be set in the target object.
+
+ property
+ false
+ true
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Creates a URL with optional query parameters.
+
+ url
+ org.apache.taglibs.standard.tag.rt.core.UrlTag
+ JSP
+
+
+Name of the exported scoped variable for the
+processed url. The type of the scoped variable is
+String.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+URL to be processed.
+
+ value
+ false
+ true
+
+
+
+Name of the context when specifying a relative URL
+resource that belongs to a foreign context.
+
+ context
+ false
+ true
+
+
+
+
+
+ Subtag of <choose> that includes its body if its
+ condition evalutes to 'true'
+
+ when
+ org.apache.taglibs.standard.tag.rt.core.WhenTag
+ JSP
+
+
+The test condition that determines whether or not the
+body content should be processed.
+
+ test
+ true
+ true
+ boolean
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fmt.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fmt.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fmt.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,671 @@
+
+
+
+
+ JSTL 1.1 i18n-capable formatting library
+ JSTL fmt
+ 1.1
+ fmt
+ http://java.sun.com/jsp/jstl/fmt
+
+
+
+ Provides core validation features for JSTL tags.
+
+
+ org.apache.taglibs.standard.tlv.JstlFmtTLV
+
+
+
+
+
+ Sets the request character encoding
+
+ requestEncoding
+ org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag
+ empty
+
+
+Name of character encoding to be applied when
+decoding request parameters.
+
+ value
+ false
+ true
+
+
+
+
+
+ Stores the given locale in the locale configuration variable
+
+ setLocale
+ org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag
+ empty
+
+
+A String value is interpreted as the
+printable representation of a locale, which
+must contain a two-letter (lower-case)
+language code (as defined by ISO-639),
+and may contain a two-letter (upper-case)
+country code (as defined by ISO-3166).
+Language and country codes must be
+separated by hyphen (-) or underscore
+(_).
+
+ value
+ true
+ true
+
+
+
+Vendor- or browser-specific variant.
+See the java.util.Locale javadocs for
+more information on variants.
+
+ variant
+ false
+ true
+
+
+
+Scope of the locale configuration variable.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Specifies the time zone for any time formatting or parsing actions
+ nested in its body
+
+ timeZone
+ org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag
+ JSP
+
+
+The time zone. A String value is interpreted as
+a time zone ID. This may be one of the time zone
+IDs supported by the Java platform (such as
+"America/Los_Angeles") or a custom time zone
+ID (such as "GMT-8"). See
+java.util.TimeZone for more information on
+supported time zone formats.
+
+ value
+ true
+ true
+
+
+
+
+
+ Stores the given time zone in the time zone configuration variable
+
+ setTimeZone
+ org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag
+ empty
+
+
+The time zone. A String value is interpreted as
+a time zone ID. This may be one of the time zone
+IDs supported by the Java platform (such as
+"America/Los_Angeles") or a custom time zone
+ID (such as "GMT-8"). See java.util.TimeZone for
+more information on supported time zone
+formats.
+
+ value
+ true
+ true
+
+
+
+Name of the exported scoped variable which
+stores the time zone of type
+java.util.TimeZone.
+
+ var
+ false
+ false
+
+
+
+Scope of var or the time zone configuration
+variable.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Loads a resource bundle to be used by its tag body
+
+ bundle
+ org.apache.taglibs.standard.tag.rt.fmt.BundleTag
+ JSP
+
+
+Resource bundle base name. This is the bundle's
+fully-qualified resource name, which has the same
+form as a fully-qualified class name, that is, it uses
+"." as the package component separator and does not
+have any file type (such as ".class" or ".properties")
+suffix.
+
+ basename
+ true
+ true
+
+
+
+Prefix to be prepended to the value of the message
+key of any nested <fmt:message> action.
+
+ prefix
+ false
+ true
+
+
+
+
+
+ Loads a resource bundle and stores it in the named scoped variable or
+ the bundle configuration variable
+
+ setBundle
+ org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag
+ empty
+
+
+Resource bundle base name. This is the bundle's
+fully-qualified resource name, which has the same
+form as a fully-qualified class name, that is, it uses
+"." as the package component separator and does not
+have any file type (such as ".class" or ".properties")
+suffix.
+
+ basename
+ true
+ true
+
+
+
+Name of the exported scoped variable which stores
+the i18n localization context of type
+javax.servlet.jsp.jstl.fmt.LocalizationC
+ontext.
+
+ var
+ false
+ false
+
+
+
+Scope of var or the localization context
+configuration variable.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Maps key to localized message and performs parametric replacement
+
+ message
+ org.apache.taglibs.standard.tag.rt.fmt.MessageTag
+ JSP
+
+
+Message key to be looked up.
+
+ key
+ false
+ true
+
+
+
+Localization context in whose resource
+bundle the message key is looked up.
+
+ bundle
+ false
+ true
+
+
+
+Name of the exported scoped variable
+which stores the localized message.
+
+ var
+ false
+ false
+
+
+
+Scope of var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Supplies an argument for parametric replacement to a containing
+ <message> tag
+
+ param
+ org.apache.taglibs.standard.tag.rt.fmt.ParamTag
+ JSP
+
+
+Argument used for parametric replacement.
+
+ value
+ false
+ true
+
+
+
+
+
+ Formats a numeric value as a number, currency, or percentage
+
+ formatNumber
+ org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag
+ JSP
+
+
+Numeric value to be formatted.
+
+ value
+ false
+ true
+
+
+
+Specifies whether the value is to be
+formatted as number, currency, or
+percentage.
+
+ type
+ false
+ true
+
+
+
+Custom formatting pattern.
+
+ pattern
+ false
+ true
+
+
+
+ISO 4217 currency code. Applied only
+when formatting currencies (i.e. if type is
+equal to "currency"); ignored otherwise.
+
+ currencyCode
+ false
+ true
+
+
+
+Currency symbol. Applied only when
+formatting currencies (i.e. if type is equal
+to "currency"); ignored otherwise.
+
+ currencySymbol
+ false
+ true
+
+
+
+Specifies whether the formatted output
+will contain any grouping separators.
+
+ groupingUsed
+ false
+ true
+
+
+
+Maximum number of digits in the integer
+portion of the formatted output.
+
+ maxIntegerDigits
+ false
+ true
+
+
+
+Minimum number of digits in the integer
+portion of the formatted output.
+
+ minIntegerDigits
+ false
+ true
+
+
+
+Maximum number of digits in the
+fractional portion of the formatted output.
+
+ maxFractionDigits
+ false
+ true
+
+
+
+Minimum number of digits in the
+fractional portion of the formatted output.
+
+ minFractionDigits
+ false
+ true
+
+
+
+Name of the exported scoped variable
+which stores the formatted result as a
+String.
+
+ var
+ false
+ false
+
+
+
+Scope of var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Parses the string representation of a number, currency, or percentage
+
+ parseNumber
+ org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag
+ JSP
+
+
+String to be parsed.
+
+ value
+ false
+ true
+
+
+
+Specifies whether the string in the value
+attribute should be parsed as a number,
+currency, or percentage.
+
+ type
+ false
+ true
+
+
+
+Custom formatting pattern that determines
+how the string in the value attribute is to be
+parsed.
+
+ pattern
+ false
+ true
+
+
+
+Locale whose default formatting pattern (for
+numbers, currencies, or percentages,
+respectively) is to be used during the parse
+operation, or to which the pattern specified
+via the pattern attribute (if present) is
+applied.
+
+ parseLocale
+ false
+ true
+
+
+
+Specifies whether just the integer portion of
+the given value should be parsed.
+
+ integerOnly
+ false
+ true
+
+
+
+Name of the exported scoped variable which
+stores the parsed result (of type
+java.lang.Number).
+
+ var
+ false
+ false
+
+
+
+Scope of var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Formats a date and/or time using the supplied styles and pattern
+
+ formatDate
+ org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag
+ empty
+
+
+Date and/or time to be formatted.
+
+ value
+ true
+ true
+
+
+
+Specifies whether the time, the date, or both
+the time and date components of the given
+date are to be formatted.
+
+ type
+ false
+ true
+
+
+
+Predefined formatting style for dates. Follows
+the semantics defined in class
+java.text.DateFormat. Applied only
+when formatting a date or both a date and
+time (i.e. if type is missing or is equal to
+"date" or "both"); ignored otherwise.
+
+ dateStyle
+ false
+ true
+
+
+
+Predefined formatting style for times. Follows
+the semantics defined in class
+java.text.DateFormat. Applied only
+when formatting a time or both a date and
+time (i.e. if type is equal to "time" or "both");
+ignored otherwise.
+
+ timeStyle
+ false
+ true
+
+
+
+Custom formatting style for dates and times.
+
+ pattern
+ false
+ true
+
+
+
+Time zone in which to represent the formatted
+time.
+
+ timeZone
+ false
+ true
+
+
+
+Name of the exported scoped variable which
+stores the formatted result as a String.
+
+ var
+ false
+ false
+
+
+
+Scope of var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Parses the string representation of a date and/or time
+
+ parseDate
+ org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag
+ JSP
+
+
+Date string to be parsed.
+
+ value
+ false
+ true
+
+
+
+Specifies whether the date string in the
+value attribute is supposed to contain a
+time, a date, or both.
+
+ type
+ false
+ true
+
+
+
+Predefined formatting style for days
+which determines how the date
+component of the date string is to be
+parsed. Applied only when formatting a
+date or both a date and time (i.e. if type
+is missing or is equal to "date" or "both");
+ignored otherwise.
+
+ dateStyle
+ false
+ true
+
+
+
+Predefined formatting styles for times
+which determines how the time
+component in the date string is to be
+parsed. Applied only when formatting a
+time or both a date and time (i.e. if type
+is equal to "time" or "both"); ignored
+otherwise.
+
+ timeStyle
+ false
+ true
+
+
+
+Custom formatting pattern which
+determines how the date string is to be
+parsed.
+
+ pattern
+ false
+ true
+
+
+
+Time zone in which to interpret any time
+information in the date string.
+
+ timeZone
+ false
+ true
+
+
+
+Locale whose predefined formatting styles
+for dates and times are to be used during
+the parse operation, or to which the
+pattern specified via the pattern
+attribute (if present) is applied.
+
+ parseLocale
+ false
+ true
+
+
+
+Name of the exported scoped variable in
+which the parsing result (of type
+java.util.Date) is stored.
+
+ var
+ false
+ false
+
+
+
+Scope of var.
+
+ scope
+ false
+ false
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fn.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fn.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/fn.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,207 @@
+
+
+
+
+ JSTL 1.1 functions library
+ JSTL functions
+ 1.1
+ fn
+ http://java.sun.com/jsp/jstl/functions
+
+
+
+ Tests if an input string contains the specified substring.
+
+ contains
+ org.apache.taglibs.standard.functions.Functions
+ boolean contains(java.lang.String, java.lang.String)
+
+ <c:if test="${fn:contains(name, searchString)}">
+
+
+
+
+
+ Tests if an input string contains the specified substring in a case insensitive way.
+
+ containsIgnoreCase
+ org.apache.taglibs.standard.functions.Functions
+ boolean containsIgnoreCase(java.lang.String, java.lang.String)
+
+ <c:if test="${fn:containsIgnoreCase(name, searchString)}">
+
+
+
+
+
+ Tests if an input string ends with the specified suffix.
+
+ endsWith
+ org.apache.taglibs.standard.functions.Functions
+ boolean endsWith(java.lang.String, java.lang.String)
+
+ <c:if test="${fn:endsWith(filename, ".txt")}">
+
+
+
+
+
+ Escapes characters that could be interpreted as XML markup.
+
+ escapeXml
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String escapeXml(java.lang.String)
+
+ ${fn:escapeXml(param:info)}
+
+
+
+
+
+ Returns the index withing a string of the first occurrence of a specified substring.
+
+ indexOf
+ org.apache.taglibs.standard.functions.Functions
+ int indexOf(java.lang.String, java.lang.String)
+
+ ${fn:indexOf(name, "-")}
+
+
+
+
+
+ Joins all elements of an array into a string.
+
+ join
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String join(java.lang.String[], java.lang.String)
+
+ ${fn:join(array, ";")}
+
+
+
+
+
+ Returns the number of items in a collection, or the number of characters in a string.
+
+ length
+ org.apache.taglibs.standard.functions.Functions
+ int length(java.lang.Object)
+
+ You have ${fn:length(shoppingCart.products)} in your shopping cart.
+
+
+
+
+
+ Returns a string resulting from replacing in an input string all occurrences
+ of a "before" string into an "after" substring.
+
+ replace
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)
+
+ ${fn:replace(text, "-", "")}
+
+
+
+
+
+ Splits a string into an array of substrings.
+
+ split
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String[] split(java.lang.String, java.lang.String)
+
+ ${fn:split(customerNames, ";")}
+
+
+
+
+
+ Tests if an input string starts with the specified prefix.
+
+ startsWith
+ org.apache.taglibs.standard.functions.Functions
+ boolean startsWith(java.lang.String, java.lang.String)
+
+ <c:if test="${fn:startsWith(product.id, "100-")}">
+
+
+
+
+
+ Returns a subset of a string.
+
+ substring
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String substring(java.lang.String, int, int)
+
+ P.O. Box: ${fn:substring(zip, 6, -1)}
+
+
+
+
+
+ Returns a subset of a string following a specific substring.
+
+ substringAfter
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String substringAfter(java.lang.String, java.lang.String)
+
+ P.O. Box: ${fn:substringAfter(zip, "-")}
+
+
+
+
+
+ Returns a subset of a string before a specific substring.
+
+ substringBefore
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String substringBefore(java.lang.String, java.lang.String)
+
+ Zip (without P.O. Box): ${fn:substringBefore(zip, "-")}
+
+
+
+
+
+ Converts all of the characters of a string to lower case.
+
+ toLowerCase
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String toLowerCase(java.lang.String)
+
+ Product name: ${fn.toLowerCase(product.name)}
+
+
+
+
+
+ Converts all of the characters of a string to upper case.
+
+ toUpperCase
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String toUpperCase(java.lang.String)
+
+ Product name: ${fn.UpperCase(product.name)}
+
+
+
+
+
+ Removes white spaces from both ends of a string.
+
+ trim
+ org.apache.taglibs.standard.functions.Functions
+ java.lang.String trim(java.lang.String)
+
+ Name: ${fn.trim(name)}
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/permittedTaglibs.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/permittedTaglibs.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/permittedTaglibs.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,34 @@
+
+
+
+
+ Restricts JSP pages to the JSTL tag libraries
+
+ permittedTaglibs
+ 1.1
+ permittedTaglibs
+ http://jakarta.apache.org/taglibs/standard/permittedTaglibs
+
+
+
+ javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV
+
+
+
+ Whitespace-separated list of taglib URIs to permit. This example
+ TLD for the Standard Taglib allows only JSTL 'el' taglibs to be
+ imported.
+
+ permittedTaglibs
+
+ http://java.sun.com/jsp/jstl/core
+ http://java.sun.com/jsp/jstl/fmt
+ http://java.sun.com/jsp/jstl/sql
+ http://java.sun.com/jsp/jstl/xml
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/scriptfree.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/scriptfree.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/scriptfree.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,51 @@
+
+
+
+
+ Validates JSP pages to prohibit use of scripting elements.
+
+ 1.1
+ scriptfree
+ http://jakarta.apache.org/taglibs/standard/scriptfree
+
+
+
+ Validates prohibitions against scripting elements.
+
+
+ javax.servlet.jsp.jstl.tlv.ScriptFreeTLV
+
+
+
+ Controls whether or not declarations are considered valid.
+
+ allowDeclarations
+ false
+
+
+
+ Controls whether or not scriptlets are considered valid.
+
+ allowScriptlets
+ false
+
+
+
+ Controls whether or not top-level expressions are considered valid.
+
+ allowExpressions
+ false
+
+
+
+ Controls whether or not expressions used to supply request-time
+ attribute values are considered valid.
+
+ allowRTExpressions
+ false
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/x.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/x.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/jstl/tlds/x.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,448 @@
+
+
+
+
+ JSTL 1.1 XML library
+ JSTL XML
+ 1.1
+ x
+ http://java.sun.com/jsp/jstl/xml
+
+
+
+ Provides validation features for JSTL XML tags.
+
+
+ org.apache.taglibs.standard.tlv.JstlXmlTLV
+
+
+
+
+
+ Simple conditional tag that establishes a context for
+ mutually exclusive conditional operations, marked by
+ <when> and <otherwise>
+
+ choose
+ org.apache.taglibs.standard.tag.common.core.ChooseTag
+ JSP
+
+
+
+
+ Like <%= ... >, but for XPath expressions.
+
+ out
+ org.apache.taglibs.standard.tag.rt.xml.ExprTag
+ empty
+
+
+XPath expression to be evaluated.
+
+ select
+ true
+ false
+
+
+
+Determines whether characters <,>,&,'," in the
+resulting string should be converted to their
+corresponding character entity codes. Default
+value is true.
+
+ escapeXml
+ false
+ true
+
+
+
+
+
+ XML conditional tag, which evalutes its body if the
+ supplied XPath expression evalutes to 'true' as a boolean
+
+ if
+ org.apache.taglibs.standard.tag.common.xml.IfTag
+ JSP
+
+
+The test condition that tells whether or not the
+body content should be processed.
+
+ select
+ true
+ false
+
+
+
+Name of the exported scoped variable for the
+resulting value of the test condition. The type
+of the scoped variable is Boolean.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ XML iteration tag.
+
+ forEach
+ org.apache.taglibs.standard.tag.common.xml.ForEachTag
+ JSP
+
+
+Name of the exported scoped variable for the
+current item of the iteration. This scoped variable
+has nested visibility. Its type depends on the
+result of the XPath expression in the select
+attribute.
+
+ var
+ false
+ false
+
+
+
+XPath expression to be evaluated.
+
+ select
+ true
+ false
+
+
+
+Iteration begins at the item located at the
+specified index. First item of the collection has
+index 0.
+
+ begin
+ false
+ true
+ int
+
+
+
+Iteration ends at the item located at the specified
+index (inclusive).
+
+ end
+ false
+ true
+ int
+
+
+
+Iteration will only process every step items of
+the collection, starting with the first one.
+
+ step
+ false
+ true
+ int
+
+
+
+Name of the exported scoped variable for the
+status of the iteration. Object exported is of type
+javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility.
+
+ varStatus
+ false
+ false
+
+
+
+
+
+ Subtag of <choose> that follows <when> tags
+ and runs only if all of the prior conditions evaluated to
+ 'false'
+
+ otherwise
+ org.apache.taglibs.standard.tag.common.core.OtherwiseTag
+ JSP
+
+
+
+
+ Adds a parameter to a containing 'transform' tag's Transformer
+
+ param
+ org.apache.taglibs.standard.tag.rt.xml.ParamTag
+ JSP
+
+
+Name of the transformation parameter.
+
+ name
+ true
+ true
+
+
+
+Value of the parameter.
+
+ value
+ false
+ true
+
+
+
+
+
+ Parses XML content from 'source' attribute or 'body'
+
+ parse
+ org.apache.taglibs.standard.tag.rt.xml.ParseTag
+ org.apache.taglibs.standard.tei.XmlParseTEI
+ JSP
+
+
+Name of the exported scoped variable for
+the parsed XML document. The type of the
+scoped variable is implementation
+dependent.
+
+ var
+ false
+ false
+
+
+
+Name of the exported scoped variable for
+the parsed XML document. The type of the
+scoped variable is
+org.w3c.dom.Document.
+
+ varDom
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+Scope for varDom.
+
+ scopeDom
+ false
+ false
+
+
+
+Deprecated. Use attribute 'doc' instead.
+
+ xml
+ false
+ true
+
+
+
+Source XML document to be parsed.
+
+ doc
+ false
+ true
+
+
+
+The system identifier (URI) for parsing the
+XML document.
+
+ systemId
+ false
+ true
+
+
+
+Filter to be applied to the source
+document.
+
+ filter
+ false
+ true
+
+
+
+
+
+ Saves the result of an XPath expression evaluation in a 'scope'
+
+ set
+ org.apache.taglibs.standard.tag.common.xml.SetTag
+ empty
+
+
+Name of the exported scoped variable to hold
+the value specified in the action. The type of the
+scoped variable is whatever type the select
+expression evaluates to.
+
+ var
+ true
+ false
+
+
+
+XPath expression to be evaluated.
+
+ select
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+
+
+ Conducts a transformation given a source XML document
+ and an XSLT stylesheet
+
+ transform
+ org.apache.taglibs.standard.tag.rt.xml.TransformTag
+ org.apache.taglibs.standard.tei.XmlTransformTEI
+ JSP
+
+
+Name of the exported
+scoped variable for the
+transformed XML
+document. The type of the
+scoped variable is
+org.w3c.dom.Document.
+
+ var
+ false
+ false
+
+
+
+Scope for var.
+
+ scope
+ false
+ false
+
+
+
+Result
+Object that captures or
+processes the transformation
+result.
+
+ result
+ false
+ true
+
+
+
+Deprecated. Use attribute
+'doc' instead.
+
+ xml
+ false
+ true
+
+
+
+Source XML document to be
+transformed. (If exported by
+<x:set>, it must correspond
+to a well-formed XML
+document, not a partial
+document.)
+
+ doc
+ false
+ true
+
+
+
+Deprecated. Use attribute
+'docSystemId' instead.
+
+ xmlSystemId
+ false
+ true
+
+
+
+The system identifier (URI)
+for parsing the XML
+document.
+
+ docSystemId
+ false
+ true
+
+
+
+javax.xml.transform.Source
+Transformation stylesheet as
+a String, Reader, or
+Source object.
+
+ xslt
+ false
+ true
+
+
+
+The system identifier (URI)
+for parsing the XSLT
+stylesheet.
+
+ xsltSystemId
+ false
+ true
+
+
+
+
+
+ Subtag of <choose> that includes its body if its
+ expression evalutes to 'true'
+
+ when
+ org.apache.taglibs.standard.tag.common.xml.WhenTag
+ JSP
+
+
+The test condition that tells whether or
+not the body content should be
+processed
+
+ select
+ true
+ false
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/struts-config.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/struts-config.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/struts-config.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tiles-defs.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tiles-defs.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tiles-defs.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/validator-rules.xml
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/validator-rules.xml,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/validator-rules.xml 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-bean.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-bean.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-bean.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+
+
+1.2
+1.1
+bean
+http://struts.apache.org/tags-bean
+
+cookie
+org.apache.struts.taglib.bean.CookieTag
+org.apache.struts.taglib.bean.CookieTei
+empty
+
+id
+true
+false
+
+
+multiple
+false
+true
+
+
+name
+true
+true
+
+
+value
+false
+true
+
+
+
+define
+org.apache.struts.taglib.bean.DefineTag
+org.apache.struts.taglib.bean.DefineTei
+JSP
+
+id
+true
+false
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+toScope
+false
+true
+
+
+type
+false
+true
+
+
+value
+false
+true
+
+
+
+header
+org.apache.struts.taglib.bean.HeaderTag
+org.apache.struts.taglib.bean.HeaderTei
+empty
+
+id
+true
+false
+
+
+multiple
+false
+true
+
+
+name
+true
+true
+
+
+value
+false
+true
+
+
+
+include
+org.apache.struts.taglib.bean.IncludeTag
+org.apache.struts.taglib.bean.IncludeTei
+empty
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+href
+false
+true
+
+
+id
+true
+false
+
+
+name
+false
+true
+
+
+page
+false
+true
+
+
+transaction
+false
+true
+
+
+
+message
+org.apache.struts.taglib.bean.MessageTag
+empty
+
+arg0
+false
+true
+
+
+arg1
+false
+true
+
+
+arg2
+false
+true
+
+
+arg3
+false
+true
+
+
+arg4
+false
+true
+
+
+bundle
+false
+true
+
+
+key
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+page
+org.apache.struts.taglib.bean.PageTag
+org.apache.struts.taglib.bean.PageTei
+empty
+
+id
+true
+false
+
+
+property
+true
+true
+
+
+
+parameter
+org.apache.struts.taglib.bean.ParameterTag
+org.apache.struts.taglib.bean.ParameterTei
+empty
+
+id
+true
+false
+
+
+multiple
+false
+true
+
+
+name
+true
+true
+
+
+value
+false
+true
+
+
+
+resource
+org.apache.struts.taglib.bean.ResourceTag
+org.apache.struts.taglib.bean.ResourceTei
+empty
+
+id
+true
+false
+
+
+input
+false
+true
+
+
+name
+true
+true
+
+
+
+size
+org.apache.struts.taglib.bean.SizeTag
+org.apache.struts.taglib.bean.SizeTei
+empty
+
+collection
+false
+true
+
+
+id
+true
+false
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+struts
+org.apache.struts.taglib.bean.StrutsTag
+org.apache.struts.taglib.bean.StrutsTei
+empty
+
+id
+true
+false
+
+
+formBean
+false
+true
+
+
+forward
+false
+true
+
+
+mapping
+false
+true
+
+
+
+write
+org.apache.struts.taglib.bean.WriteTag
+empty
+
+bundle
+false
+true
+
+
+filter
+false
+true
+
+
+format
+false
+true
+
+
+formatKey
+false
+true
+
+
+ignore
+false
+true
+
+
+locale
+false
+true
+
+
+name
+true
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-html.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-html.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-html.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,3302 @@
+
+
+
+
+
+
+
+
+
+
+1.2
+1.1
+html
+http://struts.apache.org/tags-html
+
+base
+org.apache.struts.taglib.html.BaseTag
+empty
+
+target
+false
+true
+
+
+server
+false
+true
+
+
+
+button
+org.apache.struts.taglib.html.ButtonTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+cancel
+org.apache.struts.taglib.html.CancelTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+checkbox
+org.apache.struts.taglib.html.CheckboxTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+errors
+org.apache.struts.taglib.html.ErrorsTag
+empty
+
+bundle
+false
+true
+
+
+footer
+false
+true
+
+
+header
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+prefix
+false
+true
+
+
+property
+false
+true
+
+
+suffix
+false
+true
+
+
+
+file
+org.apache.struts.taglib.html.FileTag
+
+accesskey
+false
+true
+
+
+accept
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+size
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+form
+org.apache.struts.taglib.html.FormTag
+JSP
+
+action
+true
+true
+
+
+acceptCharset
+false
+true
+
+
+disabled
+false
+true
+
+
+enctype
+false
+true
+
+
+focus
+false
+true
+
+
+focusIndex
+false
+true
+
+
+method
+false
+true
+
+
+onreset
+false
+true
+
+
+onsubmit
+false
+true
+
+
+readonly
+false
+true
+
+
+scriptLanguage
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+target
+false
+true
+
+
+
+frame
+org.apache.struts.taglib.html.FrameTag
+
+bundle
+false
+true
+
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+frameborder
+false
+true
+
+
+frameName
+false
+true
+
+
+href
+false
+true
+
+
+longdesc
+false
+true
+
+
+marginheight
+false
+true
+
+
+marginwidth
+false
+true
+
+
+name
+false
+true
+
+
+noresize
+false
+true
+
+
+page
+false
+true
+
+
+paramId
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+scrolling
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+transaction
+false
+true
+
+
+
+hidden
+org.apache.struts.taglib.html.HiddenTag
+empty
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+write
+false
+true
+
+
+
+html
+org.apache.struts.taglib.html.HtmlTag
+JSP
+
+lang
+false
+true
+
+
+locale
+false
+true
+
+
+xhtml
+false
+true
+
+
+
+image
+org.apache.struts.taglib.html.ImageTag
+
+accesskey
+false
+true
+
+
+align
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+border
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+locale
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+page
+false
+true
+
+
+pageKey
+false
+true
+
+
+property
+false
+true
+
+
+src
+false
+true
+
+
+srcKey
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+img
+org.apache.struts.taglib.html.ImgTag
+empty
+
+align
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+border
+false
+true
+
+
+bundle
+false
+true
+
+
+contextRelative
+false
+true
+
+
+height
+false
+true
+
+
+hspace
+false
+true
+
+
+imageName
+false
+true
+
+
+ismap
+false
+true
+
+
+locale
+false
+true
+
+
+lowsrc
+false
+true
+
+
+name
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+paramId
+false
+true
+
+
+page
+false
+true
+
+
+pageKey
+false
+true
+
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+src
+false
+true
+
+
+srcKey
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+usemap
+false
+true
+
+
+vspace
+false
+true
+
+
+width
+false
+true
+
+
+
+javascript
+org.apache.struts.taglib.html.JavascriptValidatorTag
+empty
+
+cdata
+false
+true
+
+
+dynamicJavascript
+false
+false
+
+
+formName
+false
+true
+
+
+method
+false
+true
+
+
+page
+false
+true
+
+
+scriptLanguage
+false
+true
+
+
+src
+false
+true
+
+
+staticJavascript
+false
+false
+
+
+htmlComment
+false
+true
+
+
+bundle
+false
+true
+
+
+
+link
+org.apache.struts.taglib.html.LinkTag
+
+accesskey
+false
+true
+
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+href
+false
+true
+
+
+indexed
+false
+true
+
+
+indexId
+false
+true
+
+
+bundle
+false
+true
+
+
+linkName
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+page
+false
+true
+
+
+paramId
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+target
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+transaction
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+
+messages
+org.apache.struts.taglib.html.MessagesTag
+org.apache.struts.taglib.html.MessagesTei
+JSP
+
+id
+true
+false
+
+
+bundle
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+header
+false
+true
+
+
+footer
+false
+true
+
+
+message
+false
+true
+
+
+
+multibox
+org.apache.struts.taglib.html.MultiboxTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+option
+org.apache.struts.taglib.html.OptionTag
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+key
+false
+true
+
+
+locale
+false
+true
+
+
+style
+false
+true
+
+
+styleId
+false
+true
+
+
+styleClass
+false
+true
+
+
+value
+true
+true
+
+
+
+options
+org.apache.struts.taglib.html.OptionsTag
+empty
+
+collection
+false
+true
+
+
+filter
+false
+true
+
+
+labelName
+false
+true
+
+
+labelProperty
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+
+optionsCollection
+org.apache.struts.taglib.html.OptionsCollectionTag
+empty
+
+filter
+false
+true
+
+
+label
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+value
+false
+true
+
+
+
+password
+org.apache.struts.taglib.html.PasswordTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+redisplay
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+size
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+radio
+org.apache.struts.taglib.html.RadioTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+property
+true
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+true
+true
+
+
+idName
+false
+true
+
+
+
+reset
+org.apache.struts.taglib.html.ResetTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+rewrite
+org.apache.struts.taglib.html.RewriteTag
+empty
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+href
+false
+true
+
+
+name
+false
+true
+
+
+page
+false
+true
+
+
+paramId
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+transaction
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+
+select
+org.apache.struts.taglib.html.SelectTag
+JSP
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+multiple
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+size
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+submit
+org.apache.struts.taglib.html.SubmitTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+text
+org.apache.struts.taglib.html.TextTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+size
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+textarea
+org.apache.struts.taglib.html.TextareaTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+cols
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+rows
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+xhtml
+org.apache.struts.taglib.html.XhtmlTag
+empty
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-logic.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-logic.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-logic.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,652 @@
+
+
+
+
+
+
+
+
+
+1.2
+1.1
+logic
+http://struts.apache.org/tags-logic
+
+empty
+org.apache.struts.taglib.logic.EmptyTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+equal
+org.apache.struts.taglib.logic.EqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+forward
+org.apache.struts.taglib.logic.ForwardTag
+empty
+
+name
+true
+true
+
+
+
+greaterEqual
+org.apache.struts.taglib.logic.GreaterEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+greaterThan
+org.apache.struts.taglib.logic.GreaterThanTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+iterate
+org.apache.struts.taglib.logic.IterateTag
+org.apache.struts.taglib.logic.IterateTei
+JSP
+
+collection
+false
+true
+
+
+id
+true
+false
+
+
+indexId
+false
+false
+
+
+length
+false
+true
+
+
+name
+false
+true
+
+
+offset
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+type
+false
+true
+
+
+
+lessEqual
+org.apache.struts.taglib.logic.LessEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+lessThan
+org.apache.struts.taglib.logic.LessThanTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+match
+org.apache.struts.taglib.logic.MatchTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+location
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+messagesNotPresent
+org.apache.struts.taglib.logic.MessagesNotPresentTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+message
+false
+true
+
+
+
+messagesPresent
+org.apache.struts.taglib.logic.MessagesPresentTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+message
+false
+true
+
+
+
+notEmpty
+org.apache.struts.taglib.logic.NotEmptyTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+notEqual
+org.apache.struts.taglib.logic.NotEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+notMatch
+org.apache.struts.taglib.logic.NotMatchTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+location
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+notPresent
+org.apache.struts.taglib.logic.NotPresentTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+role
+false
+true
+
+
+scope
+false
+true
+
+
+user
+false
+true
+
+
+
+present
+org.apache.struts.taglib.logic.PresentTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+role
+false
+true
+
+
+scope
+false
+true
+
+
+user
+false
+true
+
+
+
+redirect
+org.apache.struts.taglib.logic.RedirectTag
+
+action
+false
+true
+
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+href
+false
+true
+
+
+name
+false
+true
+
+
+page
+false
+true
+
+
+paramId
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+transaction
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-nested.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-nested.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-nested.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,3171 @@
+
+
+
+
+
+
+
+
+
+1.2
+1.1
+nested
+http://struts.apache.org/tags-nested
+
+nest
+org.apache.struts.taglib.nested.NestedPropertyTag
+JSP
+
+property
+false
+true
+
+
+
+writeNesting
+org.apache.struts.taglib.nested.NestedWriteNestingTag
+org.apache.struts.taglib.nested.NestedWriteNestingTei
+JSP
+
+property
+false
+true
+
+
+id
+false
+true
+
+
+filter
+false
+true
+
+
+
+root
+org.apache.struts.taglib.nested.NestedRootTag
+JSP
+
+name
+false
+true
+
+
+
+define
+org.apache.struts.taglib.nested.bean.NestedDefineTag
+org.apache.struts.taglib.nested.bean.NestedDefineTei
+empty
+
+id
+true
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+toScope
+false
+true
+
+
+type
+false
+true
+
+
+value
+false
+true
+
+
+
+message
+org.apache.struts.taglib.nested.bean.NestedMessageTag
+empty
+
+arg0
+false
+true
+
+
+arg1
+false
+true
+
+
+arg2
+false
+true
+
+
+arg3
+false
+true
+
+
+arg4
+false
+true
+
+
+bundle
+false
+true
+
+
+key
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+size
+org.apache.struts.taglib.nested.bean.NestedSizeTag
+org.apache.struts.taglib.bean.SizeTei
+empty
+
+collection
+false
+true
+
+
+id
+true
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+write
+org.apache.struts.taglib.nested.bean.NestedWriteTag
+empty
+
+bundle
+false
+true
+
+
+filter
+false
+true
+
+
+format
+false
+true
+
+
+formatKey
+false
+true
+
+
+ignore
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+checkbox
+org.apache.struts.taglib.nested.html.NestedCheckboxTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+errors
+org.apache.struts.taglib.nested.html.NestedErrorsTag
+empty
+
+bundle
+false
+true
+
+
+footer
+false
+true
+
+
+header
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+prefix
+false
+true
+
+
+property
+false
+true
+
+
+suffix
+false
+true
+
+
+
+file
+org.apache.struts.taglib.nested.html.NestedFileTag
+
+accesskey
+false
+true
+
+
+accept
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+size
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+form
+org.apache.struts.taglib.nested.html.NestedFormTag
+JSP
+
+action
+true
+true
+
+
+acceptCharset
+false
+true
+
+
+disabled
+false
+true
+
+
+enctype
+false
+true
+
+
+focus
+false
+true
+
+
+focusIndex
+false
+true
+
+
+method
+false
+true
+
+
+onreset
+false
+true
+
+
+onsubmit
+false
+true
+
+
+readonly
+false
+true
+
+
+scriptLanguage
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+target
+false
+true
+
+
+
+hidden
+org.apache.struts.taglib.nested.html.NestedHiddenTag
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+property
+true
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+value
+false
+true
+
+
+write
+false
+true
+
+
+
+image
+org.apache.struts.taglib.nested.html.NestedImageTag
+
+accesskey
+false
+true
+
+
+align
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+border
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+locale
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+page
+false
+true
+
+
+pageKey
+false
+true
+
+
+property
+false
+true
+
+
+src
+false
+true
+
+
+srcKey
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+img
+org.apache.struts.taglib.nested.html.NestedImgTag
+empty
+
+accesskey
+false
+true
+
+
+align
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+border
+false
+true
+
+
+bundle
+false
+true
+
+
+height
+false
+true
+
+
+hspace
+false
+true
+
+
+imageName
+false
+true
+
+
+ismap
+false
+true
+
+
+locale
+false
+true
+
+
+lowsrc
+false
+true
+
+
+name
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+paramId
+false
+true
+
+
+page
+false
+true
+
+
+pageKey
+false
+true
+
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+src
+false
+true
+
+
+srcKey
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+usemap
+false
+true
+
+
+vspace
+false
+true
+
+
+width
+false
+true
+
+
+
+link
+org.apache.struts.taglib.nested.html.NestedLinkTag
+
+accesskey
+false
+true
+
+
+action
+false
+true
+
+
+module
+false
+true
+
+
+anchor
+false
+true
+
+
+forward
+false
+true
+
+
+href
+false
+true
+
+
+indexed
+false
+true
+
+
+indexId
+false
+true
+
+
+bundle
+false
+true
+
+
+linkName
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+page
+false
+true
+
+
+paramId
+false
+true
+
+
+paramName
+false
+true
+
+
+paramProperty
+false
+true
+
+
+paramScope
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+target
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+transaction
+false
+true
+
+
+useLocalEncoding
+false
+true
+
+
+
+messages
+org.apache.struts.taglib.nested.html.NestedMessagesTag
+org.apache.struts.taglib.html.MessagesTei
+JSP
+
+id
+true
+true
+
+
+bundle
+false
+true
+
+
+locale
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+header
+false
+true
+
+
+footer
+false
+true
+
+
+message
+false
+true
+
+
+
+multibox
+org.apache.struts.taglib.nested.html.NestedMultiboxTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+options
+org.apache.struts.taglib.nested.html.NestedOptionsTag
+empty
+
+collection
+false
+true
+
+
+filter
+false
+true
+
+
+labelName
+false
+true
+
+
+labelProperty
+false
+true
+
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+
+optionsCollection
+org.apache.struts.taglib.nested.html.NestedOptionsCollectionTag
+empty
+
+filter
+false
+true
+
+
+label
+false
+true
+
+
+name
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+value
+false
+true
+
+
+
+password
+org.apache.struts.taglib.nested.html.NestedPasswordTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+redisplay
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+size
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+radio
+org.apache.struts.taglib.nested.html.NestedRadioTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+property
+true
+true
+
+
+onmousedown
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+true
+true
+
+
+idName
+false
+true
+
+
+
+select
+org.apache.struts.taglib.nested.html.NestedSelectTag
+JSP
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+multiple
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+size
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+submit
+org.apache.struts.taglib.nested.html.NestedSubmitTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+indexed
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+text
+org.apache.struts.taglib.nested.html.NestedTextTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+maxlength
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+size
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+textarea
+org.apache.struts.taglib.nested.html.NestedTextareaTag
+
+accesskey
+false
+true
+
+
+alt
+false
+true
+
+
+altKey
+false
+true
+
+
+bundle
+false
+true
+
+
+cols
+false
+true
+
+
+disabled
+false
+true
+
+
+errorKey
+false
+true
+
+
+errorStyle
+false
+true
+
+
+errorStyleClass
+false
+true
+
+
+errorStyleId
+false
+true
+
+
+indexed
+false
+true
+
+
+name
+false
+true
+
+
+onblur
+false
+true
+
+
+onchange
+false
+true
+
+
+onclick
+false
+true
+
+
+ondblclick
+false
+true
+
+
+onfocus
+false
+true
+
+
+onkeydown
+false
+true
+
+
+onkeypress
+false
+true
+
+
+onkeyup
+false
+true
+
+
+onmousedown
+false
+true
+
+
+onmousemove
+false
+true
+
+
+onmouseout
+false
+true
+
+
+onmouseover
+false
+true
+
+
+onmouseup
+false
+true
+
+
+property
+true
+true
+
+
+readonly
+false
+true
+
+
+rows
+false
+true
+
+
+style
+false
+true
+
+
+styleClass
+false
+true
+
+
+styleId
+false
+true
+
+
+tabindex
+false
+true
+
+
+title
+false
+true
+
+
+titleKey
+false
+true
+
+
+value
+false
+true
+
+
+
+empty
+org.apache.struts.taglib.nested.logic.NestedEmptyTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+equal
+org.apache.struts.taglib.nested.logic.NestedEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+greaterEqual
+org.apache.struts.taglib.nested.logic.NestedGreaterEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+greaterThan
+org.apache.struts.taglib.nested.logic.NestedGreaterThanTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+iterate
+org.apache.struts.taglib.nested.logic.NestedIterateTag
+org.apache.struts.taglib.nested.logic.NestedIterateTei
+JSP
+
+collection
+false
+true
+
+
+id
+false
+true
+
+
+indexId
+false
+true
+
+
+length
+false
+true
+
+
+name
+false
+true
+
+
+offset
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+type
+false
+true
+
+
+
+lessEqual
+org.apache.struts.taglib.nested.logic.NestedLessEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+lessThan
+org.apache.struts.taglib.nested.logic.NestedLessThanTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+match
+org.apache.struts.taglib.nested.logic.NestedMatchTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+location
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+messagesNotPresent
+org.apache.struts.taglib.nested.logic.NestedMessagesNotPresentTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+message
+false
+true
+
+
+
+messagesPresent
+org.apache.struts.taglib.nested.logic.NestedMessagesPresentTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+message
+false
+true
+
+
+
+notEmpty
+org.apache.struts.taglib.nested.logic.NestedNotEmptyTag
+JSP
+
+name
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+
+notEqual
+org.apache.struts.taglib.nested.logic.NestedNotEqualTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+notMatch
+org.apache.struts.taglib.nested.logic.NestedNotMatchTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+location
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+scope
+false
+true
+
+
+value
+true
+true
+
+
+
+notPresent
+org.apache.struts.taglib.nested.logic.NestedNotPresentTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+role
+false
+true
+
+
+scope
+false
+true
+
+
+user
+false
+true
+
+
+
+present
+org.apache.struts.taglib.nested.logic.NestedPresentTag
+JSP
+
+cookie
+false
+true
+
+
+header
+false
+true
+
+
+name
+false
+true
+
+
+parameter
+false
+true
+
+
+property
+false
+true
+
+
+role
+false
+true
+
+
+scope
+false
+true
+
+
+user
+false
+true
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-tiles.tld
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-tiles.tld,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/WEB-INF/struts/tlds/struts-tiles.tld 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
+
+1.2
+1.1
+tiles
+http://struts.apache.org/tags-tiles
+
+insert
+org.apache.struts.taglib.tiles.InsertTag
+JSP
+
+template
+false
+true
+
+
+component
+false
+true
+
+
+page
+false
+true
+
+
+definition
+false
+true
+
+
+attribute
+false
+false
+
+
+name
+false
+true
+
+
+beanName
+false
+true
+
+
+beanProperty
+false
+true
+
+
+beanScope
+false
+false
+
+
+flush
+false
+false
+
+
+ignore
+false
+true
+
+
+role
+false
+true
+
+
+controllerUrl
+false
+true
+
+
+controllerClass
+false
+true
+
+
+
+definition
+org.apache.struts.taglib.tiles.DefinitionTag
+JSP
+
+id
+true
+false
+
+
+scope
+false
+false
+
+
+template
+false
+true
+
+
+page
+false
+true
+
+
+role
+false
+true
+
+
+extends
+false
+true
+
+
+
+put
+org.apache.struts.taglib.tiles.PutTag
+JSP
+
+name
+false
+false
+
+
+value
+false
+true
+
+
+content
+false
+true
+
+
+direct
+false
+false
+
+
+type
+false
+false
+
+
+beanName
+false
+true
+
+
+beanProperty
+false
+true
+
+
+beanScope
+false
+false
+
+
+role
+false
+true
+
+
+
+putList
+org.apache.struts.taglib.tiles.PutListTag
+JSP
+
+name
+true
+false
+
+
+
+add
+org.apache.struts.taglib.tiles.AddTag
+JSP
+
+value
+false
+false
+
+
+content
+false
+true
+
+
+direct
+false
+false
+
+
+type
+false
+false
+
+
+beanName
+false
+true
+
+
+beanProperty
+false
+true
+
+
+beanScope
+false
+false
+
+
+role
+false
+true
+
+
+
+get
+org.apache.struts.taglib.tiles.GetTag
+empty
+
+name
+true
+true
+
+
+ignore
+false
+true
+
+
+flush
+false
+false
+
+
+role
+false
+true
+
+
+
+getAsString
+org.apache.struts.taglib.tiles.GetAttributeTag
+empty
+
+name
+true
+true
+
+
+ignore
+false
+true
+
+
+role
+false
+true
+
+
+
+useAttribute
+org.apache.struts.taglib.tiles.UseAttributeTag
+org.apache.struts.taglib.tiles.UseAttributeTei
+empty
+
+id
+false
+false
+
+
+classname
+false
+false
+
+
+scope
+false
+false
+
+
+name
+true
+true
+
+
+ignore
+false
+true
+
+
+
+importAttribute
+org.apache.struts.taglib.tiles.ImportAttributeTag
+empty
+
+name
+false
+true
+
+
+scope
+false
+false
+
+
+ignore
+false
+true
+
+
+
+initComponentDefinitions
+org.apache.struts.taglib.tiles.InitDefinitionsTag
+empty
+
+file
+true
+false
+
+
+classname
+false
+false
+
+
+
+
+
+
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/common/empty.jsp
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/common/empty.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/common/empty.jsp 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1 @@
\ No newline at end of file
Index: tool_adapters/dotlrn/lams_tool_dlforum/web/common/footer.jsp
===================================================================
RCS file: /usr/local/cvsroot/tool_adapters/dotlrn/lams_tool_dlforum/web/common/footer.jsp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tool_adapters/dotlrn/lams_tool_dlforum/web/common/footer.jsp 18 Aug 2008 04:05:23 -0000 1.1
@@ -0,0 +1 @@
+
Copyright (C) 2006 LAMS Foundation (http://lamsfoundation.org