Index: lams_tool_dimdim/.classpath =================================================================== diff -u --- lams_tool_dimdim/.classpath (revision 0) +++ lams_tool_dimdim/.classpath (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,12 @@ + + + + + + + + + + + + Index: lams_tool_dimdim/.cvsignore =================================================================== diff -u --- lams_tool_dimdim/.cvsignore (revision 0) +++ lams_tool_dimdim/.cvsignore (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ +build +.myeclipse +.mymetadata Index: lams_tool_dimdim/.myumldata =================================================================== diff -u --- lams_tool_dimdim/.myumldata (revision 0) +++ lams_tool_dimdim/.myumldata (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,2 @@ +#Mon Jul 17 14:17:56 EST 2006 +CodeGenContainer=java.util.Vector Index: lams_tool_dimdim/.project =================================================================== diff -u --- lams_tool_dimdim/.project (revision 0) +++ lams_tool_dimdim/.project (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,49 @@ + + + lams_tool_dimdim + + + + + + com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator + + + + + com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator + + + + + com.ibm.etools.validation.validationbuilder + + + + + com.ibm.sse.model.structuredbuilder + + + + + com.genuitec.eclipse.hibernate.HibernateBuilder + + + + + + com.genuitec.eclipse.hibernate.hibernatenature + com.genuitec.eclipse.j2eedt.core.webnature + org.eclipse.jdt.core.javanature + + Index: lams_tool_dimdim/.settings/com.genuitec.eclipse.j2eedt.core.prefs =================================================================== diff -u --- lams_tool_dimdim/.settings/com.genuitec.eclipse.j2eedt.core.prefs (revision 0) +++ lams_tool_dimdim/.settings/com.genuitec.eclipse.j2eedt.core.prefs (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ +#Fri Jun 02 15:55:47 EST 2006 +defaultTldInfo=http\://java.sun.com/jsp/jstl/core\=c;http\://java.sun.com/jsp/jstl/sql\=sql;html\=http\://struts.apache.org/tags-html;c\=http\://java.sun.com/jsp/jstl/core;fmt\=http\://java.sun.com/jsp/jstl/fmt;h\=http\://java.sun.com/jsf/html;nested\=http\://struts.apache.org/tags-nested;http\://struts.apache.org/tags-html\=html;http\://java.sun.com/jsp/jstl/fmt\=fmt;bean\=http\://struts.apache.org/tags-bean;http\://java.sun.com/jsp/jstl/functions\=fn;fn\=http\://java.sun.com/jsp/jstl/functions;logic\=http\://struts.apache.org/tags-logic;http\://struts.apache.org/tags-nested\=nested;http\://java.sun.com/jsp/jstl/xml\=x;f\=http\://java.sun.com/jsf/core;tiles\=http\://struts.apache.org/tags-tiles;http\://java.sun.com/jsf/html\=h;http\://struts.apache.org/tags-tiles\=tiles;http\://java.sun.com/jsf/core\=f;http\://struts.apache.org/tags-bean\=bean;x\=http\://java.sun.com/jsp/jstl/xml;sql\=http\://java.sun.com/jsp/jstl/sql;http\://struts.apache.org/tags-logic\=logic +eclipse.preferences.version=1 Index: lams_tool_dimdim/.settings/org.eclipse.core.resources.prefs =================================================================== diff -u --- lams_tool_dimdim/.settings/org.eclipse.core.resources.prefs (revision 0) +++ lams_tool_dimdim/.settings/org.eclipse.core.resources.prefs (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,4 @@ +#Wed Mar 22 11:10:51 EST 2006 +eclipse.preferences.version=1 +encoding//conf/xdoclet/web-settings.xml=UTF-8 +encoding//web/WEB-INF/web.xml=UTF-8 Index: lams_tool_dimdim/.settings/org.eclipse.jdt.core.prefs =================================================================== diff -u --- lams_tool_dimdim/.settings/org.eclipse.jdt.core.prefs (revision 0) +++ lams_tool_dimdim/.settings/org.eclipse.jdt.core.prefs (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,12 @@ +#Thu Jul 20 11:06:01 EST 2006 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 Index: lams_tool_dimdim/.settings/org.eclipse.jdt.ui.prefs =================================================================== diff -u --- lams_tool_dimdim/.settings/org.eclipse.jdt.ui.prefs (revision 0) +++ lams_tool_dimdim/.settings/org.eclipse.jdt.ui.prefs (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ +#Thu Mar 23 13:45:11 EST 2006 +eclipse.preferences.version=1 +internal.default.compliance=default Index: lams_tool_dimdim/build.properties =================================================================== diff -u --- lams_tool_dimdim/build.properties (revision 0) +++ lams_tool_dimdim/build.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,20 @@ + +# project-wide properties +signature=laddim10 + +#project version +tool.version=20080811 + +package=org/lamsfoundation/lams/tool/dimdim +package.name=org.lamsfoundation.lams.tool.dimdim +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.dimdim + Index: lams_tool_dimdim/build.xml =================================================================== diff -u --- lams_tool_dimdim/build.xml (revision 0) +++ lams_tool_dimdim/build.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,501 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deploying the Dimdim Tool + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/conf/hibernate/mappings/hibernate.properties =================================================================== diff -u --- lams_tool_dimdim/conf/hibernate/mappings/hibernate.properties (revision 0) +++ lams_tool_dimdim/conf/hibernate/mappings/hibernate.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.hbm.xml =================================================================== diff -u --- lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.hbm.xml (revision 0) +++ lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.hbm.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.hbm.xml =================================================================== diff -u --- lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.hbm.xml (revision 0) +++ lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.hbm.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.hbm.xml =================================================================== diff -u --- lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.hbm.xml (revision 0) +++ lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.hbm.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.hbm.xml =================================================================== diff -u --- lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.hbm.xml (revision 0) +++ lams_tool_dimdim/conf/hibernate/mappings/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.hbm.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/conf/jar/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_dimdim/conf/jar/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_dimdim/conf/jar/META-INF/MANIFEST.MF (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ +Implementation-Title: LAMS - Notebok Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) Index: lams_tool_dimdim/conf/language/ApplicationResources.properties =================================================================== diff -u --- lams_tool_dimdim/conf/language/ApplicationResources.properties (revision 0) +++ lams_tool_dimdim/conf/language/ApplicationResources.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,85 @@ +appName = dimdim +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Fri Aug 11 07:11:53 GMT 2006 + +#=================== labels for Dimdim =================# + +tool.display.name =Dimdim +tool.description =Dimdim Tool +activity.title =Dimdim +activity.description =Dimdim Tool +activity.helptext = Dimdim tool +pageTitle.authoring =Dimdim Authoring +button.basic =Basic +button.advanced =Advanced +button.instructions =Instructions +button.upload =Upload +label.authoring.basic.title =Title: +label.authoring.basic.content =Content: +label.authoring.basic.instructions =Instructions: +advanced.lockOnFinished =Lock when finished +advanced.allowRichEditor =Allow rich text editor +instructions.onlineInstructions =Online Instructions: +instructions.offlineInstructions =Offline Instructions: +instructions.uploadOnlineInstr =Online Instructions File: +instructions.uploadOfflineInstr =Offline Instructions File: +instructions.type.online =Online +instructions.type.offline =Offline +label.filename =Filename +label.type =Type +label.attachments =Attachments +link.view =View +link.download =Download +link.delete =Delete +message.updateSuccess =Changes saved +message.unsavedChanges =Page contains unsaved changes +pageTitle.learning = Dimdim +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 =Dimdim Monitoring +button.summary =Summary +button.editActivity =Edit Activity +button.statistics =Statistics +titleHeading.summary =Summary +titleHeading.instructions =Instructions +titleHeading.statistics =Statistics +titleHeading.editActivity =Edit Activity +titleHeading.exportPortfolio =Export Portfolio +heading.group =Group {0}: +heading.totalLearners =Number of Learners: +heading.totalLearnersInGroup =Total Number of Learners in Group: +heading.totalFinishedLearnersInGroup =Number of Finished Learners: +message.contentInUseSet =The modification of content is not allowed since one or more students has attempted the activity. +message.summary =There is no summary available for this tool. +label.view =View +label.notAvailable =Not Available +heading.learner =Learner +heading.notebookEntry =Notebook Entry +button.cancel =Cancel +button.ok =OK +button.done =Done +button.save =Save +button.finish =Finish +button.next =Next +label.save =Save +label.cancel =Cancel +label.created =Created +label.lastModified =Last modified +label.notebookEntry =Notebook entry +error.missingParam =Unable to continue. {0} is missing. +error.exceedMaxFileSize =File size exceeded +error.exception.NbApplication =An internal error has occured with the Dimdim Tool. If reporting this error, please report:
{0} +error.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +error.content.locked =The content has been locked since it is being used by one or more learners. The modification of the content is not allowed. +error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity. +errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes +error.mandatoryField ={0} field is mandatory. +error.mark.invalid.number ={0} field must be a valid number. Decimal points are not allowed. +error.mark.invalid.decimal.number ={0} field must be a valid decimal number. +authoring.msg.cancel.save =Do you want to close this window without saving? +button.try.again =Try Again + + +#======= End labels: Exported 74 labels for en AU ===== Index: lams_tool_dimdim/conf/language/lams/ApplicationResources.properties =================================================================== diff -u --- lams_tool_dimdim/conf/language/lams/ApplicationResources.properties (revision 0) +++ lams_tool_dimdim/conf/language/lams/ApplicationResources.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,89 @@ +appName = notebook +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Wed May 21 09:49:20 BST 2008 + +#=================== labels for Notebook =================# + +activity.helptext =Notebook for notes and reflections +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =Dimdim +activity.description =Notebook Tool +pageTitle.authoring =Notebook Authoring +button.basic =Basic +button.advanced =Advanced +button.upload =Upload +label.authoring.basic.title =Title: +label.authoring.basic.content =Content: +advanced.lockOnFinished =Lock when finished +advanced.allowRichEditor =Allow rich text editor +instructions.type.online =Online +instructions.type.offline =Offline +label.filename =Filename +label.type =Type +label.attachments =Attachments +link.view =View +link.download =Download +link.delete =Delete +message.updateSuccess =Changes saved +message.unsavedChanges =Page contains unsaved changes +pageTitle.learning =Online Notebook +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 =Notebook 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 +heading.group =Group {0}: +heading.totalLearners =Number of Learners: +heading.totalLearnersInGroup =Total Number of Learners in Group: +heading.totalFinishedLearnersInGroup =Number of Finished Learners: +message.summary =There is no summary available for this tool. +label.view =View +label.notAvailable =Not Available +heading.learner =Learner +heading.notebookEntry =Notebook Entry +button.cancel =Cancel +button.ok =OK +button.done =Done +button.save =Save +button.next =Next +label.save =Save +label.cancel =Cancel +label.created =Created +label.lastModified =Last modified +label.notebookEntry =Notebook entry +error.missingParam =Unable to continue. {0} is missing. +error.exceedMaxFileSize =File size exceeded +error.exception.NbApplication =An internal error has occured with the Notebook Tool. If reporting this error, please report:
{0} +error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity. +errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes +error.mandatoryField ={0} field is mandatory. +error.mark.invalid.number ={0} field must be a valid number. Decimal points are not allowed. +error.mark.invalid.decimal.number ={0} field must be a valid decimal number. +authoring.msg.cancel.save =Do you want to close this window without saving? +button.try.again =Try Again +message.learner.blank.input =You have not written anything. Are you sure this is correct? +button.finish =Next Activity +message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. +message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Notebook, you won't be able to continue adding notes. +message.activityLocked =The instructor has set this activity not to allow notes after you have finished it. As you are returning to this Notebook, you are able to see your notes but not allowed to add more. +message.contentInUseSet =Modification of content is not allowed since one or more students has attempted the activity. +error.content.locked =The content has been locked since it is being used by one or more learners. The modification of the content is not allowed. +titleHeading.instructions =Instructions +label.authoring.basic.instructions =Instructions: +error.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +button.instructions =Instructions +instructions.uploadOfflineInstr =Offline Instructions File: +instructions.uploadOnlineInstr =Online Instructions File: +instructions.offlineInstructions =Offline Instructions: +instructions.onlineInstructions =Online Instructions: + + +#======= End labels: Exported 78 labels for en AU ===== Index: lams_tool_dimdim/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u --- lams_tool_dimdim/conf/language/lams/ApplicationResources_en_AU.properties (revision 0) +++ lams_tool_dimdim/conf/language/lams/ApplicationResources_en_AU.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,89 @@ +appName = dimdim +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Wed May 21 09:49:20 BST 2008 + +#=================== labels for Notebook =================# + +activity.helptext =Notebook for notes and reflections +tool.display.name = Dimdim +tool.description = Dimdim Tool +activity.title =Dimdim +activity.description = Dimdim Tool +pageTitle.authoring = Dimdim Authoring +button.basic =Basic +button.advanced =Advanced +button.upload =Upload +label.authoring.basic.title =Title: +label.authoring.basic.content =Content: +advanced.lockOnFinished =Lock when finished +advanced.allowRichEditor =Allow rich text editor +instructions.type.online =Online +instructions.type.offline =Offline +label.filename =Filename +label.type =Type +label.attachments =Attachments +link.view =View +link.download =Download +link.delete =Delete +message.updateSuccess =Changes saved +message.unsavedChanges =Page contains unsaved changes +pageTitle.learning = Dimdim +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 = Dimdim 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 +heading.group =Group {0}: +heading.totalLearners =Number of Learners: +heading.totalLearnersInGroup =Total Number of Learners in Group: +heading.totalFinishedLearnersInGroup =Number of Finished Learners: +message.summary =There is no summary available for this tool. +label.view =View +label.notAvailable =Not Available +heading.learner =Learner +heading.notebookEntry = Notebook Entry +button.cancel =Cancel +button.ok =OK +button.done =Done +button.save =Save +button.next =Next +label.save =Save +label.cancel =Cancel +label.created =Created +label.lastModified =Last modified +label.notebookEntry = Notebook entry +error.missingParam =Unable to continue. {0} is missing. +error.exceedMaxFileSize =File size exceeded +error.exception.NbApplication =An internal error has occured with the Dimdim Tool. If reporting this error, please report:
{0} +error.defineLater =Sorry, the activity is not ready yet. Please wait for the teacher to finishing defining the activity. +errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes +error.mandatoryField ={0} field is mandatory. +error.mark.invalid.number ={0} field must be a valid number. Decimal points are not allowed. +error.mark.invalid.decimal.number ={0} field must be a valid decimal number. +authoring.msg.cancel.save =Do you want to close this window without saving? +button.try.again =Try Again +message.learner.blank.input =You have not written anything. Are you sure this is correct? +button.finish =Next Activity +message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. +message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Notebook, you won't be able to continue adding notes. +message.activityLocked =The instructor has set this activity not to allow notes after you have finished it. As you are returning to this Notebook, you are able to see your notes but not allowed to add more. +message.contentInUseSet =Modification of content is not allowed since one or more students has attempted the activity. +error.content.locked =The content has been locked since it is being used by one or more learners. The modification of the content is not allowed. +titleHeading.instructions =Instructions +label.authoring.basic.instructions =Instructions: +error.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +button.instructions =Instructions +instructions.uploadOfflineInstr =Offline Instructions File: +instructions.uploadOnlineInstr =Online Instructions File: +instructions.offlineInstructions =Offline Instructions: +instructions.onlineInstructions =Online Instructions: + + +#======= End labels: Exported 78 labels for en AU ===== Index: lams_tool_dimdim/conf/language/rams/ApplicationResources.properties =================================================================== diff -u --- lams_tool_dimdim/conf/language/rams/ApplicationResources.properties (revision 0) +++ lams_tool_dimdim/conf/language/rams/ApplicationResources.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,88 @@ +appName = notebook +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the RAMS Community by Ernie Ghiglione on Tue Mar 25 15:36:00 EST 2008 + +#=================== labels for Notebook =================# + +appName =notebook +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =Dimdim +activity.description =Notebook Tool +activity.helptext =Notebook for notes and reflections +pageTitle.authoring =Notebook Authoring +button.basic =Basic +button.advanced =Advanced +button.instructions =Instructions +button.upload =Upload +label.authoring.basic.title =Title: +label.authoring.basic.content =Content: +label.authoring.basic.instructions =Instructions: +advanced.lockOnFinished =Lock when finished +advanced.allowRichEditor =Allow rich text editor +instructions.onlineInstructions =Online Instructions: +instructions.offlineInstructions =Offline Instructions: +instructions.uploadOnlineInstr =Online Instructions File: +instructions.uploadOfflineInstr =Offline Instructions File: +instructions.type.online =Online +instructions.type.offline =Offline +label.filename =Filename +label.type =Type +label.attachments =Attachments +link.view =View +link.download =Download +link.delete =Delete +message.updateSuccess =Changes saved +message.unsavedChanges =Page contains unsaved changes +pageTitle.learning =Online Notebook +message.defineLaterSet =Please wait for the researcher 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 =Notebook Monitoring +button.summary =Summary +button.editActivity =Edit Activity +button.statistics =Statistics +titleHeading.summary =Summary +titleHeading.instructions =Instructions +titleHeading.statistics =Statistics +titleHeading.editActivity =Edit Activity +titleHeading.exportPortfolio =Export Portfolio +heading.group =Group {0}: +heading.totalLearners =Number of Participants: +heading.totalLearnersInGroup =Total Number of Participants in Group: +heading.totalFinishedLearnersInGroup =Number of Finished Participants: +message.contentInUseSet =The modification of content is not allowed since one or more participants has attempted the activity. +message.summary =There is no summary available for this tool. +label.view =View +label.notAvailable =Not Available +heading.learner =Participant +heading.notebookEntry =Notebook Entry +button.cancel =Cancel +button.ok =OK +button.done =Done +button.save =Save +button.finish =Finish +button.next =Next +label.save =Save +label.cancel =Cancel +label.created =Created +label.lastModified =Last modified +label.notebookEntry =Notebook entry +error.missingParam =Unable to continue. {0} is missing. +error.exceedMaxFileSize =File size exceeded +error.exception.NbApplication =An internal error has occured with the Notebook Tool. If reporting this error, please report:
{0} +error.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +error.content.locked =The content has been locked since it is being used by one or more participants. The modification of the content is not allowed. +error.defineLater =Sorry, the activity is not ready yet. Please wait for the researcher to finishing defining the activity. +errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes +error.mandatoryField ={0} field is mandatory. +error.mark.invalid.number ={0} field must be a valid number. Decimal points are not allowed. +error.mark.invalid.decimal.number ={0} field must be a valid decimal number. +authoring.msg.cancel.save =Do you want to close this window without saving? +button.try.again =Try Again +message.learner.blank.input =You have not written anything. Are you sure this is correct? +message.alertContentEdit =Warning: One of more participants have accessed this activity. Changing this content will result in students getting different information. + + +#======= End labels: Exported 77 labels for en AU ===== Index: lams_tool_dimdim/conf/language/rams/ApplicationResources_en_AU.properties =================================================================== diff -u --- lams_tool_dimdim/conf/language/rams/ApplicationResources_en_AU.properties (revision 0) +++ lams_tool_dimdim/conf/language/rams/ApplicationResources_en_AU.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,88 @@ +appName = notebook +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the RAMS Community by Ernie Ghiglione on Tue Mar 25 15:36:00 EST 2008 + +#=================== labels for Notebook =================# + +appName =notebook +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =Dimdim +activity.description =Notebook Tool +activity.helptext =Notebook for notes and reflections +pageTitle.authoring =Notebook Authoring +button.basic =Basic +button.advanced =Advanced +button.instructions =Instructions +button.upload =Upload +label.authoring.basic.title =Title: +label.authoring.basic.content =Content: +label.authoring.basic.instructions =Instructions: +advanced.lockOnFinished =Lock when finished +advanced.allowRichEditor =Allow rich text editor +instructions.onlineInstructions =Online Instructions: +instructions.offlineInstructions =Offline Instructions: +instructions.uploadOnlineInstr =Online Instructions File: +instructions.uploadOfflineInstr =Offline Instructions File: +instructions.type.online =Online +instructions.type.offline =Offline +label.filename =Filename +label.type =Type +label.attachments =Attachments +link.view =View +link.download =Download +link.delete =Delete +message.updateSuccess =Changes saved +message.unsavedChanges =Page contains unsaved changes +pageTitle.learning =Online Notebook +message.defineLaterSet =Please wait for the researcher 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 =Notebook Monitoring +button.summary =Summary +button.editActivity =Edit Activity +button.statistics =Statistics +titleHeading.summary =Summary +titleHeading.instructions =Instructions +titleHeading.statistics =Statistics +titleHeading.editActivity =Edit Activity +titleHeading.exportPortfolio =Export Portfolio +heading.group =Group {0}: +heading.totalLearners =Number of Participants: +heading.totalLearnersInGroup =Total Number of Participants in Group: +heading.totalFinishedLearnersInGroup =Number of Finished Participants: +message.contentInUseSet =The modification of content is not allowed since one or more participants has attempted the activity. +message.summary =There is no summary available for this tool. +label.view =View +label.notAvailable =Not Available +heading.learner =Participant +heading.notebookEntry =Notebook Entry +button.cancel =Cancel +button.ok =OK +button.done =Done +button.save =Save +button.finish =Finish +button.next =Next +label.save =Save +label.cancel =Cancel +label.created =Created +label.lastModified =Last modified +label.notebookEntry =Notebook entry +error.missingParam =Unable to continue. {0} is missing. +error.exceedMaxFileSize =File size exceeded +error.exception.NbApplication =An internal error has occured with the Notebook Tool. If reporting this error, please report:
{0} +error.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +error.content.locked =The content has been locked since it is being used by one or more participants. The modification of the content is not allowed. +error.defineLater =Sorry, the activity is not ready yet. Please wait for the researcher to finishing defining the activity. +errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes +error.mandatoryField ={0} field is mandatory. +error.mark.invalid.number ={0} field must be a valid number. Decimal points are not allowed. +error.mark.invalid.decimal.number ={0} field must be a valid decimal number. +authoring.msg.cancel.save =Do you want to close this window without saving? +button.try.again =Try Again +message.learner.blank.input =You have not written anything. Are you sure this is correct? +message.alertContentEdit =Warning: One of more participants have accessed this activity. Changing this content will result in students getting different information. + + +#======= End labels: Exported 77 labels for en AU ===== Index: lams_tool_dimdim/conf/middlegen/lams_tool_ladimdim11-prefs.properties =================================================================== diff -u --- lams_tool_dimdim/conf/middlegen/lams_tool_ladimdim11-prefs.properties (revision 0) +++ lams_tool_dimdim/conf/middlegen/lams_tool_ladimdim11-prefs.properties (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,128 @@ +# Middlegen Preferences +hibernate.tables.tl_laddim10_attachment.base-class-name=DimdimAttachment +hibernate.tables.tl_laddim10_attachment.columns.create_date.columnspecialty=property +hibernate.tables.tl_laddim10_attachment.columns.create_date.java-name=createDate +hibernate.tables.tl_laddim10_attachment.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_laddim10_attachment.columns.dimdim_uid.columnspecialty=foreign key +hibernate.tables.tl_laddim10_attachment.columns.dimdim_uid.java-name=dimdimUid +hibernate.tables.tl_laddim10_attachment.columns.dimdim_uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_attachment.columns.file_name.inctostring=true +hibernate.tables.tl_laddim10_attachment.columns.file_name.java-name=fileName +hibernate.tables.tl_laddim10_attachment.columns.file_name.java-type=java.lang.String +hibernate.tables.tl_laddim10_attachment.columns.file_type.java-name=fileType +hibernate.tables.tl_laddim10_attachment.columns.file_type.java-type=java.lang.String +hibernate.tables.tl_laddim10_attachment.columns.file_uuid.columnspecialty=property +hibernate.tables.tl_laddim10_attachment.columns.file_uuid.incequals=false +hibernate.tables.tl_laddim10_attachment.columns.file_uuid.inctostring=true +hibernate.tables.tl_laddim10_attachment.columns.file_uuid.java-name=fileUuid +hibernate.tables.tl_laddim10_attachment.columns.file_uuid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_attachment.columns.file_version_id.inctostring=true +hibernate.tables.tl_laddim10_attachment.columns.file_version_id.java-name=fileVersionId +hibernate.tables.tl_laddim10_attachment.columns.file_version_id.java-type=java.lang.Long +hibernate.tables.tl_laddim10_attachment.columns.uid.columnspecialty=key +hibernate.tables.tl_laddim10_attachment.columns.uid.incequals=true +hibernate.tables.tl_laddim10_attachment.columns.uid.inctostring=true +hibernate.tables.tl_laddim10_attachment.columns.uid.java-name=uid +hibernate.tables.tl_laddim10_attachment.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_attachment.equalshashcode=true +hibernate.tables.tl_laddim10_attachment.keygenerator=native +hibernate.tables.tl_laddim10_dimdim.base-class-name=Dimdim +hibernate.tables.tl_laddim10_dimdim.columns.content_in_use.java-name=contentInUse +hibernate.tables.tl_laddim10_dimdim.columns.content_in_use.java-type=java.lang.Boolean +hibernate.tables.tl_laddim10_dimdim.columns.create_by.java-name=createBy +hibernate.tables.tl_laddim10_dimdim.columns.create_by.java-type=java.lang.Long +hibernate.tables.tl_laddim10_dimdim.columns.create_date.java-name=createDate +hibernate.tables.tl_laddim10_dimdim.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_laddim10_dimdim.columns.define_later.java-name=defineLater +hibernate.tables.tl_laddim10_dimdim.columns.define_later.java-type=java.lang.Boolean +hibernate.tables.tl_laddim10_dimdim.columns.instructions.inctostring=true +hibernate.tables.tl_laddim10_dimdim.columns.instructions.java-name=instructions +hibernate.tables.tl_laddim10_dimdim.columns.instructions.java-type=java.lang.String +hibernate.tables.tl_laddim10_dimdim.columns.lock_on_finished.java-name=lockOnFinished +hibernate.tables.tl_laddim10_dimdim.columns.lock_on_finished.java-type=java.lang.Boolean +hibernate.tables.tl_laddim10_dimdim.columns.offline_instructions.java-name=offlineInstructions +hibernate.tables.tl_laddim10_dimdim.columns.offline_instructions.java-type=java.lang.String +hibernate.tables.tl_laddim10_dimdim.columns.online_instructions.java-name=onlineInstructions +hibernate.tables.tl_laddim10_dimdim.columns.online_instructions.java-type=java.lang.String +hibernate.tables.tl_laddim10_dimdim.columns.run_offline.java-name=runOffline +hibernate.tables.tl_laddim10_dimdim.columns.run_offline.java-type=java.lang.Boolean +hibernate.tables.tl_laddim10_dimdim.columns.title.inctostring=true +hibernate.tables.tl_laddim10_dimdim.columns.title.java-name=title +hibernate.tables.tl_laddim10_dimdim.columns.title.java-type=java.lang.String +hibernate.tables.tl_laddim10_dimdim.columns.tool_content_id.inctostring=true +hibernate.tables.tl_laddim10_dimdim.columns.tool_content_id.java-name=toolContentId +hibernate.tables.tl_laddim10_dimdim.columns.tool_content_id.java-type=java.lang.Long +hibernate.tables.tl_laddim10_dimdim.columns.uid.columnspecialty=key +hibernate.tables.tl_laddim10_dimdim.columns.uid.incequals=true +hibernate.tables.tl_laddim10_dimdim.columns.uid.inctostring=true +hibernate.tables.tl_laddim10_dimdim.columns.uid.java-name=uid +hibernate.tables.tl_laddim10_dimdim.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_dimdim.columns.update_date.java-name=updateDate +hibernate.tables.tl_laddim10_dimdim.columns.update_date.java-type=java.sql.Timestamp +hibernate.tables.tl_laddim10_dimdim.dynamicInsert=false +hibernate.tables.tl_laddim10_dimdim.equalshashcode=true +hibernate.tables.tl_laddim10_dimdim.keygenerator=native +hibernate.tables.tl_laddim10_session.base-class-name=DimdimSession +hibernate.tables.tl_laddim10_session.columns.dimdim_uid.java-name=dimdimUid +hibernate.tables.tl_laddim10_session.columns.dimdim_uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_session.columns.session_end_date.inctostring=true +hibernate.tables.tl_laddim10_session.columns.session_end_date.java-name=sessionEndDate +hibernate.tables.tl_laddim10_session.columns.session_end_date.java-type=java.sql.Timestamp +hibernate.tables.tl_laddim10_session.columns.session_id.inctostring=true +hibernate.tables.tl_laddim10_session.columns.session_id.java-name=sessionId +hibernate.tables.tl_laddim10_session.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_laddim10_session.columns.session_name.inctostring=true +hibernate.tables.tl_laddim10_session.columns.session_name.java-name=sessionName +hibernate.tables.tl_laddim10_session.columns.session_name.java-type=java.lang.String +hibernate.tables.tl_laddim10_session.columns.session_start_date.inctostring=true +hibernate.tables.tl_laddim10_session.columns.session_start_date.java-name=sessionStartDate +hibernate.tables.tl_laddim10_session.columns.session_start_date.java-type=java.sql.Timestamp +hibernate.tables.tl_laddim10_session.columns.status.inctostring=true +hibernate.tables.tl_laddim10_session.columns.status.java-name=status +hibernate.tables.tl_laddim10_session.columns.status.java-type=java.lang.Integer +hibernate.tables.tl_laddim10_session.columns.uid.columnspecialty=key +hibernate.tables.tl_laddim10_session.columns.uid.incequals=true +hibernate.tables.tl_laddim10_session.columns.uid.inctostring=true +hibernate.tables.tl_laddim10_session.columns.uid.java-name=uid +hibernate.tables.tl_laddim10_session.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_session.equalshashcode=true +hibernate.tables.tl_laddim10_session.keygenerator=native +hibernate.tables.tl_laddim10_user.base-class-name=DimdimUser +hibernate.tables.tl_laddim10_user.columns.first_name.java-name=firstName +hibernate.tables.tl_laddim10_user.columns.first_name.java-type=java.lang.String +hibernate.tables.tl_laddim10_user.columns.last_name.columnspecialty=property +hibernate.tables.tl_laddim10_user.columns.last_name.java-name=lastName +hibernate.tables.tl_laddim10_user.columns.last_name.java-type=java.lang.String +hibernate.tables.tl_laddim10_user.columns.session_id.inctostring=true +hibernate.tables.tl_laddim10_user.columns.session_id.java-name=sessionId +hibernate.tables.tl_laddim10_user.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_laddim10_user.columns.uid.columnspecialty=key +hibernate.tables.tl_laddim10_user.columns.uid.incequals=true +hibernate.tables.tl_laddim10_user.columns.uid.inctostring=true +hibernate.tables.tl_laddim10_user.columns.uid.java-name=uid +hibernate.tables.tl_laddim10_user.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_laddim10_user.columns.user_id.inctostring=true +hibernate.tables.tl_laddim10_user.columns.user_id.java-name=userId +hibernate.tables.tl_laddim10_user.columns.user_id.java-type=java.lang.Long +hibernate.tables.tl_laddim10_user.equalshashcode=true +hibernate.tables.tl_laddim10_user.keygenerator=sequence +relations.tl_laddim10_dimdim-tl_laddim10_attachment.tl_laddim10_attachment-has-tl_laddim10_dimdim.enabled=true +relations.tl_laddim10_dimdim-tl_laddim10_attachment.tl_laddim10_attachment-has-tl_laddim10_dimdim.target-many=false +relations.tl_laddim10_dimdim-tl_laddim10_attachment.tl_laddim10_dimdim-has-tl_laddim10_attachment.enabled=true +relations.tl_laddim10_dimdim-tl_laddim10_attachment.tl_laddim10_dimdim-has-tl_laddim10_attachment.target-many=true +relations.tl_laddim10_dimdim-tl_laddim10_session.tl_laddim10_dimdim-has-tl_laddim10_session.enabled=true +relations.tl_laddim10_dimdim-tl_laddim10_session.tl_laddim10_dimdim-has-tl_laddim10_session.target-many=true +relations.tl_laddim10_dimdim-tl_laddim10_session.tl_laddim10_session-has-tl_laddim10_dimdim.enabled=true +relations.tl_laddim10_dimdim-tl_laddim10_session.tl_laddim10_session-has-tl_laddim10_dimdim.target-many=false +relations.tl_laddim10_session-tl_laddim10_user.tl_laddim10_session-has-tl_laddim10_user.enabled=true +relations.tl_laddim10_session-tl_laddim10_user.tl_laddim10_session-has-tl_laddim10_user.target-many=true +relations.tl_laddim10_session-tl_laddim10_user.tl_laddim10_user-has-tl_laddim10_session.enabled=true +relations.tl_laddim10_session-tl_laddim10_user.tl_laddim10_user-has-tl_laddim10_session.target-many=false +tables.tl_laddim10_attachment.x=566 +tables.tl_laddim10_attachment.y=173 +tables.tl_laddim10_dimdim.x=308 +tables.tl_laddim10_dimdim.y=176 +tables.tl_laddim10_session.x=70 +tables.tl_laddim10_session.y=70 +tables.tl_laddim10_user.x=460 +tables.tl_laddim10_user.y=28 Index: lams_tool_dimdim/conf/war/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_dimdim/conf/war/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_dimdim/conf/war/META-INF/MANIFEST.MF (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,4 @@ +Implementation-Title: LAMS - Dimdim Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: ./lams.jar ./lams-tool-laddim10.jar ./lams-contentrepository.jar ./lams-learning.jar Index: lams_tool_dimdim/conf/xdoclet/error-pages.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/error-pages.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/error-pages.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,13 @@ + + 500 + /error.jsp + + + 403 + /403.jsp + + + 404 + /404.jsp + + Index: lams_tool_dimdim/conf/xdoclet/filter-mappings.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/filter-mappings.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/filter-mappings.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,14 @@ + + SystemSessionFilter + /* + + + + hibernateFilter + /* + + + + LocaleFilter + /* + Index: lams_tool_dimdim/conf/xdoclet/filters.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/filters.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/filters.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,24 @@ + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + dimdimSessionFactory + + + + + LocaleFilter + + org.lamsfoundation.lams.web.filter.LocaleFilter + + Index: lams_tool_dimdim/conf/xdoclet/global-forwards.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/global-forwards.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/global-forwards.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ + + + Index: lams_tool_dimdim/conf/xdoclet/listeners.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/listeners.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/listeners.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,11 @@ + + + org.springframework.web.context.ContextLoaderListener + + + + + org.lamsfoundation.lams.web.SessionListener + + + Index: lams_tool_dimdim/conf/xdoclet/servlet-mappings.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/servlet-mappings.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/servlet-mappings.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,20 @@ + + action + *.do + + + + + Connector + /fckeditor/editor/filemanager/browser/default/connectors/jsp/connector + + + + download + /download/* + + + + exportPortfolio + /exportPortfolio + Index: lams_tool_dimdim/conf/xdoclet/servlets.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/servlets.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/servlets.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 + dimdimToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.dimdim.web.servlets.ExportServlet + + Index: lams_tool_dimdim/conf/xdoclet/struts-forms.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/struts-forms.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/struts-forms.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1 @@ \ No newline at end of file Index: lams_tool_dimdim/conf/xdoclet/struts-message-resources.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/struts-message-resources.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/struts-message-resources.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1 @@ + Index: lams_tool_dimdim/conf/xdoclet/struts-plugins.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/struts-plugins.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/struts-plugins.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,9 @@ + + + + Index: lams_tool_dimdim/conf/xdoclet/taglibs.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/taglibs.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/taglibs.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/conf/xdoclet/web-security.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/web-security.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/web-security.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/conf/xdoclet/web-settings.xml =================================================================== diff -u --- lams_tool_dimdim/conf/xdoclet/web-settings.xml (revision 0) +++ lams_tool_dimdim/conf/xdoclet/web-settings.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,19 @@ + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.dimdim.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/learning/learningApplicationContext.xml + classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml + classpath:/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml + + + Index: lams_tool_dimdim/db/model/dimdim_tool.clay =================================================================== diff -u --- lams_tool_dimdim/db/model/dimdim_tool.clay (revision 0) +++ lams_tool_dimdim/db/model/dimdim_tool.clay (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
Index: lams_tool_dimdim/db/sql/activity_insert.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/activity_insert.sql (revision 0) +++ lams_tool_dimdim/db/sql/activity_insert.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,80 @@ +-- CVS ID: $Id$ + +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 +, 'Dimdim Tool' +, 'Dimdim 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/laddim10/images/icon_dimdim.swf' +, NULL +, NULL +, NULL +, 'org.lamsfoundation.lams.tool.dimdim.ApplicationResources' +) Index: lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (revision 0) +++ lams_tool_dimdim/db/sql/create_lams_tool_dimdim.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,44 @@ +-- CVS ID: $Id$ + + -- TODO check InnoDB is set + +SET FOREIGN_KEY_CHECKS=0; +drop table if exists tl_laddim10_attachment; +drop table if exists tl_laddim10_dimdim; +drop table if exists tl_laddim10_session; +drop table if exists tl_laddim10_user; +create table tl_laddim10_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, dimdim_uid bigint, primary key (uid)); +create table tl_laddim10_dimdim (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, allow_rich_editor bit, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, max_participants integer, meeting_duration_in_hours integer, allow_video bit, attendee_mikes integer, primary key (uid)); +create table tl_laddim10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), dimdim_uid bigint, primary key (uid)); +create table tl_laddim10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dimdim_session_uid bigint, entry_uid bigint, primary key (uid)); +alter table tl_laddim10_attachment add index FK3525B03D7B14D4B (dimdim_uid), add constraint FK3525B03D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); +alter table tl_laddim10_session add index FKC847CCB6D7B14D4B (dimdim_uid), add constraint FKC847CCB6D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); +alter table tl_laddim10_user add index FK91F0D5AB77EFDAE4 (dimdim_session_uid), add constraint FK91F0D5AB77EFDAE4 foreign key (dimdim_session_uid) references tl_laddim10_session (uid); + +INSERT INTO tl_laddim10_dimdim ( + title, + instructions, + online_instructions, + offline_instructions, + tool_content_id, + run_offline, + lock_on_finished, + content_in_use, + define_later, + allow_rich_editor, + allow_video ) +VALUES( + "Dimdim", + "Instructions", + "", + "", + ${default_content_id}, + 0, + 0, + 0, + 0, + 0, + 0 +); + +SET FOREIGN_KEY_CHECKS=1; Index: lams_tool_dimdim/db/sql/drop_lams_tool_dimdim.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/drop_lams_tool_dimdim.sql (revision 0) +++ lams_tool_dimdim/db/sql/drop_lams_tool_dimdim.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,13 @@ +-- CVS ID: $Id$ + +SET FOREIGN_KEY_CHECKS=0; +DROP TABLE IF EXISTS tl_laddim10_user; +DROP TABLE IF EXISTS tl_laddim10_attachment; +DROP TABLE IF EXISTS tl_laddim10_session; +DROP TABLE IF EXISTS tl_laddim10_dimdim; +SET FOREIGN_KEY_CHECKS=1; + + + + + Index: lams_tool_dimdim/db/sql/library_insert.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/library_insert.sql (revision 0) +++ lams_tool_dimdim/db/sql/library_insert.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,16 @@ +-- CVS ID: $Id$ + +INSERT INTO lams_learning_library +( +description, +title, +valid_flag, +create_date_time +) +VALUES +( +'Dimdim Tool', +'Dimdim', +0, +NOW() +) Index: lams_tool_dimdim/db/sql/table-schema.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/table-schema.sql (revision 0) +++ lams_tool_dimdim/db/sql/table-schema.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,14 @@ +alter table tl_laddim10_attachment drop foreign key FK3525B03D7B14D4B; +alter table tl_laddim10_session drop foreign key FKC847CCB6D7B14D4B; +alter table tl_laddim10_user drop foreign key FK91F0D5AB77EFDAE4; +drop table if exists tl_laddim10_attachment; +drop table if exists tl_laddim10_dimdim; +drop table if exists tl_laddim10_session; +drop table if exists tl_laddim10_user; +create table tl_laddim10_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, dimdim_uid bigint, primary key (uid)); +create table tl_laddim10_dimdim (uid bigint not null auto_increment, create_date datetime, update_date datetime, create_by bigint, title varchar(255), instructions text, run_offline bit, lock_on_finished bit, allow_rich_editor bit, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, max_participants integer, meeting_duration_in_hours integer, allow_video bit, attendee_mikes integer, primary key (uid)); +create table tl_laddim10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), dimdim_uid bigint, primary key (uid)); +create table tl_laddim10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, dimdim_session_uid bigint, entry_uid bigint, primary key (uid)); +alter table tl_laddim10_attachment add index FK3525B03D7B14D4B (dimdim_uid), add constraint FK3525B03D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); +alter table tl_laddim10_session add index FKC847CCB6D7B14D4B (dimdim_uid), add constraint FKC847CCB6D7B14D4B foreign key (dimdim_uid) references tl_laddim10_dimdim (uid); +alter table tl_laddim10_user add index FK91F0D5AB77EFDAE4 (dimdim_session_uid), add constraint FK91F0D5AB77EFDAE4 foreign key (dimdim_session_uid) references tl_laddim10_session (uid); Index: lams_tool_dimdim/db/sql/tool_insert.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/tool_insert.sql (revision 0) +++ lams_tool_dimdim/db/sql/tool_insert.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,64 @@ +-- CVS ID: $Id$ + +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 +) +VALUES +( +'laddim10', +'dimdimService', +'Dimdim', +'Dimdim', +'dimdim', +'@tool_version@', +NULL, +NULL, +0, +2, +1, +'tool/laddim10/learning.do?mode=learner', +'tool/laddim10/learning.do?mode=author', +'tool/laddim10/learning.do?mode=teacher', +'tool/laddim10/authoring.do', +'tool/laddim10/monitoring.do', +'tool/laddim10/authoring.do?mode=teacher', +'tool/laddim10/exportPortfolio?mode=learner', +'tool/laddim10/exportPortfolio?mode=teacher', +'tool/laddim10/contribute.do', +'tool/laddim10/moderate.do', +'http://wiki.lamsfoundation.org/display/lamsdocs/laddim10', +'tool/laddim10/admin.do', +'org.lamsfoundation.lams.tool.dimdim.ApplicationResources', +'lams-tool-laddim10.jar', +'/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml', +NOW(), +NOW() +) Index: lams_tool_dimdim/db/sql/updatescripts/updateTo20070227.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/updatescripts/updateTo20070227.sql (revision 0) +++ lams_tool_dimdim/db/sql/updatescripts/updateTo20070227.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,4 @@ +-- Update the Dimdim tables to 20070227 +-- This is for the LAMS 2.0.1 release. + +UPDATE lams_tool set modified_date_time = now(), classpath_addition = 'lams-tool-laddim10.jar', context_file = '/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml' where tool_signature = 'laddim10'; Index: lams_tool_dimdim/db/sql/updatescripts/updateTo20080229.sql =================================================================== diff -u --- lams_tool_dimdim/db/sql/updatescripts/updateTo20080229.sql (revision 0) +++ lams_tool_dimdim/db/sql/updatescripts/updateTo20080229.sql (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,2 @@ +UPDATE lams_tool SET modified_date_time = NOW() WHERE tool_signature = "laddim10"; +UPDATE lams_tool SET tool_version = "20080229" WHERE tool_signature = "laddim10"; Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimAttachmentDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimAttachmentDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimAttachmentDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the DimdimAttachment objects - interface defining methods + * to be implemented by the Hibernate or other implementation. + */ +public interface IDimdimAttachmentDAO extends IBaseDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the Dimdim objects - interface defining methods to be + * implemented by the Hibernate or other implementation. + */ +public interface IDimdimDAO extends IBaseDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimSessionDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimSessionDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimSessionDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the DimdimSession objects - interface defining methods to + * be implemented by the Hibernate or other implementation. + */ +public interface IDimdimSessionDAO extends IBaseDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimUserDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimUserDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/IDimdimUserDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,42 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; + +/** + * DAO for accessing the DimdimUser objects - interface defining methods to be + * implemented by the Hibernate or other implementation. + */ +public interface IDimdimUserDAO extends IBaseDAO { + /** + * + * @param userId + * @param toolSessionId + * @return + */ + DimdimUser getByUserIdAndSessionId(Long userId, Long toolSessionId); +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimAttachmentDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimAttachmentDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimAttachmentDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimAttachmentDAO; + +/** + * DAO for accessing the DimdimAttachment objects - Hibernate specific code. + */ +public class DimdimAttachmentDAO extends BaseDAO implements + IDimdimAttachmentDAO { +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimDAO; + +/** + * DAO for accessing the Dimdim objects - Hibernate specific code. + */ +public class DimdimDAO extends BaseDAO implements IDimdimDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimSessionDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimSessionDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimSessionDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,35 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimSessionDAO; + +/** + * DAO for accessing the DimdimSession objects - Hibernate specific code. + */ +public class DimdimSessionDAO extends BaseDAO implements IDimdimSessionDAO { + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimUserDAO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimUserDAO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dao/hibernate/DimdimUserDAO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,46 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimUserDAO; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; + +/** + * DAO for accessing the DimdimUser objects - Hibernate specific code. + */ +public class DimdimUserDAO extends BaseDAO implements IDimdimUserDAO { + + private static final String FIND_BY_USER_ID_SESSION_ID = "from " + + DimdimUser.class.getName() + + " as dimdimUser where dimdimUser.userId=:userId and dimdimUser.dimdimSession.sessionId=:sessionId"; + + public DimdimUser getByUserIdAndSessionId(Long userId, Long toolSessionId) { + return (DimdimUser) getSession() + .createQuery(FIND_BY_USER_ID_SESSION_ID).setLong("userId", + userId).setLong("sessionId", toolSessionId) + .uniqueResult(); + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + org/lamsfoundation/lams/tool/dimdim/model/Dimdim.hbm.xml + org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.hbm.xml + org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.hbm.xml + org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/AttachmentDTO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/AttachmentDTO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/AttachmentDTO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.dto; + +import java.util.Date; + +import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; + +public class AttachmentDTO implements Comparable { + + public AttachmentDTO(DimdimAttachment att) { + this.fileUuid = att.getFileUuid(); + this.fileName = att.getFileName(); + this.fileVersionId = att.getFileVersionId(); + this.createDate = att.getCreateDate(); + this.uid = att.getUid(); + } + + Long uid; + + Long fileUuid; + + Long fileVersionId; + + String fileName; + + Date createDate; + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public Long getFileUuid() { + return fileUuid; + } + + public void setFileUuid(Long fileUuid) { + this.fileUuid = fileUuid; + } + + public Long getFileVersionId() { + return fileVersionId; + } + + public void setFileVersionId(Long fileVersionId) { + this.fileVersionId = fileVersionId; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public int compareTo(AttachmentDTO other) { + int ret = this.createDate.compareTo(other.getCreateDate()); + if (ret == 0) { + ret = this.uid.compareTo(other.getUid()); + } + return ret; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/ContentDTO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,204 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.dto; + +import java.util.Set; +import java.util.TreeSet; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; + +public class ContentDTO { + + private static Logger logger = Logger.getLogger(ContentDTO.class); + + public Long toolContentId; + + public String title; + + public String instructions; + + public String onlineInstructions; + + public String offlineInstructions; + + public boolean defineLater; + + public boolean contentInUse; + + public boolean allowRichEditor; + + public boolean lockOnFinish; + + public Set onlineInstructionsFiles; + + public Set offlineInstructionsFiles; + + public Set sessionDTOs = new TreeSet(); + + public Long currentTab; + + /* Constructors */ + public ContentDTO() { + } + + public ContentDTO(Dimdim dimdim) { + this.toolContentId = dimdim.getToolContentId(); + this.title = dimdim.getTitle(); + this.instructions = dimdim.getInstructions(); + this.onlineInstructions = dimdim.getOnlineInstructions(); + this.offlineInstructions = dimdim.getOfflineInstructions(); + this.contentInUse = dimdim.isContentInUse(); + this.allowRichEditor = dimdim.isAllowRichEditor(); + this.lockOnFinish = dimdim.isLockOnFinished(); + + this.onlineInstructionsFiles = new TreeSet(); + this.offlineInstructionsFiles = new TreeSet(); + + for (DimdimAttachment att : dimdim.getDimdimAttachments()) { + Set attSet = null; + if (att.getFileType().equals(IToolContentHandler.TYPE_OFFLINE)) { + attSet = offlineInstructionsFiles; + } else if (att.getFileType() + .equals(IToolContentHandler.TYPE_ONLINE)) { + attSet = onlineInstructionsFiles; + } else { + // something is wrong. Ignore file, log error + logger.error("File with uid " + att.getFileUuid() + + " contains invalid fileType: " + att.getFileType()); + } + + if (attSet != null) + attSet.add(new AttachmentDTO(att)); + } + + for (DimdimSession dimdimSession : dimdim.getDimdimSessions()) { + sessionDTOs.add(new SessionDTO(dimdimSession)); + } + } + + /* Getters / Setters */ + public Set getSessionDTOs() { + return sessionDTOs; + } + + public void setSessionDTOs(Set sessionDTOs) { + this.sessionDTOs = sessionDTOs; + } + + public String getInstructions() { + return instructions; + } + + public void setInstructions(String instructions) { + this.instructions = instructions; + } + + public String getOfflineInstructions() { + return offlineInstructions; + } + + public void setOfflineInstructions(String offlineInstructions) { + this.offlineInstructions = offlineInstructions; + } + + public Set getOfflineInstructionsFiles() { + return offlineInstructionsFiles; + } + + public void setOfflineInstructionsFiles( + Set offlineInstructionsFiles) { + this.offlineInstructionsFiles = offlineInstructionsFiles; + } + + public String getOnlineInstructions() { + return onlineInstructions; + } + + public void setOnlineInstructions(String onlineInstructions) { + this.onlineInstructions = onlineInstructions; + } + + public Set getOnlineInstructionsFiles() { + return onlineInstructionsFiles; + } + + public void setOnlineInstructionsFiles( + Set onlineInstructionsFiles) { + this.onlineInstructionsFiles = onlineInstructionsFiles; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Long getToolContentId() { + return toolContentId; + } + + public void setToolContentId(Long toolContentID) { + this.toolContentId = toolContentID; + } + + public Boolean getContentInUse() { + return contentInUse; + } + + public void setContentInUse(Boolean contentInUse) { + this.contentInUse = contentInUse; + } + + public boolean isAllowRichEditor() { + return allowRichEditor; + } + + public void setAllowRichEditor(boolean allowRichEditor) { + this.allowRichEditor = allowRichEditor; + } + + public boolean isLockOnFinish() { + return lockOnFinish; + } + + public void setLockOnFinish(boolean lockOnFinish) { + this.lockOnFinish = lockOnFinish; + } + + public Long getCurrentTab() { + return currentTab; + } + + public void setCurrentTab(Long currentTab) { + this.currentTab = currentTab; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/DimdimUserDTO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/DimdimUserDTO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/DimdimUserDTO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,129 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.dto; + +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; + +public class DimdimUserDTO implements Comparable { + + public Long uid; + + public String loginName; + + public String firstName; + + public String lastName; + + public boolean finishedActivity; + + public NotebookEntryDTO entryDTO; + + public Long entryUID; + + public DimdimUserDTO(DimdimUser user, NotebookEntry entry) { + this.uid = user.getUid(); + this.loginName = user.getLoginName(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.finishedActivity = user.isFinishedActivity(); + this.entryUID = user.getEntryUID(); + this.entryDTO = new NotebookEntryDTO(entry); + } + + public DimdimUserDTO(DimdimUser user) { + this.uid = user.getUid(); + this.loginName = user.getLoginName(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.finishedActivity = user.isFinishedActivity(); + this.entryUID = user.getEntryUID(); + } + + public int compareTo(DimdimUserDTO other) { + int ret = this.lastName.compareToIgnoreCase(other.lastName); + if (ret == 0) { + ret = this.uid.compareTo(other.uid); + } + return ret; + } + + 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 NotebookEntryDTO getEntryDTO() { + return entryDTO; + } + + public void setEntryDTO(NotebookEntryDTO entryDTO) { + this.entryDTO = entryDTO; + } + + public Long getEntryUID() { + return entryUID; + } + + public void setEntryUID(Long entryUID) { + this.entryUID = entryUID; + } + + public boolean isFinishedActivity() { + return finishedActivity; + } + + public void setFinishedActivity(boolean finishedActivity) { + this.finishedActivity = finishedActivity; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/NotebookEntryDTO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/NotebookEntryDTO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/NotebookEntryDTO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,56 @@ +package org.lamsfoundation.lams.tool.dimdim.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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/SessionDTO.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/SessionDTO.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/dto/SessionDTO.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,114 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.dto; + +import java.util.Set; +import java.util.TreeSet; + +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; + +public class SessionDTO implements Comparable { + + Long sessionID; + + String sessionName; + + Set userDTOs = new TreeSet(); + + int numberOfLearners; + + int numberOfFinishedLearners;; + + public SessionDTO(DimdimSession session) { + this.sessionID = session.getSessionId(); + this.sessionName = session.getSessionName(); + + numberOfFinishedLearners = 0; + + for (DimdimUser dimdimUser : session.getDimdimUsers()) { + DimdimUserDTO userDTO = new DimdimUserDTO(dimdimUser); + if (userDTO.getEntryUID() != null) { + numberOfFinishedLearners++; + } + userDTOs.add(userDTO); + } + + numberOfLearners = userDTOs.size(); + + } + + public SessionDTO() { + } + + 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(SessionDTO other) { + int ret = this.sessionName.compareToIgnoreCase(other.sessionName); + if (ret == 0) { + ret = this.sessionID.compareTo(other.sessionID); + } + return ret; + } + + public Set getUserDTOs() { + return userDTOs; + } + + public void setUserDTOs(Set dimdimUsers) { + this.userDTOs = dimdimUsers; + } + + 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; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/Dimdim.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,468 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.model; + +import java.util.Date; +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.dimdim.service.DimdimService; + +/** + * @hibernate.class table="tl_laddim10_dimdim" + */ + +public class Dimdim implements java.io.Serializable, Cloneable { + + /** + * + */ + private static final long serialVersionUID = 579733009969321015L; + + static Logger log = Logger.getLogger(DimdimService.class.getName()); + + // Fields + /** + * + */ + private Long uid; + + private Date createDate; + + private Date updateDate; + + private Long createBy; + + private String title; + + private String instructions; + + private boolean runOffline; + + private boolean lockOnFinished; + + private boolean allowRichEditor; + + private String onlineInstructions; + + private String offlineInstructions; + + private boolean contentInUse; + + private boolean defineLater; + + private Long toolContentId; + + private Set dimdimAttachments; + + private Set dimdimSessions; + + private Integer maxParticipants; + + private Integer meetingDurationInHours; + + private boolean allowVideo; + + private Integer attendeeMikes; + + // *********** NON Persistent fields + private IToolContentHandler toolContentHandler; + + // Constructors + + /** default constructor */ + public Dimdim() { + } + + /** full constructor */ + // TODO check full constructor to see whether we need add new fields + public Dimdim(Date createDate, Date updateDate, Long createBy, + String title, String instructions, boolean runOffline, + boolean lockOnFinished, boolean filteringEnabled, + String filterKeywords, String onlineInstructions, + String offlineInstructions, boolean contentInUse, + boolean defineLater, Long toolContentId, + Set dimdimAttachments, + Set dimdimSessions) { + this.createDate = createDate; + this.updateDate = updateDate; + this.createBy = createBy; + this.title = title; + this.instructions = instructions; + this.runOffline = runOffline; + this.lockOnFinished = lockOnFinished; + this.onlineInstructions = onlineInstructions; + this.offlineInstructions = offlineInstructions; + this.contentInUse = contentInUse; + this.defineLater = defineLater; + this.toolContentId = toolContentId; + this.dimdimAttachments = dimdimAttachments; + this.dimdimSessions = dimdimSessions; + } + + // 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="create_by" length="20" + * + */ + + public Long getCreateBy() { + return this.createBy; + } + + public void setCreateBy(Long createBy) { + this.createBy = createBy; + } + + /** + * @hibernate.property column="title" length="255" + * + */ + + public String getTitle() { + return this.title; + } + + public void setTitle(String title) { + this.title = title; + } + + /** + * @hibernate.property column="instructions" length="65535" + * + */ + + public String getInstructions() { + return this.instructions; + } + + public void setInstructions(String instructions) { + this.instructions = instructions; + } + + /** + * @hibernate.property column="run_offline" length="1" + * + */ + + public boolean isRunOffline() { + return this.runOffline; + } + + public void setRunOffline(boolean runOffline) { + this.runOffline = runOffline; + } + + /** + * @hibernate.property column="lock_on_finished" length="1" + * + */ + + public boolean isLockOnFinished() { + return this.lockOnFinished; + } + + public void setLockOnFinished(boolean lockOnFinished) { + this.lockOnFinished = lockOnFinished; + } + + /** + * @hibernate.property column="allow_rich_editor" length="1" + * @return + */ + public boolean isAllowRichEditor() { + return allowRichEditor; + } + + public void setAllowRichEditor(boolean allowRichEditor) { + this.allowRichEditor = allowRichEditor; + } + + /** + * @hibernate.property column="online_instructions" length="65535" + * + */ + + public String getOnlineInstructions() { + return this.onlineInstructions; + } + + public void setOnlineInstructions(String onlineInstructions) { + this.onlineInstructions = onlineInstructions; + } + + /** + * @hibernate.property column="offline_instructions" length="65535" + * + */ + + public String getOfflineInstructions() { + return this.offlineInstructions; + } + + public void setOfflineInstructions(String offlineInstructions) { + this.offlineInstructions = offlineInstructions; + } + + /** + * @hibernate.property column="content_in_use" length="1" + * + */ + + public boolean isContentInUse() { + return this.contentInUse; + } + + public void setContentInUse(boolean contentInUse) { + this.contentInUse = contentInUse; + } + + /** + * @hibernate.property column="define_later" length="1" + * + */ + + public boolean isDefineLater() { + return this.defineLater; + } + + public void setDefineLater(boolean defineLater) { + this.defineLater = defineLater; + } + + /** + * @hibernate.property column="tool_content_id" length="20" + * + */ + + public Long getToolContentId() { + return this.toolContentId; + } + + public void setToolContentId(Long toolContentId) { + this.toolContentId = toolContentId; + } + + /** + * @hibernate.set lazy="true" inverse="false" cascade="all-delete-orphan" + * @hibernate.collection-key column="dimdim_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment" + * + */ + + public Set getDimdimAttachments() { + return this.dimdimAttachments; + } + + public void setDimdimAttachments(Set dimdimAttachments) { + this.dimdimAttachments = dimdimAttachments; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="dimdim_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.dimdim.model.DimdimSession" + * + */ + public Set getDimdimSessions() { + return this.dimdimSessions; + } + + public void setDimdimSessions(Set dimdimSessions) { + this.dimdimSessions = dimdimSessions; + } + + /** + * @hibernate.property column="max_participants" + * @return + */ + public Integer getMaxParticipants() { + return maxParticipants; + } + + public void setMaxParticipants(Integer maxParticipants) { + this.maxParticipants = maxParticipants; + } + + /** + * @hibernate.property column="meeting_duration_in_hours" + * @return + */ + public Integer getMeetingDurationInHours() { + return meetingDurationInHours; + } + + public void setMeetingDurationInHours(Integer meetingDurationInHours) { + this.meetingDurationInHours = meetingDurationInHours; + } + + /** + * @hibernate.property column="allow_video" length="1" + * @return + */ + public boolean isAllowVideo() { + return allowVideo; + } + + public void setAllowVideo(boolean allowVideo) { + this.allowVideo = allowVideo; + } + + /** + * @hibernate.property column="attendee_mikes" + * @return + */ + public Integer getAttendeeMikes() { + return attendeeMikes; + } + + public void setAttendeeMikes(Integer attendeeMikes) { + this.attendeeMikes = attendeeMikes; + } + + /** + * toString + * + * @return String + */ + public String toString() { + StringBuffer buffer = new StringBuffer(); + + buffer.append(getClass().getName()).append("@").append( + Integer.toHexString(hashCode())).append(" ["); + buffer.append("title").append("='").append(getTitle()).append("' "); + buffer.append("instructions").append("='").append(getInstructions()) + .append("' "); + buffer.append("toolContentId").append("='").append(getToolContentId()) + .append("' "); + buffer.append("]"); + + return buffer.toString(); + } + + public boolean equals(Object other) { + if ((this == other)) + return true; + if ((other == null)) + return false; + if (!(other instanceof Dimdim)) + return false; + Dimdim castOther = (Dimdim) 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 Dimdim newInstance(Dimdim fromContent, Long toContentId, + IToolContentHandler dimdimToolContentHandler) { + Dimdim toContent = new Dimdim(); + fromContent.toolContentHandler = dimdimToolContentHandler; + toContent = (Dimdim) fromContent.clone(); + toContent.setToolContentId(toContentId); + toContent.setCreateDate(new Date()); + return toContent; + } + + protected Object clone() { + + Dimdim dimdim = null; + try { + dimdim = (Dimdim) super.clone(); + dimdim.setUid(null); + + if (dimdimAttachments != null) { + // create a copy of the attachments + Set set = new HashSet(); + for (DimdimAttachment att : dimdimAttachments) { + set.add((DimdimAttachment) att.clone()); + } + dimdim.dimdimAttachments = set; + } + // create an empty set for the dimdimSession + dimdim.dimdimSessions = new HashSet(); + + } catch (CloneNotSupportedException cnse) { + log.error("Error cloning " + Dimdim.class); + } + return dimdim; + } + + public IToolContentHandler getToolContentHandler() { + return toolContentHandler; + } + + public void setToolContentHandler(IToolContentHandler toolContentHandler) { + this.toolContentHandler = toolContentHandler; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimAttachment.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,230 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.model; + +import java.util.Date; + +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.log4j.Logger; + +/** + * + * The details of files attached to the tool. In most cases this will be the + * online/offline instruction files. + * + * @hibernate.class table="tl_laddim10_attachment" + * + */ + +public class DimdimAttachment implements java.io.Serializable, Cloneable { + + /** + * + */ + private static final long serialVersionUID = 47452859888067500L; + + private static final Logger log = Logger.getLogger(DimdimAttachment.class); + + /** + * + */ + private Long uid; + + private Long fileVersionId; + + private String fileType; + + private String fileName; + + private Long fileUuid; + + private Date createDate; + + private Dimdim dimdim; + + // Constructors + + /** default constructor */ + public DimdimAttachment() { + } + + /** Constructor setting up all the properties except for dimdim one */ + public DimdimAttachment(Long fileVersionId, String fileType, + String fileName, Long fileUuid, Date createDate) { + this.fileVersionId = fileVersionId; + this.fileType = fileType; + this.fileName = fileName; + this.fileUuid = fileUuid; + this.createDate = createDate; + } + + // 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="file_version_id" length="20" + * + */ + + public Long getFileVersionId() { + return this.fileVersionId; + } + + public void setFileVersionId(Long fileVersionId) { + this.fileVersionId = fileVersionId; + } + + /** + * @hibernate.property column="file_type" length="255" + * + */ + + public String getFileType() { + return this.fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + /** + * @hibernate.property column="file_name" length="255" + * + */ + + public String getFileName() { + return this.fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /** + * @hibernate.property column="file_uuid" length="20" + * + */ + + public Long getFileUuid() { + return this.fileUuid; + } + + public void setFileUuid(Long fileUuid) { + this.fileUuid = fileUuid; + } + + /** + * @hibernate.property column="create_date" + * + */ + + public Date getCreateDate() { + return this.createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + /** + * @hibernate.many-to-one not-null="true" + * @hibernate.column name="dimdim_uid" + * + */ + + public Dimdim getDimdim() { + return this.dimdim; + } + + public void setDimdim(Dimdim dimdim) { + this.dimdim = dimdim; + } + + /** + * toString + * + * @return String + */ + public String toString() { + StringBuffer buffer = new StringBuffer(); + + buffer.append(getClass().getName()).append("@").append( + Integer.toHexString(hashCode())).append(" ["); + buffer.append("fileVersionId").append("='").append(getFileVersionId()) + .append("' "); + buffer.append("fileName").append("='").append(getFileName()).append( + "' "); + buffer.append("fileUuid").append("='").append(getFileUuid()).append( + "' "); + buffer.append("]"); + + return buffer.toString(); + } + + public boolean equals(Object o) { + if (this == o) + return true; + if (!(o instanceof DimdimAttachment)) + return false; + + final DimdimAttachment genericEntity = (DimdimAttachment) o; + + return new EqualsBuilder().append(this.uid, genericEntity.uid).append( + this.fileVersionId, genericEntity.fileVersionId).append( + this.fileName, genericEntity.fileName).append(this.fileType, + genericEntity.fileType).append(this.createDate, + genericEntity.createDate).isEquals(); + } + + public int hashCode() { + int result = 17; + result = 37 * result + + (getUid() == null ? 0 : this.getUid().hashCode()); + return result; + } + + public Object clone() { + Object obj = null; + try { + obj = super.clone(); + ((DimdimAttachment) obj).setUid(null); + } catch (CloneNotSupportedException e) { + log.error("Failed to clone " + DimdimAttachment.class); + } + + return obj; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimSession.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,249 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.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_laddim10_session" + */ + +public class DimdimSession implements java.io.Serializable { + + private static Logger log = Logger.getLogger(DimdimSession.class); + /** + * + */ + private static final long serialVersionUID = 4407078136514639026L; + + // Fields + private Long uid; + + private Date sessionEndDate; + + private Date sessionStartDate; + + private Integer status; + + private Long sessionId; + + private String sessionName; + + private Dimdim dimdim; + + private Set dimdimUsers; + + // Constructors + + /** default constructor */ + public DimdimSession() { + } + + /** full constructor */ + public DimdimSession(Date sessionEndDate, Date sessionStartDate, + Integer status, Long sessionId, String sessionName, Dimdim dimdim, + Set dimdimUsers) { + this.sessionEndDate = sessionEndDate; + this.sessionStartDate = sessionStartDate; + this.status = status; + this.sessionId = sessionId; + this.sessionName = sessionName; + this.dimdim = dimdim; + this.dimdimUsers = dimdimUsers; + } + + // 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="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="dimdim_uid" + * + */ + + public Dimdim getDimdim() { + return this.dimdim; + } + + public void setDimdim(Dimdim dimdim) { + this.dimdim = dimdim; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="dimdim_session_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.dimdim.model.DimdimUser" + * + */ + + public Set getDimdimUsers() { + return this.dimdimUsers; + } + + public void setDimdimUsers(Set dimdimUsers) { + this.dimdimUsers = dimdimUsers; + } + + /** + * 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 DimdimSession)) + return false; + DimdimSession castOther = (DimdimSession) 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() { + + DimdimSession session = null; + try { + session = (DimdimSession) super.clone(); + session.dimdimUsers = new HashSet(); + } catch (CloneNotSupportedException e) { + log.error("When clone " + DimdimSession.class + " failed"); + } + return session; + } + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/model/DimdimUser.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,217 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.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_laddim10_user" + */ + +public class DimdimUser implements java.io.Serializable { + + /** + * + */ + private static final long serialVersionUID = -3701664859818409197L; + + // Fields + private Long uid; + + private Long userId; + + private String lastName; + + private String firstName; + + private String loginName; + + private DimdimSession dimdimSession; + + private boolean finishedActivity; + + private Long entryUID; + + // Constructors + + /** default constructor */ + public DimdimUser() { + } + + public DimdimUser(UserDTO user, DimdimSession dimdimSession) { + this.userId = new Long(user.getUserID().intValue()); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.loginName = user.getLogin(); + this.dimdimSession = dimdimSession; + this.finishedActivity = false; + } + + /** full constructor */ + public DimdimUser(Long userId, String lastName, String firstName, + DimdimSession dimdimSession) { + this.userId = userId; + this.lastName = lastName; + this.firstName = firstName; + this.dimdimSession = dimdimSession; + } + + // 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="dimdim_session_uid" + * + */ + public DimdimSession getDimdimSession() { + return this.dimdimSession; + } + + public void setDimdimSession(DimdimSession dimdimSession) { + this.dimdimSession = dimdimSession; + } + + /** + * @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 DimdimUser)) + return false; + DimdimUser castOther = (DimdimUser) 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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimService.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,666 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.service; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.Date; +import java.util.Hashtable; +import java.util.List; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.contentrepository.AccessDeniedException; +import org.lamsfoundation.lams.contentrepository.ICredentials; +import org.lamsfoundation.lams.contentrepository.ITicket; +import org.lamsfoundation.lams.contentrepository.InvalidParameterException; +import org.lamsfoundation.lams.contentrepository.LoginException; +import org.lamsfoundation.lams.contentrepository.NodeKey; +import org.lamsfoundation.lams.contentrepository.RepositoryCheckedException; +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.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.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.ICoreNotebookService; +import org.lamsfoundation.lams.tool.ToolContentImport102Manager; +import org.lamsfoundation.lams.tool.ToolContentManager; +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.dimdim.dao.IDimdimAttachmentDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimSessionDAO; +import org.lamsfoundation.lams.tool.dimdim.dao.IDimdimUserDAO; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimConstants; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimToolContentHandler; +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.WebUtil; +import org.lamsfoundation.lams.util.audit.IAuditService; + +/** + * An implementation of the IDimdimService interface. + * + * As a requirement, all LAMS tool's service bean must implement + * ToolContentManager and ToolSessionManager. + */ + +public class DimdimService implements ToolSessionManager, ToolContentManager, + IDimdimService, ToolContentImport102Manager { + + static Logger logger = Logger.getLogger(DimdimService.class.getName()); + + private IDimdimDAO dimdimDAO = null; + + private IDimdimSessionDAO dimdimSessionDAO = null; + + private IDimdimUserDAO dimdimUserDAO = null; + + private IDimdimAttachmentDAO dimdimAttachmentDAO = null; + + private ILearnerService learnerService; + + private ILamsToolService toolService; + + private IToolContentHandler dimdimToolContentHandler = null; + + private IRepositoryService repositoryService = null; + + private IAuditService auditService = null; + + private IExportToolContentService exportContentService; + + private ICoreNotebookService coreNotebookService; + + public DimdimService() { + 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); + } + + DimdimSession session = new DimdimSession(); + session.setSessionId(toolSessionId); + session.setSessionName(toolSessionName); + // learner starts + // TODO need to also set other fields. + Dimdim dimdim = getDimdimByContentId(toolContentId); + session.setDimdim(dimdim); + dimdimSessionDAO.insertOrUpdate(session); + } + + 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 { + dimdimSessionDAO.deleteByProperty(DimdimSession.class, "sessionId", + toolSessionId); + // TODO check if cascade worked + } + + /** + * 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) { + return new TreeMap(); + } + + /** + * 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) { + return null; + } + + /* ************ 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); + } + + Dimdim fromContent = null; + if (fromContentId != null) { + fromContent = getDimdimByContentId(fromContentId); + } + if (fromContent == null) { + // create the fromContent using the default tool content + fromContent = getDefaultContent(); + } + Dimdim toContent = Dimdim.newInstance(fromContent, toContentId, + dimdimToolContentHandler); + saveOrUpdateDimdim(toContent); + } + + public void setAsDefineLater(Long toolContentId, boolean value) + throws DataMissingException, ToolException { + Dimdim dimdim = getDimdimByContentId(toolContentId); + if (dimdim == null) { + throw new ToolException("Could not find tool with toolContentID: " + + toolContentId); + } + dimdim.setDefineLater(value); + saveOrUpdateDimdim(dimdim); + } + + public void setAsRunOffline(Long toolContentId, boolean value) + throws DataMissingException, ToolException { + Dimdim dimdim = getDimdimByContentId(toolContentId); + if (dimdim == null) { + throw new ToolException("Could not find tool with toolContentID: " + + toolContentId); + } + dimdim.setRunOffline(value); + saveOrUpdateDimdim(dimdim); + } + + 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 { + Dimdim dimdim = getDimdimByContentId(toolContentId); + if (dimdim == null) { + dimdim = getDefaultContent(); + } + if (dimdim == null) + throw new DataMissingException( + "Unable to find default content for the dimdim tool"); + + // set ResourceToolContentHandler as null to avoid copy file node in + // repository again. + dimdim = Dimdim.newInstance(dimdim, toolContentId, null); + dimdim.setToolContentHandler(null); + dimdim.setDimdimSessions(null); + Set atts = dimdim.getDimdimAttachments(); + for (DimdimAttachment att : atts) { + att.setDimdim(null); + } + try { + exportContentService.registerFileClassForExport( + DimdimAttachment.class.getName(), "fileUuid", + "fileVersionId"); + exportContentService.exportToolContent(toolContentId, dimdim, + dimdimToolContentHandler, rootPath); + } catch (ExportToolContentException e) { + throw new ToolException(e); + } + } + + /** + * 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) + throws ToolException { + try { + exportContentService.registerFileClassForImport( + DimdimAttachment.class.getName(), "fileUuid", + "fileVersionId", "fileName", "fileType", null, null); + + Object toolPOJO = exportContentService.importToolContent( + toolContentPath, dimdimToolContentHandler, fromVersion, + toVersion); + if (!(toolPOJO instanceof Dimdim)) + throw new ImportToolContentException( + "Import Dimdim tool content failed. Deserialized object is " + + toolPOJO); + Dimdim dimdim = (Dimdim) toolPOJO; + + // reset it to new toolContentId + dimdim.setToolContentId(toolContentId); + dimdim.setCreateBy(new Long(newUserUid.longValue())); + + saveOrUpdateDimdim(dimdim); + } catch (ImportToolContentException e) { + throw new ToolException(e); + } + } + + /** + * 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 { + return new TreeMap(); + } + + /* ********** IDimdimService Methods ********************************* */ + + public Long createNotebookEntry(Long id, Integer idType, String signature, + Integer userID, String entry) { + return coreNotebookService.createNotebookEntry(id, idType, signature, + userID, "", entry); + } + + public NotebookEntry getEntry(Long uid) { + return coreNotebookService.getEntry(uid); + } + + public void updateEntry(Long uid, String entry) { + coreNotebookService.updateEntry(uid, "", entry); + } + + 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 DimdimException(error); + } + return toolContentId; + } + + public Dimdim getDefaultContent() { + Long defaultContentID = getDefaultContentIdBySignature(DimdimConstants.TOOL_SIGNATURE); + Dimdim defaultContent = getDimdimByContentId(defaultContentID); + if (defaultContent == null) { + String error = "Could not retrieve default content record for this tool"; + logger.error(error); + throw new DimdimException(error); + } + return defaultContent; + } + + public Dimdim copyDefaultContent(Long newContentID) { + + if (newContentID == null) { + String error = "Cannot copy the Dimdim tools default content: + " + + "newContentID is null"; + logger.error(error); + throw new DimdimException(error); + } + + Dimdim defaultContent = getDefaultContent(); + // create new dimdim using the newContentID + Dimdim newContent = new Dimdim(); + newContent = Dimdim.newInstance(defaultContent, newContentID, + dimdimToolContentHandler); + saveOrUpdateDimdim(newContent); + return newContent; + } + + @SuppressWarnings("unchecked") + public Dimdim getDimdimByContentId(Long toolContentID) { + List list = dimdimDAO.findByProperty(Dimdim.class, + "toolContentId", toolContentID); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public DimdimSession getSessionBySessionId(Long toolSessionId) { + List list = dimdimSessionDAO.findByProperty( + DimdimSession.class, "sessionId", toolSessionId); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public DimdimUser getUserByUserIdAndSessionId(Long userId, + Long toolSessionId) { + return dimdimUserDAO.getByUserIdAndSessionId(userId, toolSessionId); + } + + @SuppressWarnings("unchecked") + public DimdimUser getUserByUID(Long uid) { + List list = dimdimUserDAO.findByProperty(DimdimUser.class, + "uid", uid); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + public DimdimAttachment uploadFileToContent(Long toolContentId, + FormFile file, String type) { + if (file == null || StringUtils.isEmpty(file.getFileName())) + throw new DimdimException("Could not find upload file: " + file); + + NodeKey nodeKey = processFile(file, type); + + DimdimAttachment attachment = new DimdimAttachment( + nodeKey.getVersion(), type, file.getFileName(), nodeKey + .getUuid(), new Date()); + return attachment; + } + + public void deleteFromRepository(Long uuid, Long versionID) + throws DimdimException { + ITicket ticket = getRepositoryLoginTicket(); + try { + repositoryService.deleteVersion(ticket, uuid, versionID); + } catch (Exception e) { + throw new DimdimException( + "Exception occured while deleting files from" + + " the repository " + e.getMessage()); + } + } + + public void saveOrUpdateDimdim(Dimdim dimdim) { + dimdimDAO.insertOrUpdate(dimdim); + } + + public void saveOrUpdateDimdimSession(DimdimSession dimdimSession) { + dimdimSessionDAO.insertOrUpdate(dimdimSession); + } + + public void saveOrUpdateDimdimUser(DimdimUser dimdimUser) { + dimdimUserDAO.insertOrUpdate(dimdimUser); + } + + public DimdimUser createDimdimUser(UserDTO user, DimdimSession dimdimSession) { + DimdimUser dimdimUser = new DimdimUser(user, dimdimSession); + saveOrUpdateDimdimUser(dimdimUser); + return dimdimUser; + } + + public IAuditService getAuditService() { + return auditService; + } + + public void setAuditService(IAuditService auditService) { + this.auditService = auditService; + } + + private NodeKey processFile(FormFile file, String type) { + NodeKey node = null; + if (file != null && !StringUtils.isEmpty(file.getFileName())) { + String fileName = file.getFileName(); + try { + node = getDimdimToolContentHandler().uploadFile( + file.getInputStream(), fileName, file.getContentType(), + type); + } catch (InvalidParameterException e) { + throw new DimdimException( + "InvalidParameterException occured while trying to upload File" + + e.getMessage()); + } catch (FileNotFoundException e) { + throw new DimdimException( + "FileNotFoundException occured while trying to upload File" + + e.getMessage()); + } catch (RepositoryCheckedException e) { + throw new DimdimException( + "RepositoryCheckedException occured while trying to upload File" + + e.getMessage()); + } catch (IOException e) { + throw new DimdimException( + "IOException occured while trying to upload File" + + e.getMessage()); + } + } + return node; + } + + /** + * 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 DimdimException { + repositoryService = RepositoryProxy.getRepositoryService(); + ICredentials credentials = new SimpleCredentials( + DimdimToolContentHandler.repositoryUser, + DimdimToolContentHandler.repositoryId); + try { + ITicket ticket = repositoryService.login(credentials, + DimdimToolContentHandler.repositoryWorkspaceName); + return ticket; + } catch (AccessDeniedException ae) { + throw new DimdimException("Access Denied to repository." + + ae.getMessage()); + } catch (WorkspaceNotFoundException we) { + throw new DimdimException("Workspace not found." + we.getMessage()); + } catch (LoginException e) { + throw new DimdimException("Login failed." + e.getMessage()); + } + } + + /* + * ===============Methods implemented from ToolContentImport102Manager + * =============== + */ + + /** + * Import the data for a 1.0.2 Dimdim + */ + public void import102ToolContent(Long toolContentId, UserDTO user, + Hashtable importValues) { + Date now = new Date(); + Dimdim dimdim = new Dimdim(); + dimdim.setContentInUse(Boolean.FALSE); + dimdim.setCreateBy(new Long(user.getUserID().longValue())); + dimdim.setCreateDate(now); + dimdim.setDefineLater(Boolean.FALSE); + dimdim.setInstructions(WebUtil.convertNewlines((String) importValues + .get(ToolContentImport102Manager.CONTENT_BODY))); + dimdim.setLockOnFinished(Boolean.TRUE); + dimdim.setOfflineInstructions(null); + dimdim.setOnlineInstructions(null); + dimdim.setRunOffline(Boolean.FALSE); + dimdim.setTitle((String) importValues + .get(ToolContentImport102Manager.CONTENT_TITLE)); + dimdim.setToolContentId(toolContentId); + dimdim.setUpdateDate(now); + dimdim.setAllowRichEditor(Boolean.FALSE); + // leave as empty, no need to set them to anything. + // setDimdimAttachments(Set dimdimAttachments); + // setDimdimSessions(Set dimdimSessions); + saveOrUpdateDimdim(dimdim); + } + + /** + * 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 dimdim. This doesn't make sense as the dimdim is for reflection and we don't reflect on reflection!"); + Dimdim dimdim = getDimdimByContentId(toolContentId); + if (dimdim == null) { + throw new DataMissingException( + "Unable to set reflective data titled " + title + + " on activity toolContentId " + toolContentId + + " as the tool content does not exist."); + } + + dimdim.setInstructions(description); + } + + // ========================================================================================= + /* ********** Used by Spring to "inject" the linked objects ************* */ + + public IDimdimAttachmentDAO getDimdimAttachmentDAO() { + return dimdimAttachmentDAO; + } + + public void setDimdimAttachmentDAO(IDimdimAttachmentDAO attachmentDAO) { + this.dimdimAttachmentDAO = attachmentDAO; + } + + public IDimdimDAO getDimdimDAO() { + return dimdimDAO; + } + + public void setDimdimDAO(IDimdimDAO dimdimDAO) { + this.dimdimDAO = dimdimDAO; + } + + public IToolContentHandler getDimdimToolContentHandler() { + return dimdimToolContentHandler; + } + + public void setDimdimToolContentHandler( + IToolContentHandler dimdimToolContentHandler) { + this.dimdimToolContentHandler = dimdimToolContentHandler; + } + + public IDimdimSessionDAO getDimdimSessionDAO() { + return dimdimSessionDAO; + } + + public void setDimdimSessionDAO(IDimdimSessionDAO sessionDAO) { + this.dimdimSessionDAO = sessionDAO; + } + + public ILamsToolService getToolService() { + return toolService; + } + + public void setToolService(ILamsToolService toolService) { + this.toolService = toolService; + } + + public IDimdimUserDAO getDimdimUserDAO() { + return dimdimUserDAO; + } + + public void setDimdimUserDAO(IDimdimUserDAO userDAO) { + this.dimdimUserDAO = 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; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimServiceProxy.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimServiceProxy.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/DimdimServiceProxy.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,79 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.service; + +import javax.servlet.ServletContext; + +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 DimdimServiceProxy { + + public static final IDimdimService getDimdimService( + ServletContext servletContext) { + return (IDimdimService) getDimdimDomainService(servletContext); + } + + private static Object getDimdimDomainService(ServletContext servletContext) { + WebApplicationContext wac = WebApplicationContextUtils + .getRequiredWebApplicationContext(servletContext); + return wac.getBean("dimdimService"); + } + + /* + * Return the dimdim 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 getDimdimSessionManager( + ServletContext servletContext) { + return (ToolSessionManager) getDimdimDomainService(servletContext); + } + + /* + * Return the dimdim 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 getDimdimContentManager( + ServletContext servletContext) { + return (ToolContentManager) getDimdimDomainService(servletContext); + } + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/service/IDimdimService.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,156 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.service; + +import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; + +/** + * Defines the services available to the web layer from the Dimdim Service + */ +public interface IDimdimService { + /** + * Makes a copy of the default content and assigns it a newContentID + * + * @params newContentID + * @return + */ + public Dimdim copyDefaultContent(Long newContentID); + + /** + * Returns an instance of the Dimdim tools default content. + * + * @return + */ + public Dimdim getDefaultContent(); + + /** + * @param toolSignature + * @return + */ + public Long getDefaultContentIdBySignature(String toolSignature); + + /** + * @param toolContentID + * @return + */ + public Dimdim getDimdimByContentId(Long toolContentID); + + /** + * @param toolContentId + * @param file + * @param type + * @return + */ + public DimdimAttachment uploadFileToContent(Long toolContentId, + FormFile file, String type); + + /** + * @param uuid + * @param versionID + */ + public void deleteFromRepository(Long uuid, Long versionID) + throws DimdimException; + + /** + * @param dimdim + */ + public void saveOrUpdateDimdim(Dimdim dimdim); + + /** + * @param toolSessionId + * @return + */ + public DimdimSession getSessionBySessionId(Long toolSessionId); + + /** + * @param dimdimSession + */ + public void saveOrUpdateDimdimSession(DimdimSession dimdimSession); + + /** + * + * @param userId + * @param toolSessionId + * @return + */ + public DimdimUser getUserByUserIdAndSessionId(Long userId, + Long toolSessionId); + + /** + * + * @param uid + * @return + */ + public DimdimUser getUserByUID(Long uid); + + /** + * + * @param dimdimUser + */ + public void saveOrUpdateDimdimUser(DimdimUser dimdimUser); + + /** + * + * @param user + * @param dimdimSession + * @return + */ + public DimdimUser createDimdimUser(UserDTO user, DimdimSession dimdimSession); + + /** + * + * @param id + * @param idType + * @param signature + * @param userID + * @param title + * @param entry + * @return + */ + Long createNotebookEntry(Long id, Integer idType, String signature, + Integer userID, String entry); + + /** + * + * @param uid + * @return + */ + NotebookEntry getEntry(Long uid); + + /** + * + * @param uid + * @param title + * @param entry + */ + void updateEntry(Long uid, String entry); +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimConstants.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimConstants.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimConstants.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.dimdim.util; + +public interface DimdimConstants { + public static final String TOOL_SIGNATURE = "laddim10"; + + // Dimdim 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 ATTACHMENT_LIST = "attachmentList"; + 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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimException.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimException.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimException.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.util; + +/** + * + * @author Anthony Sukkar + * + */ +public class DimdimException extends RuntimeException { + + /** + * + */ + private static final long serialVersionUID = -5518806968051758859L; + + public DimdimException(String message) { + super(message); + } + + public DimdimException(String message, Throwable cause) { + super(message, cause); + } + + public DimdimException() { + super(); + + } + + public DimdimException(Throwable cause) { + super(cause); + + } + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimToolContentHandler.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimToolContentHandler.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/util/DimdimToolContentHandler.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.util; + +import org.lamsfoundation.lams.contentrepository.client.ToolContentHandler; + +/** + * Simple client for accessing the content repository. + */ +public class DimdimToolContentHandler 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 = "dimdimworkspace"; + + public static String repositoryUser = "dimdim"; + + public static char[] repositoryId = { 'l', 'a', 'm', 's', '-', 'e', 'x' }; + + /** + * + */ + public DimdimToolContentHandler() { + 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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AdminAction.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.dimdim.web.actions; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +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.apache.struts.actions.MappingDispatchAction; +import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; +import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; + +/** + * @struts.action path="/admin/editConfig" name="adminForm" + * parameter="editConfig" scope="request" validate="false" + * @struts.action-forward name="editConfig-success" + * path="tiles:/admin/editConfig" + * + * @struts.action path="/admin/saveConfig" name="adminForm" + * parameter="saveConfig" scope="request" validate="false" + * @struts.action-forward name="saveConfig" path="tiles:/admin/saveConfig" + * + * @author asukkar + * + */ +public class AdminAction extends MappingDispatchAction { + + private IDimdimService dimdimService; + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) + throws Exception { + + if (dimdimService == null) { + dimdimService = DimdimServiceProxy.getDimdimService(this + .getServlet().getServletContext()); + } + + return super.execute(mapping, form, request, response); + } + + public ActionForward editConfig(ActionMapping mapping, ActionForm form, + ServletRequest request, ServletResponse response) throws Exception { + + + + return mapping.findForward("editConfig-success"); + } + + public ActionForward saveConfig(ActionMapping mapping, ActionForm form, + ServletRequest request, ServletResponse response) throws Exception { + + return mapping.findForward("saveConfig-success"); + } + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AuthoringAction.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AuthoringAction.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/AuthoringAction.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,476 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.web.actions; + +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessages; +import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.authoring.web.AuthoringConstants; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimAttachment; +import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; +import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimConstants; +import org.lamsfoundation.lams.tool.dimdim.web.forms.AuthoringForm; +import org.lamsfoundation.lams.util.FileValidatorUtil; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.lamsfoundation.lams.web.util.SessionMap; + +/** + * @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 IDimdimService dimdimService; + + // Authoring SessionMap key names + private static final String KEY_TOOL_CONTENT_ID = "toolContentID"; + + 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"; + + /** + * 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 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, "mode", + true); + + // set up dimdimService + if (dimdimService == null) { + dimdimService = DimdimServiceProxy.getDimdimService(this + .getServlet().getServletContext()); + } + + // retrieving Dimdim with given toolContentID + Dimdim dimdim = dimdimService.getDimdimByContentId(toolContentID); + if (dimdim == null) { + dimdim = dimdimService.copyDefaultContent(toolContentID); + dimdim.setCreateDate(new Date()); + dimdimService.saveOrUpdateDimdim(dimdim); + // 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. + dimdim.setDefineLater(true); + dimdimService.saveOrUpdateDimdim(dimdim); + } + + // Set up the authForm. + AuthoringForm authForm = (AuthoringForm) form; + updateAuthForm(authForm, dimdim); + + // Set up sessionMap + SessionMap map = createSessionMap(dimdim, + getAccessMode(request), contentFolderID, toolContentID); + authForm.setSessionMapID(map.getSessionID()); + + // add the sessionMap to HTTPSession. + request.getSession().setAttribute(map.getSessionID(), map); + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + + return mapping.findForward("success"); + } + + public ActionForward updateContent(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + // TODO need error checking. + + // get authForm and session map. + AuthoringForm authForm = (AuthoringForm) form; + SessionMap map = getSessionMap(request, authForm); + + // get dimdim content. + Dimdim dimdim = dimdimService.getDimdimByContentId((Long) map + .get(KEY_TOOL_CONTENT_ID)); + + // update dimdim content using form inputs. + ToolAccessMode mode = (ToolAccessMode) map.get(KEY_MODE); + updateDimdim(dimdim, authForm, mode); + + // remove attachments marked for deletion. + Set attachments = dimdim.getDimdimAttachments(); + if (attachments == null) { + attachments = new HashSet(); + } + + for (DimdimAttachment att : getAttList(KEY_DELETED_FILES, map)) { + // remove from db, leave in repository + attachments.remove(att); + } + + // add unsaved attachments + attachments.addAll(getAttList(KEY_UNSAVED_ONLINE_FILES, map)); + attachments.addAll(getAttList(KEY_UNSAVED_OFFLINE_FILES, map)); + + // set attachments in case it didn't exist + dimdim.setDimdimAttachments(attachments); + + // set the update date + dimdim.setUpdateDate(new Date()); + + // releasing defineLater flag so that learner can start using the tool. + dimdim.setDefineLater(false); + + dimdimService.saveOrUpdateDimdim(dimdim); + + request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, + Boolean.TRUE); + + // add the sessionMapID to form + authForm.setSessionMapID(map.getSessionID()); + + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + + return mapping.findForward("success"); + } + + public ActionForward uploadOnline(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + return uploadFile(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_ONLINE, request); + } + + public ActionForward uploadOffline(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + return uploadFile(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_OFFLINE, request); + } + + public ActionForward deleteOnline(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + return deleteFile(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_ONLINE, request); + } + + public ActionForward deleteOffline(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + return deleteFile(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_OFFLINE, request); + } + + public ActionForward removeUnsavedOnline(ActionMapping mapping, + ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + return removeUnsaved(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_ONLINE, request); + } + + public ActionForward removeUnsavedOffline(ActionMapping mapping, + ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + return removeUnsaved(mapping, (AuthoringForm) form, + IToolContentHandler.TYPE_OFFLINE, request); + } + + /* ========== Private Methods ********** */ + + private ActionForward uploadFile(ActionMapping mapping, + AuthoringForm authForm, String type, HttpServletRequest request) { + SessionMap map = getSessionMap(request, authForm); + + FormFile file; + List unsavedFiles; + List savedFiles; + if (StringUtils.equals(IToolContentHandler.TYPE_OFFLINE, type)) { + file = (FormFile) authForm.getOfflineFile(); + unsavedFiles = getAttList(KEY_UNSAVED_OFFLINE_FILES, map); + + savedFiles = getAttList(KEY_OFFLINE_FILES, map); + } else { + file = (FormFile) authForm.getOnlineFile(); + unsavedFiles = getAttList(KEY_UNSAVED_ONLINE_FILES, map); + + savedFiles = getAttList(KEY_ONLINE_FILES, map); + } + + // validate file max size + ActionMessages errors = new ActionMessages(); + FileValidatorUtil.validateFileSize(file, true, errors); + if (!errors.isEmpty()) { + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + this.saveErrors(request, errors); + return mapping.findForward("success"); + } + + if (file.getFileName().length() != 0) { + + // upload file to repository + DimdimAttachment newAtt = dimdimService.uploadFileToContent( + (Long) map.get(KEY_TOOL_CONTENT_ID), file, type); + + // Add attachment to unsavedFiles + // check to see if file with same name exists + DimdimAttachment currAtt; + Iterator iter = savedFiles.iterator(); + while (iter.hasNext()) { + currAtt = (DimdimAttachment) iter.next(); + if (StringUtils.equals(currAtt.getFileName(), newAtt + .getFileName()) + && StringUtils.equals(currAtt.getFileType(), newAtt + .getFileType())) { + // move from this this list to deleted list. + getAttList(KEY_DELETED_FILES, map).add(currAtt); + iter.remove(); + break; + } + } + unsavedFiles.add(newAtt); + + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + request.setAttribute("unsavedChanges", new Boolean(true)); + } + return mapping.findForward("success"); + } + + private ActionForward deleteFile(ActionMapping mapping, + AuthoringForm authForm, String type, HttpServletRequest request) { + SessionMap map = getSessionMap(request, authForm); + + List fileList; + if (StringUtils.equals(IToolContentHandler.TYPE_OFFLINE, type)) { + fileList = getAttList(KEY_OFFLINE_FILES, map); + } else { + fileList = getAttList(KEY_ONLINE_FILES, map); + } + + Iterator iter = fileList.iterator(); + + while (iter.hasNext()) { + DimdimAttachment att = (DimdimAttachment) iter.next(); + + if (att.getFileUuid().equals(authForm.getDeleteFileUuid())) { + // move to delete file list, deleted at next updateContent + getAttList(KEY_DELETED_FILES, map).add(att); + + // remove from this list + iter.remove(); + break; + } + } + + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + request.setAttribute("unsavedChanges", new Boolean(true)); + + return mapping.findForward("success"); + } + + private ActionForward removeUnsaved(ActionMapping mapping, + AuthoringForm authForm, String type, HttpServletRequest request) { + SessionMap map = getSessionMap(request, authForm); + + List unsavedFiles; + + if (StringUtils.equals(IToolContentHandler.TYPE_OFFLINE, type)) { + unsavedFiles = getAttList(KEY_UNSAVED_OFFLINE_FILES, map); + } else { + unsavedFiles = getAttList(KEY_UNSAVED_ONLINE_FILES, map); + } + + Iterator iter = unsavedFiles.iterator(); + while (iter.hasNext()) { + DimdimAttachment att = (DimdimAttachment) iter.next(); + + if (att.getFileUuid().equals(authForm.getDeleteFileUuid())) { + // delete from repository and list + dimdimService.deleteFromRepository(att.getFileUuid(), att + .getFileVersionId()); + iter.remove(); + break; + } + } + + request.setAttribute(DimdimConstants.ATTR_SESSION_MAP, map); + request.setAttribute("unsavedChanges", new Boolean(true)); + + return mapping.findForward("success"); + } + + /** + * Updates Dimdim content using AuthoringForm inputs. + * + * @param authForm + * @param mode + * @return + */ + private void updateDimdim(Dimdim dimdim, AuthoringForm authForm, + ToolAccessMode mode) { + dimdim.setTitle(authForm.getTitle()); + dimdim.setInstructions(authForm.getInstructions()); + if (mode.isAuthor()) { // Teacher cannot modify following + dimdim.setOfflineInstructions(authForm.getOnlineInstruction()); + dimdim.setOnlineInstructions(authForm.getOfflineInstruction()); + dimdim.setLockOnFinished(authForm.isLockOnFinished()); + dimdim.setAllowRichEditor(authForm.isAllowRichEditor()); + } + } + + /** + * Updates AuthoringForm using Dimdim content. + * + * @param dimdim + * @param authForm + * @return + */ + private void updateAuthForm(AuthoringForm authForm, Dimdim dimdim) { + authForm.setTitle(dimdim.getTitle()); + authForm.setInstructions(dimdim.getInstructions()); + authForm.setOnlineInstruction(dimdim.getOnlineInstructions()); + authForm.setOfflineInstruction(dimdim.getOfflineInstructions()); + authForm.setLockOnFinished(dimdim.isLockOnFinished()); + authForm.setAllowRichEditor(dimdim.isAllowRichEditor()); + } + + /** + * Updates SessionMap using Dimdim content. + * + * @param dimdim + * @param mode + */ + private SessionMap createSessionMap(Dimdim dimdim, + ToolAccessMode mode, String contentFolderID, Long toolContentID) { + + SessionMap map = new SessionMap(); + + map.put(KEY_MODE, mode); + map.put(KEY_CONTENT_FOLDER_ID, contentFolderID); + map.put(KEY_TOOL_CONTENT_ID, toolContentID); + map.put(KEY_ONLINE_FILES, new LinkedList()); + map.put(KEY_OFFLINE_FILES, new LinkedList()); + map.put(KEY_UNSAVED_ONLINE_FILES, new LinkedList()); + map.put(KEY_UNSAVED_OFFLINE_FILES, new LinkedList()); + map.put(KEY_DELETED_FILES, new LinkedList()); + + for (DimdimAttachment attachment : dimdim.getDimdimAttachments()) { + String type = attachment.getFileType(); + if (type.equals(IToolContentHandler.TYPE_OFFLINE)) { + getAttList(KEY_OFFLINE_FILES, map).add(attachment); + } + if (type.equals(IToolContentHandler.TYPE_ONLINE)) { + getAttList(KEY_ONLINE_FILES, map).add(attachment); + } + } + + return map; + } + + /** + * Get ToolAccessMode from HttpRequest parameters. Default value is AUTHOR + * mode. + * + * @param request + * @return + */ + private ToolAccessMode getAccessMode(HttpServletRequest request) { + ToolAccessMode mode; + String modeStr = request.getParameter(AttributeNames.ATTR_MODE); + if (StringUtils.equalsIgnoreCase(modeStr, ToolAccessMode.TEACHER + .toString())) + mode = ToolAccessMode.TEACHER; + else + mode = ToolAccessMode.AUTHOR; + return mode; + } + + /** + * Retrieves a List of attachments from the map using the key. + * + * @param key + * @param map + * @return + */ + @SuppressWarnings("unchecked") + private List getAttList(String key, + SessionMap map) { + List list = (List) map.get(key); + return list; + } + + /** + * Retrieve the SessionMap from the HttpSession. + * + * @param request + * @param authForm + * @return + */ + @SuppressWarnings("unchecked") + private SessionMap getSessionMap( + HttpServletRequest request, AuthoringForm authForm) { + return (SessionMap) request.getSession().getAttribute( + authForm.getSessionMapID()); + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/ClearSessionAction.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/ClearSessionAction.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/ClearSessionAction.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,52 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.dimdim.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$ + */ +public class ClearSessionAction extends LamsAuthoringFinishAction { + + @Override + public void clearSession(String customiseSessionID, HttpSession session, + ToolAccessMode mode) { + if (mode.isAuthor()) { + session.removeAttribute(customiseSessionID); + } + } + +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/LearningAction.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,234 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.web.actions; + +import java.io.IOException; + +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.notebook.service.CoreNotebookConstants; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.ToolSessionManager; +import org.lamsfoundation.lams.tool.dimdim.dto.ContentDTO; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; +import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; +import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimConstants; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; +import org.lamsfoundation.lams.tool.dimdim.web.forms.LearningForm; +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.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="dimdim" 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 IDimdimService dimdimService; + + 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 dimdimService + if (dimdimService == null) { + dimdimService = DimdimServiceProxy.getDimdimService(this + .getServlet().getServletContext()); + } + + // Retrieve the session and content. + DimdimSession dimdimSession = dimdimService + .getSessionBySessionId(toolSessionID); + if (dimdimSession == null) { + throw new DimdimException( + "Cannot retreive session with toolSessionID" + + toolSessionID); + } + + Dimdim dimdim = dimdimSession.getDimdim(); + + // check defineLater + if (dimdim.isDefineLater()) { + return mapping.findForward("defineLater"); + } + + // set mode, toolSessionID and DimdimDTO + request.setAttribute("mode", mode.toString()); + learningForm.setToolSessionID(toolSessionID); + + ContentDTO contentDTO = new ContentDTO(); + contentDTO.title = dimdim.getTitle(); + contentDTO.instructions = dimdim.getInstructions(); + contentDTO.allowRichEditor = dimdim.isAllowRichEditor(); + contentDTO.lockOnFinish = dimdim.isLockOnFinished(); + + request.setAttribute("dimdimDTO", contentDTO); + + // Set the content in use flag. + if (!dimdim.isContentInUse()) { + dimdim.setContentInUse(new Boolean(true)); + dimdimService.saveOrUpdateDimdim(dimdim); + } + + // check runOffline + if (dimdim.isRunOffline()) { + return mapping.findForward("runOffline"); + } + + DimdimUser dimdimUser; + if (mode.equals(ToolAccessMode.TEACHER)) { + Long userID = WebUtil.readLongParam(request, + AttributeNames.PARAM_USER_ID, false); + dimdimUser = dimdimService.getUserByUserIdAndSessionId(userID, + toolSessionID); + } else { + dimdimUser = getCurrentUser(toolSessionID); + } + + // get any existing dimdim entry + NotebookEntry nbEntry = null; + if (dimdimUser != null) { + nbEntry = dimdimService.getEntry(dimdimUser.getEntryUID()); + } + if (nbEntry != null) { + learningForm.setEntryText(nbEntry.getEntry()); + } + + // set readOnly flag. + if (mode.equals(ToolAccessMode.TEACHER) + || (dimdim.isLockOnFinished() && dimdimUser + .isFinishedActivity())) { + request.setAttribute("contentEditable", false); + } else { + request.setAttribute("contentEditable", true); + } + request.setAttribute("finishedActivity", dimdimUser + .isFinishedActivity()); + + return mapping.findForward("dimdim"); + } + + private DimdimUser getCurrentUser(Long toolSessionId) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( + AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionId + DimdimUser dimdimUser = dimdimService.getUserByUserIdAndSessionId( + new Long(user.getUserID().intValue()), toolSessionId); + + if (dimdimUser == null) { + DimdimSession dimdimSession = dimdimService + .getSessionBySessionId(toolSessionId); + dimdimUser = dimdimService.createDimdimUser(user, dimdimSession); + } + + return dimdimUser; + } + + public ActionForward finishActivity(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); + + DimdimUser dimdimUser = getCurrentUser(toolSessionID); + + if (dimdimUser != null) { + + LearningForm learningForm = (LearningForm) form; + + // TODO fix idType to use real value not 999 + + if (dimdimUser.getEntryUID() == null) { + dimdimUser.setEntryUID(dimdimService.createNotebookEntry( + toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, + DimdimConstants.TOOL_SIGNATURE, dimdimUser.getUserId() + .intValue(), learningForm.getEntryText())); + } else { + // update existing entry. + dimdimService.updateEntry(dimdimUser.getEntryUID(), + learningForm.getEntryText()); + } + + dimdimUser.setFinishedActivity(true); + dimdimService.saveOrUpdateDimdimUser(dimdimUser); + } else { + log.error("finishActivity(): couldn't find DimdimUser with id: " + + dimdimUser.getUserId() + "and toolSessionID: " + + toolSessionID); + } + + ToolSessionManager sessionMgrService = DimdimServiceProxy + .getDimdimSessionManager(getServlet().getServletContext()); + + String nextActivityUrl; + try { + nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, + dimdimUser.getUserId()); + response.sendRedirect(nextActivityUrl); + } catch (DataMissingException e) { + throw new DimdimException(e); + } catch (ToolException e) { + throw new DimdimException(e); + } catch (IOException e) { + throw new DimdimException(e); + } + + return null; // TODO need to return proper page. + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/actions/MonitoringAction.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,116 @@ +/**************************************************************** + * 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$$ */ + +package org.lamsfoundation.lams.tool.dimdim.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.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.dimdim.dto.ContentDTO; +import org.lamsfoundation.lams.tool.dimdim.dto.DimdimUserDTO; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; +import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; +import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; +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" + * @struts.action-forward name="dimdim_display" + * path="tiles:/monitoring/dimdim_display" + * + */ +public class MonitoringAction extends LamsDispatchAction { + + // private static Logger log = Logger.getLogger(MonitoringAction.class); + + public IDimdimService dimdimService; + + 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); + + Dimdim dimdim = dimdimService.getDimdimByContentId(toolContentID); + + if (dimdim == null) { + // TODO error page. + } + + ContentDTO contentDT0 = new ContentDTO(dimdim); + + Long currentTab = WebUtil.readLongParam(request, + AttributeNames.PARAM_CURRENT_TAB, true); + contentDT0.setCurrentTab(currentTab); + + request.setAttribute("dimdimDTO", contentDT0); + request.setAttribute("contentFolderID", contentFolderID); + return mapping.findForward("success"); + } + + public ActionForward showDimdim(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + setupService(); + + Long uid = new Long(WebUtil.readLongParam(request, "userUID")); + + DimdimUser user = dimdimService.getUserByUID(uid); + NotebookEntry entry = dimdimService.getEntry(user.getEntryUID()); + + DimdimUserDTO userDTO = new DimdimUserDTO(user, entry); + + request.setAttribute("userDTO", userDTO); + + return mapping.findForward("dimdim_display"); + } + + /** + * set up dimdimService + */ + private void setupService() { + if (dimdimService == null) { + dimdimService = DimdimServiceProxy.getDimdimService(this + .getServlet().getServletContext()); + } + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AdminForm.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,82 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.web.forms; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts.action.ActionErrors; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionMapping; + +/** + * @struts.form name=adminForm" + * @author asukkar + * + */ +public class AdminForm extends ActionForm { + + private static final long serialVersionUID = 8367278543453322252L; + + // Properties + + String dimdimServerHost; + + String dimdimServerPort; + + @Override + public ActionErrors validate(ActionMapping mapping, + HttpServletRequest request) { + + ActionErrors errors = new ActionErrors(); + + if (StringUtils.isBlank(this.dimdimServerHost)) { + // TODO add error messages; + } + + if (StringUtils.isBlank(this.dimdimServerPort)) { + // TODO add error messages; + } + + return errors; + } + + public String getDimdimServerHost() { + return dimdimServerHost; + } + + public void setDimdimServerHost(String dimdimServerHost) { + this.dimdimServerHost = dimdimServerHost; + } + + public String getDimdimServerPort() { + return dimdimServerPort; + } + + public void setDimdimServerPort(String dimdimServerPort) { + this.dimdimServerPort = dimdimServerPort; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AuthoringForm.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AuthoringForm.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/AuthoringForm.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,185 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.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; + + 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; + } +} Index: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/LearningForm.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/LearningForm.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/LearningForm.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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$ */ + +package org.lamsfoundation.lams.tool.dimdim.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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/MonitoringForm.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/MonitoringForm.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/forms/MonitoringForm.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,94 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.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: lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/servlets/ExportServlet.java =================================================================== diff -u --- lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/servlets/ExportServlet.java (revision 0) +++ lams_tool_dimdim/src/java/org/lamsfoundation/lams/tool/dimdim/web/servlets/ExportServlet.java (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,198 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.dimdim.web.servlets; + +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.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.dimdim.dto.ContentDTO; +import org.lamsfoundation.lams.tool.dimdim.dto.SessionDTO; +import org.lamsfoundation.lams.tool.dimdim.dto.DimdimUserDTO; +import org.lamsfoundation.lams.tool.dimdim.dto.NotebookEntryDTO; +import org.lamsfoundation.lams.tool.dimdim.model.Dimdim; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimSession; +import org.lamsfoundation.lams.tool.dimdim.model.DimdimUser; +import org.lamsfoundation.lams.tool.dimdim.service.DimdimServiceProxy; +import org.lamsfoundation.lams.tool.dimdim.service.IDimdimService; +import org.lamsfoundation.lams.tool.dimdim.util.DimdimException; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; +import org.lamsfoundation.lams.web.session.SessionManager; +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 = "dimdim_main.html"; + + private IDimdimService dimdimService; + + protected String doExport(HttpServletRequest request, + HttpServletResponse response, String directoryName, Cookie[] cookies) { + + if (dimdimService == null) { + dimdimService = DimdimServiceProxy + .getDimdimService(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); + } + } catch (DimdimException e) { + logger.error("Cannot perform export for dimdim tool."); + } + + String basePath = request.getScheme() + "://" + request.getServerName() + + ":" + request.getServerPort() + request.getContextPath(); + writeResponseToFile(basePath + "/pages/export/exportPortfolio.jsp", + directoryName, FILENAME, cookies); + + 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 (dimdimService == null) { + dimdimService = DimdimServiceProxy + .getDimdimService(getServletContext()); + } + + Dimdim content = null; + if (toolContentID != null) { + content = dimdimService.getDimdimByContentId(toolContentID); + } else { + DimdimSession session = dimdimService + .getSessionBySessionId(toolSessionID); + if (session != null) + content = session.getDimdim(); + } + 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 DimdimException { + + logger.debug("doExportLearner: toolContentID:" + toolSessionID); + + // check if toolContentID available + if (toolSessionID == null) { + String error = "Tool Session ID is missing. Unable to continue"; + logger.error(error); + throw new DimdimException(error); + } + + DimdimSession dimdimSession = dimdimService + .getSessionBySessionId(toolSessionID); + + Dimdim dimdim = dimdimSession.getDimdim(); + + UserDTO lamsUserDTO = (UserDTO) SessionManager.getSession() + .getAttribute(AttributeNames.USER); + + DimdimUser dimdimUser = dimdimService.getUserByUserIdAndSessionId( + new Long(lamsUserDTO.getUserID()), toolSessionID); + + NotebookEntry dimdimEntry = dimdimService.getEntry(dimdimUser + .getEntryUID()); + + // construct dto's + ContentDTO contentDTO = new ContentDTO(); + contentDTO.setTitle(dimdim.getTitle()); + contentDTO.setInstructions(dimdim.getInstructions()); + + SessionDTO sessionDTO = new SessionDTO(); + sessionDTO.setSessionName(dimdimSession.getSessionName()); + sessionDTO.setSessionID(dimdimSession.getSessionId()); + + // If the user hasn't put in their entry yet, dimdimEntry will be null; + DimdimUserDTO userDTO = dimdimEntry != null ? new DimdimUserDTO( + dimdimUser, dimdimEntry) : new DimdimUserDTO(dimdimUser); + + sessionDTO.getUserDTOs().add(userDTO); + contentDTO.getSessionDTOs().add(sessionDTO); + + request.getSession().setAttribute("dimdimDTO", contentDTO); + } + + private void doTeacherExport(HttpServletRequest request, + HttpServletResponse response, String directoryName, Cookie[] cookies) + throws DimdimException { + + 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 DimdimException(error); + } + + Dimdim dimdim = dimdimService.getDimdimByContentId(toolContentID); + + ContentDTO contentDTO = new ContentDTO(dimdim); + + // add the dimdimEntry for each user in each session + + for (SessionDTO session : contentDTO.getSessionDTOs()) { + for (DimdimUserDTO user : session.getUserDTOs()) { + NotebookEntry entry = dimdimService + .getEntry(user.getEntryUID()); + if (entry != null) { + NotebookEntryDTO entryDTO = new NotebookEntryDTO(entry); + user.setEntryDTO(entryDTO); + } + } + } + + request.getSession().setAttribute("dimdimDTO", contentDTO); + } + +} Index: lams_tool_dimdim/web/403.jsp =================================================================== diff -u --- lams_tool_dimdim/web/403.jsp (revision 0) +++ lams_tool_dimdim/web/403.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/404.jsp =================================================================== diff -u --- lams_tool_dimdim/web/404.jsp (revision 0) +++ lams_tool_dimdim/web/404.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_dimdim/web/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_dimdim/web/META-INF/MANIFEST.MF (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,5 @@ +Implementation-Title: LAMS - Dimdim Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: + Index: lams_tool_dimdim/web/WEB-INF/fckeditor/tlds/FCKeditor.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/fckeditor/tlds/FCKeditor.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/fckeditor/tlds/FCKeditor.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/c.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/c.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/c.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/fmt.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/fmt.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/fmt.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/fn.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/fn.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/fn.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/permittedTaglibs.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/permittedTaglibs.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/permittedTaglibs.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/scriptfree.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/scriptfree.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/scriptfree.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/jstl/tlds/x.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/jstl/tlds/x.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/jstl/tlds/x.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/lams.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/lams.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/lams.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,513 @@ + + + + + 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 + + + index + 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: lams_tool_dimdim/web/WEB-INF/struts/struts-config.xml =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/struts-config.xml (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/struts-config.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tiles-defs.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-bean.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-bean.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-bean.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-html.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-html.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-html.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-logic.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-logic.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-logic.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-nested.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-nested.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-nested.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-tiles.tld =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-tiles.tld (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/tlds/struts-tiles.tld (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/WEB-INF/struts/validator-rules.xml =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/struts/validator-rules.xml (revision 0) +++ lams_tool_dimdim/web/WEB-INF/struts/validator-rules.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/AuthoringButton.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/AuthoringButton.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,93 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * AuthoringButton.tag + * Author: Dapeng Ni + * Description: Creates the save/cancel button for authoring page + */ + + %> +<%@ tag body-content="scriptless" %> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="tags-html" prefix="html" %> + +<%@ attribute name="formID" required="true" rtexprvalue="true" %> +<%@ attribute name="toolSignature" required="true" rtexprvalue="true" %> +<%@ attribute name="toolContentID" required="true" rtexprvalue="true" %> +<%@ attribute name="contentFolderID" required="true" rtexprvalue="true" %> +<%@ attribute name="clearSessionActionUrl" required="true" rtexprvalue="true" %> + +<%-- Optional attribute --%> +<%@ attribute name="accessMode" required="false" rtexprvalue="true" %> +<%@ attribute name="cancelButtonLabelKey" required="false" rtexprvalue="true" %> +<%@ attribute name="saveButtonLabelKey" required="false" rtexprvalue="true" %> +<%@ attribute name="cancelConfirmMsgKey" required="false" rtexprvalue="true" %> +<%@ attribute name="defineLater" required="false" rtexprvalue="true" %> +<%@ attribute name="customiseSessionID" required="false" rtexprvalue="true" %> + +<%-- Default value for message key --%> + + + + + + + + + + + + + + + +

+ + + + + + +

+ Index: lams_tool_dimdim/web/WEB-INF/tags/Date.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/Date.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/Date.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,52 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Author: Fiona Malikoff + * Description: Format a date, using the locale, based on standard parameters. + * Need to use long for the date otherwise the AU locale comes out as 1/2/06 and + * full is needed to include the timezone. + */ + + %> +<%@ tag body-content="empty" %> +<%@ attribute name="value" required="true" rtexprvalue="true" type="java.util.Date" %> +<%@ attribute name="style" required="false" rtexprvalue="true"%> +<%@ attribute name="type" required="false" rtexprvalue="true"%> + +<%@ taglib uri="tags-fmt" prefix="fmt" %> +<%@ taglib uri="tags-core" prefix="c" %> + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/DefineLater.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/DefineLater.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/DefineLater.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,58 @@ + +<% + /**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * DefineLater.tag + * Author: Fiona Malikoff + * Description: Layout for "Define Later" screens - to be used in learning. + * A suggested layout - unless the tool has special requirements, this layout should be used. + * Expects to be used inside
+ */ +%> + +<%@ tag body-content="scriptless"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-core" prefix="c"%> + +<%@ attribute name="defineLaterMessageKey" required="false" + rtexprvalue="true"%> +<%@ attribute name="buttonTryAgainKey" required="false" + rtexprvalue="true"%> + +<%-- Default value for I18N keys --%> + + + + + + + +

+ +

+
+ +
Index: lams_tool_dimdim/web/WEB-INF/tags/ExportPortOutput.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/ExportPortOutput.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/ExportPortOutput.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,59 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Passon + * Author: Fiona Malikoff + * Description: Outputs the Activity details on the main page in export portfolio. Recursive tag. + * + */ + + %> +<%@ tag body-content="empty" %> +<%@ attribute name="actport" required="true" rtexprvalue="true" type="org.lamsfoundation.lams.learning.export.ActivityPortfolio" %> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + +
  • + + + " target="_blank"/> + + + + + + + + +
      + + + +
    +
    +
    + +
  • + Index: lams_tool_dimdim/web/WEB-INF/tags/FCKEditor.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/FCKEditor.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/FCKEditor.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,57 @@ +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="fck-editor" prefix="fck"%> + +<%@ attribute name="id" required="true" rtexprvalue="true"%> +<%@ attribute name="value" required="true" rtexprvalue="true"%> +<%@ attribute name="toolbarSet" required="false" rtexprvalue="true"%> +<%@ attribute name="contentFolderID" required="false" rtexprvalue="true"%> + + + + + + + + + +/fckeditor/ + + + + + ${value} + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/Head.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/Head.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/Head.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 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 + * **************************************************************** + */ + +/** + * Head.tag + * Author: Fiona Malikoff + * Description: Sets up the non-cache pragma statements and the UTF-8 + * encoding. Use in place of the normal head tag. + */ +%> + +<%@ tag body-content="scriptless"%> + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/ImgButtonWrapper.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/ImgButtonWrapper.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/ImgButtonWrapper.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,37 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * ImgButtonWrapper.tag + * Author: Mitchell Seaton + * Description: Simple wrapper that will display buttons correctly when RTL page rendering is used. + */ + + %> +<%@ tag body-content="scriptless" %> +
    +
    + +
    +
    Index: lams_tool_dimdim/web/WEB-INF/tags/LearnerFlashEnabled.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/LearnerFlashEnabled.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/LearnerFlashEnabled.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,45 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Learner Flash Enabled + * Author: Fiona Malikoff + * Description: Is Flash enabled for learner? + * + */ + + %> +<%@ tag body-content="empty" %> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + + + + + + true + false + + + Index: lams_tool_dimdim/web/WEB-INF/tags/Passon.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/Passon.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/Passon.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,86 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Passon + * Author: Mitchell Seaton + * Description: Passes on progress data to the Flash Learner to update the progress bar. + * + */ + + %> +<%@ tag body-content="empty" %> +<%@ attribute name="progress" required="true" rtexprvalue="true" type="java.lang.String" %> +<%@ attribute name="version" required="false" rtexprvalue="true" %> +<%@ attribute name="id" required="true" rtexprvalue="true" %> +<%@ attribute name="redirect" required="false" rtexprvalue="true" %> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/ProgressOutput.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/ProgressOutput.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/ProgressOutput.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,79 @@ +<% +/**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Progress Output + * Author: Fiona Malikoff + * Description: Outputs the Activity details on the jsp progress page. Recursive tag + * + */ + + /** Need to add current ! */ + + %> +<%@ tag body-content="empty" %> +<%@ attribute name="activity" required="true" rtexprvalue="true" type="org.lamsfoundation.lams.learning.web.bean.ActivityURL" %> +<%@ taglib uri="tags-core" prefix="c" %> +<%@ taglib uri="tags-lams" prefix="lams" %> + +
  • + + + + + + + + + + + + + + + + + + + + + + + + ${activity.title} + + + + + +
      + + + +
    +
    +
    + +
  • + Index: lams_tool_dimdim/web/WEB-INF/tags/Tab.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/Tab.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/Tab.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,85 @@ +<% + /**************************************************************** + * 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 + * **************************************************************** + */ + + /** + * Tab.tag + * Author: Mitchell Seaton + * Description: Creates a tab element. + * Wiki: + */ +%> +<%@ tag body-content="empty"%> +<%@ attribute name="id" required="true" rtexprvalue="true"%> +<%@ attribute name="value" required="false" rtexprvalue="true"%> +<%@ attribute name="key" required="false" rtexprvalue="true"%> +<%@ attribute name="inactive" required="false" rtexprvalue="true"%> +<%@ attribute name="methodCall" required="false" rtexprvalue="true"%> + +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-lams" prefix="lams"%> + +<%-- Check if bundle is set --%> + + + + + + + + + + +<%-- + Usually methodCall is selectTab, but the calling code can override methodCall if desired. + this is handy if the page needs different logic on initialisation and user switching tabs +--%> + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/TabBody.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/TabBody.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/TabBody.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,52 @@ +<%/**************************************************************** + * 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 + * **************************************************************** + */ + +/** + * TabBody.tag + * Author: Mitchell Seaton + * Description: Creates the body container for a tab element + * Wiki: + */ + + %> +<%@ tag body-content="scriptless"%> +<%@ attribute name="id" required="true" rtexprvalue="true"%> +<%@ attribute name="tabTitle" required="false" rtexprvalue="true"%> +<%@ attribute name="titleKey" required="false" rtexprvalue="true"%> +<%@ attribute name="page" required="false" rtexprvalue="true"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-bean" prefix="bean"%> + + +
    + + + + + + + + + +
    + Index: lams_tool_dimdim/web/WEB-INF/tags/TabName.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/TabName.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/TabName.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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 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 + * **************************************************************** + */ + +/** + * TabName Tag + * Author: Mitchell Seaton + * Description: Shortens name that are too long to fit inside a tab + */ + + %> +<%@ tag body-content="scriptless" %> + +<%@ attribute name="url" required="true" rtexprvalue="true"%> +<%@ attribute name="highlight" required="false" rtexprvalue="true" %> + +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-function" prefix="fn"%> + +12 + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/Tabs.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/Tabs.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/Tabs.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,69 @@ +<%/**************************************************************** + * 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 + * **************************************************************** + */ + +/** + * Tabs.tag + * Author: Mitchell Seaton + * Description: Create a tab list from a input collection or nested Tab tags. + * Wiki: + */ + + %> +<%@ tag body-content="scriptless"%> +<%@ attribute name="collection" type="java.util.Collection" required="false" rtexprvalue="true"%> +<%@ attribute name="control" required="false" rtexprvalue="true"%> +<%@ attribute name="useKey" required="false" rtexprvalue="true"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/tags/headItems.tag =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/tags/headItems.tag (revision 0) +++ lams_tool_dimdim/web/WEB-INF/tags/headItems.tag (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,52 @@ +<%/**************************************************************** + * 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 + * **************************************************************** + */ + +/** + * Standard Head Items + * Author: Fiona Malikoff + * Description: Includes all the standard head items e.g. the + * lams css files, sets the content type, standard javascript files. + */ + + %> +<%@ tag body-content="empty"%> + +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> + + + + + + + + + + + + + + + + Index: lams_tool_dimdim/web/WEB-INF/web.xml =================================================================== diff -u --- lams_tool_dimdim/web/WEB-INF/web.xml (revision 0) +++ lams_tool_dimdim/web/WEB-INF/web.xml (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,338 @@ + + + + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.dimdim.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/learning/learningApplicationContext.xml + classpath:/org/lamsfoundation/lams/contentrepository/applicationContext.xml + classpath:/org/lamsfoundation/lams/tool/dimdim/dimdimApplicationContext.xml + + + + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + dimdimSessionFactory + + + + 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 + dimdimToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.dimdim.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: lams_tool_dimdim/web/common/empty.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/empty.jsp (revision 0) +++ lams_tool_dimdim/web/common/empty.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1 @@ \ No newline at end of file Index: lams_tool_dimdim/web/common/footer.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/footer.jsp (revision 0) +++ lams_tool_dimdim/web/common/footer.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,3 @@ +

    + Copyright (C) 2006 LAMS Foundation (http://lamsfoundation.org +

    Index: lams_tool_dimdim/web/common/message.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/message.jsp (revision 0) +++ lams_tool_dimdim/web/common/message.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,10 @@ +<%@ include file="/common/taglibs.jsp"%> + +

    + <%-- TODO check if message exists --%> + +

    + +

    + ${requestScope.message}; +

    Index: lams_tool_dimdim/web/common/simpleHeader.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/simpleHeader.jsp (revision 0) +++ lams_tool_dimdim/web/common/simpleHeader.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,25 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + <fmt:message key="activity.title" /> + + + + + + + + <%-- TODO is this the best place to import these scripts ? --%> + + + + + Index: lams_tool_dimdim/web/common/tabbedHeader.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/tabbedHeader.jsp (revision 0) +++ lams_tool_dimdim/web/common/tabbedHeader.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,13 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + <fmt:message key="activity.title" /> + + + + Index: lams_tool_dimdim/web/common/taglibs.jsp =================================================================== diff -u --- lams_tool_dimdim/web/common/taglibs.jsp (revision 0) +++ lams_tool_dimdim/web/common/taglibs.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,12 @@ +<%@ page language="java" pageEncoding="UTF-8" + contentType="text/html;charset=utf-8"%> + +<%@ taglib uri="tags-bean" prefix="bean"%> +<%@ taglib uri="tags-logic" prefix="logic"%> +<%@ taglib uri="tags-tiles" prefix="tiles"%> +<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="fck-editor" prefix="fck"%> + Index: lams_tool_dimdim/web/error.jsp =================================================================== diff -u --- lams_tool_dimdim/web/error.jsp (revision 0) +++ lams_tool_dimdim/web/error.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -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: lams_tool_dimdim/web/images/edit.gif =================================================================== diff -u Binary files differ Index: lams_tool_dimdim/web/images/icon_dimdim.swf =================================================================== diff -u Binary files differ Index: lams_tool_dimdim/web/images/success.gif =================================================================== diff -u Binary files differ Index: lams_tool_dimdim/web/includes/javascript/authoring.js =================================================================== diff -u --- lams_tool_dimdim/web/includes/javascript/authoring.js (revision 0) +++ lams_tool_dimdim/web/includes/javascript/authoring.js (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,24 @@ + +function init() { + // open the current tab + var tag = document.getElementById("currentTab"); + if (tag.value !== "") { + selectTab(tag.value); + } else { + selectTab(1); + } +} +function doSelectTab(tabId) { + var tag = document.getElementById("currentTab"); + tag.value = tabId; + selectTab(tabId); +} +function doSubmit(method) { + document.authoringForm.dispatch.value = method; + document.authoringForm.submit(); +} +function deleteAttachment(dispatch, uuid) { + document.authoringForm.dispatch.value = dispatch; + document.authoringForm.deleteFileUuid.value = uuid; + document.authoringForm.submit(); +} Index: lams_tool_dimdim/web/includes/javascript/monitoring.js =================================================================== diff -u --- lams_tool_dimdim/web/includes/javascript/monitoring.js (revision 0) +++ lams_tool_dimdim/web/includes/javascript/monitoring.js (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,16 @@ + +function init() { + if (initialTabId) { + selectTab(initialTabId); + } else { + selectTab(1); + } +} +function doSelectTab(tabId) { + selectTab(tabId); +} +function doSubmit(method, tabId) { + document.monitoringForm.method.value = method; + document.monitoringForm.submit(); +} + Index: lams_tool_dimdim/web/layouts/simpleLayout.jsp =================================================================== diff -u --- lams_tool_dimdim/web/layouts/simpleLayout.jsp (revision 0) +++ lams_tool_dimdim/web/layouts/simpleLayout.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,10 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + + + + Index: lams_tool_dimdim/web/layouts/tabbedLayout.jsp =================================================================== diff -u --- lams_tool_dimdim/web/layouts/tabbedLayout.jsp (revision 0) +++ lams_tool_dimdim/web/layouts/tabbedLayout.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,18 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + +
    + + +

    + +

    + +
    + +
    Index: lams_tool_dimdim/web/pages/admin/admin.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/admin/admin.jsp (revision 0) +++ lams_tool_dimdim/web/pages/admin/admin.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,2 @@ +<%@ include file="/common/taglibs.jsp"%> + Index: lams_tool_dimdim/web/pages/authoring/advanced.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/authoring/advanced.jsp (revision 0) +++ lams_tool_dimdim/web/pages/authoring/advanced.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,20 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +

    + + +

    + +

    + + +

    + Index: lams_tool_dimdim/web/pages/authoring/authoring.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/authoring/authoring.jsp (revision 0) +++ lams_tool_dimdim/web/pages/authoring/authoring.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,73 @@ +<%@ include file="/common/taglibs.jsp"%> + +<%@ page + import="org.lamsfoundation.lams.tool.dimdim.util.DimdimConstants"%> + + + + + + + + + + + + + + +
    + + + + +
    + + + + +

    + +
    +
    +

    +
    +
    + + + + <%-- Page tabs --%> + + + + + + + +
    +
    + + + Index: lams_tool_dimdim/web/pages/authoring/basic.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/authoring/basic.jsp (revision 0) +++ lams_tool_dimdim/web/pages/authoring/basic.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,28 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + +
    + +
    Index: lams_tool_dimdim/web/pages/authoring/headItems.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/authoring/headItems.jsp (revision 0) +++ lams_tool_dimdim/web/pages/authoring/headItems.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,9 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + Index: lams_tool_dimdim/web/pages/authoring/instructions.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/authoring/instructions.jsp (revision 0) +++ lams_tool_dimdim/web/pages/authoring/instructions.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,207 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + <%-- Online Instructions --%> + + + + + <%-- Online Attachments --%> + + + + + + + <%-- Online Attachments Upload --%> + + + + + + + + + <%-- Offline Instructions --%> + + + + + + + <%-- Offline Attachments --%> + + + + + + + <%--Offline Attachments Upload --%> + + + + +
    +
    + +
    + +
    +
    +
      + + <%-- Online Saved Files --%> + +
    • + + + + + +   + + + + + +   + + + + +
    • +
      + + <%-- Online Unsaved Files --%> + +
    • + + * + + + + +   + + + + + +   + + + + +
    • +
      + +
    +
    +
    +
    + +
    + + + + + + + +
    +
    +
    +
    + +
    + +
    +
    +
      + + <%-- Offline Saved Attachments --%> + +
    • + + + + + +   + + + + + +   + + + + +
    • +
      + + <%-- Offline Unsaved Attachments --%> + +
    • + + * + + + + +   + + + + + +   + + + + +
    • +
      + +
    +
    +
    +
    + +
    + + + + + + + +
    Index: lams_tool_dimdim/web/pages/export/exportPortfolio.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/export/exportPortfolio.jsp (revision 0) +++ lams_tool_dimdim/web/pages/export/exportPortfolio.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,92 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + <c:out value="${dimdimDTO.title}" escapeXml="false" /> + + + + + + +
    + +

    + +

    + +

    + +

    + + +
    + +
    +
    + + +
    +

    + ${session.sessionName} +

    +

    +   +

    + + + + + + + + + + + + + + + + + + + + +
    + ${user.firstName} ${user.lastName } +
    + + + +
    + + + +
    + + + +
    +
    +
    +
    +
    + + + + + + + + Index: lams_tool_dimdim/web/pages/learning/defineLater.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/learning/defineLater.jsp (revision 0) +++ lams_tool_dimdim/web/pages/learning/defineLater.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,11 @@ +<%@ include file="/common/taglibs.jsp"%> + +
    +

    + +

    + +
    + + + Index: lams_tool_dimdim/web/pages/learning/dimdim.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/learning/dimdim.jsp (revision 0) +++ lams_tool_dimdim/web/pages/learning/dimdim.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,105 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${dimdimDTO.title} +

    + +

    + ${dimdimDTO.instructions} +

    + + +
    + + + + + + + + +
    +
    + +   + + + + + + + + + + + + + + + + + + + + +
    + + button.finish + +
    + +
    + + + + +
    + +
    +
    Index: lams_tool_dimdim/web/pages/learning/headItems.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/learning/headItems.jsp (revision 0) +++ lams_tool_dimdim/web/pages/learning/headItems.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1 @@ \ No newline at end of file Index: lams_tool_dimdim/web/pages/learning/runOffline.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/learning/runOffline.jsp (revision 0) +++ lams_tool_dimdim/web/pages/learning/runOffline.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,31 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${dimdimDTO.title} +

    + +

    + +

    + + + + + + +
    + + button.finish + +
    +
    +
    +
    + Index: lams_tool_dimdim/web/pages/monitoring/dimdimDisplay.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/dimdimDisplay.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/dimdimDisplay.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,37 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +
    +

    + ${userDTO.firstName} ${userDTO.lastName } +

    +
    + + + + +
    + + + +
    + + + +
    Index: lams_tool_dimdim/web/pages/monitoring/editActivity.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/editActivity.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/editActivity.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,43 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + +

    + +

    +
    + + + + + + + + + + + + +
    + + + +
    + + + +
    + +

    + + + + + + + + +

    + + Index: lams_tool_dimdim/web/pages/monitoring/headItems.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/headItems.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/headItems.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,9 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + Index: lams_tool_dimdim/web/pages/monitoring/instructions.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/instructions.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/instructions.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,95 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    + + + + + +   + + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + + + + + +   + + + + + +
    Index: lams_tool_dimdim/web/pages/monitoring/monitoring.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/monitoring.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/monitoring.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,25 @@ +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="org.lamsfoundation.lams.tool.dimdim.util.DimdimConstants"%> + + + +
    + + + + + + +
    + + Index: lams_tool_dimdim/web/pages/monitoring/statistics.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/statistics.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/statistics.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,34 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + +
    +

    + ${session.sessionName} +

    +
    + + + + + + + + + + +
    + heading.totalLearnersInGroup + + ${session.numberOfLearners} +
    + heading.totalFinishedLearnersInGroup + + ${session.numberOfFinishedLearners} +
    +
    Index: lams_tool_dimdim/web/pages/monitoring/summary.jsp =================================================================== diff -u --- lams_tool_dimdim/web/pages/monitoring/summary.jsp (revision 0) +++ lams_tool_dimdim/web/pages/monitoring/summary.jsp (revision 4c8de20e6e3ea73f98892f70662508e4011e96f6) @@ -0,0 +1,122 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + +

    + + + + + +

    +
    + + + + + + + + + +
    +

    + ${session.sessionName} +

    +
    + + + + + + +
    + + + ${session.numberOfLearners} +
    + + + + + + + + + + + + + + + +
    + + + +
    + ${user.firstName} ${user.lastName} + + + + + + + + + + + + +
    +