Index: lams_tool_gmap/.classpath =================================================================== diff -u --- lams_tool_gmap/.classpath (revision 0) +++ lams_tool_gmap/.classpath (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,12 @@ + + + + + + + + + + + + Index: lams_tool_gmap/.cvsignore =================================================================== diff -u --- lams_tool_gmap/.cvsignore (revision 0) +++ lams_tool_gmap/.cvsignore (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,4 @@ +build +.myeclipse +.mymetadata +.settings Index: lams_tool_gmap/.myumldata =================================================================== diff -u --- lams_tool_gmap/.myumldata (revision 0) +++ lams_tool_gmap/.myumldata (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,2 @@ +#Mon Jul 17 14:17:56 EST 2006 +CodeGenContainer=java.util.Vector Index: lams_tool_gmap/.project =================================================================== diff -u --- lams_tool_gmap/.project (revision 0) +++ lams_tool_gmap/.project (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,17 @@ + + + lams_tool_gmap + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + Index: lams_tool_gmap/build.properties =================================================================== diff -u --- lams_tool_gmap/build.properties (revision 0) +++ lams_tool_gmap/build.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,20 @@ + +# project-wide properties +signature=lagmap10 + +#project version +tool.version=20080521 + +package=org/lamsfoundation/lams/tool/gmap +package.name=org.lamsfoundation.lams.tool.gmap +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.gmap + Index: lams_tool_gmap/build.xml =================================================================== diff -u --- lams_tool_gmap/build.xml (revision 0) +++ lams_tool_gmap/build.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,500 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deploying the Gmap Tool + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/hibernate/mappings/hibernate.properties =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/hibernate.properties (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/hibernate.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/Gmap.hbm.xml =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/Gmap.hbm.xml (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/Gmap.hbm.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.hbm.xml =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.hbm.xml (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.hbm.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.hbm.xml =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.hbm.xml (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.hbm.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapSession.hbm.xml =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapSession.hbm.xml (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapSession.hbm.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapUser.hbm.xml =================================================================== diff -u --- lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapUser.hbm.xml (revision 0) +++ lams_tool_gmap/conf/hibernate/mappings/org/lamsfoundation/lams/tool/gmap/model/GmapUser.hbm.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/conf/jar/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_gmap/conf/jar/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_gmap/conf/jar/META-INF/MANIFEST.MF (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,3 @@ +Implementation-Title: LAMS - Notebok Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) Index: lams_tool_gmap/conf/language/ApplicationResources.properties =================================================================== diff -u --- lams_tool_gmap/conf/language/ApplicationResources.properties (revision 0) +++ lams_tool_gmap/conf/language/ApplicationResources.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,85 @@ +appName = notebook +#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 Notebook =================# + +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =Notebook +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 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.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 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 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_gmap/conf/language/lams/ApplicationResources.properties =================================================================== diff -u --- lams_tool_gmap/conf/language/lams/ApplicationResources.properties (revision 0) +++ lams_tool_gmap/conf/language/lams/ApplicationResources.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,87 @@ +appName = notebook +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Fri Apr 18 07:18:06 BST 2008 + +#=================== labels for Notebook =================# + +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =gmap +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: +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 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.instructions =Instructions +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.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.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +activity.helptext =Notebook for notes and reflections +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 +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.contentInUseSet =The modification of content is not allowed since one or more students has attempted the activity. + + +#======= End labels: Exported 76 labels for en AU ===== Index: lams_tool_gmap/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u --- lams_tool_gmap/conf/language/lams/ApplicationResources_en_AU.properties (revision 0) +++ lams_tool_gmap/conf/language/lams/ApplicationResources_en_AU.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,87 @@ +appName = notebook +#language code: en +#locale code: AU + + # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Fri Apr 18 07:18:06 BST 2008 + +#=================== labels for Notebook =================# + +tool.display.name =Notebook +tool.description =Notebook Tool +activity.title =gmap +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: +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 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.instructions =Instructions +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.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.contentrepository =An error has occurred when saving/deleting instruction file {0}. The files may not be saved correctly. +activity.helptext =Notebook for notes and reflections +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 +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.contentInUseSet =The modification of content is not allowed since one or more students has attempted the activity. + + +#======= End labels: Exported 76 labels for en AU ===== Index: lams_tool_gmap/conf/language/rams/ApplicationResources.properties =================================================================== diff -u --- lams_tool_gmap/conf/language/rams/ApplicationResources.properties (revision 0) +++ lams_tool_gmap/conf/language/rams/ApplicationResources.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 =gmap +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_gmap/conf/language/rams/ApplicationResources_en_AU.properties =================================================================== diff -u --- lams_tool_gmap/conf/language/rams/ApplicationResources_en_AU.properties (revision 0) +++ lams_tool_gmap/conf/language/rams/ApplicationResources_en_AU.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 =gmap +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_gmap/conf/middlegen/lams_tool_lagmap11-prefs.properties =================================================================== diff -u --- lams_tool_gmap/conf/middlegen/lams_tool_lagmap11-prefs.properties (revision 0) +++ lams_tool_gmap/conf/middlegen/lams_tool_lagmap11-prefs.properties (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,128 @@ +# Middlegen Preferences +hibernate.tables.tl_lagmap10_attachment.base-class-name=GmapAttachment +hibernate.tables.tl_lagmap10_attachment.columns.create_date.columnspecialty=property +hibernate.tables.tl_lagmap10_attachment.columns.create_date.java-name=createDate +hibernate.tables.tl_lagmap10_attachment.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_lagmap10_attachment.columns.gmap_uid.columnspecialty=foreign key +hibernate.tables.tl_lagmap10_attachment.columns.gmap_uid.java-name=gmapUid +hibernate.tables.tl_lagmap10_attachment.columns.gmap_uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_attachment.columns.file_name.inctostring=true +hibernate.tables.tl_lagmap10_attachment.columns.file_name.java-name=fileName +hibernate.tables.tl_lagmap10_attachment.columns.file_name.java-type=java.lang.String +hibernate.tables.tl_lagmap10_attachment.columns.file_type.java-name=fileType +hibernate.tables.tl_lagmap10_attachment.columns.file_type.java-type=java.lang.String +hibernate.tables.tl_lagmap10_attachment.columns.file_uuid.columnspecialty=property +hibernate.tables.tl_lagmap10_attachment.columns.file_uuid.incequals=false +hibernate.tables.tl_lagmap10_attachment.columns.file_uuid.inctostring=true +hibernate.tables.tl_lagmap10_attachment.columns.file_uuid.java-name=fileUuid +hibernate.tables.tl_lagmap10_attachment.columns.file_uuid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_attachment.columns.file_version_id.inctostring=true +hibernate.tables.tl_lagmap10_attachment.columns.file_version_id.java-name=fileVersionId +hibernate.tables.tl_lagmap10_attachment.columns.file_version_id.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_attachment.columns.uid.columnspecialty=key +hibernate.tables.tl_lagmap10_attachment.columns.uid.incequals=true +hibernate.tables.tl_lagmap10_attachment.columns.uid.inctostring=true +hibernate.tables.tl_lagmap10_attachment.columns.uid.java-name=uid +hibernate.tables.tl_lagmap10_attachment.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_attachment.equalshashcode=true +hibernate.tables.tl_lagmap10_attachment.keygenerator=native +hibernate.tables.tl_lagmap10_gmap.base-class-name=Gmap +hibernate.tables.tl_lagmap10_gmap.columns.content_in_use.java-name=contentInUse +hibernate.tables.tl_lagmap10_gmap.columns.content_in_use.java-type=java.lang.Boolean +hibernate.tables.tl_lagmap10_gmap.columns.create_by.java-name=createBy +hibernate.tables.tl_lagmap10_gmap.columns.create_by.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_gmap.columns.create_date.java-name=createDate +hibernate.tables.tl_lagmap10_gmap.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_lagmap10_gmap.columns.define_later.java-name=defineLater +hibernate.tables.tl_lagmap10_gmap.columns.define_later.java-type=java.lang.Boolean +hibernate.tables.tl_lagmap10_gmap.columns.instructions.inctostring=true +hibernate.tables.tl_lagmap10_gmap.columns.instructions.java-name=instructions +hibernate.tables.tl_lagmap10_gmap.columns.instructions.java-type=java.lang.String +hibernate.tables.tl_lagmap10_gmap.columns.lock_on_finished.java-name=lockOnFinished +hibernate.tables.tl_lagmap10_gmap.columns.lock_on_finished.java-type=java.lang.Boolean +hibernate.tables.tl_lagmap10_gmap.columns.offline_instructions.java-name=offlineInstructions +hibernate.tables.tl_lagmap10_gmap.columns.offline_instructions.java-type=java.lang.String +hibernate.tables.tl_lagmap10_gmap.columns.online_instructions.java-name=onlineInstructions +hibernate.tables.tl_lagmap10_gmap.columns.online_instructions.java-type=java.lang.String +hibernate.tables.tl_lagmap10_gmap.columns.run_offline.java-name=runOffline +hibernate.tables.tl_lagmap10_gmap.columns.run_offline.java-type=java.lang.Boolean +hibernate.tables.tl_lagmap10_gmap.columns.title.inctostring=true +hibernate.tables.tl_lagmap10_gmap.columns.title.java-name=title +hibernate.tables.tl_lagmap10_gmap.columns.title.java-type=java.lang.String +hibernate.tables.tl_lagmap10_gmap.columns.tool_content_id.inctostring=true +hibernate.tables.tl_lagmap10_gmap.columns.tool_content_id.java-name=toolContentId +hibernate.tables.tl_lagmap10_gmap.columns.tool_content_id.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_gmap.columns.uid.columnspecialty=key +hibernate.tables.tl_lagmap10_gmap.columns.uid.incequals=true +hibernate.tables.tl_lagmap10_gmap.columns.uid.inctostring=true +hibernate.tables.tl_lagmap10_gmap.columns.uid.java-name=uid +hibernate.tables.tl_lagmap10_gmap.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_gmap.columns.update_date.java-name=updateDate +hibernate.tables.tl_lagmap10_gmap.columns.update_date.java-type=java.sql.Timestamp +hibernate.tables.tl_lagmap10_gmap.dynamicInsert=false +hibernate.tables.tl_lagmap10_gmap.equalshashcode=true +hibernate.tables.tl_lagmap10_gmap.keygenerator=native +hibernate.tables.tl_lagmap10_session.base-class-name=GmapSession +hibernate.tables.tl_lagmap10_session.columns.gmap_uid.java-name=gmapUid +hibernate.tables.tl_lagmap10_session.columns.gmap_uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_session.columns.session_end_date.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.session_end_date.java-name=sessionEndDate +hibernate.tables.tl_lagmap10_session.columns.session_end_date.java-type=java.sql.Timestamp +hibernate.tables.tl_lagmap10_session.columns.session_id.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.session_id.java-name=sessionId +hibernate.tables.tl_lagmap10_session.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_session.columns.session_name.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.session_name.java-name=sessionName +hibernate.tables.tl_lagmap10_session.columns.session_name.java-type=java.lang.String +hibernate.tables.tl_lagmap10_session.columns.session_start_date.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.session_start_date.java-name=sessionStartDate +hibernate.tables.tl_lagmap10_session.columns.session_start_date.java-type=java.sql.Timestamp +hibernate.tables.tl_lagmap10_session.columns.status.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.status.java-name=status +hibernate.tables.tl_lagmap10_session.columns.status.java-type=java.lang.Integer +hibernate.tables.tl_lagmap10_session.columns.uid.columnspecialty=key +hibernate.tables.tl_lagmap10_session.columns.uid.incequals=true +hibernate.tables.tl_lagmap10_session.columns.uid.inctostring=true +hibernate.tables.tl_lagmap10_session.columns.uid.java-name=uid +hibernate.tables.tl_lagmap10_session.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_session.equalshashcode=true +hibernate.tables.tl_lagmap10_session.keygenerator=native +hibernate.tables.tl_lagmap10_user.base-class-name=GmapUser +hibernate.tables.tl_lagmap10_user.columns.first_name.java-name=firstName +hibernate.tables.tl_lagmap10_user.columns.first_name.java-type=java.lang.String +hibernate.tables.tl_lagmap10_user.columns.last_name.columnspecialty=property +hibernate.tables.tl_lagmap10_user.columns.last_name.java-name=lastName +hibernate.tables.tl_lagmap10_user.columns.last_name.java-type=java.lang.String +hibernate.tables.tl_lagmap10_user.columns.session_id.inctostring=true +hibernate.tables.tl_lagmap10_user.columns.session_id.java-name=sessionId +hibernate.tables.tl_lagmap10_user.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_user.columns.uid.columnspecialty=key +hibernate.tables.tl_lagmap10_user.columns.uid.incequals=true +hibernate.tables.tl_lagmap10_user.columns.uid.inctostring=true +hibernate.tables.tl_lagmap10_user.columns.uid.java-name=uid +hibernate.tables.tl_lagmap10_user.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_user.columns.user_id.inctostring=true +hibernate.tables.tl_lagmap10_user.columns.user_id.java-name=userId +hibernate.tables.tl_lagmap10_user.columns.user_id.java-type=java.lang.Long +hibernate.tables.tl_lagmap10_user.equalshashcode=true +hibernate.tables.tl_lagmap10_user.keygenerator=sequence +relations.tl_lagmap10_gmap-tl_lagmap10_attachment.tl_lagmap10_attachment-has-tl_lagmap10_gmap.enabled=true +relations.tl_lagmap10_gmap-tl_lagmap10_attachment.tl_lagmap10_attachment-has-tl_lagmap10_gmap.target-many=false +relations.tl_lagmap10_gmap-tl_lagmap10_attachment.tl_lagmap10_gmap-has-tl_lagmap10_attachment.enabled=true +relations.tl_lagmap10_gmap-tl_lagmap10_attachment.tl_lagmap10_gmap-has-tl_lagmap10_attachment.target-many=true +relations.tl_lagmap10_gmap-tl_lagmap10_session.tl_lagmap10_gmap-has-tl_lagmap10_session.enabled=true +relations.tl_lagmap10_gmap-tl_lagmap10_session.tl_lagmap10_gmap-has-tl_lagmap10_session.target-many=true +relations.tl_lagmap10_gmap-tl_lagmap10_session.tl_lagmap10_session-has-tl_lagmap10_gmap.enabled=true +relations.tl_lagmap10_gmap-tl_lagmap10_session.tl_lagmap10_session-has-tl_lagmap10_gmap.target-many=false +relations.tl_lagmap10_session-tl_lagmap10_user.tl_lagmap10_session-has-tl_lagmap10_user.enabled=true +relations.tl_lagmap10_session-tl_lagmap10_user.tl_lagmap10_session-has-tl_lagmap10_user.target-many=true +relations.tl_lagmap10_session-tl_lagmap10_user.tl_lagmap10_user-has-tl_lagmap10_session.enabled=true +relations.tl_lagmap10_session-tl_lagmap10_user.tl_lagmap10_user-has-tl_lagmap10_session.target-many=false +tables.tl_lagmap10_attachment.x=566 +tables.tl_lagmap10_attachment.y=173 +tables.tl_lagmap10_gmap.x=308 +tables.tl_lagmap10_gmap.y=176 +tables.tl_lagmap10_session.x=70 +tables.tl_lagmap10_session.y=70 +tables.tl_lagmap10_user.x=460 +tables.tl_lagmap10_user.y=28 Index: lams_tool_gmap/conf/war/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_gmap/conf/war/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_gmap/conf/war/META-INF/MANIFEST.MF (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,4 @@ +Implementation-Title: LAMS - Gmap Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: ./lams.jar ./lams-tool-lagmap10.jar ./lams-contentrepository.jar ./lams-learning.jar Index: lams_tool_gmap/conf/xdoclet/error-pages.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/error-pages.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/error-pages.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,13 @@ + + 500 + /error.jsp + + + 403 + /403.jsp + + + 404 + /404.jsp + + Index: lams_tool_gmap/conf/xdoclet/filter-mappings.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/filter-mappings.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/filter-mappings.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,14 @@ + + SystemSessionFilter + /* + + + + hibernateFilter + /* + + + + LocaleFilter + /* + Index: lams_tool_gmap/conf/xdoclet/filters.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/filters.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/filters.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,24 @@ + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + gmapSessionFactory + + + + + LocaleFilter + + org.lamsfoundation.lams.web.filter.LocaleFilter + + Index: lams_tool_gmap/conf/xdoclet/global-forwards.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/global-forwards.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/global-forwards.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,3 @@ + + + Index: lams_tool_gmap/conf/xdoclet/listeners.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/listeners.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/listeners.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,11 @@ + + + org.springframework.web.context.ContextLoaderListener + + + + + org.lamsfoundation.lams.web.SessionListener + + + Index: lams_tool_gmap/conf/xdoclet/servlet-mappings.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/servlet-mappings.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/servlet-mappings.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,20 @@ + + action + *.do + + + + + Connector + /fckeditor/editor/filemanager/browser/default/connectors/jsp/connector + + + + download + /download/* + + + + exportPortfolio + /exportPortfolio + Index: lams_tool_gmap/conf/xdoclet/servlets.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/servlets.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/servlets.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 + gmapToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.gmap.web.servlets.ExportServlet + + Index: lams_tool_gmap/conf/xdoclet/struts-forms.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/struts-forms.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/struts-forms.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1 @@ \ No newline at end of file Index: lams_tool_gmap/conf/xdoclet/struts-message-resources.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/struts-message-resources.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/struts-message-resources.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1 @@ + Index: lams_tool_gmap/conf/xdoclet/struts-plugins.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/struts-plugins.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/struts-plugins.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,9 @@ + + + + Index: lams_tool_gmap/conf/xdoclet/taglibs.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/taglibs.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/taglibs.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/conf/xdoclet/web-security.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/web-security.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/web-security.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/conf/xdoclet/web-settings.xml =================================================================== diff -u --- lams_tool_gmap/conf/xdoclet/web-settings.xml (revision 0) +++ lams_tool_gmap/conf/xdoclet/web-settings.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,19 @@ + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.gmap.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/gmap/gmapApplicationContext.xml + + + Index: lams_tool_gmap/db/model/gmap_tool.clay =================================================================== diff -u --- lams_tool_gmap/db/model/gmap_tool.clay (revision 0) +++ lams_tool_gmap/db/model/gmap_tool.clay (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,7 @@ + + + + + + + Index: lams_tool_gmap/db/sql/activity_insert.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/activity_insert.sql (revision 0) +++ lams_tool_gmap/db/sql/activity_insert.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 +, 'Gmap Tool' +, 'Gmap 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/lagmap10/images/icon_gmap.swf' +, NULL +, NULL +, NULL +, 'org.lamsfoundation.lams.tool.gmap.ApplicationResources' +) Index: lams_tool_gmap/db/sql/create_lams_tool_gmap.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/create_lams_tool_gmap.sql (revision 0) +++ lams_tool_gmap/db/sql/create_lams_tool_gmap.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,46 @@ +-- CVS ID: $Id$ + +SET FOREIGN_KEY_CHECKS=0; +drop table if exists tl_lagmap10_attachment; +drop table if exists tl_lagmap10_gmap; +drop table if exists tl_lagmap10_marker; +drop table if exists tl_lagmap10_session; +drop table if exists tl_lagmap10_user; +create table tl_lagmap10_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, gmap_uid bigint, primary key (uid)); +create table tl_lagmap10_gmap (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, primary key (uid)); +create table tl_lagmap10_marker (uid bigint not null auto_increment, longitude bigint, latitude bigint, address varchar(255), colour varchar(255), marker_display_charater char(1), info_window_message varchar(255), mouseover_text varchar(255), create_date datetime, update_date datetime, is_authored bit, gmap_session_uid bigint, gmap_uid bigint, create_by bigint, modified_by bigint, primary key (uid)); +create table tl_lagmap10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), gmap_uid bigint, primary key (uid)); +create table tl_lagmap10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, gmap_session_uid bigint, entry_uid bigint, primary key (uid)); +alter table tl_lagmap10_attachment add index FKBA2ECCB274028C80 (gmap_uid), add constraint FKBA2ECCB274028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_marker add index FK10F2274974028C80 (gmap_uid), add constraint FK10F2274974028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_marker add index FK10F22749C5F056D9 (gmap_session_uid), add constraint FK10F22749C5F056D9 foreign key (gmap_session_uid) references tl_lagmap10_session (uid); +alter table tl_lagmap10_marker add index FK10F2274924A6353F (create_by), add constraint FK10F2274924A6353F foreign key (create_by) references tl_lagmap10_user (uid); +alter table tl_lagmap10_marker add index FK10F22749A4F16452 (modified_by), add constraint FK10F22749A4F16452 foreign key (modified_by) references tl_lagmap10_user (uid); +alter table tl_lagmap10_session add index FK519D516774028C80 (gmap_uid), add constraint FK519D516774028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_user add index FK7CB3F69AC5F056D9 (gmap_session_uid), add constraint FK7CB3F69AC5F056D9 foreign key (gmap_session_uid) references tl_lagmap10_session (uid); + +INSERT INTO tl_lagmap10_gmap ( + title, + instructions, + online_instructions, + offline_instructions, + tool_content_id, + run_offline, + lock_on_finished, + content_in_use, + define_later, + allow_rich_editor) +VALUES( + "Gmap", + "Instructions", + "", + "", + ${default_content_id}, + 0, + 0, + 0, + 0, + 0 +); + +SET FOREIGN_KEY_CHECKS=1; Index: lams_tool_gmap/db/sql/drop_lams_tool_gmap.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/drop_lams_tool_gmap.sql (revision 0) +++ lams_tool_gmap/db/sql/drop_lams_tool_gmap.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,13 @@ +-- CVS ID: $Id$ + +SET FOREIGN_KEY_CHECKS=0; +DROP TABLE IF EXISTS tl_lagmap10_user; +DROP TABLE IF EXISTS tl_lagmap10_attachment; +DROP TABLE IF EXISTS tl_lagmap10_session; +DROP TABLE IF EXISTS tl_lagmap10_gmap; +SET FOREIGN_KEY_CHECKS=1; + + + + + Index: lams_tool_gmap/db/sql/library_insert.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/library_insert.sql (revision 0) +++ lams_tool_gmap/db/sql/library_insert.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,16 @@ +-- CVS ID: $Id$ + +INSERT INTO lams_learning_library +( +description, +title, +valid_flag, +create_date_time +) +VALUES +( +'Gmap Tool', +'Gmap', +0, +NOW() +) Index: lams_tool_gmap/db/sql/table-schema.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/table-schema.sql (revision 0) +++ lams_tool_gmap/db/sql/table-schema.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,24 @@ +alter table tl_lagmap10_attachment drop foreign key FKBA2ECCB274028C80; +alter table tl_lagmap10_marker drop foreign key FK10F2274974028C80; +alter table tl_lagmap10_marker drop foreign key FK10F22749C5F056D9; +alter table tl_lagmap10_marker drop foreign key FK10F2274924A6353F; +alter table tl_lagmap10_marker drop foreign key FK10F22749A4F16452; +alter table tl_lagmap10_session drop foreign key FK519D516774028C80; +alter table tl_lagmap10_user drop foreign key FK7CB3F69AC5F056D9; +drop table if exists tl_lagmap10_attachment; +drop table if exists tl_lagmap10_gmap; +drop table if exists tl_lagmap10_marker; +drop table if exists tl_lagmap10_session; +drop table if exists tl_lagmap10_user; +create table tl_lagmap10_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, gmap_uid bigint, primary key (uid)); +create table tl_lagmap10_gmap (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, primary key (uid)); +create table tl_lagmap10_marker (uid bigint not null auto_increment, longitude bigint, latitude bigint, address varchar(255), colour varchar(255), marker_display_charater char(1), info_window_message varchar(255), mouseover_text varchar(255), create_date datetime, update_date datetime, is_authored bit, gmap_session_uid bigint, gmap_uid bigint, create_by bigint, modified_by bigint, primary key (uid)); +create table tl_lagmap10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), gmap_uid bigint, primary key (uid)); +create table tl_lagmap10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, gmap_session_uid bigint, entry_uid bigint, primary key (uid)); +alter table tl_lagmap10_attachment add index FKBA2ECCB274028C80 (gmap_uid), add constraint FKBA2ECCB274028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_marker add index FK10F2274974028C80 (gmap_uid), add constraint FK10F2274974028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_marker add index FK10F22749C5F056D9 (gmap_session_uid), add constraint FK10F22749C5F056D9 foreign key (gmap_session_uid) references tl_lagmap10_session (uid); +alter table tl_lagmap10_marker add index FK10F2274924A6353F (create_by), add constraint FK10F2274924A6353F foreign key (create_by) references tl_lagmap10_user (uid); +alter table tl_lagmap10_marker add index FK10F22749A4F16452 (modified_by), add constraint FK10F22749A4F16452 foreign key (modified_by) references tl_lagmap10_user (uid); +alter table tl_lagmap10_session add index FK519D516774028C80 (gmap_uid), add constraint FK519D516774028C80 foreign key (gmap_uid) references tl_lagmap10_gmap (uid); +alter table tl_lagmap10_user add index FK7CB3F69AC5F056D9 (gmap_session_uid), add constraint FK7CB3F69AC5F056D9 foreign key (gmap_session_uid) references tl_lagmap10_session (uid); Index: lams_tool_gmap/db/sql/tool_insert.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/tool_insert.sql (revision 0) +++ lams_tool_gmap/db/sql/tool_insert.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,62 @@ +-- 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, +language_file, +classpath_addition, +context_file, +create_date_time, +modified_date_time +) +VALUES +( +'lagmap10', +'gmapService', +'Gmap', +'Gmap', +'gmap', +'@tool_version@', +NULL, +NULL, +0, +2, +1, +'tool/lagmap10/learning.do?mode=learner', +'tool/lagmap10/learning.do?mode=author', +'tool/lagmap10/learning.do?mode=teacher', +'tool/lagmap10/authoring.do', +'tool/lagmap10/monitoring.do', +'tool/lagmap10/authoring.do?mode=teacher', +'tool/lagmap10/exportPortfolio?mode=learner', +'tool/lagmap10/exportPortfolio?mode=teacher', +'tool/lagmap10/contribute.do', +'tool/lagmap10/moderate.do', +'http://wiki.lamsfoundation.org/display/lamsdocs/lagmap10', +'org.lamsfoundation.lams.tool.gmap.ApplicationResources', +'lams-tool-lagmap10.jar', +'/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml', +NOW(), +NOW() +) Index: lams_tool_gmap/db/sql/updatescripts/updateTo20070227.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/updatescripts/updateTo20070227.sql (revision 0) +++ lams_tool_gmap/db/sql/updatescripts/updateTo20070227.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,4 @@ +-- Update the Gmap tables to 20070227 +-- This is for the LAMS 2.0.1 release. + +UPDATE lams_tool set modified_date_time = now(), classpath_addition = 'lams-tool-lagmap10.jar', context_file = '/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml' where tool_signature = 'lagmap10'; Index: lams_tool_gmap/db/sql/updatescripts/updateTo20080229.sql =================================================================== diff -u --- lams_tool_gmap/db/sql/updatescripts/updateTo20080229.sql (revision 0) +++ lams_tool_gmap/db/sql/updatescripts/updateTo20080229.sql (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,7 @@ +-- LDEV1511 make tables InnoDB +ALTER TABLE tl_lagmap10_attachment ENGINE=InnoDB; +ALTER TABLE tl_lagmap10_gmap ENGINE=InnoDB; +ALTER TABLE tl_lagmap10_session ENGINE=InnoDB; +ALTER TABLE tl_lagmap10_user ENGINE=InnoDB; +UPDATE lams_tool SET modified_date_time = NOW() WHERE tool_signature = "lagmap10"; +UPDATE lams_tool SET tool_version = "20080229" WHERE tool_signature = "lagmap10"; Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapAttachmentDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapAttachmentDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapAttachmentDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the GmapAttachment objects - interface defining + * methods to be implemented by the Hibernate or other implementation. + */ +public interface IGmapAttachmentDAO extends IBaseDAO { + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; + +/** + * DAO for accessing the Gmap objects - interface defining + * methods to be implemented by the Hibernate or other implementation. + */ +public interface IGmapDAO extends IBaseDAO{ + + Gmap getByContentId(Long toolContentId); + + void saveOrUpdate(Gmap toContent); + + void deleteInstructionFile(Long toolContentId, Long uuid, Long versionId, String type); + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapSessionDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapSessionDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapSessionDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,41 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.gmap.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; + +/** + * DAO for accessing the GmapSession objects - interface defining + * methods to be implemented by the Hibernate or other implementation. + */ +public interface IGmapSessionDAO extends IBaseDAO{ + + void saveOrUpdate(GmapSession session); + + GmapSession getBySessionId(Long toolSessionId); + + void deleteBySessionID(Long toolSessionID); +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapUserDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapUserDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/IGmapUserDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,60 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.gmap.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; + +/** + * DAO for accessing the GmapUser objects - interface defining + * methods to be implemented by the Hibernate or other implementation. + */ +public interface IGmapUserDAO extends IBaseDAO{ + /** + * + * @param userId + * @param toolSessionId + * @return + */ + GmapUser getByUserIdAndSessionId(Long userId, Long toolSessionId); + + void saveOrUpdate(GmapUser gmapUser); + + /** + * + * @param loginName + * @param sessionID + * @return + */ + GmapUser getByLoginNameAndSessionId(String loginName, Long toolSessionId); + + + /** + * + * @param uid + * @return + */ + GmapUser getByUID(Long uid); +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapAttachmentDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapAttachmentDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapAttachmentDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapAttachmentDAO; + +/** + * DAO for accessing the GmapAttachment objects - Hibernate specific code. + */ +public class GmapAttachmentDAO extends BaseDAO implements IGmapAttachmentDAO { + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,78 @@ +/**************************************************************** + * 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.gmap.dao.hibernate; + +import java.util.List; + +import org.hibernate.FlushMode; +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapDAO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.springframework.orm.hibernate3.HibernateTemplate; + +/** + * DAO for accessing the Gmap objects - Hibernate specific code. + */ +public class GmapDAO extends BaseDAO implements IGmapDAO { + + private static final String FIND_FORUM_BY_CONTENTID = "from Gmap gmap where gmap.toolContentId=?"; + + private static final String FIND_INSTRUCTION_FILE = "from " + + GmapAttachment.class.getName() + + " as i where tool_content_id=? and i.file_uuid=? and i.file_version_id=? and i.file_type=?"; + + public Gmap getByContentId(Long toolContentId) { + List list = getHibernateTemplate().find(FIND_FORUM_BY_CONTENTID, + toolContentId); + if (list != null && list.size() > 0) + return (Gmap) list.get(0); + else + return null; + } + + public void saveOrUpdate(Gmap gmap) { + this.getHibernateTemplate().saveOrUpdate(gmap); + this.getHibernateTemplate().flush(); + } + + public void deleteInstructionFile(Long toolContentId, Long uuid, + Long versionId, String type) { + HibernateTemplate templ = this.getHibernateTemplate(); + if (toolContentId != null && uuid != null && versionId != null) { + List list = getSession().createQuery(FIND_INSTRUCTION_FILE) + .setLong(0, toolContentId.longValue()).setLong(1, + uuid.longValue()).setLong(2, versionId.longValue()) + .setString(3, type).list(); + if (list != null && list.size() > 0) { + GmapAttachment file = (GmapAttachment) list.get(0); + this.getSession().setFlushMode(FlushMode.AUTO); + templ.delete(file); + templ.flush(); + } + } + + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapSessionDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapSessionDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapSessionDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,61 @@ +/**************************************************************** + * 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.gmap.dao.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapSessionDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; + +/** + * DAO for accessing the GmapSession objects - Hibernate specific code. + */ +public class GmapSessionDAO extends BaseDAO implements IGmapSessionDAO { + + public static final String SQL_QUERY_FIND_BY_SESSION_ID = "from " + + GmapSession.class.getName() + " where session_id=?"; + + public void saveOrUpdate(GmapSession session) { + this.getHibernateTemplate().saveOrUpdate(session); + this.getHibernateTemplate().flush(); + } + + public GmapSession getBySessionId(Long toolSessionId) { + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_SESSION_ID, toolSessionId); + if (list == null || list.isEmpty()) + return null; + return (GmapSession) list.get(0); + } + + public void deleteBySessionID(Long toolSessionID) { + GmapSession session = getBySessionId(toolSessionID); + if(session != null){ + this.getHibernateTemplate().delete(session); + this.getHibernateTemplate().flush(); + } + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapUserDAO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapUserDAO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dao/hibernate/GmapUserDAO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,88 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.gmap.dao.hibernate; + +import java.util.List; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapUserDAO; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; + +/** + * DAO for accessing the GmapUser objects - Hibernate specific code. + */ +public class GmapUserDAO extends BaseDAO implements IGmapUserDAO { + + public static final String SQL_QUERY_FIND_BY_USER_ID_SESSION_ID = "from " + + GmapUser.class.getName() + " as f" + + " where user_id=? and f.gmapSession.sessionId=?"; + + public static final String SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID = "from " + + GmapUser.class.getName() + + " as f where login_name=? and f.gmapSession.sessionId=?"; + + private static final String SQL_QUERY_FIND_BY_UID = "from " + + GmapUser.class.getName() + " where uid=?"; + + public GmapUser getByUserIdAndSessionId(Long userId, Long toolSessionId) { + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_USER_ID_SESSION_ID, + new Object[] { userId, toolSessionId }); + + if (list == null || list.isEmpty()) + return null; + + return (GmapUser) list.get(0); + } + + public GmapUser getByLoginNameAndSessionId(String loginName, + Long toolSessionId) { + + List list = this.getHibernateTemplate().find( + SQL_QUERY_FIND_BY_LOGIN_NAME_SESSION_ID, + new Object[] { loginName, toolSessionId }); + + if (list == null || list.isEmpty()) + return null; + + return (GmapUser) list.get(0); + + } + + public void saveOrUpdate(GmapUser gmapUser) { + this.getHibernateTemplate().saveOrUpdate(gmapUser); + this.getHibernateTemplate().flush(); + } + + public GmapUser getByUID(Long uid) { + List list = this.getHibernateTemplate().find(SQL_QUERY_FIND_BY_UID, + new Object[] { uid }); + + if (list == null || list.isEmpty()) + return null; + + return (GmapUser) list.get(0); + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapAttachmentDTO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapAttachmentDTO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapAttachmentDTO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,102 @@ +/**************************************************************** + * 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.gmap.dto; + +import java.util.Date; + +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; + +public class GmapAttachmentDTO implements Comparable { + + public GmapAttachmentDTO(GmapAttachment 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(Object o) { + GmapAttachmentDTO toAttachment = (GmapAttachmentDTO) o; + int returnValue = this.createDate.compareTo(((GmapAttachmentDTO) o) + .getCreateDate()); + + if (returnValue == 0) { + returnValue = this.uid.compareTo(toAttachment.getUid()); + } + return returnValue; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapDTO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.dto; + +import java.util.Iterator; +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.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; + +public class GmapDTO { + + private static Logger logger = Logger.getLogger(GmapDTO.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 Set onlineInstructionsFiles; + + public Set offlineInstructionsFiles; + + public Set sessionDTOs = new TreeSet(); + + /* Constructors */ + public GmapDTO(){} + + public GmapDTO(Gmap gmap) { + toolContentId = gmap.getToolContentId(); + title = gmap.getTitle(); + instructions = gmap.getInstructions(); + onlineInstructions = gmap.getOnlineInstructions(); + offlineInstructions = gmap.getOfflineInstructions(); + contentInUse = gmap.isContentInUse(); + allowRichEditor = gmap.isAllowRichEditor(); + + onlineInstructionsFiles = new TreeSet(); + offlineInstructionsFiles = new TreeSet(); + + for (Iterator i = gmap.getGmapAttachments().iterator(); i.hasNext();) { + GmapAttachment att = (GmapAttachment) i.next(); + if (att.getFileType().equals(IToolContentHandler.TYPE_OFFLINE)) { + GmapAttachmentDTO attDTO = new GmapAttachmentDTO(att); + offlineInstructionsFiles.add(attDTO); + } else if (att.getFileType() + .equals(IToolContentHandler.TYPE_ONLINE)) { + GmapAttachmentDTO attDTO = new GmapAttachmentDTO(att); + onlineInstructionsFiles.add(attDTO); + } else { + // something is wrong. Ignore file, log error + logger.error("File with uid " + att.getFileUuid() + + " contains invalid fileType: " + att.getFileType()); + } + } + + for (Iterator iter = gmap.getGmapSessions().iterator(); iter.hasNext();) { + GmapSession session = (GmapSession) iter.next(); + GmapSessionDTO sessionDTO = new GmapSessionDTO(session); + + sessionDTOs.add(sessionDTO); + } + } + + /* 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; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapSessionDTO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 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.gmap.dto; + +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; + +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; + +public class GmapSessionDTO implements Comparable { + + Long sessionID; + + String sessionName; + + Set userDTOs = new TreeSet(); + + int numberOfLearners; + + int numberOfFinishedLearners;; + + public GmapSessionDTO(GmapSession session) { + this.sessionID = session.getSessionId(); + this.sessionName = session.getSessionName(); + + numberOfFinishedLearners = 0; + for (Iterator iterator = session.getGmapUsers().iterator(); iterator.hasNext();) { + GmapUser user = (GmapUser) iterator.next(); + GmapUserDTO userDTO = new GmapUserDTO(user); + if (userDTO.getEntryUID() != null) { + numberOfFinishedLearners++; + } + userDTOs.add(userDTO); + } + + numberOfLearners = userDTOs.size(); + + } + + public GmapSessionDTO() {} + + public Long getSessionID() { + return sessionID; + } + + public void setSessionID(Long sessionID) { + this.sessionID = sessionID; + } + + public String getSessionName() { + return sessionName; + } + + public void setSessionName(String sessionName) { + this.sessionName = sessionName; + } + + public int compareTo(Object o) { + int returnValue; + GmapSessionDTO toSession = (GmapSessionDTO)o; + returnValue = this.sessionName.compareTo(toSession.sessionName); + if (returnValue == 0) { + returnValue = this.sessionID.compareTo(toSession.sessionID); + } + return returnValue; + } + + public Set getUserDTOs() { + return userDTOs; + } + + public void setUserDTOs(Set gmapUsers) { + this.userDTOs = gmapUsers; + } + + 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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapUserDTO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapUserDTO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/GmapUserDTO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,119 @@ +/**************************************************************** + * 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.gmap.dto; + +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; + +public class GmapUserDTO implements Comparable{ + + public Long uid; + + public String loginName; + + public String firstName; + + public String lastName; + + public NotebookEntryDTO entryDTO; + + public Long entryUID; + + public GmapUserDTO(GmapUser user, NotebookEntry entry) { + this.uid = user.getUid(); + this.loginName = user.getLoginName(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.entryUID = user.getEntryUID(); + this.entryDTO = new NotebookEntryDTO(entry); + } + + public GmapUserDTO(GmapUser user) { + this.uid = user.getUid(); + this.loginName = user.getLoginName(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.entryUID = user.getEntryUID(); + } + + public int compareTo(Object o) { + int returnValue; + GmapUserDTO toUser = (GmapUserDTO)o; + returnValue = this.lastName.compareTo(toUser.lastName); + if (returnValue == 0) { + returnValue = this.uid.compareTo(toUser.uid); + } + return returnValue; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public 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; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/NotebookEntryDTO.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/NotebookEntryDTO.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/dto/NotebookEntryDTO.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,56 @@ +package org.lamsfoundation.lams.tool.gmap.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/gmapApplicationContext.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + org/lamsfoundation/lams/tool/gmap/model/Gmap.hbm.xml + org/lamsfoundation/lams/tool/gmap/model/GmapSession.hbm.xml + org/lamsfoundation/lams/tool/gmap/model/GmapUser.hbm.xml + org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/Gmap.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,443 @@ +/**************************************************************** + * 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.gmap.model; + +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.tool.gmap.service.GmapService; + +/** + * @hibernate.class table="tl_lagmap10_gmap" + */ + +public class Gmap implements java.io.Serializable, Cloneable { + + /** + * + */ + private static final long serialVersionUID = 579733009969321015L; + + static Logger log = Logger.getLogger(GmapService.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 gmapAttachments; + + private Set gmapSessions; + + private Set gmapMarkers; + + //*********** NON Persist fields + private IToolContentHandler toolContentHandler; + + + + // Constructors + + /** default constructor */ + public Gmap() { + } + + /** full constructor */ + public Gmap(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 gmapAttachments, Set gmapSessions, Set markers) { + 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.gmapAttachments = gmapAttachments; + this.gmapSessions = gmapSessions; + this.gmapMarkers = markers; + } + + // 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 GmapUser 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="false" inverse="false" cascade="all-delete-orphan" + * @hibernate.collection-key column="gmap_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.gmap.model.GmapAttachment" + * + */ + + public Set getGmapAttachments() { + return this.gmapAttachments; + } + + public void setGmapAttachments(Set gmapAttachments) { + this.gmapAttachments = gmapAttachments; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="gmap_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.gmap.model.GmapSession" + * + */ + + public Set getGmapSessions() { + return this.gmapSessions; + } + + public void setGmapSessions(Set gmapSessions) { + this.gmapSessions = gmapSessions; + } + + /** + * 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 Gmap)) + return false; + Gmap castOther = (Gmap) 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 Gmap newInstance(Gmap fromContent, Long toContentId, + IToolContentHandler gmapToolContentHandler) { + Gmap toContent = new Gmap(); + fromContent.toolContentHandler = gmapToolContentHandler; + toContent = (Gmap) fromContent.clone(); + toContent.setToolContentId(toContentId); + toContent.setCreateDate(new Date()); + return toContent; + } + + protected Object clone() { + + Gmap gmap = null; + try { + gmap = (Gmap) super.clone(); + gmap.setUid(null); + + if (gmapAttachments != null) { + // create a copy of the attachments + Iterator iter = gmapAttachments.iterator(); + Set set = new HashSet(); + while (iter.hasNext()) { + GmapAttachment originalFile = (GmapAttachment) iter.next(); + GmapAttachment newFile = (GmapAttachment) originalFile + .clone(); + set.add(newFile); + } + gmap.gmapAttachments = set; + } + // create an empty set for the gmapSession + gmap.gmapSessions = new HashSet(); + + } catch (CloneNotSupportedException cnse) { + log.error("Error cloning " + Gmap.class); + } + return gmap; + } + + public IToolContentHandler getToolContentHandler() { + return toolContentHandler; + } + + public void setToolContentHandler(IToolContentHandler toolContentHandler) { + this.toolContentHandler = toolContentHandler; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="gmap_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.gmap.model.GmapMarker" + * + */ + public Set getGmapMarkers() { + return gmapMarkers; + } + + public void setGmapMarkers(Set gmapMarkers) { + this.gmapMarkers = gmapMarkers; + } + + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapAttachment.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,235 @@ +/**************************************************************** + * 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.gmap.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_lagmap10_attachment" + * + */ + +public class GmapAttachment implements java.io.Serializable, Cloneable { + + + + /** + * + */ + private static final long serialVersionUID = 47452859888067500L; + + private static final Logger log = Logger.getLogger(GmapAttachment.class); + + /** + * + */ + private Long uid; + + private Long fileVersionId; + + private String fileType; + + private String fileName; + + private Long fileUuid; + + private Date createDate; + + private Gmap gmap; + + // Constructors + + /** default constructor */ + public GmapAttachment() { + } + + /** full constructor */ + public GmapAttachment(Long fileVersionId, String fileType, String fileName, + Long fileUuid, Date createDate, Gmap gmap) { + this.fileVersionId = fileVersionId; + this.fileType = fileType; + this.fileName = fileName; + this.fileUuid = fileUuid; + this.createDate = createDate; + this.gmap = gmap; + } + + // 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="gmap_uid" + * + */ + + public Gmap getGmap() { + return this.gmap; + } + + public void setGmap(Gmap gmap) { + this.gmap = gmap; + } + + /** + * 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 GmapAttachment)) + return false; + + final GmapAttachment genericEntity = (GmapAttachment) 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(); + ((GmapAttachment) obj).setUid(null); + } catch (CloneNotSupportedException e) { + log.error("Failed to clone " + GmapAttachment.class); + } + + return obj; + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapMarker.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,331 @@ +/**************************************************************** + * 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 + * **************************************************************** + */ + + +package org.lamsfoundation.lams.tool.gmap.model; + +import java.util.Date; + + +/** + * @author lfoxton + * + * This is a POJO class for a marker object that represents a marker on a + * google map. + * + * @hibernate.class table="tl_lagmap10_marker" + */ +public class GmapMarker{ + + // Fields + + // Unique identifier + private Long uid; + + // Longitude of marker position + private Long longitude; + + // Lattitude of marker position + private Long latitude; + + // String address of marker if given + private String address; + + // Marker colour, can be: ORANGE, PURPLE, YELLOW, GREEN, BLUE, RED, AQUA, WHITE, or GRAY + private String colour; + + // A character that will display on the marker + private char markerDisplayCharacter; + + // Info windo message that appears when you click the marker (in HTML) + private String infoWindowMessage; + + // Text that appears when the user mouseovers the marker + private String mouseoverText; + + // The date the marker was created + private Date created; + + // The date the marker was updated + private Date updated; + + // True if it is an authored marker, false if it is a learner marker + private boolean isAuthored; + + // The gmap tool session if in learner, null if in author + private GmapSession toolSession; + + // The gmap instance that this marker is part of + private Gmap gmap; + + // The user who created the marker + private GmapUser createBy; + + // The last user to modify the marker + private GmapUser modifiedBy; + + /** + * Generic POJO constructor + */ + public GmapMarker() {} + + + /** + * Full Constructor + */ + public GmapMarker(Long uid, Long longitude, Long latitude, String address, + String colour, char markerDisplayCharacter, + String infoWindowMessage, String mouseoverText, Date created, + Date updated, boolean isAuthored, GmapSession toolSession, + Gmap gmap, GmapUser createBy, GmapUser modifiedBy) { + this.uid = uid; + this.longitude = longitude; + this.latitude = latitude; + this.address = address; + this.colour = colour; + this.markerDisplayCharacter = markerDisplayCharacter; + this.infoWindowMessage = infoWindowMessage; + this.mouseoverText = mouseoverText; + this.created = created; + this.updated = updated; + this.isAuthored = isAuthored; + this.toolSession = toolSession; + this.gmap = gmap; + this.createBy = createBy; + this.modifiedBy = modifiedBy; + } + + + + /** + * + * @return + * @hibernate.id column="uid" generator-class="native" + */ + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + /** + * + * @return + * @hibernate.property column="longitude" + */ + public Long getLongitude() { + return longitude; + } + + public void setLongitude(Long longitude) { + this.longitude = longitude; + } + + /** + * + * @return + * @hibernate.property column="latitude" + */ + public Long getLatitude() { + return latitude; + } + + public void setLatitude(Long latitude) { + this.latitude = latitude; + } + + /** + * + * @return + * @hibernate.property column="address" + */ + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + /** + * + * @return + * @hibernate.property column="colour" + */ + public String getColour() { + return colour; + } + + public void setColour(String colour) { + this.colour = colour; + } + + /** + * + * @return + * @hibernate.property column="marker_display_charater" + */ + public char getMarkerDisplayCharacter() { + return markerDisplayCharacter; + } + + public void setMarkerDisplayCharacter(char markerDisplayCharacter) { + this.markerDisplayCharacter = markerDisplayCharacter; + } + + /** + * + * @return + * @hibernate.property column="info_window_message" + */ + public String getInfoWindowMessage() { + return infoWindowMessage; + } + + public void setInfoWindowMessage(String infoWindowMessage) { + this.infoWindowMessage = infoWindowMessage; + } + + /** + * + * @return + * @hibernate.property column="mouseover_text" + */ + public String getMouseoverText() { + return mouseoverText; + } + + + public void setMouseoverText(String mouseoverText) { + this.mouseoverText = mouseoverText; + } + + /** + * + * @return + * @hibernate.property column="create_date" + */ + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + /** + * + * @return + * @hibernate.property column="update_date" + */ + public Date getUpdated() { + return updated; + } + + public void setUpdated(Date updated) { + this.updated = updated; + } + + /** + * + * @return + * @hibernate.property column="is_authored" + */ + public boolean isAuthored() { + return isAuthored; + } + + + public void setAuthored(boolean isAuthored) { + this.isAuthored = isAuthored; + } + + /** + * + * @hibernate.many-to-one cascade="none" + * class="org.lamsfoundation.lams.tool.gmap.model.GmapSession" + * column="gmap_session_uid" + * + */ + public GmapSession getToolSession() { + return toolSession; + } + + + public void setToolSession(GmapSession toolSession) { + this.toolSession = toolSession; + } + + /** + * @hibernate.many-to-one column="gmap_uid" + * cascade="none" + * @return + */ + public Gmap getGmap() { + return gmap; + } + + + public void setGmap(Gmap gmap) { + this.gmap = gmap; + } + + + /** + * + * @hibernate.many-to-one + * column="create_by" + * cascade="none" + * + */ + public GmapUser getCreatedBy() { + return createBy; + } + + + public void setCreateBy(GmapUser createBy) { + this.createBy = createBy; + } + + /** + * @hibernate.many-to-one + * column="modified_by" + * cascade="none" + * + * @return Returns the userid of the user who modified the posting. + */ + public GmapUser getModifiedBy() { + return modifiedBy; + } + + + public void setModifiedBy(GmapUser modifiedBy) { + this.modifiedBy = modifiedBy; + } + + + + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapSession.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.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_lagmap10_session" + */ + +public class GmapSession implements java.io.Serializable { + + private static Logger log = Logger.getLogger(GmapSession.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 Gmap gmap; + + private Set gmapUsers; + + // Constructors + + /** default constructor */ + public GmapSession() { + } + + /** full constructor */ + public GmapSession(Date sessionEndDate, Date sessionStartDate, + Integer status, Long sessionId, String sessionName, Gmap gmap, + Set gmapUsers) { + this.sessionEndDate = sessionEndDate; + this.sessionStartDate = sessionStartDate; + this.status = status; + this.sessionId = sessionId; + this.sessionName = sessionName; + this.gmap = gmap; + this.gmapUsers = gmapUsers; + } + + // 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="gmap_uid" + * + */ + + public Gmap getGmap() { + return this.gmap; + } + + public void setGmap(Gmap gmap) { + this.gmap = gmap; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="gmap_session_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.gmap.model.GmapUser" + * + */ + + public Set getGmapUsers() { + return this.gmapUsers; + } + + public void setGmapUsers(Set gmapUsers) { + this.gmapUsers = gmapUsers; + } + + /** + * 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 GmapSession)) + return false; + GmapSession castOther = (GmapSession) 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(){ + + GmapSession session = null; + try{ + session = (GmapSession) super.clone(); + session.gmapUsers = new HashSet(); + } catch (CloneNotSupportedException e) { + log.error("When clone " + GmapSession.class + " failed"); + } + return session; + } + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapUser.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapUser.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/model/GmapUser.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,216 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $$Id$$ */ + +package org.lamsfoundation.lams.tool.gmap.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_lagmap10_user" + */ + +public class GmapUser 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 GmapSession gmapSession; + + private boolean finishedActivity; + + private Long entryUID; + + // Constructors + + /** default constructor */ + public GmapUser() { + } + + public GmapUser(UserDTO user, GmapSession gmapSession) { + this.userId = new Long(user.getUserID().intValue()); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.loginName = user.getLogin(); + this.gmapSession = gmapSession; + this.finishedActivity = false; + } + + /** full constructor */ + public GmapUser(Long userId, String lastName, String firstName, + GmapSession gmapSession) { + this.userId = userId; + this.lastName = lastName; + this.firstName = firstName; + this.gmapSession = gmapSession; + } + + // 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="gmap_session_uid" + * + */ + public GmapSession getGmapSession() { + return this.gmapSession; + } + + public void setGmapSession(GmapSession gmapSession) { + this.gmapSession = gmapSession; + } + + /** + * @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 GmapUser)) + return false; + GmapUser castOther = (GmapUser) 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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapService.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,652 @@ +/**************************************************************** + * 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.gmap.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.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; +import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapAttachmentDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapSessionDAO; +import org.lamsfoundation.lams.tool.gmap.dao.IGmapUserDAO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; +import org.lamsfoundation.lams.tool.gmap.util.GmapConstants; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +import org.lamsfoundation.lams.tool.gmap.util.GmapToolContentHandler; +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 IGmapService interface. + * + * As a requirement, all LAMS tool's service bean must implement + * ToolContentManager and ToolSessionManager. + */ + +public class GmapService implements ToolSessionManager, ToolContentManager, + IGmapService, ToolContentImport102Manager { + + static Logger logger = Logger.getLogger(GmapService.class.getName()); + + private IGmapDAO gmapDAO = null; + + private IGmapSessionDAO gmapSessionDAO = null; + + private IGmapUserDAO gmapUserDAO = null; + + private IGmapAttachmentDAO gmapAttachmentDAO = null; + + private ILearnerService learnerService; + + private ILamsToolService toolService; + + private IToolContentHandler gmapToolContentHandler = null; + + private IRepositoryService repositoryService = null; + + private IAuditService auditService = null; + + private IExportToolContentService exportContentService; + + private ICoreNotebookService coreNotebookService; + + public GmapService() { + 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); + } + + GmapSession session = new GmapSession(); + session.setSessionId(toolSessionId); + session.setSessionName(toolSessionName); + // learner starts + // TODO need to also set other fields. + Gmap gmap = gmapDAO.getByContentId(toolContentId); + session.setGmap(gmap); + gmapSessionDAO.saveOrUpdate(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 { + gmapSessionDAO.deleteBySessionID(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); + } + + Gmap fromContent = null; + if ( fromContentId != null ) { + fromContent = gmapDAO.getByContentId(fromContentId); + } + if (fromContent == null) { + // create the fromContent using the default tool content + fromContent = getDefaultContent(); + } + Gmap toContent = Gmap.newInstance(fromContent, toContentId, + gmapToolContentHandler); + gmapDAO.saveOrUpdate(toContent); + } + + public void setAsDefineLater(Long toolContentId, boolean value) + throws DataMissingException, ToolException { + Gmap gmap = gmapDAO.getByContentId(toolContentId); + if (gmap == null) { + throw new ToolException("Could not find tool with toolContentID: " + + toolContentId); + } + gmap.setDefineLater(value); + gmapDAO.saveOrUpdate(gmap); + } + + public void setAsRunOffline(Long toolContentId, boolean value) + throws DataMissingException, ToolException { + Gmap gmap = gmapDAO.getByContentId(toolContentId); + if (gmap == null) { + throw new ToolException("Could not find tool with toolContentID: " + + toolContentId); + } + gmap.setRunOffline(value); + gmapDAO.saveOrUpdate(gmap); + } + + 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 { + Gmap gmap = gmapDAO.getByContentId(toolContentId); + if (gmap == null) { + gmap = getDefaultContent(); + } + if (gmap == null) + throw new DataMissingException("Unable to find default content for the gmap tool"); + + // set ResourceToolContentHandler as null to avoid copy file node in + // repository again. + gmap = Gmap.newInstance(gmap, toolContentId, + null); + gmap.setToolContentHandler(null); + gmap.setGmapSessions(null); + Set atts = gmap.getGmapAttachments(); + for (GmapAttachment att : atts) { + att.setGmap(null); + } + try { + exportContentService.registerFileClassForExport( + GmapAttachment.class.getName(), "fileUuid", + "fileVersionId"); + exportContentService.exportToolContent(toolContentId, + gmap, gmapToolContentHandler, 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( + GmapAttachment.class.getName(), "fileUuid", + "fileVersionId", "fileName", "fileType", null, null); + + Object toolPOJO = exportContentService.importToolContent( + toolContentPath, gmapToolContentHandler,fromVersion,toVersion); + if (!(toolPOJO instanceof Gmap)) + throw new ImportToolContentException( + "Import Gmap tool content failed. Deserialized object is " + + toolPOJO); + Gmap gmap = (Gmap) toolPOJO; + + // reset it to new toolContentId + gmap.setToolContentId(toolContentId); + gmap.setCreateBy(new Long(newUserUid.longValue())); + + gmapDAO.saveOrUpdate(gmap); + } 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(); + } + + /* ********** IGmapService 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 GmapException(error); + } + return toolContentId; + } + + public Gmap getDefaultContent() { + Long defaultContentID = getDefaultContentIdBySignature(GmapConstants.TOOL_SIGNATURE); + Gmap defaultContent = getGmapByContentId(defaultContentID); + if (defaultContent == null) { + String error = "Could not retrieve default content record for this tool"; + logger.error(error); + throw new GmapException(error); + } + return defaultContent; + } + + public Gmap copyDefaultContent(Long newContentID) { + + if (newContentID == null) { + String error = "Cannot copy the Gmap tools default content: + " + + "newContentID is null"; + logger.error(error); + throw new GmapException(error); + } + + Gmap defaultContent = getDefaultContent(); + // create new gmap using the newContentID + Gmap newContent = new Gmap(); + newContent = Gmap.newInstance(defaultContent, newContentID, + gmapToolContentHandler); + gmapDAO.saveOrUpdate(newContent); + return newContent; + } + + public Gmap getGmapByContentId(Long toolContentID) { + Gmap gmap = (Gmap) gmapDAO + .getByContentId(toolContentID); + if (gmap == null) { + logger.debug("Could not find the content with toolContentID:" + + toolContentID); + } + return gmap; + } + + public GmapSession getSessionBySessionId(Long toolSessionId) { + GmapSession gmapSession = gmapSessionDAO + .getBySessionId(toolSessionId); + if (gmapSession == null) { + logger + .debug("Could not find the gmap session with toolSessionID:" + + toolSessionId); + } + return gmapSession; + } + + public GmapUser getUserByUserIdAndSessionId(Long userId, + Long toolSessionId) { + return gmapUserDAO.getByUserIdAndSessionId(userId, toolSessionId); + } + + public GmapUser getUserByLoginNameAndSessionId(String loginName, + Long toolSessionId) { + return gmapUserDAO.getByLoginNameAndSessionId(loginName, + toolSessionId); + } + + public GmapUser getUserByUID(Long uid) { + return gmapUserDAO.getByUID(uid); + } + + public GmapAttachment uploadFileToContent(Long toolContentId, + FormFile file, String type) { + if (file == null || StringUtils.isEmpty(file.getFileName())) + throw new GmapException("Could not find upload file: " + file); + + NodeKey nodeKey = processFile(file, type); + + GmapAttachment attachment = new GmapAttachment(); + attachment.setFileType(type); + attachment.setFileUuid(nodeKey.getUuid()); + attachment.setFileVersionId(nodeKey.getVersion()); + attachment.setFileName(file.getFileName()); + + return attachment; + } + + public void deleteFromRepository(Long uuid, Long versionID) + throws GmapException { + ITicket ticket = getRepositoryLoginTicket(); + try { + repositoryService.deleteVersion(ticket, uuid, versionID); + } catch (Exception e) { + throw new GmapException( + "Exception occured while deleting files from" + + " the repository " + e.getMessage()); + } + } + + public void deleteInstructionFile(Long contentID, Long uuid, + Long versionID, String type) { + gmapDAO.deleteInstructionFile(contentID, uuid, versionID, type); + + } + + public void saveOrUpdateGmap(Gmap gmap) { + gmapDAO.saveOrUpdate(gmap); + } + + public void saveOrUpdateGmapSession(GmapSession gmapSession) { + gmapSessionDAO.saveOrUpdate(gmapSession); + } + + public void saveOrUpdateGmapUser(GmapUser gmapUser) { + gmapUserDAO.saveOrUpdate(gmapUser); + } + + public GmapUser createGmapUser(UserDTO user, + GmapSession gmapSession) { + GmapUser gmapUser = new GmapUser(user, gmapSession); + saveOrUpdateGmapUser(gmapUser); + return gmapUser; + } + + 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 = getGmapToolContentHandler().uploadFile( + file.getInputStream(), fileName, file.getContentType(), + type); + } catch (InvalidParameterException e) { + throw new GmapException( + "InvalidParameterException occured while trying to upload File" + + e.getMessage()); + } catch (FileNotFoundException e) { + throw new GmapException( + "FileNotFoundException occured while trying to upload File" + + e.getMessage()); + } catch (RepositoryCheckedException e) { + throw new GmapException( + "RepositoryCheckedException occured while trying to upload File" + + e.getMessage()); + } catch (IOException e) { + throw new GmapException( + "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 GmapException { + repositoryService = RepositoryProxy.getRepositoryService(); + ICredentials credentials = new SimpleCredentials( + GmapToolContentHandler.repositoryUser, + GmapToolContentHandler.repositoryId); + try { + ITicket ticket = repositoryService.login(credentials, + GmapToolContentHandler.repositoryWorkspaceName); + return ticket; + } catch (AccessDeniedException ae) { + throw new GmapException("Access Denied to repository." + + ae.getMessage()); + } catch (WorkspaceNotFoundException we) { + throw new GmapException("Workspace not found." + + we.getMessage()); + } catch (LoginException e) { + throw new GmapException("Login failed." + e.getMessage()); + } + } + + /* ===============Methods implemented from ToolContentImport102Manager =============== */ + + + /** + * Import the data for a 1.0.2 Gmap + */ + public void import102ToolContent(Long toolContentId, UserDTO user, Hashtable importValues) + { + Date now = new Date(); + + Gmap gmap = new Gmap(); + gmap.setContentInUse(Boolean.FALSE); + gmap.setCreateBy(new Long(user.getUserID().longValue())); + gmap.setCreateDate(now); + gmap.setDefineLater(Boolean.FALSE); + gmap.setInstructions(WebUtil.convertNewlines((String)importValues.get(ToolContentImport102Manager.CONTENT_BODY))); + gmap.setLockOnFinished(Boolean.TRUE); + gmap.setOfflineInstructions(null); + gmap.setOnlineInstructions(null); + gmap.setRunOffline(Boolean.FALSE); + gmap.setTitle((String)importValues.get(ToolContentImport102Manager.CONTENT_TITLE)); + gmap.setToolContentId(toolContentId); + gmap.setUpdateDate(now); + gmap.setAllowRichEditor(Boolean.FALSE); + // leave as empty, no need to set them to anything. + //setGmapAttachments(Set gmapAttachments); + //setGmapSessions(Set gmapSessions); + gmapDAO.saveOrUpdate(gmap); + } + + /** 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 gmap. This doesn't make sense as the gmap is for reflection and we don't reflect on reflection!"); + Gmap gmap = getGmapByContentId(toolContentId); + if ( gmap == null ) { + throw new DataMissingException("Unable to set reflective data titled "+title + +" on activity toolContentId "+toolContentId + +" as the tool content does not exist."); + } + + gmap.setInstructions(description); + } + + //========================================================================================= + /* ********** Used by Spring to "inject" the linked objects ************* */ + + public IGmapAttachmentDAO getGmapAttachmentDAO() { + return gmapAttachmentDAO; + } + + public void setGmapAttachmentDAO(IGmapAttachmentDAO attachmentDAO) { + this.gmapAttachmentDAO = attachmentDAO; + } + + public IGmapDAO getGmapDAO() { + return gmapDAO; + } + + public void setGmapDAO(IGmapDAO gmapDAO) { + this.gmapDAO = gmapDAO; + } + + public IToolContentHandler getGmapToolContentHandler() { + return gmapToolContentHandler; + } + + public void setGmapToolContentHandler( + IToolContentHandler gmapToolContentHandler) { + this.gmapToolContentHandler = gmapToolContentHandler; + } + + public IGmapSessionDAO getGmapSessionDAO() { + return gmapSessionDAO; + } + + public void setGmapSessionDAO(IGmapSessionDAO sessionDAO) { + this.gmapSessionDAO = sessionDAO; + } + + public ILamsToolService getToolService() { + return toolService; + } + + public void setToolService(ILamsToolService toolService) { + this.toolService = toolService; + } + + public IGmapUserDAO getGmapUserDAO() { + return gmapUserDAO; + } + + public void setGmapUserDAO(IGmapUserDAO userDAO) { + this.gmapUserDAO = 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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapServiceProxy.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapServiceProxy.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/GmapServiceProxy.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.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 GmapServiceProxy { + + public static final IGmapService getGmapService(ServletContext servletContext) + { + return (IGmapService)getGmapDomainService(servletContext); + } + + private static Object getGmapDomainService(ServletContext servletContext) + { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + return wac.getBean("gmapService"); + } + + /* + * Return the gmap 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 getGmapSessionManager(ServletContext servletContext) + { + return (ToolSessionManager)getGmapDomainService(servletContext); + } + + + /* + * Return the gmap 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 getGmapContentManager(ServletContext servletContext) + { + return (ToolContentManager)getGmapDomainService(servletContext); + } + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/service/IGmapService.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,166 @@ +/**************************************************************** + * 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.gmap.service; + +import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; + +/** + * Defines the services available to the web layer from the Gmap Service + */ +public interface IGmapService { + /** + * Makes a copy of the default content and assigns it a newContentID + * + * @params newContentID + * @return + */ + public Gmap copyDefaultContent(Long newContentID); + + /** + * Returns an instance of the Gmap tools default content. + * + * @return + */ + public Gmap getDefaultContent(); + + /** + * @param toolSignature + * @return + */ + public Long getDefaultContentIdBySignature(String toolSignature); + + /** + * @param toolContentID + * @return + */ + public Gmap getGmapByContentId(Long toolContentID); + + /** + * @param toolContentId + * @param file + * @param type + * @return + */ + public GmapAttachment uploadFileToContent(Long toolContentId, + FormFile file, String type); + + /** + * @param uuid + * @param versionID + */ + public void deleteFromRepository(Long uuid, Long versionID) + throws GmapException; + + /** + * @param contentID + * @param uuid + * @param versionID + * @param type + */ + public void deleteInstructionFile(Long contentID, Long uuid, + Long versionID, String type); + + /** + * @param gmap + */ + public void saveOrUpdateGmap(Gmap gmap); + + /** + * @param toolSessionId + * @return + */ + public GmapSession getSessionBySessionId(Long toolSessionId); + + /** + * @param gmapSession + */ + public void saveOrUpdateGmapSession(GmapSession gmapSession); + + /** + * + * @param userId + * @param toolSessionId + * @return + */ + public GmapUser getUserByUserIdAndSessionId(Long userId, + Long toolSessionId); + + /** + * + * @param uid + * @return + */ + public GmapUser getUserByUID(Long uid); + + /** + * + * @param gmapUser + */ + public void saveOrUpdateGmapUser(GmapUser gmapUser); + + /** + * + * @param user + * @param gmapSession + * @return + */ + public GmapUser createGmapUser(UserDTO user, + GmapSession gmapSession); + + /** + * + * @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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapConstants.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.util; + +public interface GmapConstants { + public static final String TOOL_SIGNATURE = "lagmap10"; + + // Gmap 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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapException.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapException.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapException.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.util; + +/** + * + * @author Anthony Sukkar + * + */ +public class GmapException extends RuntimeException { + + /** + * + */ + private static final long serialVersionUID = -5518806968051758859L; + + public GmapException(String message) { + super(message); + } + + public GmapException(String message, Throwable cause) { + super(message, cause); + } + + public GmapException() { + super(); + + } + + public GmapException(Throwable cause) { + super(cause); + + } + +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapToolContentHandler.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapToolContentHandler.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/util/GmapToolContentHandler.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.util; + +import org.lamsfoundation.lams.contentrepository.client.ToolContentHandler; + +/** + * Simple client for accessing the content repository. + */ +public class GmapToolContentHandler 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 = "gmapworkspace"; + + public static String repositoryUser = "gmap"; + + public static char[] repositoryId = { 'l', 'a', 'm', 's', '-', 'e', 'x' }; + + /** + * + */ + public GmapToolContentHandler() { + 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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,478 @@ +/**************************************************************** + * 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.gmap.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.log4j.Logger; +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.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapAttachment; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.util.GmapConstants; +import org.lamsfoundation.lams.tool.gmap.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 IGmapService gmapService; + + // 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 gmapService + if (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(this + .getServlet().getServletContext()); + } + + // retrieving Gmap with given toolContentID + Gmap gmap = gmapService + .getGmapByContentId(toolContentID); + if (gmap == null) { + gmap = gmapService.copyDefaultContent(toolContentID); + gmap.setCreateDate(new Date()); + gmapService.saveOrUpdateGmap(gmap); + // 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. + gmap.setDefineLater(true); + gmapService.saveOrUpdateGmap(gmap); + } + + // Set up the authForm. + AuthoringForm authForm = (AuthoringForm) form; + updateAuthForm(authForm, gmap); + + // Set up sessionMap + SessionMap map = createSessionMap(gmap, + getAccessMode(request), contentFolderID, toolContentID); + authForm.setSessionMapID(map.getSessionID()); + + // add the sessionMap to HTTPSession. + request.getSession().setAttribute(map.getSessionID(), map); + request.setAttribute(GmapConstants.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 gmap content. + Gmap gmap = gmapService.getGmapByContentId((Long) map + .get(KEY_TOOL_CONTENT_ID)); + + // update gmap content using form inputs. + ToolAccessMode mode = (ToolAccessMode) map.get(KEY_MODE); + updateGmap(gmap, authForm, mode); + + // remove attachments marked for deletion. + Set attachments = gmap.getGmapAttachments(); + if (attachments == null) { + attachments = new HashSet(); + } + + for (GmapAttachment 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 + gmap.setGmapAttachments(attachments); + + // set the update date + gmap.setUpdateDate(new Date()); + + // releasing defineLater flag so that learner can start using the tool. + gmap.setDefineLater(false); + + gmapService.saveOrUpdateGmap(gmap); + + request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, + Boolean.TRUE); + + // add the sessionMapID to form + authForm.setSessionMapID(map.getSessionID()); + + request.setAttribute(GmapConstants.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(GmapConstants.ATTR_SESSION_MAP, map); + this.saveErrors(request, errors); + return mapping.findForward("success"); + } + + if (file.getFileName().length() != 0) { + + // upload file to repository + GmapAttachment newAtt = gmapService.uploadFileToContent( + (Long) map.get(KEY_TOOL_CONTENT_ID), file, type); + + // Add attachment to unsavedFiles + // check to see if file with same name exists + GmapAttachment currAtt; + Iterator iter = savedFiles.iterator(); + while (iter.hasNext()) { + currAtt = (GmapAttachment) iter.next(); + if (StringUtils.equals(currAtt.getFileName(), newAtt + .getFileName())) { + // move from this this list to deleted list. + getAttList(KEY_DELETED_FILES, map).add(currAtt); + iter.remove(); + break; + } + } + unsavedFiles.add(newAtt); + + request.setAttribute(GmapConstants.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()) { + GmapAttachment att = (GmapAttachment) 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(GmapConstants.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()) { + GmapAttachment att = (GmapAttachment) iter.next(); + + if (att.getFileUuid().equals(authForm.getDeleteFileUuid())) { + // delete from repository and list + gmapService.deleteFromRepository(att.getFileUuid(), att + .getFileVersionId()); + iter.remove(); + break; + } + } + + request.setAttribute(GmapConstants.ATTR_SESSION_MAP, map); + request.setAttribute("unsavedChanges", new Boolean(true)); + + return mapping.findForward("success"); + } + + /** + * Updates Gmap content using AuthoringForm inputs. + * + * @param authForm + * @param mode + * @return + */ + private void updateGmap(Gmap gmap, AuthoringForm authForm, + ToolAccessMode mode) { + gmap.setTitle(authForm.getTitle()); + gmap.setInstructions(authForm.getInstructions()); + if (mode.isAuthor()) { // Teacher cannot modify following + gmap.setOfflineInstructions(authForm.getOnlineInstruction()); + gmap.setOnlineInstructions(authForm.getOfflineInstruction()); + gmap.setLockOnFinished(authForm.isLockOnFinished()); + gmap.setAllowRichEditor(authForm.isAllowRichEditor()); + } + } + + /** + * Updates AuthoringForm using Gmap content. + * + * @param gmap + * @param authForm + * @return + */ + private void updateAuthForm(AuthoringForm authForm, Gmap gmap) { + authForm.setTitle(gmap.getTitle()); + authForm.setInstructions(gmap.getInstructions()); + authForm.setOnlineInstruction(gmap.getOnlineInstructions()); + authForm.setOfflineInstruction(gmap.getOfflineInstructions()); + authForm.setLockOnFinished(gmap.isLockOnFinished()); + authForm.setAllowRichEditor(gmap.isAllowRichEditor()); + } + + /** + * Updates SessionMap using Gmap content. + * + * @param gmap + * @param mode + */ + private SessionMap createSessionMap(Gmap gmap, + 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()); + + Iterator iter = gmap.getGmapAttachments().iterator(); + while (iter.hasNext()) { + GmapAttachment attachment = (GmapAttachment) iter.next(); + 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 + */ + 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 + */ + private SessionMap getSessionMap( + HttpServletRequest request, AuthoringForm authForm) { + return (SessionMap) request.getSession().getAttribute( + authForm.getSessionMapID()); + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/ClearSessionAction.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/ClearSessionAction.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/ClearSessionAction.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,51 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ +package org.lamsfoundation.lams.tool.gmap.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,229 @@ +/**************************************************************** + * 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.gmap.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.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.tool.gmap.dto.GmapDTO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.util.GmapConstants; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +import org.lamsfoundation.lams.tool.gmap.web.forms.LearningForm; +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="gmap" 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 IGmapService gmapService; + + 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 gmapService + if (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(this + .getServlet().getServletContext()); + } + + // Retrieve the session and content. + GmapSession gmapSession = gmapService + .getSessionBySessionId(toolSessionID); + if (gmapSession == null) { + throw new GmapException( + "Cannot retreive session with toolSessionID" + + toolSessionID); + } + + Gmap gmap = gmapSession.getGmap(); + + // check defineLater + if (gmap.isDefineLater()) { + return mapping.findForward("defineLater"); + } + + // set mode, toolSessionID and GmapDTO + request.setAttribute("mode", mode.toString()); + learningForm.setToolSessionID(toolSessionID); + + GmapDTO gmapDTO = new GmapDTO(); + gmapDTO.title = gmap.getTitle(); + gmapDTO.instructions = gmap.getInstructions(); + gmapDTO.allowRichEditor = gmap.isAllowRichEditor(); + + request.setAttribute("gmapDTO", gmapDTO); + + // Set the content in use flag. + if (!gmap.isContentInUse()) { + gmap.setContentInUse(new Boolean(true)); + gmapService.saveOrUpdateGmap(gmap); + } + + // check runOffline + if (gmap.isRunOffline()) { + return mapping.findForward("runOffline"); + } + + GmapUser gmapUser; + if (mode.equals(ToolAccessMode.TEACHER)) { + Long userID = WebUtil.readLongParam(request, AttributeNames.PARAM_USER_ID, false); + gmapUser = gmapService.getUserByUserIdAndSessionId(userID, toolSessionID); + } else { + gmapUser = getCurrentUser(toolSessionID); + } + + // get any existing gmap entry + NotebookEntry nbEntry = null; + if ( gmapUser != null ) { + nbEntry = gmapService.getEntry(gmapUser.getEntryUID()); + } + if (nbEntry != null) { + learningForm.setEntryText(nbEntry.getEntry()); + } + + // set readOnly flag. + if (mode.equals(ToolAccessMode.TEACHER) || (gmap.isLockOnFinished() && gmapUser.isFinishedActivity())) { + request.setAttribute("contentEditable", false); + } else { + request.setAttribute("contentEditable", true); + } + + return mapping.findForward("gmap"); + } + + private GmapUser getCurrentUser(Long toolSessionId) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( + AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionId + GmapUser gmapUser = gmapService + .getUserByUserIdAndSessionId(new Long(user.getUserID() + .intValue()), toolSessionId); + + if (gmapUser == null) { + GmapSession gmapSession = gmapService + .getSessionBySessionId(toolSessionId); + gmapUser = gmapService.createGmapUser(user, + gmapSession); + } + + return gmapUser; + } + + public ActionForward finishActivity(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); + + GmapUser gmapUser = getCurrentUser(toolSessionID); + + if (gmapUser != null) { + + LearningForm learningForm = (LearningForm) form; + + // TODO fix idType to use real value not 999 + + if (gmapUser.getEntryUID() == null) { + gmapUser.setEntryUID(gmapService.createNotebookEntry( + toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, GmapConstants.TOOL_SIGNATURE, + gmapUser.getUserId().intValue(), learningForm + .getEntryText())); + } else { + // update existing entry. + gmapService.updateEntry(gmapUser.getEntryUID(), + learningForm.getEntryText()); + } + + gmapUser.setFinishedActivity(true); + gmapService.saveOrUpdateGmapUser(gmapUser); + } else { + log.error("finishActivity(): couldn't find GmapUser with id: " + + gmapUser.getUserId() + "and toolSessionID: " + + toolSessionID); + } + + ToolSessionManager sessionMgrService = GmapServiceProxy + .getGmapSessionManager(getServlet().getServletContext()); + + String nextActivityUrl; + try { + nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, + gmapUser.getUserId()); + response.sendRedirect(nextActivityUrl); + } catch (DataMissingException e) { + throw new GmapException(e); + } catch (ToolException e) { + throw new GmapException(e); + } catch (IOException e) { + throw new GmapException(e); + } + + return null; // TODO need to return proper page. + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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 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.gmap.web.actions; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.gmap.dto.GmapDTO; +import org.lamsfoundation.lams.tool.gmap.dto.GmapUserDTO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +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="gmap_display" + * path="tiles:/monitoring/gmap_display" + * + */ +public class MonitoringAction extends LamsDispatchAction { + + private static Logger log = Logger.getLogger(MonitoringAction.class); + + public IGmapService gmapService; + + 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); + + Gmap gmap = gmapService + .getGmapByContentId(toolContentID); + + if (gmap == null) { + // TODO error page. + } + + GmapDTO gmapDT0 = new GmapDTO(gmap); + + request.setAttribute("gmapDTO", gmapDT0); + request.setAttribute("contentFolderID", contentFolderID); + return mapping.findForward("success"); + } + + public ActionForward showGmap(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) { + + setupService(); + + Long uid = new Long(WebUtil.readLongParam(request, "userUID")); + + GmapUser user = gmapService.getUserByUID(uid); + NotebookEntry entry = gmapService.getEntry(user.getEntryUID()); + + GmapUserDTO userDTO = new GmapUserDTO(user, entry); + + request.setAttribute("userDTO", userDTO); + + return mapping.findForward("gmap_display"); + } + + /** + * set up gmapService + */ + private void setupService() { + if (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(this + .getServlet().getServletContext()); + } + } +} Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AuthoringForm.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AuthoringForm.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/AuthoringForm.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,184 @@ +/**************************************************************** + * 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.gmap.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/LearningForm.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/LearningForm.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/LearningForm.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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.gmap.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,83 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id$ */ + +package org.lamsfoundation.lams.tool.gmap.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_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java =================================================================== diff -u --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java (revision 0) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/servlets/ExportServlet.java (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,196 @@ +/**************************************************************** + * 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.gmap.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.gmap.dto.GmapDTO; +import org.lamsfoundation.lams.tool.gmap.dto.NotebookEntryDTO; +import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; +import org.lamsfoundation.lams.tool.gmap.dto.GmapUserDTO; +import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; +import org.lamsfoundation.lams.tool.gmap.service.IGmapService; +import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +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 = "gmap_main.html"; + + private IGmapService gmapService; + + protected String doExport(HttpServletRequest request, + HttpServletResponse response, String directoryName, Cookie[] cookies) { + + if (gmapService == null) { + gmapService = GmapServiceProxy + .getGmapService(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 (GmapException e) { + logger.error("Cannot perform export for gmap 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 (gmapService == null) { + gmapService = GmapServiceProxy.getGmapService(getServletContext()); + } + + Gmap content = null; + if ( toolContentID != null ) { + content = gmapService.getGmapByContentId(toolContentID); + } else { + GmapSession session=gmapService.getSessionBySessionId(toolSessionID); + if ( session != null ) + content = session.getGmap(); + } + 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 GmapException { + + 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 GmapException(error); + } + + GmapSession gmapSession = gmapService + .getSessionBySessionId(toolSessionID); + + Gmap gmap = gmapSession.getGmap(); + + UserDTO lamsUserDTO = (UserDTO) SessionManager.getSession() + .getAttribute(AttributeNames.USER); + + GmapUser gmapUser = gmapService + .getUserByUserIdAndSessionId(new Long(lamsUserDTO.getUserID()), + toolSessionID); + + NotebookEntry gmapEntry = gmapService.getEntry(gmapUser + .getEntryUID()); + + // construct dto's + GmapDTO gmapDTO = new GmapDTO(); + gmapDTO.setTitle(gmap.getTitle()); + gmapDTO.setInstructions(gmap.getInstructions()); + + GmapSessionDTO sessionDTO = new GmapSessionDTO(); + sessionDTO.setSessionName(gmapSession.getSessionName()); + sessionDTO.setSessionID(gmapSession.getSessionId()); + + // If the user hasn't put in their entry yet, gmapEntry will be null; + GmapUserDTO userDTO = gmapEntry != null + ? new GmapUserDTO(gmapUser,gmapEntry) + : new GmapUserDTO(gmapUser); + + sessionDTO.getUserDTOs().add(userDTO); + gmapDTO.getSessionDTOs().add(sessionDTO); + + request.getSession().setAttribute("gmapDTO", gmapDTO); + } + + private void doTeacherExport(HttpServletRequest request, + HttpServletResponse response, String directoryName, Cookie[] cookies) + throws GmapException { + + 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 GmapException(error); + } + + Gmap gmap = gmapService + .getGmapByContentId(toolContentID); + + GmapDTO gmapDTO = new GmapDTO(gmap); + + // add the gmapEntry for each user in each session + + for (GmapSessionDTO session : gmapDTO.getSessionDTOs()) { + for (GmapUserDTO user : session.getUserDTOs()) { + NotebookEntry entry = gmapService.getEntry(user.getEntryUID()); + if (entry != null) { + NotebookEntryDTO entryDTO = new NotebookEntryDTO(entry); + user.setEntryDTO(entryDTO); + } + } + } + + request.getSession().setAttribute("gmapDTO", gmapDTO); + } + +} Index: lams_tool_gmap/web/403.jsp =================================================================== diff -u --- lams_tool_gmap/web/403.jsp (revision 0) +++ lams_tool_gmap/web/403.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/404.jsp =================================================================== diff -u --- lams_tool_gmap/web/404.jsp (revision 0) +++ lams_tool_gmap/web/404.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/META-INF/MANIFEST.MF =================================================================== diff -u --- lams_tool_gmap/web/META-INF/MANIFEST.MF (revision 0) +++ lams_tool_gmap/web/META-INF/MANIFEST.MF (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,5 @@ +Implementation-Title: LAMS - Gmap Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: + Index: lams_tool_gmap/web/WEB-INF/fckeditor/tlds/FCKeditor.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/fckeditor/tlds/FCKeditor.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/fckeditor/tlds/FCKeditor.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/c.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/c.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/c.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/fmt.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/fmt.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/fmt.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/fn.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/fn.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/fn.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/permittedTaglibs.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/permittedTaglibs.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/permittedTaglibs.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/scriptfree.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/scriptfree.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/scriptfree.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/jstl/tlds/x.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/jstl/tlds/x.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/jstl/tlds/x.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/lams.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/lams.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/lams.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,508 @@ + + + + + 1.0 + lams + + LAMSTags + + + + + Output the basic URL for the current webapp. e.g. http://server/lams/tool/nb11/ + Base URL for the current web app + + + WebAppURL + org.lamsfoundation.lams.web.tag.WebAppURLTag + empty + + + + + Output a random number for the learner and passon flash movies to communicate directly. + generate unique ID + + + generateID + org.lamsfoundation.lams.web.tag.GenerateIDTag + empty + + + Output a random number for the learner and passon flash movies to communicate directly. + id + false + + true + + + + + + + Get the configuration value for the specified key + Configuration value + + + Configuration + org.lamsfoundation.lams.web.tag.ConfigurationTag + empty + + + Get the configuration value for the specified key + key + false + + true + + + + + + + Output the Server URL as defined in the lams.xml configuration file. + LAMS URL + + + LAMSURL + org.lamsfoundation.lams.web.tag.LAMSURLTag + empty + + + + + Render html tag with direction and language + Render html tag with direction and language + + + html + org.lamsfoundation.lams.web.tag.HtmlTag + JSP + + + Render html tag with direction and language + xhtml + false + + true + + + + + + + Converts text from \n or \r\n to <BR> before rendering + Converts text from \n or \r\n to <BR> before rendering + + + out + org.lamsfoundation.lams.web.tag.MultiLinesOutputTag + empty + + + Converts text from \n or \r\n to <BR> before rendering + value + true + + true + + + + Converts text from \n or \r\n to <BR> before rendering + escapeHtml + false + + true + + + + + + + Help tag + Help tag + + + help + org.lamsfoundation.lams.web.tag.HelpTag + empty + + + Help tag + module + false + + true + + + + Help tag + toolSignature + false + + true + + + + Help tag + page + false + + true + + + + Help tag + style + false + + true + + + + + + + Converts role name into form usable as message resources key + Converts role name into form usable as message resources key + + + role + org.lamsfoundation.lams.web.tag.RoleTag + empty + + + Converts role name into form usable as message resources key + role + true + + true + + + + + + + Output stylesheet based on the user preferences. + User's chosen stylesheet + + + css + org.lamsfoundation.lams.web.tag.CssTag + empty + + + Output stylesheet based on the user preferences. + localLinkPath + false + + true + + + + Output stylesheet based on the user preferences. + style + false + + true + + + + + + + Output details from the shared session UserDTO object + user details + + + user + org.lamsfoundation.lams.web.tag.UserTag + empty + + + Output details from the shared session UserDTO object + property + true + + true + + + + + + + STRUTS-textarea + org.lamsfoundation.lams.web.tag.MultiLinesTextareaTag + empty + + accesskey + false + true + + + alt + false + true + + + altKey + false + true + + + bundle + false + true + + + cols + false + true + + + disabled + false + true + + + errorKey + false + true + + + errorStyle + false + true + + + errorStyleClass + false + true + + + errorStyleId + false + true + + + indexed + false + true + + + name + false + true + + + onblur + false + true + + + onchange + false + true + + + onclick + false + true + + + ondblclick + false + true + + + onfocus + false + true + + + onkeydown + false + true + + + onkeypress + false + true + + + onkeyup + false + true + + + onmousedown + false + true + + + onmousemove + false + true + + + onmouseout + false + true + + + onmouseover + false + true + + + onmouseup + false + true + + + property + true + true + + + readonly + false + true + + + rows + false + true + + + style + false + true + + + styleClass + false + true + + + styleId + false + true + + + tabindex + false + true + + + title + false + true + + + titleKey + false + true + + + value + false + true + + + + Tab + /WEB-INF/tags/Tab.tag + + + Tabs + /WEB-INF/tags/Tabs.tag + + + TabBody + /WEB-INF/tags/TabBody.tag + + + TabName + /WEB-INF/tags/TabName.tag + + + FCKEditor + /WEB-INF/tags/FCKEditor.tag + + + AuthoringButton + /WEB-INF/tags/AuthoringButton.tag + + + headItems + /WEB-INF/tags/headItems.tag + + + Passon + /WEB-INF/tags/Passon.tag + + + ExportPortOutput + /WEB-INF/tags/ExportPortOutput.tag + + + Date + /WEB-INF/tags/Date.tag + + + DefineLater + /WEB-INF/tags/DefineLater.tag + + + ImgButtonWrapper + /WEB-INF/tags/ImgButtonWrapper.tag + + + textarea + org.lamsfoundation.lams.web.tag.LAMSMultiLinesTextareaTag + JSP + true + + Render text exactly same as original input, which even won't escape the input HTML tag. + + + + + name + true + true + + + + + id + false + true + + + + + onchange + false + true + + + + head + /WEB-INF/tags/Head.tag + + + ProgressOutput + /WEB-INF/tags/ProgressOutput.tag + + + LearnerFlashEnabled + /WEB-INF/tags/LearnerFlashEnabled.tag + + + Index: lams_tool_gmap/web/WEB-INF/struts/struts-config.xml =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/struts-config.xml (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/struts-config.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/web/WEB-INF/struts/tiles-defs.xml =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tiles-defs.xml (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tiles-defs.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/web/WEB-INF/struts/tlds/struts-bean.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tlds/struts-bean.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tlds/struts-bean.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/struts/tlds/struts-html.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tlds/struts-html.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tlds/struts-html.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/struts/tlds/struts-logic.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tlds/struts-logic.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tlds/struts-logic.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/struts/tlds/struts-nested.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tlds/struts-nested.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tlds/struts-nested.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/struts/tlds/struts-tiles.tld =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/tlds/struts-tiles.tld (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/tlds/struts-tiles.tld (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/struts/validator-rules.xml =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/struts/validator-rules.xml (revision 0) +++ lams_tool_gmap/web/WEB-INF/struts/validator-rules.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams_tool_gmap/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/AuthoringButton.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/AuthoringButton.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/Date.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/Date.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/Date.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/DefineLater.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/DefineLater.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/DefineLater.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/ExportPortOutput.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/ExportPortOutput.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/ExportPortOutput.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/FCKEditor.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/FCKEditor.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/FCKEditor.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/Head.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/Head.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/Head.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/ImgButtonWrapper.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/ImgButtonWrapper.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/ImgButtonWrapper.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/LearnerFlashEnabled.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/LearnerFlashEnabled.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/LearnerFlashEnabled.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/Passon.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/Passon.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/Passon.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/ProgressOutput.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/ProgressOutput.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/ProgressOutput.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/Tab.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/Tab.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/Tab.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/TabBody.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/TabBody.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/TabBody.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/TabName.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/TabName.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/TabName.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/Tabs.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/Tabs.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/Tabs.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/tags/headItems.tag =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/tags/headItems.tag (revision 0) +++ lams_tool_gmap/web/WEB-INF/tags/headItems.tag (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/WEB-INF/web.xml =================================================================== diff -u --- lams_tool_gmap/web/WEB-INF/web.xml (revision 0) +++ lams_tool_gmap/web/WEB-INF/web.xml (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,338 @@ + + + + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.gmap.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/gmap/gmapApplicationContext.xml + + + + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + gmapSessionFactory + + + + 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 + gmapToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.gmap.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_gmap/web/common/empty.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/empty.jsp (revision 0) +++ lams_tool_gmap/web/common/empty.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1 @@ \ No newline at end of file Index: lams_tool_gmap/web/common/footer.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/footer.jsp (revision 0) +++ lams_tool_gmap/web/common/footer.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1 @@ +

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

    Index: lams_tool_gmap/web/common/header.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/header.jsp (revision 0) +++ lams_tool_gmap/web/common/header.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,17 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + <fmt:message key="activity.title" /> + + + + + Index: lams_tool_gmap/web/common/learnerheader.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/learnerheader.jsp (revision 0) +++ lams_tool_gmap/web/common/learnerheader.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,22 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + <fmt:message key="activity.title" /> + + + + + + + + + + Index: lams_tool_gmap/web/common/message.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/message.jsp (revision 0) +++ lams_tool_gmap/web/common/message.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,5 @@ +<%@ include file="/common/taglibs.jsp"%> + +

    + ${requestScope.message}; +

    Index: lams_tool_gmap/web/common/taglibs.jsp =================================================================== diff -u --- lams_tool_gmap/web/common/taglibs.jsp (revision 0) +++ lams_tool_gmap/web/common/taglibs.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,11 @@ +<%@ 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_gmap/web/error.jsp =================================================================== diff -u --- lams_tool_gmap/web/error.jsp (revision 0) +++ lams_tool_gmap/web/error.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/images/edit.gif =================================================================== diff -u Binary files differ Index: lams_tool_gmap/web/images/icon_gmap.swf =================================================================== diff -u Binary files differ Index: lams_tool_gmap/web/images/success.gif =================================================================== diff -u Binary files differ Index: lams_tool_gmap/web/includes/javascript/authoring.js =================================================================== diff -u --- lams_tool_gmap/web/includes/javascript/authoring.js (revision 0) +++ lams_tool_gmap/web/includes/javascript/authoring.js (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,38 @@ + + +var map; +var markers; +function init() { + // open the current tab + var tag = document.getElementById("currentTab"); + if (tag.value != "") { + selectTab(tag.value); + } else { + selectTab(1); + } + + if (GBrowserIsCompatible()) + { + map = new GMap2(document.getElementById("map_canvas"), { size: new GSize(640,320) } ); + map.setCenter(new GLatLng(37.4419, -122.1419), 13); + map.addControl(new GLargeMapControl()); + map.addControl(new GMapTypeControl()); + markers = new Array(); + } +} +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_gmap/web/includes/javascript/mapFunctions.js =================================================================== diff -u --- lams_tool_gmap/web/includes/javascript/mapFunctions.js (revision 0) +++ lams_tool_gmap/web/includes/javascript/mapFunctions.js (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,136 @@ + +function addMarkerToCenter() +{ + var bounds = map.getBounds(); + var point = bounds.getCenter(); + + var marker = new GMarker(point, {draggable: true}) + map.addOverlay(marker); + + GEvent.addListener(marker, "dragstart", function() { + map.closeInfoWindow(); + }); + + GEvent.addListener(marker, "dragend", function() { + //marker.infoWindowHtml = "Latitude: " + marker.getLatLng().lat() + "
    Longitude: " + marker.getLatLng().lng() + marker.removeButton ;; + //marker.openInfoWindowHtml(marker.infoWindowHtml); + }); + + + GEvent.addListener(marker, "click", function() { + marker.openInfoWindowHtml(marker.infoWindowHtml); + }); + + GEvent.addListener(marker, "infowindowclose", function() { + marker.editingOn = false; + updateMarkerInfoWindowHtml(marker) + }); + + + + + + marker.infoMessage = "No message
    "; + + marker.removeLink = "Remove" ; + //marker.editLink = "Edit"; + marker.editLink = "Edit"; + + marker.saveLink = "Save"; + marker.cancelLink = "Cancel"; + + + marker.editingOn = false; + + updateMarkerInfoWindowHtml(marker); + //alert(marker.infoMessage); + //alert(marker.inputForm); + //alert(marker.linksBar); + + //marker.infoWindowHtml = "Latitude: " + marker.getLatLng().lat() + "
    Longitude: " + marker.getLatLng().lng() + marker.removeButton ; + markers[markers.length] = marker; + +} + + +//Single Image + +function test() +{ + var string = ""; + var i; + for (i=0; i"; + markers[x].editingOn = false; + updateMarkerInfoWindowHtml(markers[x]); + //markers[x].openInfoWindowHtml(markers[x].infoWindowHtml); + openInfoWindow(x); + } +} + +function cancelEditMarkerInfo(x) +{ + markers[x].editingOn = false; + updateMarkerInfoWindowHtml(markers[x]); + openInfoWindow(x); +} + +function updateMarkerInfoWindowHtml(markerIn) +{ + if (markerIn.editingOn) + { + markerIn.linksBar = "
    " + markerIn.saveLink + " " + markerIn.cancelLink; + markerIn.infoWindowTextarea = ""; + markerIn.inputForm = "New Info Window Text:
    " + markerIn.infoWindowTextarea; + markerIn.infoWindowHtml = markerIn.inputForm + markerIn.linksBar; + } + else + { + markerIn.linksBar = "
    " + markerIn.removeLink + " " + markerIn.editLink; + markerIn.inputForm = ""; + markerIn.infoWindowHtml = markerIn.infoMessage + markerIn.inputForm + markerIn.linksBar; + } + + +} + +function openInfoWindow(x) +{ + markers[x].openInfoWindowHtml(markers[x].infoWindowHtml); +} \ No newline at end of file Index: lams_tool_gmap/web/includes/javascript/monitoring.js =================================================================== diff -u --- lams_tool_gmap/web/includes/javascript/monitoring.js (revision 0) +++ lams_tool_gmap/web/includes/javascript/monitoring.js (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,12 @@ + +function init() { + selectTab(1); +} +function doSelectTab(tabId) { + selectTab(tabId); +} +function doSubmit(method, tabId) { + document.monitoringForm.method.value = method; + document.monitoringForm.submit(); +} + Index: lams_tool_gmap/web/layouts/defaultLayout.jsp =================================================================== diff -u --- lams_tool_gmap/web/layouts/defaultLayout.jsp (revision 0) +++ lams_tool_gmap/web/layouts/defaultLayout.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,22 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + +
    + + +

    + +

    +
    +
    + +
    + +
    + +
    Index: lams_tool_gmap/web/layouts/learningLayout.jsp =================================================================== diff -u --- lams_tool_gmap/web/layouts/learningLayout.jsp (revision 0) +++ lams_tool_gmap/web/layouts/learningLayout.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,13 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + Index: lams_tool_gmap/web/layouts/tabLayout.jsp =================================================================== diff -u --- lams_tool_gmap/web/layouts/tabLayout.jsp (revision 0) +++ lams_tool_gmap/web/layouts/tabLayout.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,18 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + +
    + + +

    + +

    + +
    + +
    Index: lams_tool_gmap/web/pages/authoring/advanced.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/advanced.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/advanced.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,20 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +

    + + +

    + +

    + + +

    + Index: lams_tool_gmap/web/pages/authoring/authoring.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/authoring.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/authoring.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,71 @@ +<%@ include file="/common/taglibs.jsp"%> + +<%@ page + import="org.lamsfoundation.lams.tool.gmap.util.GmapConstants"%> + + + + + + + + + + + + + + +
    + + + + + +
    + + + + +

    + +
    +
    +

    +
    +
    + + + + <%-- Page tabs --%> + + + + + + + +
    +
    + + \ No newline at end of file Index: lams_tool_gmap/web/pages/authoring/basic.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/basic.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/basic.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,32 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + +
    + + +
    + + + + Edit +
    Index: lams_tool_gmap/web/pages/authoring/headItems.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/headItems.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/headItems.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,14 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + Index: lams_tool_gmap/web/pages/authoring/instructions.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/instructions.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/instructions.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -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_gmap/web/pages/authoring/map.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/authoring/map.jsp (revision 0) +++ lams_tool_gmap/web/pages/authoring/map.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,10 @@ + + + + + + + +
    +
    + Index: lams_tool_gmap/web/pages/export/exportPortfolio.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/export/exportPortfolio.jsp (revision 0) +++ lams_tool_gmap/web/pages/export/exportPortfolio.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,92 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + <c:out value="${gmapDTO.title}" escapeXml="false" /> + + + + + + +
    + +

    + +

    + +

    + +

    + + +
    + +
    +
    + + +
    +

    + ${session.sessionName} +

    +

    +   +

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

    + +

    + +
    + + + Index: lams_tool_gmap/web/pages/learning/gmap.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/learning/gmap.jsp (revision 0) +++ lams_tool_gmap/web/pages/learning/gmap.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,89 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${gmapDTO.title} +

    + + + + + + +

    + ${gmapDTO.instructions} +

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

    + ${gmapDTO.title} +

    + +

    + +

    + + + + + + +
    + + button.finish + +
    +
    +
    +
    + Index: lams_tool_gmap/web/pages/monitoring/editActivity.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/editActivity.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/editActivity.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,43 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + +

    + +

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

    + + + + + + + + +

    + + Index: lams_tool_gmap/web/pages/monitoring/gmapDisplay.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/gmapDisplay.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/gmapDisplay.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,37 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + +
    +

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

    +
    + + + + +
    + + + +
    + + + +
    Index: lams_tool_gmap/web/pages/monitoring/headItems.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/headItems.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/headItems.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,9 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + Index: lams_tool_gmap/web/pages/monitoring/instructions.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/instructions.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/instructions.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,88 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + +
    + + + +
    +   + +
    + +
      + +
    • + + + + + +   + + + + + +
    • +
      +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    + + + +
    +   + +
    + +
      + +
    • + + + + + +   + + + + + +
    • +
      +
    +
    +
    +
    Index: lams_tool_gmap/web/pages/monitoring/monitoring.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/monitoring.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/monitoring.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,22 @@ +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="org.lamsfoundation.lams.tool.gmap.util.GmapConstants"%> + + + +
    + + + + + + +
    + + Index: lams_tool_gmap/web/pages/monitoring/statistics.jsp =================================================================== diff -u --- lams_tool_gmap/web/pages/monitoring/statistics.jsp (revision 0) +++ lams_tool_gmap/web/pages/monitoring/statistics.jsp (revision 3299d560146318cb6f26ec2b234e3af70ec21eba) @@ -0,0 +1,34 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + +
    +

    + ${session.sessionName} +

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

    + ${session.sessionName} +

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