Index: lams2/lams_tool_bbb/build.properties =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/build.properties,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/build.properties 29 Apr 2011 05:14:47 -0000 1.1 @@ -0,0 +1,20 @@ + +# project-wide properties +signature=labbb10 + +#project version +tool.version=20080811 + +package=org/lamsfoundation/lams/tool/bbb +package.name=org.lamsfoundation.lams.tool.bbb +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.bbb + Index: lams2/lams_tool_bbb/build.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/build.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/build.xml 29 Apr 2011 05:14:47 -0000 1.1 @@ -0,0 +1,512 @@ + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deploying the Bbb Tool + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/hibernate/mappings/hibernate.cfg.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/hibernate.cfg.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/hibernate.cfg.xml 29 Apr 2011 05:14:47 -0000 1.1 @@ -0,0 +1,12 @@ + + + + + lams + lamsdemo + jdbc:mysql://localhost/lams + com.mysql.jdbc.Driver + org.hibernate.dialect.MySQLDialect + + \ No newline at end of file Index: lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/Bbb.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/Bbb.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/Bbb.hbm.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.hbm.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.hbm.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbSession.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbSession.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbSession.hbm.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbUser.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbUser.hbm.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/hibernate/mappings/org/lamsfoundation/lams/tool/bbb/model/BbbUser.hbm.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/conf/jar/META-INF/MANIFEST.MF =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/jar/META-INF/MANIFEST.MF,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/jar/META-INF/MANIFEST.MF 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,3 @@ +Implementation-Title: LAMS - Notebok Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) Index: lams2/lams_tool_bbb/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/language/lams/ApplicationResources.properties,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/language/lams/ApplicationResources.properties 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,88 @@ +#=================== labels for Bbb =================# + +tool.display.name = Web Conference +tool.description = Web Conference Tool +activity.title = Web Conference +activity.description = Web Conference Tool +activity.helptext = Web Conference +activity.welcome.message = Welcome to Web Conference + +pageTitle.authoring =Web Conference Authoring +pageTitle.monitoring =Web Conference Monitoring + +button.basic =Basic +button.advanced =Advanced +button.upload =Upload +button.cancel =Cancel +button.save =Save +button.finish =Next Activity +button.instructions =Instructions +button.continue = Continue +button.edit = Edit +button.try.again =Try Again +button.summary =Summary +button.editActivity =Edit Activity +button.statistics =Statistics +button.close = Close + + +label.authoring.basic.title =Title +label.attachments =Attachments +label.view =View +label.notAvailable =Not Available +label.save =Save +label.created =Created +label.lastModified =Last modified +label.notebookEntry =Notebook entry +label.authoring.basic.instructions =Instructions +label.authoring.basic.bbbSettings = Web Conference Settings +label.on =On +label.off =Off +label.monitoring.startConference = Start Conference +label.learning.joinConference = Join Conference +label.learning.conferenceNotAvailable = The Web Conference is not available. Please see your instructor for further details. +label.refresh = Refresh +label.download =Download +label.delete =Delete +label.cancel = Cancel + +message.unsavedChanges =Page contains unsaved changes +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. +message.learner.blank.input =You have not written anything. Are you sure this is correct? +message.alertContentEdit =Warning: One of more students have accessed this activity. Changing this content will result in students getting different information. +message.warnLockOnFinish =Note: After you click on "Next Activity" and you come back to this Notebook, you won't be able to continue adding notes. +message.activityLocked =The instructor has set this activity not to allow notes after you have finished it. As you are returning to this Notebook, you are able to see your notes but not allowed to add more. +message.no.reflection.available = Notebook not available +message.endMeeting = The meeting room is now closed. You can continue with your sequence. + +heading.totalLearners =Number of Learners +heading.totalLearnersInGroup =Total Number of Learners in Group +heading.totalFinishedLearnersInGroup =Number of Finished Learners +heading.learner =Learner +heading.notebookEntry =Notebook Entry + +error.mandatoryField ={0} field is mandatory. +error.optionalField ={0} has been left blank. + +advanced.lockOnFinished =Lock when finished +advanced.reflectOnActivity = Add Notebook at end of Web Conference with the following instructions + +instructions.uploadOfflineInstr =Offline Instructions File +instructions.uploadOnlineInstr =Online Instructions File +instructions.offlineInstructions =Offline Instructions +instructions.onlineInstructions =Online Instructions + +authoring.msg.cancel.save =Do you want to close this window without saving? + +monitor.summary.th.advancedSettings =Advanced Settings +monitor.summary.bbbSettings = Web Conference Settings + +admin.title = Web Conference Administration +config.serverURL = Big Blue Button Server URL +config.securitySalt.notice = Note that "Security Salt" is required. This Security Salt is a keyword that is used to ensure that web conference rooms can only be created from this website. +config.securitySalt.notice2 = IMPORTANT: DO NOT ALLOW END USERS TO KNOW YOUR SECURITY SALT OR ELSE YOUR SECURITY WILL BE COMPROMISED. See BigBlueButton website for details +config.securitySalt = Security Salt +export.toolExportNotSupported = This tool does not support export portfolio. + +message.unableToStartLesson = Unable to join meeting. Please see your instructor. Index: lams2/lams_tool_bbb/conf/middlegen/lams_tool_labbb11-prefs.properties =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/middlegen/lams_tool_labbb11-prefs.properties,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/middlegen/lams_tool_labbb11-prefs.properties 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,128 @@ +# Middlegen Preferences +hibernate.tables.tl_labbb10_attachment.base-class-name=BbbAttachment +hibernate.tables.tl_labbb10_attachment.columns.create_date.columnspecialty=property +hibernate.tables.tl_labbb10_attachment.columns.create_date.java-name=createDate +hibernate.tables.tl_labbb10_attachment.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_labbb10_attachment.columns.bbb_uid.columnspecialty=foreign key +hibernate.tables.tl_labbb10_attachment.columns.bbb_uid.java-name=bbbUid +hibernate.tables.tl_labbb10_attachment.columns.bbb_uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_attachment.columns.file_name.inctostring=true +hibernate.tables.tl_labbb10_attachment.columns.file_name.java-name=fileName +hibernate.tables.tl_labbb10_attachment.columns.file_name.java-type=java.lang.String +hibernate.tables.tl_labbb10_attachment.columns.file_type.java-name=fileType +hibernate.tables.tl_labbb10_attachment.columns.file_type.java-type=java.lang.String +hibernate.tables.tl_labbb10_attachment.columns.file_uuid.columnspecialty=property +hibernate.tables.tl_labbb10_attachment.columns.file_uuid.incequals=false +hibernate.tables.tl_labbb10_attachment.columns.file_uuid.inctostring=true +hibernate.tables.tl_labbb10_attachment.columns.file_uuid.java-name=fileUuid +hibernate.tables.tl_labbb10_attachment.columns.file_uuid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_attachment.columns.file_version_id.inctostring=true +hibernate.tables.tl_labbb10_attachment.columns.file_version_id.java-name=fileVersionId +hibernate.tables.tl_labbb10_attachment.columns.file_version_id.java-type=java.lang.Long +hibernate.tables.tl_labbb10_attachment.columns.uid.columnspecialty=key +hibernate.tables.tl_labbb10_attachment.columns.uid.incequals=true +hibernate.tables.tl_labbb10_attachment.columns.uid.inctostring=true +hibernate.tables.tl_labbb10_attachment.columns.uid.java-name=uid +hibernate.tables.tl_labbb10_attachment.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_attachment.equalshashcode=true +hibernate.tables.tl_labbb10_attachment.keygenerator=native +hibernate.tables.tl_labbb10_bbb.base-class-name=Bbb +hibernate.tables.tl_labbb10_bbb.columns.content_in_use.java-name=contentInUse +hibernate.tables.tl_labbb10_bbb.columns.content_in_use.java-type=java.lang.Boolean +hibernate.tables.tl_labbb10_bbb.columns.create_by.java-name=createBy +hibernate.tables.tl_labbb10_bbb.columns.create_by.java-type=java.lang.Long +hibernate.tables.tl_labbb10_bbb.columns.create_date.java-name=createDate +hibernate.tables.tl_labbb10_bbb.columns.create_date.java-type=java.sql.Timestamp +hibernate.tables.tl_labbb10_bbb.columns.define_later.java-name=defineLater +hibernate.tables.tl_labbb10_bbb.columns.define_later.java-type=java.lang.Boolean +hibernate.tables.tl_labbb10_bbb.columns.instructions.inctostring=true +hibernate.tables.tl_labbb10_bbb.columns.instructions.java-name=instructions +hibernate.tables.tl_labbb10_bbb.columns.instructions.java-type=java.lang.String +hibernate.tables.tl_labbb10_bbb.columns.lock_on_finished.java-name=lockOnFinished +hibernate.tables.tl_labbb10_bbb.columns.lock_on_finished.java-type=java.lang.Boolean +hibernate.tables.tl_labbb10_bbb.columns.offline_instructions.java-name=offlineInstructions +hibernate.tables.tl_labbb10_bbb.columns.offline_instructions.java-type=java.lang.String +hibernate.tables.tl_labbb10_bbb.columns.online_instructions.java-name=onlineInstructions +hibernate.tables.tl_labbb10_bbb.columns.online_instructions.java-type=java.lang.String +hibernate.tables.tl_labbb10_bbb.columns.run_offline.java-name=runOffline +hibernate.tables.tl_labbb10_bbb.columns.run_offline.java-type=java.lang.Boolean +hibernate.tables.tl_labbb10_bbb.columns.title.inctostring=true +hibernate.tables.tl_labbb10_bbb.columns.title.java-name=title +hibernate.tables.tl_labbb10_bbb.columns.title.java-type=java.lang.String +hibernate.tables.tl_labbb10_bbb.columns.tool_content_id.inctostring=true +hibernate.tables.tl_labbb10_bbb.columns.tool_content_id.java-name=toolContentId +hibernate.tables.tl_labbb10_bbb.columns.tool_content_id.java-type=java.lang.Long +hibernate.tables.tl_labbb10_bbb.columns.uid.columnspecialty=key +hibernate.tables.tl_labbb10_bbb.columns.uid.incequals=true +hibernate.tables.tl_labbb10_bbb.columns.uid.inctostring=true +hibernate.tables.tl_labbb10_bbb.columns.uid.java-name=uid +hibernate.tables.tl_labbb10_bbb.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_bbb.columns.update_date.java-name=updateDate +hibernate.tables.tl_labbb10_bbb.columns.update_date.java-type=java.sql.Timestamp +hibernate.tables.tl_labbb10_bbb.dynamicInsert=false +hibernate.tables.tl_labbb10_bbb.equalshashcode=true +hibernate.tables.tl_labbb10_bbb.keygenerator=native +hibernate.tables.tl_labbb10_session.base-class-name=BbbSession +hibernate.tables.tl_labbb10_session.columns.bbb_uid.java-name=bbbUid +hibernate.tables.tl_labbb10_session.columns.bbb_uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_session.columns.session_end_date.inctostring=true +hibernate.tables.tl_labbb10_session.columns.session_end_date.java-name=sessionEndDate +hibernate.tables.tl_labbb10_session.columns.session_end_date.java-type=java.sql.Timestamp +hibernate.tables.tl_labbb10_session.columns.session_id.inctostring=true +hibernate.tables.tl_labbb10_session.columns.session_id.java-name=sessionId +hibernate.tables.tl_labbb10_session.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_labbb10_session.columns.session_name.inctostring=true +hibernate.tables.tl_labbb10_session.columns.session_name.java-name=sessionName +hibernate.tables.tl_labbb10_session.columns.session_name.java-type=java.lang.String +hibernate.tables.tl_labbb10_session.columns.session_start_date.inctostring=true +hibernate.tables.tl_labbb10_session.columns.session_start_date.java-name=sessionStartDate +hibernate.tables.tl_labbb10_session.columns.session_start_date.java-type=java.sql.Timestamp +hibernate.tables.tl_labbb10_session.columns.status.inctostring=true +hibernate.tables.tl_labbb10_session.columns.status.java-name=status +hibernate.tables.tl_labbb10_session.columns.status.java-type=java.lang.Integer +hibernate.tables.tl_labbb10_session.columns.uid.columnspecialty=key +hibernate.tables.tl_labbb10_session.columns.uid.incequals=true +hibernate.tables.tl_labbb10_session.columns.uid.inctostring=true +hibernate.tables.tl_labbb10_session.columns.uid.java-name=uid +hibernate.tables.tl_labbb10_session.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_session.equalshashcode=true +hibernate.tables.tl_labbb10_session.keygenerator=native +hibernate.tables.tl_labbb10_user.base-class-name=BbbUser +hibernate.tables.tl_labbb10_user.columns.first_name.java-name=firstName +hibernate.tables.tl_labbb10_user.columns.first_name.java-type=java.lang.String +hibernate.tables.tl_labbb10_user.columns.last_name.columnspecialty=property +hibernate.tables.tl_labbb10_user.columns.last_name.java-name=lastName +hibernate.tables.tl_labbb10_user.columns.last_name.java-type=java.lang.String +hibernate.tables.tl_labbb10_user.columns.session_id.inctostring=true +hibernate.tables.tl_labbb10_user.columns.session_id.java-name=sessionId +hibernate.tables.tl_labbb10_user.columns.session_id.java-type=java.lang.Long +hibernate.tables.tl_labbb10_user.columns.uid.columnspecialty=key +hibernate.tables.tl_labbb10_user.columns.uid.incequals=true +hibernate.tables.tl_labbb10_user.columns.uid.inctostring=true +hibernate.tables.tl_labbb10_user.columns.uid.java-name=uid +hibernate.tables.tl_labbb10_user.columns.uid.java-type=java.lang.Long +hibernate.tables.tl_labbb10_user.columns.user_id.inctostring=true +hibernate.tables.tl_labbb10_user.columns.user_id.java-name=userId +hibernate.tables.tl_labbb10_user.columns.user_id.java-type=java.lang.Long +hibernate.tables.tl_labbb10_user.equalshashcode=true +hibernate.tables.tl_labbb10_user.keygenerator=sequence +relations.tl_labbb10_bbb-tl_labbb10_attachment.tl_labbb10_attachment-has-tl_labbb10_bbb.enabled=true +relations.tl_labbb10_bbb-tl_labbb10_attachment.tl_labbb10_attachment-has-tl_labbb10_bbb.target-many=false +relations.tl_labbb10_bbb-tl_labbb10_attachment.tl_labbb10_bbb-has-tl_labbb10_attachment.enabled=true +relations.tl_labbb10_bbb-tl_labbb10_attachment.tl_labbb10_bbb-has-tl_labbb10_attachment.target-many=true +relations.tl_labbb10_bbb-tl_labbb10_session.tl_labbb10_bbb-has-tl_labbb10_session.enabled=true +relations.tl_labbb10_bbb-tl_labbb10_session.tl_labbb10_bbb-has-tl_labbb10_session.target-many=true +relations.tl_labbb10_bbb-tl_labbb10_session.tl_labbb10_session-has-tl_labbb10_bbb.enabled=true +relations.tl_labbb10_bbb-tl_labbb10_session.tl_labbb10_session-has-tl_labbb10_bbb.target-many=false +relations.tl_labbb10_session-tl_labbb10_user.tl_labbb10_session-has-tl_labbb10_user.enabled=true +relations.tl_labbb10_session-tl_labbb10_user.tl_labbb10_session-has-tl_labbb10_user.target-many=true +relations.tl_labbb10_session-tl_labbb10_user.tl_labbb10_user-has-tl_labbb10_session.enabled=true +relations.tl_labbb10_session-tl_labbb10_user.tl_labbb10_user-has-tl_labbb10_session.target-many=false +tables.tl_labbb10_attachment.x=566 +tables.tl_labbb10_attachment.y=173 +tables.tl_labbb10_bbb.x=308 +tables.tl_labbb10_bbb.y=176 +tables.tl_labbb10_session.x=70 +tables.tl_labbb10_session.y=70 +tables.tl_labbb10_user.x=460 +tables.tl_labbb10_user.y=28 Index: lams2/lams_tool_bbb/conf/war/META-INF/MANIFEST.MF =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/war/META-INF/MANIFEST.MF,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/war/META-INF/MANIFEST.MF 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,4 @@ +Implementation-Title: LAMS - Bbb Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: ./lams.jar ./lams-tool-labbb10.jar ./lams-contentrepository.jar ./lams-learning.jar Index: lams2/lams_tool_bbb/conf/xdoclet/error-pages.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/error-pages.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/error-pages.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,13 @@ + + 500 + /error.jsp + + + 403 + /403.jsp + + + 404 + /404.jsp + + Index: lams2/lams_tool_bbb/conf/xdoclet/filter-mappings.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/filter-mappings.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/filter-mappings.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,14 @@ + + SystemSessionFilter + /* + + + + hibernateFilter + /* + + + + LocaleFilter + /* + Index: lams2/lams_tool_bbb/conf/xdoclet/filters.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/filters.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/filters.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,24 @@ + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + coreSessionFactory + + + + + LocaleFilter + + org.lamsfoundation.lams.web.filter.LocaleFilter + + Index: lams2/lams_tool_bbb/conf/xdoclet/global-forwards.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/global-forwards.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/global-forwards.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,3 @@ + + + Index: lams2/lams_tool_bbb/conf/xdoclet/listeners.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/listeners.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/listeners.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,10 @@ + + + org.springframework.web.context.ContextLoaderListener + + + + + org.lamsfoundation.lams.web.session.SetMaxTimeoutListener + + Index: lams2/lams_tool_bbb/conf/xdoclet/servlet-mappings.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/servlet-mappings.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/servlet-mappings.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,20 @@ + + action + *.do + + + + + Connector + /fckeditor/editor/filemanager/browser/default/connectors/jsp/connector + + + + download + /download/* + + + + exportPortfolio + /exportPortfolio + Index: lams2/lams_tool_bbb/conf/xdoclet/servlets.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/servlets.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/servlets.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,56 @@ + + action + org.apache.struts.action.ActionServlet + + config + /WEB-INF/struts/struts-config.xml + + + debug + 999 + + + detail + 2 + + + validate + true + + 1 + + + + + + Connector + net.fckeditor.connector.ConnectorServlet + + baseDir + /UserFiles/ + + + debug + false + + 1 + + + + + Attachment Download + Attachment Download + download + org.lamsfoundation.lams.contentrepository.client.ToolDownload + + toolContentHandlerBeanName + bbbToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.bbb.web.servlets.ExportServlet + + Index: lams2/lams_tool_bbb/conf/xdoclet/struts-actions.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/struts-actions.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/struts-actions.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,3 @@ + \ No newline at end of file Index: lams2/lams_tool_bbb/conf/xdoclet/struts-forms.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/struts-forms.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/struts-forms.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1 @@ \ No newline at end of file Index: lams2/lams_tool_bbb/conf/xdoclet/struts-message-resources.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/struts-message-resources.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/struts-message-resources.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1 @@ + Index: lams2/lams_tool_bbb/conf/xdoclet/struts-plugins.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/struts-plugins.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/struts-plugins.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,9 @@ + + + + Index: lams2/lams_tool_bbb/conf/xdoclet/taglibs.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/taglibs.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/taglibs.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,77 @@ + + + + + + + tags-bean + /WEB-INF/struts/tlds/struts-bean.tld + + + + tags-html + /WEB-INF/struts/tlds/struts-html.tld + + + + tags-logic + /WEB-INF/struts/tlds/struts-logic.tld + + + + tags-tiles + /WEB-INF/struts/tlds/struts-tiles.tld + + + + + + + + tags-fmt + /WEB-INF/jstl/tlds/fmt.tld + + + + tags-core + /WEB-INF/jstl/tlds/c.tld + + + + tags-function + /WEB-INF/jstl/tlds/fn.tld + + + + tags-xml + /WEB-INF/jstl/tlds/x.tld + + + + + + + tags-permittedTaglibs + /WEB-INF/jstl/tlds/permittedTaglibs.tld + + + + tags-scriptfree + /WEB-INF/jstl/tlds/scriptfree.tld + + + + + + + fck-editor + /WEB-INF/fckeditor/tlds/FCKeditor.tld + + + + tags-lams + /WEB-INF/lams.tld + + + + Index: lams2/lams_tool_bbb/conf/xdoclet/web-security.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/web-security.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/web-security.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,103 @@ + + + + Secure Content + *.jsp + *.html + *.do + + + LEARNER + TEACHER + MONITOR + AUTHOR + ADMIN + SYSADMIN + AUTHOR ADMIN + + + + + + Authoring Update + /authoring.do + + + AUTHOR + AUTHOR ADMIN + SYSADMIN + + + + + + Staff Content + /monitoring.do + + + MONITOR + TEACHER + + + + + + + Download Files + /download/ + + + AUTHOR + MONITOR + TEACHER + ADMIN + SYSADMIN + AUTHOR ADMIN + + + + + + FORM + LAMS + + /login.jsp + /login.jsp?failed=y + + + + + + + Student + LEARNER + + + Student + TEACHER + + + + Can create/modify a learning design + AUTHOR + + + + Can running and monitoring a learning session + MONITOR + + + + Can add/remove users to the system, set up classes of users for sessions + ADMIN + + + + Can add/remove users to the system, set up classes of users for sessions + SYSADMIN + + + + Can create/modify a learning design and edit default tool content + AUTHOR ADMIN + Index: lams2/lams_tool_bbb/conf/xdoclet/web-settings.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/conf/xdoclet/web-settings.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/conf/xdoclet/web-settings.xml 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,20 @@ + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.bbb.ApplicationResources + + + + contextConfigLocation + classpath:/org/lamsfoundation/lams/tool/bbb/dbupdates/autopatchContext.xml + + + locatorFactorySelector + classpath*:/org/lamsfoundation/lams/**/beanRefContext.xml + + + parentContextKey + context.central + + Index: lams2/lams_tool_bbb/db/sql/activity_insert.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/activity_insert.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/activity_insert.sql 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,80 @@ +-- CVS ID: $Id: activity_insert.sql,v 1.1 2011/04/29 05:14:48 ernieg Exp $ + +INSERT INTO lams_learning_activity +( +activity_ui_id +, description +, title +, help_text +, xcoord +, ycoord +, parent_activity_id +, parent_ui_id +, learning_activity_type_id +, grouping_support_type_id +, apply_grouping_flag +, grouping_id +, grouping_ui_id +, order_id +, define_later_flag +, learning_design_id +, learning_library_id +, create_date_time +, run_offline_flag +, max_number_of_options +, min_number_of_options +, options_instructions +, tool_id +, tool_content_id +, activity_category_id +, gate_activity_level_id +, gate_open_flag +, gate_start_time_offset +, gate_end_time_offset +, gate_start_date_time +, gate_end_date_time +, library_activity_ui_image +, create_grouping_id +, create_grouping_ui_id +, library_activity_id +, language_file +) +VALUES +( +NULL +, 'Bbb Tool' +, 'Bbb 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 +, 2 +, NULL +, NULL +, NULL +, NULL +, NULL +, NULL +, 'tool/labbb10/images/icon_bbb.swf' +, NULL +, NULL +, NULL +, 'org.lamsfoundation.lams.tool.bbb.ApplicationResources' +) Index: lams2/lams_tool_bbb/db/sql/create_lams_tool_bbb.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/create_lams_tool_bbb.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/create_lams_tool_bbb.sql 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,60 @@ +-- CVS ID: $Id: create_lams_tool_bbb.sql,v 1.1 2011/04/29 05:14:48 ernieg Exp $ + +SET FOREIGN_KEY_CHECKS=0; +-- generated sql +drop table if exists tl_labbb10_attachment; +drop table if exists tl_labbb10_config; +drop table if exists tl_labbb10_bbb; +drop table if exists tl_labbb10_session; +drop table if exists tl_labbb10_user; +create table tl_labbb10_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, bbb_uid bigint, primary key (uid)); +create table tl_labbb10_config (uid bigint not null auto_increment, config_key varchar(255), config_value varchar(255), primary key (uid)); +create table tl_labbb10_bbb (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, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, primary key (uid)); +create table tl_labbb10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), bbb_uid bigint, meeting_created bit, meeting_key varchar(255), attendee_password varchar(20), moderator_password varchar(20), primary key (uid)); +create table tl_labbb10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, bbb_session_uid bigint, notebook_entry_uid bigint, primary key (uid)); +-- end generated sql + +-- set engine to innodb for all tables +alter table tl_labbb10_attachment engine=innodb; +alter table tl_labbb10_bbb engine=innodb; +alter table tl_labbb10_config engine=innodb; +alter table tl_labbb10_session engine=innodb; +alter table tl_labbb10_user engine=innodb; + +-- generated sql +alter table tl_labbb10_attachment add index fk_labbb10_bbb_attachment_to_bbb (bbb_uid), add constraint fk_labbb10_bbb_attachment_to_bbb foreign key (bbb_uid) references tl_labbb10_bbb (uid); +alter table tl_labbb10_session add index fk_labbb10_bbb_session_to_bbb (bbb_uid), add constraint fk_labbb10_bbb_session_to_bbb foreign key (bbb_uid) references tl_labbb10_bbb (uid); +alter table tl_labbb10_user add index fk_labbb10_bbb_user_to_bbb_session (bbb_session_uid), add constraint fk_labbb10_bbb_user_to_bbb_session foreign key (bbb_session_uid) references tl_labbb10_session (uid); +-- end generated sql + +INSERT INTO tl_labbb10_bbb ( + title, + instructions, + online_instructions, + offline_instructions, + tool_content_id, + run_offline, + lock_on_finished, + content_in_use, + define_later, + reflect_on_activity + ) +VALUES( + "Web Conference", + "Instructions", + "", + "", + ${default_content_id}, + 0, + 0, + 0, + 0, + 0 +); + +-- default configuration values +INSERT INTO tl_labbb10_config (config_key, config_value) VALUES ("server_url", "http://172.20.100.253/"); +-- INSERT INTO tl_labbb10_config (config_key, config_value) VALUES ("version", "enterprise"); + + +SET FOREIGN_KEY_CHECKS=1; Index: lams2/lams_tool_bbb/db/sql/db_version_insert.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/db_version_insert.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/db_version_insert.sql 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,2 @@ +-- $Id: db_version_insert.sql,v 1.1 2011/04/29 05:14:48 ernieg Exp $ +INSERT INTO patches VALUES ('@signature@', '@tool_version@', NOW(), 'F'); \ No newline at end of file Index: lams2/lams_tool_bbb/db/sql/drop_lams_tool_bbb.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/drop_lams_tool_bbb.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/drop_lams_tool_bbb.sql 29 Apr 2011 05:14:48 -0000 1.1 @@ -0,0 +1,13 @@ +-- CVS ID: $Id: drop_lams_tool_bbb.sql,v 1.1 2011/04/29 05:14:48 ernieg Exp $ + +SET FOREIGN_KEY_CHECKS=0; +DROP TABLE IF EXISTS tl_labbb10_user; +DROP TABLE IF EXISTS tl_labbb10_attachment; +DROP TABLE IF EXISTS tl_labbb10_session; +DROP TABLE IF EXISTS tl_labbb10_bbb; +SET FOREIGN_KEY_CHECKS=1; + + + + + Index: lams2/lams_tool_bbb/db/sql/library_insert.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/library_insert.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/library_insert.sql 29 Apr 2011 05:14:49 -0000 1.1 @@ -0,0 +1,16 @@ +-- CVS ID: $Id: library_insert.sql,v 1.1 2011/04/29 05:14:49 ernieg Exp $ + +INSERT INTO lams_learning_library +( +description, +title, +valid_flag, +create_date_time +) +VALUES +( +'Bbb Tool', +'Bbb', +0, +NOW() +) Index: lams2/lams_tool_bbb/db/sql/table-schema.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/table-schema.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/table-schema.sql 29 Apr 2011 05:14:49 -0000 1.1 @@ -0,0 +1,16 @@ +alter table tl_labbb10_attachment drop foreign key fk_labbb10_bbb_attachment_to_bbb; +alter table tl_labbb10_session drop foreign key fk_labbb10_bbb_session_to_bbb; +alter table tl_labbb10_user drop foreign key fk_labbb10_bbb_user_to_bbb_session; +drop table if exists tl_labbb10_attachment; +drop table if exists tl_labbb10_config; +drop table if exists tl_labbb10_bbb; +drop table if exists tl_labbb10_session; +drop table if exists tl_labbb10_user; +create table tl_labbb10_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, bbb_uid bigint, primary key (uid)); +create table tl_labbb10_config (uid bigint not null auto_increment, config_key varchar(255), config_value varchar(255), primary key (uid)); +create table tl_labbb10_bbb (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, reflect_on_activity bit, reflect_instructions text, online_instructions text, offline_instructions text, content_in_use bit, define_later bit, tool_content_id bigint, max_attendee_mikes integer, primary key (uid)); +create table tl_labbb10_session (uid bigint not null auto_increment, session_end_date datetime, session_start_date datetime, status integer, session_id bigint, session_name varchar(250), bbb_uid bigint, meeting_created bit, meeting_key varchar(255), max_attendee_mikes integer, primary key (uid)); +create table tl_labbb10_user (uid bigint not null auto_increment, user_id bigint, last_name varchar(255), login_name varchar(255), first_name varchar(255), finishedActivity bit, bbb_session_uid bigint, notebook_entry_uid bigint, primary key (uid)); +alter table tl_labbb10_attachment add index fk_labbb10_bbb_attachment_to_bbb (bbb_uid), add constraint fk_labbb10_bbb_attachment_to_bbb foreign key (bbb_uid) references tl_labbb10_bbb (uid); +alter table tl_labbb10_session add index fk_labbb10_bbb_session_to_bbb (bbb_uid), add constraint fk_labbb10_bbb_session_to_bbb foreign key (bbb_uid) references tl_labbb10_bbb (uid); +alter table tl_labbb10_user add index fk_labbb10_bbb_user_to_bbb_session (bbb_session_uid), add constraint fk_labbb10_bbb_user_to_bbb_session foreign key (bbb_session_uid) references tl_labbb10_session (uid); Index: lams2/lams_tool_bbb/db/sql/tool_insert.sql =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/db/sql/tool_insert.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/db/sql/tool_insert.sql 29 Apr 2011 05:14:49 -0000 1.1 @@ -0,0 +1,60 @@ +-- CVS ID: $Id: tool_insert.sql,v 1.1 2011/04/29 05:14:49 ernieg Exp $ + +INSERT INTO lams_tool +( +tool_signature, +service_name, +tool_display_name, +description, +tool_identifier, +tool_version, +learning_library_id, +default_tool_content_id, +valid_flag, +grouping_support_type_id, +supports_run_offline_flag, +learner_url, +learner_preview_url, +learner_progress_url, +author_url, +monitor_url, +define_later_url, +export_pfolio_learner_url, +export_pfolio_class_url, +contribute_url, +moderation_url, +help_url, +admin_url, +language_file, +create_date_time, +modified_date_time +) +VALUES +( +'labbb10', +'bbbService', +'Bbb', +'Bbb', +'bbb', +'@tool_version@', +NULL, +NULL, +0, +2, +1, +'tool/labbb10/learning.do?mode=learner', +'tool/labbb10/learning.do?mode=author', +'tool/labbb10/learning.do?mode=teacher', +'tool/labbb10/authoring.do', +'tool/labbb10/monitoring.do', +'tool/labbb10/authoring.do?mode=teacher', +'tool/labbb10/exportPortfolio?mode=learner', +'tool/labbb10/exportPortfolio?mode=teacher', +'tool/labbb10/contribute.do', +'tool/labbb10/moderate.do', +'http://wiki.lamsfoundation.org/display/lamsdocs/labbb10', +'tool/labbb10/admin/view.do', +'org.lamsfoundation.lams.tool.bbb.ApplicationResources', +NOW(), +NOW() +) Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/bbbApplicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/bbbApplicationContext.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/bbbApplicationContext.xml 29 Apr 2011 05:14:49 -0000 1.1 @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbAttachmentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbAttachmentDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbAttachmentDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: IBbbAttachmentDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the BbbAttachment objects - interface defining methods to be implemented by the Hibernate or + * other implementation. + */ +public interface IBbbAttachmentDAO extends IBaseDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbConfigDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbConfigDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbConfigDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: IBbbConfigDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the BbbConfig objects - interface defining methods to be implemented by the Hibernate or other + * implementation. + */ +public interface IBbbConfigDAO extends IBaseDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: IBbbDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the BbbConfig objects - interface defining methods to be implemented by the Hibernate or other + * implementation. + */ +public interface IBbbDAO extends IBaseDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbSessionDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbSessionDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: IBbbSessionDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the BbbSession objects - interface defining methods to be implemented by the Hibernate or other + * implementation. + */ +public interface IBbbSessionDAO extends IBaseDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbUserDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/IBbbUserDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: IBbbUserDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao; + +import org.lamsfoundation.lams.dao.IBaseDAO; + +/** + * DAO for accessing the BbbUser objects - interface defining methods to be implemented by the Hibernate or other + * implementation. + */ +public interface IBbbUserDAO extends IBaseDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbAttachmentDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbAttachmentDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbAttachmentDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: BbbAttachmentDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbAttachmentDAO; + +/** + * DAO for accessing the BbbAttachment objects - Hibernate specific code. + */ +public class BbbAttachmentDAO extends BaseDAO implements IBbbAttachmentDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbConfigDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbConfigDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbConfigDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: BbbConfigDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbConfigDAO; + +/** + * DAO for accessing the BbbConfig objects - Hibernate specific code. + */ +public class BbbConfigDAO extends BaseDAO implements IBbbConfigDAO { + +} \ No newline at end of file Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: BbbDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbDAO; + +/** + * DAO for accessing the Bbb objects - Hibernate specific code. + */ +public class BbbDAO extends BaseDAO implements IBbbDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbSessionDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbSessionDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbSessionDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: BbbSessionDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbSessionDAO; + +/** + * DAO for accessing the BbbSession objects - Hibernate specific code. + */ +public class BbbSessionDAO extends BaseDAO implements IBbbSessionDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbUserDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbUserDAO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dao/hibernate/BbbUserDAO.java 29 Apr 2011 05:14:49 -0000 1.1 @@ -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: BbbUserDAO.java,v 1.1 2011/04/29 05:14:49 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dao.hibernate; + +import org.lamsfoundation.lams.dao.hibernate.BaseDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbUserDAO; + +/** + * DAO for accessing the BbbUser objects - Hibernate specific code. + */ +public class BbbUserDAO extends BaseDAO implements IBbbUserDAO { + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dbupdates/autopatchContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dbupdates/autopatchContext.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dbupdates/autopatchContext.xml 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/AttachmentDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/AttachmentDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/AttachmentDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,98 @@ +/**************************************************************** + * 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: AttachmentDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +import java.util.Date; + +import org.lamsfoundation.lams.tool.bbb.model.BbbAttachment; + +public class AttachmentDTO implements Comparable { + + Long uid; + + Long fileUuid; + + Long fileVersionId; + + String fileName; + + Date createDate; + + public AttachmentDTO(BbbAttachment att) { + this.fileUuid = att.getFileUuid(); + this.fileName = att.getFileName(); + this.fileVersionId = att.getFileVersionId(); + this.createDate = att.getCreateDate(); + this.uid = att.getUid(); + } + + public int compareTo(AttachmentDTO other) { + int ret = this.createDate.compareTo(other.getCreateDate()); + if (ret == 0) { + ret = this.uid.compareTo(other.getUid()); + } + return ret; + } + + 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; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ConfigDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ConfigDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ConfigDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,54 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License 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: ConfigDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +public class ConfigDTO { + + String serverURL; + + String securitySalt; + + public String getServerURL() { + return serverURL; + } + + public void setServerURL(String serverURL) { + this.serverURL = serverURL; + } + + /** + * @return the securitySalt + */ + public String getSecuritySalt() { + return securitySalt; + } + /** + * @param securitySalt the securitySalt to set + */ + public void setSecuritySalt(String securitySalt) { + this.securitySalt = securitySalt; + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ContentDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ContentDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/ContentDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,211 @@ +/**************************************************************** + * 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: ContentDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +import java.util.Set; +import java.util.TreeSet; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbAttachment; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; + +public class ContentDTO { + + private static final Logger logger = Logger.getLogger(ContentDTO.class); + + Long toolContentId; + + String title; + + String instructions; + + String onlineInstructions; + + String offlineInstructions; + + boolean reflectOnActivity; + + String reflectInstructions; + + boolean defineLater; + + boolean contentInUse; + + boolean lockOnFinish; + + Set onlineInstructionsFiles; + + Set offlineInstructionsFiles; + + Set sessionDTOs = new TreeSet(); + + Long currentTab; + + /* Constructors */ + public ContentDTO() { + } + + public ContentDTO(Bbb bbb) { + this.toolContentId = bbb.getToolContentId(); + this.title = bbb.getTitle(); + this.instructions = bbb.getInstructions(); + this.onlineInstructions = bbb.getOnlineInstructions(); + this.offlineInstructions = bbb.getOfflineInstructions(); + this.contentInUse = bbb.isContentInUse(); + this.reflectInstructions = bbb.getReflectInstructions(); + this.reflectOnActivity = bbb.isReflectOnActivity(); + this.lockOnFinish = bbb.isLockOnFinished(); + + this.onlineInstructionsFiles = new TreeSet(); + this.offlineInstructionsFiles = new TreeSet(); + + for (BbbAttachment att : bbb.getBbbAttachments()) { + Set attSet = null; + if (att.getFileType().equals(IToolContentHandler.TYPE_OFFLINE)) { + attSet = offlineInstructionsFiles; + } else if (att.getFileType().equals(IToolContentHandler.TYPE_ONLINE)) { + attSet = onlineInstructionsFiles; + } else { + // something is wrong. Ignore file, log error + logger.error("File with uid " + att.getFileUuid() + " contains invalid fileType: " + att.getFileType()); + } + + if (attSet != null) + attSet.add(new AttachmentDTO(att)); + } + + for (BbbSession bbbSession : bbb.getBbbSessions()) { + sessionDTOs.add(new SessionDTO(bbbSession)); + } + } + + /* 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 boolean isReflectOnActivity() { + return reflectOnActivity; + } + + public void setReflectOnActivity(boolean reflectOnActivity) { + this.reflectOnActivity = reflectOnActivity; + } + + public String getReflectInstructions() { + return reflectInstructions; + } + + public void setReflectInstructions(String reflectInstructions) { + this.reflectInstructions = reflectInstructions; + } + + 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 isLockOnFinish() { + return lockOnFinish; + } + + public void setLockOnFinish(boolean lockOnFinish) { + this.lockOnFinish = lockOnFinish; + } + + public Long getCurrentTab() { + return currentTab; + } + + public void setCurrentTab(Long currentTab) { + this.currentTab = currentTab; + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/NotebookEntryDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/NotebookEntryDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/NotebookEntryDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -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: NotebookEntryDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +import java.util.Date; + +import org.lamsfoundation.lams.notebook.model.NotebookEntry; + +public class NotebookEntryDTO { + + Long uid; + + String entry; + + Date createDate; + + Date lastModified; + + public NotebookEntryDTO(NotebookEntry notebookEntry) { + this.uid = notebookEntry.getUid(); + this.entry = notebookEntry.getEntry(); + this.createDate = notebookEntry.getCreateDate(); + this.lastModified = notebookEntry.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: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/SessionDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/SessionDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/SessionDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,113 @@ +/**************************************************************** + * 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: SessionDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +import java.util.Set; +import java.util.TreeSet; + +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; + +public class SessionDTO implements Comparable { + + Long sessionID; + + String sessionName; + + Set userDTOs = new TreeSet(); + + int numberOfLearners; + + int numberOfFinishedLearners;; + + public SessionDTO(BbbSession session) { + this.sessionID = session.getSessionId(); + this.sessionName = session.getSessionName(); + + numberOfFinishedLearners = 0; + + for (BbbUser bbbUser : session.getBbbUsers()) { + UserDTO userDTO = new UserDTO(bbbUser); + if (userDTO.getNotebookEntryUID() != null) { + numberOfFinishedLearners++; + } + userDTOs.add(userDTO); + } + + numberOfLearners = userDTOs.size(); + + } + + public int compareTo(SessionDTO other) { + int ret = this.sessionName.compareToIgnoreCase(other.sessionName); + if (ret == 0) { + ret = this.sessionID.compareTo(other.sessionID); + } + return ret; + } + + public SessionDTO() { + } + + public Long getSessionID() { + return sessionID; + } + + public void setSessionID(Long sessionID) { + this.sessionID = sessionID; + } + + public String getSessionName() { + return sessionName; + } + + public void setSessionName(String sessionName) { + this.sessionName = sessionName; + } + + public Set getUserDTOs() { + return userDTOs; + } + + public void setUserDTOs(Set bbbUsers) { + this.userDTOs = bbbUsers; + } + + 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: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/UserDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/UserDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/dto/UserDTO.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,117 @@ +/**************************************************************** + * 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: UserDTO.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.dto; + +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; + +public class UserDTO implements Comparable { + + Long uid; + + String loginName; + + String firstName; + + String lastName; + + boolean finishedActivity; + + NotebookEntryDTO notebookEntryDTO; + + Long notebookEntryUID; + + public UserDTO(BbbUser user) { + this.uid = user.getUid(); + this.loginName = user.getLoginName(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.finishedActivity = user.isFinishedActivity(); + this.notebookEntryUID = user.getNotebookEntryUID(); + } + + public int compareTo(UserDTO other) { + int ret = this.lastName.compareToIgnoreCase(other.lastName); + if (ret == 0) { + ret = this.uid.compareTo(other.uid); + } + return ret; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + public NotebookEntryDTO getNotebookEntryDTO() { + return notebookEntryDTO; + } + + public void setNotebookEntryDTO(NotebookEntryDTO notebookEntryDTO) { + this.notebookEntryDTO = notebookEntryDTO; + } + + public Long getNotebookEntryUID() { + return notebookEntryUID; + } + + public void setNotebookEntryUID(Long notebookEntryUID) { + this.notebookEntryUID = notebookEntryUID; + } + + public boolean isFinishedActivity() { + return finishedActivity; + } + + public void setFinishedActivity(boolean finishedActivity) { + this.finishedActivity = finishedActivity; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/Bbb.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/Bbb.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/Bbb.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,382 @@ +/**************************************************************** + * 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: Bbb.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.model; + +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; + +/** + * + * + * @hibernate.class table="tl_labbb10_bbb" + */ + +public class Bbb implements java.io.Serializable, Cloneable { + + private static final long serialVersionUID = 579733009969321015L; + + private static final Logger logger = Logger.getLogger(Bbb.class); + + private IToolContentHandler toolContentHandler; + + // Persistent 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 reflectOnActivity; + + private String reflectInstructions; + + private String onlineInstructions; + + private String offlineInstructions; + + private boolean contentInUse; + + private boolean defineLater; + + private Long toolContentId; + + private Set bbbAttachments; + + private Set bbbSessions; + + // Property accessors + /** + * @hibernate.id generator-class="native" type="java.lang.Long" column="uid" + * + */ + + public Long getUid() { + return this.uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + /** + * @hibernate.property column="create_date" + * + */ + + public Date getCreateDate() { + return this.createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + /** + * @hibernate.property column="update_date" + * + */ + + public Date getUpdateDate() { + return this.updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + /** + * @hibernate.property column="create_by" length="20" + * + */ + + public Long getCreateBy() { + return this.createBy; + } + + public void setCreateBy(Long createBy) { + this.createBy = createBy; + } + + /** + * @hibernate.property column="title" length="255" + * + */ + + public String getTitle() { + return this.title; + } + + public void setTitle(String title) { + this.title = title; + } + + /** + * @hibernate.property column="instructions" length="65535" + * + */ + + public String getInstructions() { + return this.instructions; + } + + public void setInstructions(String instructions) { + this.instructions = instructions; + } + + /** + * @hibernate.property column="run_offline" length="1" + * + */ + + public boolean isRunOffline() { + return this.runOffline; + } + + public void setRunOffline(boolean runOffline) { + this.runOffline = runOffline; + } + + /** + * @hibernate.property column="lock_on_finished" length="1" + * + */ + + public boolean isLockOnFinished() { + return this.lockOnFinished; + } + + public void setLockOnFinished(boolean lockOnFinished) { + this.lockOnFinished = lockOnFinished; + } + + /** + * @hibernate.property column="reflect_on_activity" length="1" + */ + public boolean isReflectOnActivity() { + return reflectOnActivity; + } + + public void setReflectOnActivity(boolean reflectOnActivity) { + this.reflectOnActivity = reflectOnActivity; + } + + /** + * @hibernate.property column="reflect_instructions" length="65535" + */ + public String getReflectInstructions() { + return reflectInstructions; + } + + public void setReflectInstructions(String reflectInstructions) { + this.reflectInstructions = reflectInstructions; + } + + /** + * @hibernate.property column="online_instructions" length="65535" + * + */ + + public String getOnlineInstructions() { + return this.onlineInstructions; + } + + public void setOnlineInstructions(String onlineInstructions) { + this.onlineInstructions = onlineInstructions; + } + + /** + * @hibernate.property column="offline_instructions" length="65535" + * + */ + + public String getOfflineInstructions() { + return this.offlineInstructions; + } + + public void setOfflineInstructions(String offlineInstructions) { + this.offlineInstructions = offlineInstructions; + } + + /** + * @hibernate.property column="content_in_use" length="1" + * + */ + + public boolean isContentInUse() { + return this.contentInUse; + } + + public void setContentInUse(boolean contentInUse) { + this.contentInUse = contentInUse; + } + + /** + * @hibernate.property column="define_later" length="1" + * + */ + + public boolean isDefineLater() { + return this.defineLater; + } + + public void setDefineLater(boolean defineLater) { + this.defineLater = defineLater; + } + + /** + * @hibernate.property column="tool_content_id" length="20" + * + */ + + public Long getToolContentId() { + return this.toolContentId; + } + + public void setToolContentId(Long toolContentId) { + this.toolContentId = toolContentId; + } + + /** + * @hibernate.set lazy="true" inverse="false" cascade="all-delete-orphan" + * @hibernate.collection-key column="bbb_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.bbb.model.BbbAttachment" + * + */ + + public Set getBbbAttachments() { + return this.bbbAttachments; + } + + public void setBbbAttachments(Set bbbAttachments) { + this.bbbAttachments = bbbAttachments; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="bbb_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.bbb.model.BbbSession" + * + */ + public Set getBbbSessions() { + return this.bbbSessions; + } + + public void setBbbSessions(Set bbbSessions) { + this.bbbSessions = bbbSessions; + } + + + /** + * 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 Bbb)) + return false; + Bbb castOther = (Bbb) 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 Bbb newInstance(Bbb fromContent, Long toContentId, IToolContentHandler bbbToolContentHandler) { + Bbb toContent = new Bbb(); + fromContent.toolContentHandler = bbbToolContentHandler; + toContent = (Bbb) fromContent.clone(); + toContent.setToolContentId(toContentId); + toContent.setCreateDate(new Date()); + return toContent; + } + + protected Object clone() { + + Bbb bbb = null; + try { + bbb = (Bbb) super.clone(); + bbb.setUid(null); + + if (bbbAttachments != null) { + // create a copy of the attachments + Set set = new HashSet(); + for (BbbAttachment att : bbbAttachments) { + set.add((BbbAttachment) att.clone()); + } + bbb.bbbAttachments = set; + } + // create an empty set for the bbbSession + bbb.bbbSessions = new HashSet(); + + } catch (CloneNotSupportedException cnse) { + logger.error("Error cloning " + Bbb.class); + } + return bbb; + } + + public IToolContentHandler getToolContentHandler() { + return toolContentHandler; + } + + public void setToolContentHandler(IToolContentHandler toolContentHandler) { + this.toolContentHandler = toolContentHandler; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbAttachment.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,214 @@ +/**************************************************************** + * 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: BbbAttachment.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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_labbb10_attachment" + * + */ + +public class BbbAttachment implements java.io.Serializable, Cloneable { + + private static final long serialVersionUID = 47452859888067500L; + + private static final Logger logger = Logger.getLogger(BbbAttachment.class); + + // Fields + + private Long uid; + + private Long fileVersionId; + + private String fileType; + + private String fileName; + + private Long fileUuid; + + private Date createDate; + + private Bbb bbb; + + public BbbAttachment() { + + } + + public BbbAttachment(Long fileVersionId, String fileType, String fileName, Long fileUuid, Date createDate) { + this.fileVersionId = fileVersionId; + this.fileType = fileType; + this.fileName = fileName; + this.fileUuid = fileUuid; + this.createDate = createDate; + } + + // Property accessors + /** + * @hibernate.id generator-class="native" type="java.lang.Long" column="uid" + * + */ + + public Long getUid() { + return this.uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + /** + * @hibernate.property column="file_version_id" length="20" + * + */ + + public Long getFileVersionId() { + return this.fileVersionId; + } + + public void setFileVersionId(Long fileVersionId) { + this.fileVersionId = fileVersionId; + } + + /** + * @hibernate.property column="file_type" length="255" + * + */ + + public String getFileType() { + return this.fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + /** + * @hibernate.property column="file_name" length="255" + * + */ + + public String getFileName() { + return this.fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /** + * @hibernate.property column="file_uuid" length="20" + * + */ + + public Long getFileUuid() { + return this.fileUuid; + } + + public void setFileUuid(Long fileUuid) { + this.fileUuid = fileUuid; + } + + /** + * @hibernate.property column="create_date" + * + */ + + public Date getCreateDate() { + return this.createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + /** + * @hibernate.many-to-one not-null="true" foreign-key="fk_labbb10_bbb_attachment_to_bbb" + * @hibernate.column name="bbb_uid" + * + */ + + public Bbb getBbb() { + return this.bbb; + } + + public void setBbb(Bbb bbb) { + this.bbb = bbb; + } + + /** + * 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 BbbAttachment)) + return false; + + final BbbAttachment genericEntity = (BbbAttachment) 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(); + ((BbbAttachment) obj).setUid(null); + } catch (CloneNotSupportedException e) { + logger.error("Failed to clone " + BbbAttachment.class); + } + + return obj; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbConfig.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,81 @@ +/**************************************************************** + * 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: BbbConfig.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.model; + +/** + * @hibernate.class table="tl_labbb10_config" + */ +public class BbbConfig { + + private Long uid; + + private String key; + + private String value; + + public BbbConfig() { + // default constructor + } + + public BbbConfig(String key, String value) { + this.key = key; + this.value = value; + } + + /** + * @hibernate.id generator-class="native" type="java.lang.Long" column="uid" + */ + public Long getUid() { + return uid; + } + + public void setUid(Long uid) { + this.uid = uid; + } + + /** + * @hibernate.property column="config_key" + * @return + */ + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + /** + * @hibernate.property column="config_value" + * @return + */ + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbSession.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbSession.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbSession.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,257 @@ +/**************************************************************** + * 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: BbbSession.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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_labbb10_session" + */ + +public class BbbSession implements java.io.Serializable { + + private static final Logger logger = Logger.getLogger(BbbSession.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 Bbb bbb; + + private Set bbbUsers; + + private boolean meetingCreated; + + private String attendeePassword; + + private String moderatorPassword; + + // 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" foreign-key="fk_labbb10_bbb_session_to_bbb" + * @hibernate.column name="bbb_uid" + * + */ + public Bbb getBbb() { + return this.bbb; + } + + public void setBbb(Bbb bbb) { + this.bbb = bbb; + } + + /** + * @hibernate.set lazy="true" inverse="true" cascade="none" + * @hibernate.collection-key column="bbb_session_uid" + * @hibernate.collection-one-to-many class="org.lamsfoundation.lams.tool.bbb.model.BbbUser" + * + */ + public Set getBbbUsers() { + return this.bbbUsers; + } + + public void setBbbUsers(Set bbbUsers) { + this.bbbUsers = bbbUsers; + } + + /** + * @hibernate.property column="meeting_created" + * @return + */ + public boolean isMeetingCreated() { + return meetingCreated; + } + + public void setMeetingCreated(boolean meetingCreated) { + this.meetingCreated = meetingCreated; + } + + /** + * @hibernate.property column="attendee_password" + * @return the attendeePassword + */ + public String getAttendeePassword() { + return attendeePassword; + } + + public void setAttendeePassword(String attendeePassword) { + this.attendeePassword = attendeePassword; + } + + /** + * @hibernate.property column="moderator_password" + * @return the moderatorPassword + */ + public String getModeratorPassword() { + return moderatorPassword; + } + + public void setModeratorPassword(String moderatorPassword) { + this.moderatorPassword = moderatorPassword; + } + + /** + * 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 BbbSession)) + return false; + BbbSession castOther = (BbbSession) 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() { + + BbbSession session = null; + try { + session = (BbbSession) super.clone(); + session.bbbUsers = new HashSet(); + } catch (CloneNotSupportedException e) { + logger.error("When clone " + BbbSession.class + " failed"); + } + return session; + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbUser.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbUser.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/model/BbbUser.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,203 @@ +/**************************************************************** + * 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: BbbUser.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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_labbb10_user" + */ + +public class BbbUser implements java.io.Serializable { + + private static final long serialVersionUID = -3701664859818409197L; + + // Persistent Fields + + private Long uid; + + private Long userId; + + private String lastName; + + private String firstName; + + private String loginName; + + private BbbSession bbbSession; + + private boolean finishedActivity; + + private Long notebookEntryUID; + + // Constructors + + public BbbUser() { + + } + + public BbbUser(UserDTO user, BbbSession bbbSession) { + this.userId = new Long(user.getUserID().intValue()); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + this.loginName = user.getLogin(); + this.bbbSession = bbbSession; + this.finishedActivity = false; + } + + // 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" foreign-key="fk_labbb10_bbb_user_to_bbb_session" + * @hibernate.column name="bbb_session_uid" + * + */ + public BbbSession getBbbSession() { + return this.bbbSession; + } + + public void setBbbSession(BbbSession bbbSession) { + this.bbbSession = bbbSession; + } + + /** + * @hibernate.property column="notebook_entry_uid" + */ + public Long getNotebookEntryUID() { + return notebookEntryUID; + } + + public void setNotebookEntryUID(Long notebookEntryUID) { + this.notebookEntryUID = notebookEntryUID; + } + + /** + * 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 BbbUser)) + return false; + BbbUser castOther = (BbbUser) 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: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbService.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbService.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbService.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,777 @@ +/**************************************************************** + * 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: BbbService.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.service; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; + +import org.apache.commons.codec.digest.DigestUtils; +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.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.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.bbb.dao.IBbbAttachmentDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbConfigDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbSessionDAO; +import org.lamsfoundation.lams.tool.bbb.dao.IBbbUserDAO; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbAttachment; +import org.lamsfoundation.lams.tool.bbb.model.BbbConfig; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; +import org.lamsfoundation.lams.tool.bbb.util.BbbException; +import org.lamsfoundation.lams.tool.bbb.util.BbbToolContentHandler; +import org.lamsfoundation.lams.tool.bbb.util.BbbUtil; +import org.lamsfoundation.lams.tool.bbb.util.Constants; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.SessionDataExistsException; +import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.tool.service.ILamsToolService; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.audit.IAuditService; + +/** + * An implementation of the IBbbService interface. + * + * As a requirement, all LAMS tool's service bean must implement ToolContentManager and ToolSessionManager. + */ + +public class BbbService implements ToolSessionManager, ToolContentManager, IBbbService { + + private static final Logger logger = Logger.getLogger(BbbService.class); + + private IBbbDAO bbbDAO = null; + + private IBbbSessionDAO bbbSessionDAO = null; + + private IBbbUserDAO bbbUserDAO = null; + + private IBbbAttachmentDAO bbbAttachmentDAO = null; + + private IBbbConfigDAO bbbConfigDAO = null; + + private ILearnerService learnerService; + + private ILamsToolService toolService; + + private IToolContentHandler bbbToolContentHandler = null; + + private IRepositoryService repositoryService = null; + + private IAuditService auditService = null; + + private IExportToolContentService exportContentService; + + private ICoreNotebookService coreNotebookService; + + public BbbService() { + 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); + } + + BbbSession session = new BbbSession(); + session.setSessionId(toolSessionId); + session.setSessionName(toolSessionName); + // learner starts + Bbb bbb = getBbbByContentId(toolContentId); + session.setBbb(bbb); + bbbSessionDAO.insertOrUpdate(session); + } + + public String leaveToolSession(Long toolSessionId, Long learnerId) throws DataMissingException, ToolException { + return learnerService.completeToolSession(toolSessionId, learnerId); + } + + public ToolSessionExportOutputData exportToolSession(Long toolSessionId) throws DataMissingException, ToolException { + // TODO Auto-generated method stub + return null; + } + + @SuppressWarnings("unchecked") + public ToolSessionExportOutputData exportToolSession(List toolSessionIds) throws DataMissingException, + ToolException { + // TODO Auto-generated method stub + return null; + } + + public void removeToolSession(Long toolSessionId) throws DataMissingException, ToolException { + bbbSessionDAO.deleteByProperty(BbbSession.class, "sessionId", toolSessionId); + // TODO check if cascade worked + } + + /** + * Get the tool output for the given tool output names. + * + * @see org.lamsfoundation.lams.tool.ToolSessionManager#getToolOutput(java.util .List, java.lang.Long, + * java.lang.Long) + */ + public SortedMap getToolOutput(List names, Long toolSessionId, Long learnerId) { + return new TreeMap(); + } + + /** + * Get the tool output for the given tool output name. + * + * @see org.lamsfoundation.lams.tool.ToolSessionManager#getToolOutput(java.lang.String, java.lang.Long, + * java.lang.Long) + */ + public ToolOutput getToolOutput(String name, Long toolSessionId, Long learnerId) { + return null; + } + + /* Methods from ToolContentManager */ + + public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { + + if (logger.isDebugEnabled()) { + logger.debug("entering method copyToolContent:" + " fromContentId=" + fromContentId + " toContentId=" + + toContentId); + } + + if (toContentId == null) { + String error = "Failed to copy tool content: toContentID is null"; + throw new ToolException(error); + } + + Bbb fromContent = null; + if (fromContentId != null) { + fromContent = getBbbByContentId(fromContentId); + } + if (fromContent == null) { + // create the fromContent using the default tool content + fromContent = getDefaultContent(); + } + Bbb toContent = Bbb.newInstance(fromContent, toContentId, bbbToolContentHandler); + saveOrUpdateBbb(toContent); + } + + public void setAsDefineLater(Long toolContentId, boolean value) throws DataMissingException, ToolException { + Bbb bbb = getBbbByContentId(toolContentId); + if (bbb == null) { + throw new ToolException("Could not find tool with toolContentID: " + toolContentId); + } + bbb.setDefineLater(value); + saveOrUpdateBbb(bbb); + } + + public void setAsRunOffline(Long toolContentId, boolean value) throws DataMissingException, ToolException { + Bbb bbb = getBbbByContentId(toolContentId); + if (bbb == null) { + throw new ToolException("Could not find tool with toolContentID: " + toolContentId); + } + bbb.setRunOffline(value); + saveOrUpdateBbb(bbb); + } + + 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 { + Bbb bbb = getBbbByContentId(toolContentId); + if (bbb == null) { + bbb = getDefaultContent(); + } + if (bbb == null) + throw new DataMissingException("Unable to find default content for the bbb tool"); + + // set ResourceToolContentHandler as null to avoid copy file node in + // repository again. + bbb = Bbb.newInstance(bbb, toolContentId, null); + bbb.setToolContentHandler(null); + bbb.setBbbSessions(null); + Set atts = bbb.getBbbAttachments(); + for (BbbAttachment att : atts) { + att.setBbb(null); + } + try { + exportContentService.registerFileClassForExport(BbbAttachment.class.getName(), "fileUuid", + "fileVersionId"); + exportContentService.exportToolContent(toolContentId, bbb, bbbToolContentHandler, 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(BbbAttachment.class.getName(), "fileUuid", + "fileVersionId", "fileName", "fileType", null, null); + + Object toolPOJO = exportContentService.importToolContent(toolContentPath, bbbToolContentHandler, + fromVersion, toVersion); + if (!(toolPOJO instanceof Bbb)) + throw new ImportToolContentException("Import Bbb tool content failed. Deserialized object is " + + toolPOJO); + Bbb bbb = (Bbb) toolPOJO; + + // reset it to new toolContentId + bbb.setToolContentId(toolContentId); + bbb.setCreateBy(new Long(newUserUid.longValue())); + + saveOrUpdateBbb(bbb); + } 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(); + } + + /* IBbbService 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 id, Integer idType, String signature, Integer userID) { + + List list = coreNotebookService.getEntry(id, idType, signature, userID); + if (list == null || list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + public NotebookEntry getNotebookEntry(Long uid) { + return coreNotebookService.getEntry(uid); + } + + public void updateNotebookEntry(Long uid, String entry) { + coreNotebookService.updateEntry(uid, "", entry); + } + + public void updateNotebookEntry(NotebookEntry notebookEntry) { + coreNotebookService.updateEntry(notebookEntry); + } + + 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 BbbException(error); + } + return toolContentId; + } + + public Bbb getDefaultContent() { + Long defaultContentID = getDefaultContentIdBySignature(Constants.TOOL_SIGNATURE); + Bbb defaultContent = getBbbByContentId(defaultContentID); + if (defaultContent == null) { + String error = "Could not retrieve default content record for this tool"; + logger.error(error); + throw new BbbException(error); + } + return defaultContent; + } + + public Bbb copyDefaultContent(Long newContentID) { + + if (newContentID == null) { + String error = "Cannot copy the Bbb tools default content: + " + "newContentID is null"; + logger.error(error); + throw new BbbException(error); + } + + Bbb defaultContent = getDefaultContent(); + // create new bbb using the newContentID + Bbb newContent = new Bbb(); + newContent = Bbb.newInstance(defaultContent, newContentID, bbbToolContentHandler); + saveOrUpdateBbb(newContent); + return newContent; + } + + @SuppressWarnings("unchecked") + public Bbb getBbbByContentId(Long toolContentID) { + List list = bbbDAO.findByProperty(Bbb.class, "toolContentId", toolContentID); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public BbbSession getSessionBySessionId(Long toolSessionId) { + List list = bbbSessionDAO.findByProperty(BbbSession.class, "sessionId", toolSessionId); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public BbbUser getUserByUserIdAndSessionId(Long userId, Long toolSessionId) { + Map map = new HashMap(); + map.put("userId", userId); + map.put("bbbSession.sessionId", toolSessionId); + List list = bbbUserDAO.findByProperties(BbbUser.class, map); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public BbbUser getUserByUID(Long uid) { + List list = bbbUserDAO.findByProperty(BbbUser.class, "uid", uid); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + public BbbAttachment uploadFileToContent(Long toolContentId, FormFile file, String type) { + if (file == null || StringUtils.isEmpty(file.getFileName())) + throw new BbbException("Could not find upload file: " + file); + + NodeKey nodeKey = processFile(file, type); + + BbbAttachment attachment = new BbbAttachment(nodeKey.getVersion(), type, file.getFileName(), nodeKey + .getUuid(), new Date()); + return attachment; + } + + public void deleteFromRepository(Long uuid, Long versionID) throws BbbException { + ITicket ticket = getRepositoryLoginTicket(); + try { + repositoryService.deleteVersion(ticket, uuid, versionID); + } catch (Exception e) { + throw new BbbException("Exception occured while deleting files from" + " the repository " + + e.getMessage()); + } + } + + public String getJoinMeetingURL(UserDTO userDTO, String meetingKey, String password) throws Exception { + + // Get Bbb details + String serverURL = getConfigValue(Constants.CFG_SERVER_URL); + String securitySalt = getConfigValue(Constants.CFG_SECURITYSALT); + // Get Join parameter + String joinParam = Constants.BBB_JOIN_PARAM; + + if (serverURL == null) { + logger.error("Config item : '" + Constants.CFG_SERVER_URL + "' not defined"); + throw new BbbException("Server url not defined"); + } + + String queryString = "fullName=" + + URLEncoder.encode(userDTO.getFirstName() + " " + userDTO.getLastName(), "UTF8") + + "&meetingID=" + + URLEncoder.encode(meetingKey, "UTF8") + + "&password=" + + URLEncoder.encode(password, "UTF8"); + + String checkSum = DigestUtils.shaHex("join" + queryString + securitySalt); + + String url = serverURL + joinParam + queryString + "&checksum=" + checkSum; + + return url; + } + + public Boolean isMeetingRunning(String meetingKey) throws Exception { + String serverURL = getConfigValue(Constants.CFG_SERVER_URL); + String securitySalt = getConfigValue(Constants.CFG_SECURITYSALT); + String meetingRunning = Constants.BBB_MEETING_RUNNING_PARAM; + + String queryString = "meetingID=" + + URLEncoder.encode(meetingKey, "UTF8"); + + String checkSum = DigestUtils.shaHex("isMeetingRunning" + queryString + securitySalt); + + URL url; + url = new URL(serverURL + + meetingRunning + + queryString + + "&checksum=" + + URLEncoder.encode(checkSum, "UTF8")); + + logger.debug("isMeetingRunningURL=" + url); + + String response; + response = sendRequest(url); + + if (response.contains("true")) { + return true; + } else { + return false; + } + + } + + + public String startConference(String meetingKey, String atendeePassword, + String moderatorPassword, String returnURL, + String welcomeMessage) + throws Exception { + + String serverURL = getConfigValue(Constants.CFG_SERVER_URL); + String securitySalt = getConfigValue(Constants.CFG_SECURITYSALT); + String createParam = Constants.BBB_CREATE_PARAM; + + if (serverURL == null) { + logger.error("Config item : '" + Constants.CFG_SERVER_URL + "' not defined"); + throw new BbbException("Standard server url not defined"); + } + + String queryString = "name=" + + URLEncoder.encode(meetingKey, "UTF8") + "&meetingID=" + + URLEncoder.encode(meetingKey, "UTF8") + "&attendeePW=" + + URLEncoder.encode(atendeePassword, "UTF8") + "&moderatorPW=" + + URLEncoder.encode(moderatorPassword, "UTF8") + "&logoutURL=" + + URLEncoder.encode(returnURL, "UTF8") + "&welcome=" + + URLEncoder.encode(welcomeMessage, "UTF8"); + + logger.debug("queryString = " + queryString); + + String checkSum = DigestUtils.shaHex("create" + queryString + securitySalt); + + logger.debug("checksum = " + checkSum); + + URL url; + url = new URL(serverURL + + createParam + + queryString + + "&checksum=" + + URLEncoder.encode(checkSum, "UTF8")); + + logger.info("url = " + url); + + String response; + response = sendRequest(url); + + if (BbbUtil.getResponse(response) == Constants.RESPONSE_SUCCESS) { + return Constants.RESPONSE_SUCCESS; + } else { + logger.error("BBB returns fail when creating a meeting room"); + throw new BbbException("Standard server url not defined"); + + } + } + + public void saveOrUpdateBbb(Bbb bbb) { + bbbDAO.insertOrUpdate(bbb); + } + + public void saveOrUpdateBbbSession(BbbSession bbbSession) { + bbbSessionDAO.insertOrUpdate(bbbSession); + } + + public void saveOrUpdateBbbUser(BbbUser bbbUser) { + bbbUserDAO.insertOrUpdate(bbbUser); + } + + public BbbUser createBbbUser(UserDTO user, BbbSession bbbSession) { + BbbUser bbbUser = new BbbUser(user, bbbSession); + saveOrUpdateBbbUser(bbbUser); + return bbbUser; + } + + @SuppressWarnings("unchecked") + public BbbConfig getConfig(String key) { + List list = (List) bbbConfigDAO.findByProperty(BbbConfig.class, "key", key); + if (list.isEmpty()) { + return null; + } else { + return list.get(0); + } + } + + @SuppressWarnings("unchecked") + public String getConfigValue(String key) { + List list = (List) bbbConfigDAO.findByProperty(BbbConfig.class, "key", key); + if (list.isEmpty()) { + return null; + } else { + return list.get(0).getValue(); + } + } + + public void saveOrUpdateConfigEntry(BbbConfig bbbConfig) { + bbbConfigDAO.insertOrUpdate(bbbConfig); + } + + public IAuditService getAuditService() { + return auditService; + } + + public void setAuditService(IAuditService auditService) { + this.auditService = auditService; + } + + private String sendRequest(URL url) throws IOException { + + if (logger.isDebugEnabled()) { + logger.debug("request = " + url); + } + + URLConnection connection = url.openConnection(); + + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String response = ""; + String line = ""; + + while ((line = in.readLine()) != null) + response += line; + in.close(); + + if (logger.isDebugEnabled()) { + logger.debug("response = " + response); + } + + return response; + } + + private NodeKey processFile(FormFile file, String type) { + NodeKey node = null; + if (file != null && !StringUtils.isEmpty(file.getFileName())) { + String fileName = file.getFileName(); + try { + node = getBbbToolContentHandler().uploadFile(file.getInputStream(), fileName, file.getContentType(), + type); + } catch (InvalidParameterException e) { + throw new BbbException("InvalidParameterException occured while trying to upload File" + + e.getMessage()); + } catch (FileNotFoundException e) { + throw new BbbException("FileNotFoundException occured while trying to upload File" + e.getMessage()); + } catch (RepositoryCheckedException e) { + throw new BbbException("RepositoryCheckedException occured while trying to upload File" + + e.getMessage()); + } catch (IOException e) { + throw new BbbException("IOException occured while trying to upload File" + e.getMessage()); + } + } + return node; + } + + /** + * This method verifies the credentials of the 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 every time + * the tool needs to upload/download files from the content repository. + * + * @return ITicket The ticket for repository access + * @throws SubmitFilesException + */ + private ITicket getRepositoryLoginTicket() throws BbbException { + ICredentials credentials = new SimpleCredentials(BbbToolContentHandler.repositoryUser, + BbbToolContentHandler.repositoryId); + try { + ITicket ticket = repositoryService.login(credentials, BbbToolContentHandler.repositoryWorkspaceName); + return ticket; + } catch (AccessDeniedException ae) { + throw new BbbException("Access Denied to repository." + ae.getMessage()); + } catch (WorkspaceNotFoundException we) { + throw new BbbException("Workspace not found." + we.getMessage()); + } catch (LoginException e) { + throw new BbbException("Login failed." + e.getMessage()); + } + } + + /** + * 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 bbb. This doesn't make sense as the bbb is for reflection and we don't reflect on reflection!"); + Bbb bbb = getBbbByContentId(toolContentId); + if (bbb == null) { + throw new DataMissingException("Unable to set reflective data titled " + title + + " on activity toolContentId " + toolContentId + " as the tool content does not exist."); + } + + bbb.setReflectOnActivity(Boolean.TRUE); + bbb.setReflectInstructions(description); + } + + // ========================================================================================= + /* Used by Spring to "inject" the linked objects */ + + public IBbbAttachmentDAO getBbbAttachmentDAO() { + return bbbAttachmentDAO; + } + + public void setBbbAttachmentDAO(IBbbAttachmentDAO attachmentDAO) { + this.bbbAttachmentDAO = attachmentDAO; + } + + public IBbbDAO getBbbDAO() { + return bbbDAO; + } + + public void setBbbDAO(IBbbDAO bbbDAO) { + this.bbbDAO = bbbDAO; + } + + public IToolContentHandler getBbbToolContentHandler() { + return bbbToolContentHandler; + } + + public void setBbbToolContentHandler(IToolContentHandler bbbToolContentHandler) { + this.bbbToolContentHandler = bbbToolContentHandler; + } + + public IBbbSessionDAO getBbbSessionDAO() { + return bbbSessionDAO; + } + + public void setBbbSessionDAO(IBbbSessionDAO sessionDAO) { + this.bbbSessionDAO = sessionDAO; + } + + public IBbbConfigDAO getBbbConfigDAO() { + return bbbConfigDAO; + } + + public void setBbbConfigDAO(IBbbConfigDAO bbbConfigDAO) { + this.bbbConfigDAO = bbbConfigDAO; + } + + public ILamsToolService getToolService() { + return toolService; + } + + public void setToolService(ILamsToolService toolService) { + this.toolService = toolService; + } + + public IBbbUserDAO getBbbUserDAO() { + return bbbUserDAO; + } + + public void setBbbUserDAO(IBbbUserDAO userDAO) { + this.bbbUserDAO = userDAO; + } + + public ILearnerService getLearnerService() { + return learnerService; + } + + public void setLearnerService(ILearnerService learnerService) { + this.learnerService = learnerService; + } + + public IExportToolContentService getExportContentService() { + return exportContentService; + } + + public void setExportContentService(IExportToolContentService exportContentService) { + this.exportContentService = exportContentService; + } + + public ICoreNotebookService getCoreNotebookService() { + return coreNotebookService; + } + + public void setCoreNotebookService(ICoreNotebookService coreNotebookService) { + this.coreNotebookService = coreNotebookService; + } + + public IRepositoryService getRepositoryService() { + return repositoryService; + } + + public void setRepositoryService(IRepositoryService repositoryService) { + this.repositoryService = repositoryService; + } + + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbServiceProxy.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbServiceProxy.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/BbbServiceProxy.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,71 @@ +/**************************************************************** + * 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: BbbServiceProxy.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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 BbbServiceProxy { + + public static final IBbbService getBbbService(ServletContext servletContext) { + return (IBbbService) getBbbDomainService(servletContext); + } + + private static Object getBbbDomainService(ServletContext servletContext) { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext); + return wac.getBean("bbbService"); + } + + /* + * Return the bbb 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 getBbbSessionManager(ServletContext servletContext) { + return (ToolSessionManager) getBbbDomainService(servletContext); + } + + /* + * Return the bbb 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 getBbbContentManager(ServletContext servletContext) { + return (ToolContentManager) getBbbDomainService(servletContext); + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/IBbbService.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/IBbbService.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/service/IBbbService.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,205 @@ +/**************************************************************** + * 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: IBbbService.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.service; + +import org.apache.struts.upload.FormFile; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbAttachment; +import org.lamsfoundation.lams.tool.bbb.model.BbbConfig; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; +import org.lamsfoundation.lams.tool.bbb.util.BbbException; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; + +/** + * Defines the services available to the web layer from the Bbb Service + */ +public interface IBbbService { + /** + * Makes a copy of the default content and assigns it a newContentID + * + * @params newContentID + * @return + */ + public Bbb copyDefaultContent(Long newContentID); + + /** + * Returns an instance of the Bbb tools default content. + * + * @return + */ + public Bbb getDefaultContent(); + + /** + * @param toolSignature + * @return + */ + public Long getDefaultContentIdBySignature(String toolSignature); + + /** + * @param toolContentID + * @return + */ + public Bbb getBbbByContentId(Long toolContentID); + + /** + * @param toolContentId + * @param file + * @param type + * @return + */ + public BbbAttachment uploadFileToContent(Long toolContentId, FormFile file, String type); + + /** + * @param uuid + * @param versionID + */ + public void deleteFromRepository(Long uuid, Long versionID) throws BbbException; + + /** + * @param bbb + */ + public void saveOrUpdateBbb(Bbb bbb); + + /** + * @param toolSessionId + * @return + */ + public BbbSession getSessionBySessionId(Long toolSessionId); + + /** + * @param bbbSession + */ + public void saveOrUpdateBbbSession(BbbSession bbbSession); + + /** + * + * @param userId + * @param toolSessionId + * @return + */ + public BbbUser getUserByUserIdAndSessionId(Long userId, Long toolSessionId); + + /** + * + * @param uid + * @return + */ + public BbbUser getUserByUID(Long uid); + + /** + * + * @param bbbUser + */ + public void saveOrUpdateBbbUser(BbbUser bbbUser); + + /** + * + * @param user + * @param bbbSession + * @return + */ + public BbbUser createBbbUser(UserDTO user, BbbSession bbbSession); + + /** + * + * @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 getNotebookEntry(Long uid); + + /** + * + * @param notebookEntry + */ + void updateNotebookEntry(NotebookEntry notebookEntry); + + /** + * + * @param uid + * @param title + * @param entry + */ + void updateNotebookEntry(Long uid, String entry); + + /** + * + * @param key + */ + BbbConfig getConfig(String key); + + /** + * + * @param key + */ + String getConfigValue(String key); + + /** + * + * @param key + * @param value + */ + void saveOrUpdateConfigEntry(BbbConfig bbbConfig); + + /** + * Start a standard meeting + * + * @param meetingKey + * @param attendeePassword + * @param moderatorPassword + * @return Meeting url + * @throws Exception + */ + String startConference(String meetingKey, String atendeePassword, String moderatorPassword, + String returnURL, String welcomeMessage) + throws Exception; + + /** + * Join a standard meeting + * + * @param userDTO + * @param meetingKey + * @param password + * @return Meeting url + */ + String getJoinMeetingURL(UserDTO userDTO, String meetingKey, String password) throws Exception; + + Boolean isMeetingRunning(String meetingKey) throws Exception; + + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbException.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbException.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbException.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,53 @@ +/**************************************************************** + * 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: BbbException.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.util; + +/** + * + * @author Ernie Ghiglione + * + */ +public class BbbException extends RuntimeException { + + private static final long serialVersionUID = -5518806968051758859L; + + public BbbException(String message) { + super(message); + } + + public BbbException(String message, Throwable cause) { + super(message, cause); + } + + public BbbException() { + super(); + + } + + public BbbException(Throwable cause) { + super(cause); + + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbToolContentHandler.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbToolContentHandler.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbToolContentHandler.java 29 Apr 2011 05:14:50 -0000 1.1 @@ -0,0 +1,74 @@ +/**************************************************************** + * 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: BbbToolContentHandler.java,v 1.1 2011/04/29 05:14:50 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.util; + +import org.lamsfoundation.lams.contentrepository.client.ToolContentHandler; + +/** + * Simple client for accessing the content repository. + */ +public class BbbToolContentHandler extends ToolContentHandler { + + public static String repositoryWorkspaceName = "bbbworkspace"; + + public static String repositoryUser = "bbb"; + + public static char[] repositoryId = { 'l', 'a', 'm', 's', '-', 'e', 'x' }; + + /** + * + */ + public BbbToolContentHandler() { + super(); + } + + /* + * (non-Javadoc) + * + * @seeorg.lamsfoundation.lams.contentrepository.client.ToolContentHandler# getRepositoryWorkspaceName() + */ + public String getRepositoryWorkspaceName() { + return repositoryWorkspaceName; + } + + /* + * (non-Javadoc) + * + * @seeorg.lamsfoundation.lams.contentrepository.client.ToolContentHandler# getRepositoryUser() + */ + public String getRepositoryUser() { + return repositoryUser; + } + + /* + * (non-Javadoc) + * + * @seeorg.lamsfoundation.lams.contentrepository.client.ToolContentHandler# getRepositoryId() + */ + public char[] getRepositoryId() { + return repositoryId; + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbUtil.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbUtil.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/BbbUtil.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -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.bbb.util; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.servlet.http.HttpServletRequest; +import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator; + +public class BbbUtil { + + public static String getMeetingKey(Long toolSessionId) { + return "bbb_" + RandomPasswordGenerator.nextPassword(12) + "-" + toolSessionId; + } + + public static String getReturnURL(HttpServletRequest request) { + String protocol; + if (request.isSecure()) { + protocol = "https://"; + } else { + protocol = "http://"; + } + + String path = protocol + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); + if (!path.endsWith("/")) { + path = path + "/"; + } + + path += "endMeeting.do"; + + return path; + } + + // helper functions to extract info from XML response. + + // get result -- standard version + private static Pattern patternResult = Pattern.compile("result:\"(.*?)\""); + + public static String getResult(String json) { + Matcher matcher = patternResult.matcher(json); + matcher.find(); + return matcher.group(1); + } + + public static String getResponse(String response) throws Exception { + + if (response.contains(Constants.RESPONSE_SUCCESS)) { + return Constants.RESPONSE_SUCCESS; + } else { + return Constants.RESPONSE_FAIL; + + } + + + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/Constants.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/Constants.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/util/Constants.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,72 @@ +/**************************************************************** + * 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: Constants.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.util; + +public final class Constants { + + public static final String APP_RESOURCES = "org.lamsfoundation.lams.tool.bbb.ApplicationResources"; + + // Attribute names + public static final String ATTR_CONFIG_DTO = "configDTO"; + public static final String ATTR_CONTENT_DTO = "contentDTO"; + public static final String ATTR_CONTENT_FOLDER_ID = "contentFolderID"; + public static final String ATTR_MEETING_OPEN = "meetingOpen"; + public static final String ATTR_MEETING_URL = "meetingURL"; + public static final String ATTR_MESSAGE_KEY = "messageKey"; + public static final String ATTR_SESSION_MAP = "sessionMap"; + public static final String ATTR_TOOL_SESSION_ID = "toolSessionID"; + public static final String ATTR_USER_DTO = "userDTO"; + + // Configuration keys + public static final String CFG_SERVER_URL = "server_url"; + public static final String CFG_SECURITYSALT = "security_salt"; + + // Authoring SessionMap key names + public static final String KEY_CONTENT_FOLDER_ID = "contentFolderID"; + public static final String KEY_DELETED_FILES = "deletedFiles"; + public static final String KEY_MODE = "mode"; + public static final String KEY_OFFLINE_FILES = "offlineFiles"; + public static final String KEY_ONLINE_FILES = "onlineFiles"; + public static final String KEY_TOOL_CONTENT_ID = "toolContentID"; + public static final String KEY_UNSAVED_OFFLINE_FILES = "unsavedOfflineFiles"; + public static final String KEY_UNSAVED_ONLINE_FILES = "unsavedOnlineFiles"; + + // Big Blue Button parameters + public static final String BBB_CREATE_PARAM = "bigbluebutton/api/create?"; + public static final String BBB_JOIN_PARAM = "bigbluebutton/api/join?"; + public static final String BBB_MEETING_RUNNING_PARAM = "bigbluebutton/api/isMeetingRunning?"; + + // Parameter names + public static final String PARAM_USER_UID = "userUID"; + public static final String RESPONSE_SUCCESS = "SUCCESS"; + public static final String RESPONSE_FAIL = "FAIL"; + + // Tool signature + public static final String TOOL_SIGNATURE = "labbb10"; + + private Constants() { + // prevent construction + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AdminAction.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AdminAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AdminAction.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,129 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License 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: AdminAction.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.actions; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.actions.MappingDispatchAction; +import org.lamsfoundation.lams.tool.bbb.dto.ConfigDTO; +import org.lamsfoundation.lams.tool.bbb.model.BbbConfig; +import org.lamsfoundation.lams.tool.bbb.service.BbbServiceProxy; +import org.lamsfoundation.lams.tool.bbb.service.IBbbService; +import org.lamsfoundation.lams.tool.bbb.util.Constants; +import org.lamsfoundation.lams.tool.bbb.web.forms.AdminForm; + + +/** + * @struts.action path="/admin/view" name="adminForm" parameter="view" scope="request" validate="false" + * @struts.action-forward name="view-success" path="tiles:/admin/view" + * + * @struts.action path="/admin/edit" name="adminForm" parameter="edit" scope="request" validate="false" + * @struts.action-forward name="edit-success" path="tiles:/admin/edit" + * + * @struts.action path="/admin/save" name="adminForm" parameter="save" scope="request" validate="true" + * input="tiles:/admin/edit" + * @struts.action-forward name="save-success" redirect="true" path="/admin/view.do" + * + * @author Ernie Ghiglione + * + */ +public class AdminAction extends MappingDispatchAction { + + private IBbbService bbbService; + + // private static final Logger logger = Logger.getLogger(AdminAction.class); + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // set up bbbService + bbbService = BbbServiceProxy.getBbbService(this.getServlet().getServletContext()); + + return super.execute(mapping, form, request, response); + } + + public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + ConfigDTO configDTO = new ConfigDTO(); + + configDTO.setServerURL(bbbService.getConfigValue(Constants.CFG_SERVER_URL)); + configDTO.setSecuritySalt(bbbService.getConfigValue(Constants.CFG_SECURITYSALT)); + + request.setAttribute(Constants.ATTR_CONFIG_DTO, configDTO); + return mapping.findForward("view-success"); + } + + public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + AdminForm adminForm = (AdminForm) form; + + adminForm.setServerURL(bbbService.getConfigValue(Constants.CFG_SERVER_URL)); + adminForm.setSecuritySalt(bbbService.getConfigValue(Constants.CFG_SECURITYSALT)); + + return mapping.findForward("edit-success"); + } + + public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + if (!isCancelled(request)) { + + AdminForm adminForm = (AdminForm) form; + + String bbbServerURL = adminForm.getServerURL().trim(); + + if (!bbbServerURL.endsWith("/")) { + bbbServerURL = bbbServerURL + "/"; + } + + updateConfig(Constants.CFG_SECURITYSALT, adminForm.getSecuritySalt()); + updateConfig(Constants.CFG_SERVER_URL, bbbServerURL); + + } + + return mapping.findForward("save-success"); + } + + private void updateConfig(String key, String value) { + + BbbConfig config = bbbService.getConfig(key); + + if (config == null) { + config = new BbbConfig(key, value); + } else { + config.setValue(value); + } + + bbbService.saveOrUpdateConfigEntry(config); + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AuthoringAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/AuthoringAction.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,445 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: AuthoringAction.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.actions; + +import java.lang.reflect.InvocationTargetException; +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.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessages; +import org.apache.struts.actions.DispatchAction; +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.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbAttachment; +import org.lamsfoundation.lams.tool.bbb.service.BbbServiceProxy; +import org.lamsfoundation.lams.tool.bbb.service.IBbbService; +import org.lamsfoundation.lams.tool.bbb.util.Constants; +import org.lamsfoundation.lams.tool.bbb.web.forms.AuthoringForm; +import org.lamsfoundation.lams.util.FileValidatorUtil; +import org.lamsfoundation.lams.util.WebUtil; +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" + */ +public class AuthoringAction extends DispatchAction { + + // private static final Logger logger = + // Logger.getLogger(AuthoringAction.class); + + private IBbbService bbbService; + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // set up bbbService + bbbService = BbbServiceProxy.getBbbService(this.getServlet().getServletContext()); + + return super.execute(mapping, form, request, response); + } + + /** + * 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. + * + * @throws ServletException + * + */ + protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws ServletException { + + // 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, AttributeNames.PARAM_MODE, true); + + // retrieving Bbb with given toolContentID + Bbb bbb = bbbService.getBbbByContentId(toolContentID); + if (bbb == null) { + bbb = bbbService.copyDefaultContent(toolContentID); + bbb.setCreateDate(new Date()); + bbbService.saveOrUpdateBbb(bbb); + // 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. + bbb.setDefineLater(true); + bbbService.saveOrUpdateBbb(bbb); + } + + // Set up the authForm. + AuthoringForm authForm = (AuthoringForm) form; + copyProperties(authForm, bbb); + + // Set up sessionMap + SessionMap map = createSessionMap(bbb, getAccessMode(request), contentFolderID, + toolContentID); + authForm.setSessionMapID(map.getSessionID()); + + // add the sessionMap to HTTPSession. + request.getSession().setAttribute(map.getSessionID(), map); + request.setAttribute(Constants.ATTR_SESSION_MAP, map); + + return mapping.findForward("success"); + } + + public ActionForward updateContent(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + // get authForm and session map. + AuthoringForm authForm = (AuthoringForm) form; + SessionMap map = getSessionMap(request, authForm); + + // get bbb content. + Bbb bbb = bbbService.getBbbByContentId((Long) map.get(Constants.KEY_TOOL_CONTENT_ID)); + + // update bbb content using form inputs. + ToolAccessMode mode = (ToolAccessMode) map.get(Constants.KEY_MODE); + copyProperties(bbb, authForm, mode); + + // remove attachments marked for deletion. + Set attachments = bbb.getBbbAttachments(); + if (attachments == null) { + attachments = new HashSet(); + } + + for (BbbAttachment att : getAttList(Constants.KEY_DELETED_FILES, map)) { + // remove from db, leave in repository + attachments.remove(att); + } + + // add unsaved attachments + attachments.addAll(getAttList(Constants.KEY_UNSAVED_ONLINE_FILES, map)); + attachments.addAll(getAttList(Constants.KEY_UNSAVED_OFFLINE_FILES, map)); + + // set attachments in case it didn't exist + bbb.setBbbAttachments(attachments); + + // set the update date + bbb.setUpdateDate(new Date()); + + // releasing defineLater flag so that learner can start using the tool. + bbb.setDefineLater(false); + + bbbService.saveOrUpdateBbb(bbb); + + request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE); + + // add the sessionMapID to form + authForm.setSessionMapID(map.getSessionID()); + + request.setAttribute(Constants.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(Constants.KEY_UNSAVED_OFFLINE_FILES, map); + + savedFiles = getAttList(Constants.KEY_OFFLINE_FILES, map); + } else { + file = (FormFile) authForm.getOnlineFile(); + unsavedFiles = getAttList(Constants.KEY_UNSAVED_ONLINE_FILES, map); + + savedFiles = getAttList(Constants.KEY_ONLINE_FILES, map); + } + + // validate file max size + ActionMessages errors = new ActionMessages(); + FileValidatorUtil.validateFileSize(file, true, errors); + if (!errors.isEmpty()) { + request.setAttribute(Constants.ATTR_SESSION_MAP, map); + this.saveErrors(request, errors); + return mapping.findForward("success"); + } + + if (file.getFileName().length() != 0) { + + // upload file to repository + BbbAttachment newAtt = bbbService.uploadFileToContent((Long) map.get(Constants.KEY_TOOL_CONTENT_ID), + file, type); + + // Add attachment to unsavedFiles + // check to see if file with same name exists + BbbAttachment currAtt; + Iterator iter = savedFiles.iterator(); + while (iter.hasNext()) { + currAtt = (BbbAttachment) iter.next(); + if (StringUtils.equals(currAtt.getFileName(), newAtt.getFileName()) + && StringUtils.equals(currAtt.getFileType(), newAtt.getFileType())) { + // move from this this list to deleted list. + getAttList(Constants.KEY_DELETED_FILES, map).add(currAtt); + iter.remove(); + break; + } + } + unsavedFiles.add(newAtt); + + request.setAttribute(Constants.ATTR_SESSION_MAP, map); + } + 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(Constants.KEY_OFFLINE_FILES, map); + } else { + fileList = getAttList(Constants.KEY_ONLINE_FILES, map); + } + + Iterator iter = fileList.iterator(); + + while (iter.hasNext()) { + BbbAttachment att = (BbbAttachment) iter.next(); + + if (att.getFileUuid().equals(authForm.getDeleteFileUuid())) { + // move to delete file list, deleted at next updateContent + getAttList(Constants.KEY_DELETED_FILES, map).add(att); + + // remove from this list + iter.remove(); + break; + } + } + + request.setAttribute(Constants.ATTR_SESSION_MAP, map); + + 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(Constants.KEY_UNSAVED_OFFLINE_FILES, map); + } else { + unsavedFiles = getAttList(Constants.KEY_UNSAVED_ONLINE_FILES, map); + } + + Iterator iter = unsavedFiles.iterator(); + while (iter.hasNext()) { + BbbAttachment att = (BbbAttachment) iter.next(); + + if (att.getFileUuid().equals(authForm.getDeleteFileUuid())) { + // delete from repository and list + bbbService.deleteFromRepository(att.getFileUuid(), att.getFileVersionId()); + iter.remove(); + break; + } + } + + request.setAttribute(Constants.ATTR_SESSION_MAP, map); + + return mapping.findForward("success"); + } + + /** + * Updates Bbb content using AuthoringForm inputs. + * + * @param authForm + * @param mode + * @return + */ + private void copyProperties(Bbb bbb, AuthoringForm authForm, ToolAccessMode mode) { + bbb.setTitle(authForm.getTitle()); + bbb.setInstructions(authForm.getInstructions()); + if (mode.isAuthor()) { // Teacher cannot modify following + bbb.setOfflineInstructions(authForm.getOfflineInstructions()); + bbb.setOnlineInstructions(authForm.getOnlineInstructions()); + bbb.setReflectOnActivity(authForm.isReflectOnActivity()); + bbb.setReflectInstructions(authForm.getReflectInstructions()); + bbb.setLockOnFinished(authForm.isLockOnFinished()); + + } + } + + /** + * Updates AuthoringForm using Bbb content. + * + * @param bbb + * @param authForm + * @return + * @throws ServletException + */ + private void copyProperties(AuthoringForm authForm, Bbb bbb) throws ServletException { + try { + BeanUtils.copyProperties(authForm, bbb); + } catch (IllegalAccessException e) { + throw new ServletException(e); + } catch (InvocationTargetException e) { + throw new ServletException(e); + } + } + + /** + * Updates SessionMap using Bbb content. + * + * @param bbb + * @param mode + */ + private SessionMap createSessionMap(Bbb bbb, ToolAccessMode mode, String contentFolderID, + Long toolContentID) { + + SessionMap map = new SessionMap(); + + map.put(Constants.KEY_MODE, mode); + map.put(Constants.KEY_CONTENT_FOLDER_ID, contentFolderID); + map.put(Constants.KEY_TOOL_CONTENT_ID, toolContentID); + map.put(Constants.KEY_ONLINE_FILES, new LinkedList()); + map.put(Constants.KEY_OFFLINE_FILES, new LinkedList()); + map.put(Constants.KEY_UNSAVED_ONLINE_FILES, new LinkedList()); + map.put(Constants.KEY_UNSAVED_OFFLINE_FILES, new LinkedList()); + map.put(Constants.KEY_DELETED_FILES, new LinkedList()); + + for (BbbAttachment attachment : bbb.getBbbAttachments()) { + String type = attachment.getFileType(); + if (type.equals(IToolContentHandler.TYPE_OFFLINE)) { + getAttList(Constants.KEY_OFFLINE_FILES, map).add(attachment); + } + if (type.equals(IToolContentHandler.TYPE_ONLINE)) { + getAttList(Constants.KEY_ONLINE_FILES, map).add(attachment); + } + } + + return map; + } + + /** + * Get ToolAccessMode from HttpRequest parameters. Default value is AUTHOR mode. + * + * @param request + * @return + */ + private ToolAccessMode getAccessMode(HttpServletRequest request) { + ToolAccessMode mode; + String modeStr = request.getParameter(AttributeNames.ATTR_MODE); + if (StringUtils.equalsIgnoreCase(modeStr, ToolAccessMode.TEACHER.toString())) { + mode = ToolAccessMode.TEACHER; + } else { + mode = ToolAccessMode.AUTHOR; + } + return mode; + } + + /** + * Retrieves a List of attachments from the map using the key. + * + * @param key + * @param map + * @return + */ + @SuppressWarnings("unchecked") + private List getAttList(String key, SessionMap map) { + List list = (List) map.get(key); + return list; + } + + /** + * Retrieve the SessionMap from the HttpSession. + * + * @param request + * @param authForm + * @return + */ + @SuppressWarnings("unchecked") + private SessionMap getSessionMap(HttpServletRequest request, AuthoringForm authForm) { + return (SessionMap) request.getSession().getAttribute(authForm.getSessionMapID()); + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/ClearSessionAction.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/ClearSessionAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/ClearSessionAction.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,52 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: ClearSessionAction.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.actions; + +import javax.servlet.http.HttpSession; + +import org.lamsfoundation.lams.authoring.web.LamsAuthoringFinishAction; +import org.lamsfoundation.lams.tool.ToolAccessMode; + +/** + * This class give a chance to clear HttpSession when user save/close authoring page. + * + * @author Steve.Ni + * + * ----------------XDoclet Tags-------------------- + * + * @struts:action path="/clearsession" validate="false" + * + * @version $Revision: 1.1 $ + */ +public class ClearSessionAction extends LamsAuthoringFinishAction { + + @Override + public void clearSession(String customiseSessionID, HttpSession session, ToolAccessMode mode) { + if (mode.isAuthor()) { + session.removeAttribute(customiseSessionID); + } + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/LearningAction.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,341 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: LearningAction.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.actions; + +import java.io.IOException; +import java.util.Date; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.actions.DispatchAction; +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.bbb.dto.ContentDTO; +import org.lamsfoundation.lams.tool.bbb.dto.NotebookEntryDTO; +import org.lamsfoundation.lams.tool.bbb.dto.UserDTO; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; +import org.lamsfoundation.lams.tool.bbb.service.BbbServiceProxy; +import org.lamsfoundation.lams.tool.bbb.service.IBbbService; +import org.lamsfoundation.lams.tool.bbb.util.Constants; +import org.lamsfoundation.lams.tool.bbb.util.BbbException; +import org.lamsfoundation.lams.tool.bbb.util.BbbUtil; +import org.lamsfoundation.lams.tool.bbb.web.forms.LearningForm; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.util.Configuration; +import org.lamsfoundation.lams.util.ConfigurationKeys; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; + +/** + * @author Ernie Ghiglione + * + * @struts.action path="/learning" parameter="dispatch" scope="request" name="learningForm" + * @struts.action-forward name="bbb" path="tiles:/learning/main" + * @struts.action-forward name="notebook" path="tiles:/learning/notebook" + * @struts.action-forward name="runOffline" path="tiles:/learning/runOffline" + * @struts.action-forward name="defineLater" path="tiles:/learning/defineLater" + * @struts.action-forward name="generalMessage" path="tiles:/general/message" + */ +public class LearningAction extends DispatchAction { + + private static final Logger logger = Logger.getLogger(LearningAction.class); + + private IBbbService bbbService; + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // set up bbbService + bbbService = BbbServiceProxy.getBbbService(this.getServlet().getServletContext()); + + return super.execute(mapping, form, request, response); + } + + public ActionForward finishActivity(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); + + BbbUser user = getCurrentUser(toolSessionID); + + if (user != null) { + + LearningForm learningForm = (LearningForm) form; + + if (user.getNotebookEntryUID() == null) { + user.setNotebookEntryUID(bbbService.createNotebookEntry(toolSessionID, + CoreNotebookConstants.NOTEBOOK_TOOL, Constants.TOOL_SIGNATURE, user.getUserId().intValue(), + learningForm.getEntryText())); + } else { + // update existing entry. + bbbService.updateNotebookEntry(user.getNotebookEntryUID(), learningForm.getEntryText()); + } + + user.setFinishedActivity(true); + bbbService.saveOrUpdateBbbUser(user); + } else { + logger.error("finishActivity(): couldn't find/create BbbUser in toolSessionID: " + toolSessionID); + } + + ToolSessionManager sessionMgrService = BbbServiceProxy.getBbbSessionManager(getServlet() + .getServletContext()); + + String nextActivityUrl; + try { + nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, user.getUserId()); + response.sendRedirect(nextActivityUrl); + } catch (DataMissingException e) { + throw new BbbException(e); + } catch (ToolException e) { + throw new BbbException(e); + } catch (IOException e) { + throw new BbbException(e); + } + + return null; + } + + private BbbUser getCurrentUser(Long toolSessionId) { + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionId + BbbUser user = bbbService.getUserByUserIdAndSessionId(new Long(lamsUserDTO.getUserID().intValue()), + toolSessionId); + + if (user == null) { + BbbSession bbbSession = bbbService.getSessionBySessionId(toolSessionId); + user = bbbService.createBbbUser(lamsUserDTO, bbbSession); + } + + return user; + } + + public ActionForward openLearnerMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // get user uid parameter + Long uid = WebUtil.readLongParam(request, Constants.PARAM_USER_UID); + BbbUser user = bbbService.getUserByUID(uid); + + String meetingKey = BbbUtil.getMeetingKey(user.getBbbSession().getSessionId()); + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + + BbbSession session = bbbService.getSessionBySessionId(user.getBbbSession().getSessionId()); + + String password = session.getAttendeePassword(); + String meetingURL = bbbService.getJoinMeetingURL(lamsUserDTO, meetingKey, password); + response.sendRedirect(meetingURL); + return null; + + } + + public ActionForward openNotebook(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + LearningForm lrnForm = (LearningForm) form; + + // set the finished flag + BbbUser user = getCurrentUser(lrnForm.getToolSessionID()); + ContentDTO contentDTO = new ContentDTO(user.getBbbSession().getBbb()); + + request.setAttribute(Constants.ATTR_CONTENT_DTO, contentDTO); + + NotebookEntry notebookEntry = bbbService.getNotebookEntry(user.getNotebookEntryUID()); + + if (notebookEntry != null) { + lrnForm.setEntryText(notebookEntry.getEntry()); + } + + return mapping.findForward("notebook"); + + } + + public ActionForward openPreviewMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // get user uid parameter + Long uid = WebUtil.readLongParam(request, Constants.PARAM_USER_UID); + BbbUser user = bbbService.getUserByUID(uid); + BbbSession session = user.getBbbSession(); + + // Get LAMS userDTO + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + + // Start a new bbb web meeting + + String meetingKey = BbbUtil.getMeetingKey(session.getSessionId()); + String returnURL = BbbUtil.getReturnURL(request); + +/* String meetingURL = bbbService.startConferenceURL(lamsUserDTO, meetingKey, returnURL); + + if (meetingURL != null) { + response.sendRedirect(meetingURL); + } else { + logger.error("startAction did not return a url to start the meeting"); + throw new BbbException("Unable to start meeting"); + }*/ + + return null; + } + + public ActionForward submitReflection(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + // save the reflection entry and call the notebook. + + LearningForm lrnForm = (LearningForm) form; + + BbbUser user = getCurrentUser(lrnForm.getToolSessionID()); + Long toolSessionID = user.getBbbSession().getSessionId(); + Integer userID = user.getUserId().intValue(); + + // check for existing notebook entry + NotebookEntry entry = bbbService.getNotebookEntry(user.getNotebookEntryUID()); + + if (entry == null) { + // create new entry + Long entryUID = bbbService.createNotebookEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, + Constants.TOOL_SIGNATURE, userID, lrnForm.getEntryText()); + user.setNotebookEntryUID(entryUID); + bbbService.saveOrUpdateBbbUser(user); + } else { + // update existing entry + entry.setEntry(lrnForm.getEntryText()); + entry.setLastModified(new Date()); + bbbService.updateNotebookEntry(entry); + } + + return finishActivity(mapping, form, request, response); + } + + public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + LearningForm learningForm = (LearningForm) form; + + // 'toolSessionID' and 'mode' parameters are expected to be present. + ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, false); + + Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); + + // Retrieve the session and content. + BbbSession session = bbbService.getSessionBySessionId(toolSessionID); + if (session == null) { + throw new BbbException("Cannot retrieve session with toolSessionID" + toolSessionID); + } + + Bbb bbb = session.getBbb(); + + // check defineLater + if (bbb.isDefineLater()) { + return mapping.findForward("defineLater"); + } + + // set mode, toolSessionID and BbbDTO + request.setAttribute(AttributeNames.ATTR_MODE, mode.toString()); + learningForm.setToolSessionID(toolSessionID); + + ContentDTO contentDTO = new ContentDTO(); + contentDTO.setTitle(bbb.getTitle()); + contentDTO.setInstructions(bbb.getInstructions()); + contentDTO.setLockOnFinish(bbb.isLockOnFinished()); + contentDTO.setReflectOnActivity(bbb.isReflectOnActivity()); + contentDTO.setReflectInstructions(bbb.getReflectInstructions()); + + request.setAttribute(Constants.ATTR_CONTENT_DTO, contentDTO); + + // Set the content in use flag. + if (!bbb.isContentInUse()) { + bbb.setContentInUse(true); + bbbService.saveOrUpdateBbb(bbb); + } + + // check runOffline + if (bbb.isRunOffline()) { + return mapping.findForward("runOffline"); + } + + BbbUser user; + if (mode.equals(ToolAccessMode.TEACHER)) { + Long userID = WebUtil.readLongParam(request, AttributeNames.PARAM_USER_ID, false); + user = bbbService.getUserByUserIdAndSessionId(userID, toolSessionID); + } else { + user = getCurrentUser(toolSessionID); + } + + // get any existing notebook entries and create userDTO + NotebookEntry entry = bbbService.getNotebookEntry(user.getNotebookEntryUID()); + UserDTO userDTO = new UserDTO(user); + if (entry != null) { + userDTO.setNotebookEntryDTO(new NotebookEntryDTO(entry)); + } + request.setAttribute(Constants.ATTR_USER_DTO, userDTO); + + + + String securitySalt = bbbService.getConfigValue(Constants.CFG_SECURITYSALT); + if (securitySalt == null) { + logger.error("Security Salt value " + Constants.CFG_SECURITYSALT + " returned null"); + } + + String dispatchValue = new String(); + boolean meetingOpen = false; + if (mode.isAuthor()) { + dispatchValue = "openPreviewMeeting"; + meetingOpen = true; + } else { + if (session.isMeetingCreated()) { + dispatchValue = "openLearnerMeeting"; + meetingOpen = true; + } // otherwise, meeting has not been started in monitoring + } + + String meetingURL = Configuration.get(ConfigurationKeys.SERVER_URL) + "/tool/" + Constants.TOOL_SIGNATURE + + "/learning.do?dispatch=" + dispatchValue + "&" + Constants.PARAM_USER_UID + "=" + user.getUid(); + + request.setAttribute(Constants.ATTR_MEETING_OPEN, meetingOpen); + request.setAttribute(Constants.ATTR_MEETING_URL, meetingURL); + + // set toolSessionID in request + request.setAttribute(Constants.ATTR_TOOL_SESSION_ID, session.getSessionId()); + + return mapping.findForward("bbb"); + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/MonitoringAction.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/actions/MonitoringAction.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,172 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: MonitoringAction.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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.apache.struts.actions.DispatchAction; +import org.apache.struts.util.MessageResources; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.tool.bbb.dto.UserDTO; +import org.lamsfoundation.lams.tool.bbb.dto.ContentDTO; +import org.lamsfoundation.lams.tool.bbb.dto.NotebookEntryDTO;//import org.lamsfoundation.lams.tool.bbb.dto.UserDTO; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.model.BbbUser; +import org.lamsfoundation.lams.tool.bbb.service.BbbServiceProxy; +import org.lamsfoundation.lams.tool.bbb.service.IBbbService; +import org.lamsfoundation.lams.tool.bbb.util.Constants; +import org.lamsfoundation.lams.tool.bbb.util.BbbException; +import org.lamsfoundation.lams.tool.bbb.util.BbbUtil; +import org.lamsfoundation.lams.tool.bbb.web.forms.MonitoringForm; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator; +import org.lamsfoundation.lams.web.session.SessionManager; +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="bbb_display" path="tiles:/monitoring/bbb_display" + */ +public class MonitoringAction extends DispatchAction { + + private static final Logger logger = Logger.getLogger(MonitoringAction.class); + + private IBbbService bbbService; + + @Override + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + // set up bbbService + bbbService = BbbServiceProxy.getBbbService(this.getServlet().getServletContext()); + + return super.execute(mapping, form, request, response); + } + + public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + + Long toolContentID = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); + + String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + + Bbb bbb = bbbService.getBbbByContentId(toolContentID); + + if (bbb == null) { + logger.error("Unable to find tool content with id :" + toolContentID); + throw new BbbException("Invalid value for " + AttributeNames.PARAM_TOOL_CONTENT_ID); + } + + ContentDTO contentDT0 = new ContentDTO(bbb); + + Long currentTab = WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB, true); + contentDT0.setCurrentTab(currentTab); + + request.setAttribute(Constants.ATTR_CONTENT_DTO, contentDT0); + request.setAttribute(Constants.ATTR_CONTENT_FOLDER_ID, contentFolderID); + return mapping.findForward("success"); + } + + public ActionForward openNotebook(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + Long uid = new Long(WebUtil.readLongParam(request, Constants.PARAM_USER_UID)); + + BbbUser user = bbbService.getUserByUID(uid); + NotebookEntry entry = bbbService.getNotebookEntry(user.getNotebookEntryUID()); + + UserDTO userDTO = new UserDTO(user); + userDTO.setNotebookEntryDTO(new NotebookEntryDTO(entry)); + + request.setAttribute(Constants.ATTR_USER_DTO, userDTO); + + return mapping.findForward("bbb_display"); + } + + public ActionForward startMeeting(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + + MonitoringForm monitoringForm = (MonitoringForm) form; + + // get bbb session + BbbSession session = bbbService.getSessionBySessionId(monitoringForm.getToolSessionID()); + + // Get LAMS userDTO + org.lamsfoundation.lams.usermanagement.dto.UserDTO lamsUserDTO = (org.lamsfoundation.lams.usermanagement.dto.UserDTO) SessionManager + .getSession().getAttribute(AttributeNames.USER); + + String meetingKey = BbbUtil.getMeetingKey(session.getSessionId()); + + // if the meeting is already created, redirect the monitor to the meeting directly + if (session.isMeetingCreated()) { + logger.debug("Meeting Room is already created with meetingKey=" + meetingKey); + String moderatorPassword = session.getModeratorPassword(); + String redirectUrl = bbbService.getJoinMeetingURL(lamsUserDTO, meetingKey, moderatorPassword); + // redirect to meeting + response.sendRedirect(redirectUrl); + return null; + } + + // create random strings for attendee and moderator passwords + String attendeePassword = RandomPasswordGenerator.nextPassword(20); + String moderatorPassword = RandomPasswordGenerator.nextPassword(20); + MessageResources resources = MessageResources.getMessageResources(Constants.APP_RESOURCES); + + // Get default localized welcome message + + String welcomeMessage = resources.getMessage("activity.welcome.message"); + + String meetingStartResponse = bbbService + .startConference(meetingKey, attendeePassword, moderatorPassword, BbbUtil + .getReturnURL(request), welcomeMessage); + + if (meetingStartResponse == Constants.RESPONSE_SUCCESS) { + session.setMeetingCreated(true); + session.setAttendeePassword(attendeePassword); + session.setModeratorPassword(moderatorPassword); + String redirectUrl = bbbService.getJoinMeetingURL(lamsUserDTO, meetingKey, moderatorPassword); + // redirect to meeting + response.sendRedirect(redirectUrl); + } else { + logger.error("startAction did not return a url to start the meeting"); + throw new BbbException("Unable to start meeting"); + } + + bbbService.saveOrUpdateBbbSession(session); + + return null; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AdminForm.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AdminForm.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AdminForm.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,88 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License 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: AdminForm.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.forms; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts.action.ActionErrors; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; +import org.apache.struts.util.MessageResources; +import org.lamsfoundation.lams.tool.bbb.util.Constants; + +/** + * @struts.form name="adminForm" + * @author Ernie Ghiglione + */ +public class AdminForm extends ActionForm { + + private static final long serialVersionUID = 8367278543453322252L; + + private String serverURL; + + private String securitySalt; + + // Fields + + public String getServerURL() { + return serverURL; + } + + public String getSecuritySalt() { + return securitySalt; + } + + public void setServerURL(String serverURL) { + this.serverURL = serverURL; + } + + public void setSecuritySalt(String securitySalt) { + this.securitySalt = securitySalt; + } + + @Override + public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { + + ActionErrors errors = new ActionErrors(); + + MessageResources resources = MessageResources.getMessageResources(Constants.APP_RESOURCES); + + if (StringUtils.isBlank(this.serverURL)) { + errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources + .getMessage("config.serverURL"))); + } + + if (StringUtils.isBlank(this.securitySalt)) { + errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.mandatoryField", resources + .getMessage("config.securitySalt"))); + } + + return errors; + } + +} \ No newline at end of file Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AuthoringForm.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AuthoringForm.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/AuthoringForm.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,194 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: AuthoringForm.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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; + + // Fields + + private String title; + + private String instructions; + + private String offlineInstructions; + + private String onlineInstructions; + + private boolean lockOnFinished; + + private boolean reflectOnActivity; + + private String reflectInstructions; + + private FormFile onlineFile; + + private FormFile offlineFile; + + private String currentTab; + + private String dispatch; + + private String sessionMapID; + + private Long deleteFileUuid; + + private 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 boolean isReflectOnActivity() { + return reflectOnActivity; + } + + public void setReflectOnActivity(boolean reflectOnActivity) { + this.reflectOnActivity = reflectOnActivity; + } + + public String getReflectInstructions() { + return reflectInstructions; + } + + public void setReflectInstructions(String reflectInstructions) { + this.reflectInstructions = reflectInstructions; + } + + public FormFile getOfflineFile() { + return offlineFile; + } + + public void setOfflineFile(FormFile offlineFile) { + this.offlineFile = offlineFile; + } + + public String getOfflineInstructions() { + return offlineInstructions; + } + + public void setOfflineInstructions(String offlineInstructions) { + this.offlineInstructions = offlineInstructions; + } + + public FormFile getOnlineFile() { + return onlineFile; + } + + public void setOnlineFile(FormFile onlineFile) { + this.onlineFile = onlineFile; + } + + public String getOnlineInstructions() { + return onlineInstructions; + } + + public void setOnlineInstructions(String onlineInstructions) { + this.onlineInstructions = onlineInstructions; + } + + 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; + } + +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/LearningForm.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/LearningForm.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/LearningForm.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,100 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: LearningForm.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.forms; + +import org.apache.struts.action.ActionForm; + +/** + * + * @author Ernie Ghiglione + * + * @struts.form name="learningForm" + */ +public class LearningForm extends ActionForm { + + private static final long serialVersionUID = -4728946254882237144L; + + // Fields + + private String title; + + private String instructions; + + private String dispatch; + + private Long toolSessionID; + + private String mode; + + private 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: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/MonitoringForm.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/MonitoringForm.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/forms/MonitoringForm.java 29 Apr 2011 05:14:51 -0000 1.1 @@ -0,0 +1,57 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: MonitoringForm.java,v 1.1 2011/04/29 05:14:51 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.web.forms; + +import org.apache.struts.action.ActionForm; + +/** + * @struts.form name="monitoringForm" + */ +public class MonitoringForm extends ActionForm { + + private static final long serialVersionUID = 9096908688391850595L; + + // Fields + + private String dispatch; + + private Long toolSessionID; + + 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; + } +} Index: lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/servlets/ExportServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/servlets/ExportServlet.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/src/java/org/lamsfoundation/lams/tool/bbb/web/servlets/ExportServlet.java 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,117 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +/* $Id: ExportServlet.java,v 1.1 2011/04/29 05:14:52 ernieg Exp $ */ + +package org.lamsfoundation.lams.tool.bbb.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.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.bbb.model.Bbb; +import org.lamsfoundation.lams.tool.bbb.model.BbbSession; +import org.lamsfoundation.lams.tool.bbb.service.BbbServiceProxy; +import org.lamsfoundation.lams.tool.bbb.service.IBbbService; +import org.lamsfoundation.lams.tool.bbb.util.BbbException; +import org.lamsfoundation.lams.web.servlet.AbstractExportPortfolioServlet; +import org.lamsfoundation.lams.web.util.AttributeNames; + +public class ExportServlet extends AbstractExportPortfolioServlet { + + private static final long serialVersionUID = -2829707715037631881L; + + private static final Logger logger = Logger.getLogger(ExportServlet.class); + + private final String FILENAME = "bbb_main.html"; + + private IBbbService bbbService; + + protected String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, + Cookie[] cookies) { + + setupService(); + + 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 (BbbException e) { + logger.error("Cannot perform export for bbb 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 { + setupService(); + + Bbb content = null; + if (toolContentID != null) { + content = bbbService.getBbbByContentId(toolContentID); + } else { + BbbSession session = bbbService.getSessionBySessionId(toolSessionID); + if (session != null) + content = session.getBbb(); + } + 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 BbbException { + + logger.debug("doExportLearner: toolContentID:" + toolSessionID); + + } + + private void doTeacherExport(HttpServletRequest request, HttpServletResponse response, String directoryName, + Cookie[] cookies) throws BbbException { + + logger.debug("doExportTeacher: toolContentID:" + toolContentID); + + } + + private void setupService() { + if (bbbService == null) { + bbbService = BbbServiceProxy.getBbbService(getServletContext()); + } + } +} Index: lams2/lams_tool_bbb/web/403.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/403.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/403.jsp 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,25 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c" %> + + + Index: lams2/lams_tool_bbb/web/404.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/404.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/404.jsp 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,27 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> +<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c" %> + + + + + Index: lams2/lams_tool_bbb/web/error.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/error.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/error.jsp 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,91 @@ +<%-- +Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) +License Information: http://lamsfoundation.org/licensing/lams/2.0/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + http://www.gnu.org/licenses/gpl.txt +--%> + + + +<%@ page language="java" isErrorPage="true" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> + + + + + + +<%-- Catch JSP Servlet Exception --%> +<% +if (exception != null) { +%> + + <%=exception.getMessage()%> + + + <%=exception.getClass().getName()%> + +<% + java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); + java.io.PrintStream os = new java.io.PrintStream(bos); + exception.printStackTrace(os); + String stack = new String(bos.toByteArray()); +%> + + <%=stack%> + +<% +} else if ((Exception) request.getAttribute("javax.servlet.error.exception") != null) { +%> + + + <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage()%> + + + <%=((Exception) request.getAttribute("javax.servlet.error.exception")).getMessage() + .getClass().getName()%> + +<% + java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); + java.io.PrintStream os = new java.io.PrintStream(bos); + ((Exception) request.getAttribute("javax.servlet.error.exception")).printStackTrace(os); + String stack = new String(bos.toByteArray()); +%> + + <%=stack%> + +<% +} +%> + +
+ + + +
+ + + +
Index: lams2/lams_tool_bbb/web/META-INF/MANIFEST.MF =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/META-INF/MANIFEST.MF,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/META-INF/MANIFEST.MF 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,5 @@ +Implementation-Title: LAMS - Bbb Tool +Implementation-Version: 2.1 +Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: + Index: lams2/lams_tool_bbb/web/WEB-INF/lams.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/lams.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/lams.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,513 @@ + + + + + 1.0 + lams + + LAMSTags + + + + + Output the basic URL for the current webapp. e.g. http://server/lams/tool/nb11/ + Base URL for the current web app + + + WebAppURL + org.lamsfoundation.lams.web.tag.WebAppURLTag + empty + + + + + Output a random number for the learner and passon flash movies to communicate directly. + generate unique ID + + + generateID + org.lamsfoundation.lams.web.tag.GenerateIDTag + empty + + + Output a random number for the learner and passon flash movies to communicate directly. + id + false + + true + + + + + + + Get the configuration value for the specified key + Configuration value + + + Configuration + org.lamsfoundation.lams.web.tag.ConfigurationTag + empty + + + Get the configuration value for the specified key + key + false + + true + + + + + + + Output the Server URL as defined in the lams.xml configuration file. + LAMS URL + + + LAMSURL + org.lamsfoundation.lams.web.tag.LAMSURLTag + empty + + + + + Render html tag with direction and language + Render html tag with direction and language + + + html + org.lamsfoundation.lams.web.tag.HtmlTag + JSP + + + Render html tag with direction and language + xhtml + false + + true + + + + + + + Converts text from \n or \r\n to <BR> before rendering + Converts text from \n or \r\n to <BR> before rendering + + + out + org.lamsfoundation.lams.web.tag.MultiLinesOutputTag + empty + + + Converts text from \n or \r\n to <BR> before rendering + value + true + + true + + + + Converts text from \n or \r\n to <BR> before rendering + escapeHtml + false + + true + + + + + + + Help tag + Help tag + + + help + org.lamsfoundation.lams.web.tag.HelpTag + empty + + + Help tag + module + false + + true + + + + Help tag + toolSignature + false + + true + + + + Help tag + page + false + + true + + + + Help tag + style + false + + true + + + + + + + Converts role name into form usable as message resources key + Converts role name into form usable as message resources key + + + role + org.lamsfoundation.lams.web.tag.RoleTag + empty + + + Converts role name into form usable as message resources key + role + true + + true + + + + + + + Output stylesheet based on the user preferences. + User's chosen stylesheet + + + css + org.lamsfoundation.lams.web.tag.CssTag + empty + + + Output stylesheet based on the user preferences. + localLinkPath + false + + true + + + + Output stylesheet based on the user preferences. + style + false + + true + + + + + + + Output details from the shared session UserDTO object + user details + + + user + org.lamsfoundation.lams.web.tag.UserTag + empty + + + Output details from the shared session UserDTO object + property + true + + true + + + + + + + STRUTS-textarea + org.lamsfoundation.lams.web.tag.MultiLinesTextareaTag + empty + + accesskey + false + true + + + alt + false + true + + + altKey + false + true + + + bundle + false + true + + + cols + false + true + + + disabled + false + true + + + errorKey + false + true + + + errorStyle + false + true + + + errorStyleClass + false + true + + + errorStyleId + false + true + + + index + false + true + + + indexed + false + true + + + name + false + true + + + onblur + false + true + + + onchange + false + true + + + onclick + false + true + + + ondblclick + false + true + + + onfocus + false + true + + + onkeydown + false + true + + + onkeypress + false + true + + + onkeyup + false + true + + + onmousedown + false + true + + + onmousemove + false + true + + + onmouseout + false + true + + + onmouseover + false + true + + + onmouseup + false + true + + + property + true + true + + + readonly + false + true + + + rows + false + true + + + style + false + true + + + styleClass + false + true + + + styleId + false + true + + + tabindex + false + true + + + title + false + true + + + titleKey + false + true + + + value + false + true + + + + Tab + /WEB-INF/tags/Tab.tag + + + Tabs + /WEB-INF/tags/Tabs.tag + + + TabBody + /WEB-INF/tags/TabBody.tag + + + TabName + /WEB-INF/tags/TabName.tag + + + FCKEditor + /WEB-INF/tags/FCKEditor.tag + + + AuthoringButton + /WEB-INF/tags/AuthoringButton.tag + + + headItems + /WEB-INF/tags/headItems.tag + + + Passon + /WEB-INF/tags/Passon.tag + + + ExportPortOutput + /WEB-INF/tags/ExportPortOutput.tag + + + Date + /WEB-INF/tags/Date.tag + + + DefineLater + /WEB-INF/tags/DefineLater.tag + + + ImgButtonWrapper + /WEB-INF/tags/ImgButtonWrapper.tag + + + textarea + org.lamsfoundation.lams.web.tag.LAMSMultiLinesTextareaTag + JSP + true + + Render text exactly same as original input, which even won't escape the input HTML tag. + + + + + name + true + true + + + + + id + false + true + + + + + onchange + false + true + + + + head + /WEB-INF/tags/Head.tag + + + ProgressOutput + /WEB-INF/tags/ProgressOutput.tag + + + LearnerFlashEnabled + /WEB-INF/tags/LearnerFlashEnabled.tag + + + Index: lams2/lams_tool_bbb/web/WEB-INF/web.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/web.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/web.xml 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,339 @@ + + + + + + + javax.servlet.jsp.jstl.fmt.localizationContext + org.lamsfoundation.lams.tool.bbb.ApplicationResources + + + + contextConfigLocation + classpath:/org/lamsfoundation/lams/tool/bbb/dbupdates/autopatchContext.xml + + + locatorFactorySelector + classpath*:/org/lamsfoundation/lams/**/beanRefContext.xml + + + parentContextKey + context.central + + + + SystemSessionFilter + + org.lamsfoundation.lams.web.session.SystemSessionFilter + + + + hibernateFilter + + org.lamsfoundation.lams.util.CustomizedOpenSessionInViewFilter + + + sessionFactoryBeanName + coreSessionFactory + + + + LocaleFilter + + org.lamsfoundation.lams.web.filter.LocaleFilter + + + + + SystemSessionFilter + /* + + + hibernateFilter + /* + + + LocaleFilter + /* + + + + + org.springframework.web.context.ContextLoaderListener + + + + + org.lamsfoundation.lams.web.session.SetMaxTimeoutListener + + + + + action + org.apache.struts.action.ActionServlet + + config + /WEB-INF/struts/struts-config.xml + + + debug + 999 + + + detail + 2 + + + validate + true + + 1 + + + + + + Connector + net.fckeditor.connector.ConnectorServlet + + baseDir + /UserFiles/ + + + debug + false + + 1 + + + + + Attachment Download + Attachment Download + download + org.lamsfoundation.lams.contentrepository.client.ToolDownload + + toolContentHandlerBeanName + bbbToolContentHandler + + 3 + + + + exportPortfolio + org.lamsfoundation.lams.tool.bbb.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: lams2/lams_tool_bbb/web/WEB-INF/fckeditor/tlds/FCKeditor.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/fckeditor/tlds/FCKeditor.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/fckeditor/tlds/FCKeditor.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,129 @@ + + + + The FCKeditor Tag Library offers a very convenient way to create + several FCKeditor instances with different configurations. + Additionally, you can check for user-based capabilities. + + FCKeditor Tag Library + 2.4 + FCK + http://java.fckeditor.net + + + Creates a FCKeditor instance with the given parameters. Any + parameter except instanceName which is empty or contains + whitespaces only will be ignored. + + editor + editor + net.fckeditor.tags.EditorTag + JSP + + + The unique instance name under which the editor can be + retrieved through the API. + + instanceName + true + true + java.lang.String + + + + Width of the FCKeditor instance in the browser window. + + width + true + java.lang.String + + + + Height of the FCKeditor instance in the browser window. + + height + true + java.lang.String + + + + The toolbar set which shall be displayed to the user. + + toolbarSet + true + java.lang.String + + + + The path/folder in which the editor is deployed under + the given context. The context path will be attached + automatically. (e.g. '/fckeditor') + + basePath + true + java.lang.String + + + + Passes any content to the FCKeditor document. Use the + jsp:attribute tag for large inline content. \r, \n, and + \t will be truncated. + + value + true + java.lang.String + + ]]> + + + + + Sets a config property of the editor to the supplied value. + You may provide any attribute you want for the editor. Set + at least one attribute per tag or several attributes with + one tag. This tag can only be nested within an editor tag. + For all configuration options click + here]]>. + + config + config + net.fckeditor.tags.ConfigTag + empty + true + + ]]> + + + + + Displays session-dependent and compatibility-related + information. This tag is intended for developers only. + Response messages cannot be localized, they are English + only. + + check + check + net.fckeditor.tags.CheckTag + empty + + + Provide the feature name you want to check. Valid + features are [FileUpload, FileBrowsing, + CompatibleBrowser] + + command + true + java.lang.String + + +]]> + + + \ No newline at end of file Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/c.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/c.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/c.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,563 @@ + + + + + JSTL 1.1 core library + JSTL core + 1.1 + c + http://java.sun.com/jsp/jstl/core + + + + Provides core validation features for JSTL tags. + + + org.apache.taglibs.standard.tlv.JstlCoreTLV + + + + + + Catches any Throwable that occurs in its body and optionally + exposes it. + + catch + org.apache.taglibs.standard.tag.common.core.CatchTag + JSP + + +Name of the exported scoped variable for the +exception thrown from a nested action. The type of the +scoped variable is the type of the exception thrown. + + var + false + false + + + + + + Simple conditional tag that establishes a context for + mutually exclusive conditional operations, marked by + <when> and <otherwise> + + choose + org.apache.taglibs.standard.tag.common.core.ChooseTag + JSP + + + + + Simple conditional tag, which evalutes its body if the + supplied condition is true and optionally exposes a Boolean + scripting variable representing the evaluation of this condition + + if + org.apache.taglibs.standard.tag.rt.core.IfTag + JSP + + +The test condition that determines whether or +not the body content should be processed. + + test + true + true + boolean + + + +Name of the exported scoped variable for the +resulting value of the test condition. The type +of the scoped variable is Boolean. + + var + false + false + + + +Scope for var. + + scope + false + false + + + + + + Retrieves an absolute or relative URL and exposes its contents + to either the page, a String in 'var', or a Reader in 'varReader'. + + import + org.apache.taglibs.standard.tag.rt.core.ImportTag + org.apache.taglibs.standard.tei.ImportTEI + JSP + + +The URL of the resource to import. + + url + true + true + + + +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is String. + + var + false + false + + + +Scope for var. + + scope + false + false + + + +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is Reader. + + varReader + false + false + + + +Name of the context when accessing a relative +URL resource that belongs to a foreign +context. + + context + false + true + + + +Character encoding of the content at the input +resource. + + charEncoding + false + true + + + + + + The basic iteration tag, accepting many different + collection types and supporting subsetting and other + functionality + + forEach + org.apache.taglibs.standard.tag.rt.core.ForEachTag + org.apache.taglibs.standard.tei.ForEachTEI + JSP + + +Collection of items to iterate over. + + items + false + true + java.lang.Object + + + +If items specified: +Iteration begins at the item located at the +specified index. First item of the collection has +index 0. +If items not specified: +Iteration begins with index set at the value +specified. + + begin + false + true + int + + + +If items specified: +Iteration ends at the item located at the +specified index (inclusive). +If items not specified: +Iteration ends when index reaches the value +specified. + + end + false + true + int + + + +Iteration will only process every step items of +the collection, starting with the first one. + + step + false + true + int + + + +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. Its type depends +on the object of the underlying collection. + + var + false + false + + + +Name of the exported scoped variable for the +status of the iteration. Object exported is of type +javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested +visibility. + + varStatus + false + false + + + + + + Iterates over tokens, separated by the supplied delimeters + + forTokens + org.apache.taglibs.standard.tag.rt.core.ForTokensTag + JSP + + +String of tokens to iterate over. + + items + true + true + java.lang.String + + + +The set of delimiters (the characters that +separate the tokens in the string). + + delims + true + true + java.lang.String + + + +Iteration begins at the token located at the +specified index. First token has index 0. + + begin + false + true + int + + + +Iteration ends at the token located at the +specified index (inclusive). + + end + false + true + int + + + +Iteration will only process every step tokens +of the string, starting with the first one. + + step + false + true + int + + + +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. + + var + false + false + + + +Name of the exported scoped variable for the +status of the iteration. Object exported is of +type +javax.servlet.jsp.jstl.core.LoopTag +Status. This scoped variable has nested +visibility. + + varStatus + false + false + + + + + + Like <%= ... >, but for expressions. + + out + org.apache.taglibs.standard.tag.rt.core.OutTag + JSP + + +Expression to be evaluated. + + value + true + true + + + +Default value if the resulting value is null. + + default + false + true + + + +Determines whether characters <,>,&,'," in the +resulting string should be converted to their +corresponding character entity codes. Default value is +true. + + escapeXml + false + true + + + + + + + Subtag of <choose> that follows <when> tags + and runs only if all of the prior conditions evaluated to + 'false' + + otherwise + org.apache.taglibs.standard.tag.common.core.OtherwiseTag + JSP + + + + + Adds a parameter to a containing 'import' tag's URL. + + param + org.apache.taglibs.standard.tag.rt.core.ParamTag + JSP + + +Name of the query string parameter. + + name + true + true + + + +Value of the parameter. + + value + false + true + + + + + + Redirects to a new URL. + + redirect + org.apache.taglibs.standard.tag.rt.core.RedirectTag + JSP + + +The URL of the resource to redirect to. + + url + false + true + + + +Name of the context when redirecting to a relative URL +resource that belongs to a foreign context. + + context + false + true + + + + + + Removes a scoped variable (from a particular scope, if specified). + + remove + org.apache.taglibs.standard.tag.common.core.RemoveTag + empty + + +Name of the scoped variable to be removed. + + var + true + false + + + +Scope for var. + + scope + false + false + + + + + + Sets the result of an expression evaluation in a 'scope' + + set + org.apache.taglibs.standard.tag.rt.core.SetTag + JSP + + +Name of the exported scoped variable to hold the value +specified in the action. The type of the scoped variable is +whatever type the value expression evaluates to. + + var + false + false + + + +Expression to be evaluated. + + value + false + true + + + +Target object whose property will be set. Must evaluate to +a JavaBeans object with setter property property, or to a +java.util.Map object. + + target + false + true + + + +Name of the property to be set in the target object. + + property + false + true + + + +Scope for var. + + scope + false + false + + + + + + Creates a URL with optional query parameters. + + url + org.apache.taglibs.standard.tag.rt.core.UrlTag + JSP + + +Name of the exported scoped variable for the +processed url. The type of the scoped variable is +String. + + var + false + false + + + +Scope for var. + + scope + false + false + + + +URL to be processed. + + value + false + true + + + +Name of the context when specifying a relative URL +resource that belongs to a foreign context. + + context + false + true + + + + + + Subtag of <choose> that includes its body if its + condition evalutes to 'true' + + when + org.apache.taglibs.standard.tag.rt.core.WhenTag + JSP + + +The test condition that determines whether or not the +body content should be processed. + + test + true + true + boolean + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fmt.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fmt.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fmt.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,671 @@ + + + + + JSTL 1.1 i18n-capable formatting library + JSTL fmt + 1.1 + fmt + http://java.sun.com/jsp/jstl/fmt + + + + Provides core validation features for JSTL tags. + + + org.apache.taglibs.standard.tlv.JstlFmtTLV + + + + + + Sets the request character encoding + + requestEncoding + org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag + empty + + +Name of character encoding to be applied when +decoding request parameters. + + value + false + true + + + + + + Stores the given locale in the locale configuration variable + + setLocale + org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag + empty + + +A String value is interpreted as the +printable representation of a locale, which +must contain a two-letter (lower-case) +language code (as defined by ISO-639), +and may contain a two-letter (upper-case) +country code (as defined by ISO-3166). +Language and country codes must be +separated by hyphen (-) or underscore +(_). + + value + true + true + + + +Vendor- or browser-specific variant. +See the java.util.Locale javadocs for +more information on variants. + + variant + false + true + + + +Scope of the locale configuration variable. + + scope + false + false + + + + + + Specifies the time zone for any time formatting or parsing actions + nested in its body + + timeZone + org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag + JSP + + +The time zone. A String value is interpreted as +a time zone ID. This may be one of the time zone +IDs supported by the Java platform (such as +"America/Los_Angeles") or a custom time zone +ID (such as "GMT-8"). See +java.util.TimeZone for more information on +supported time zone formats. + + value + true + true + + + + + + Stores the given time zone in the time zone configuration variable + + setTimeZone + org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag + empty + + +The time zone. A String value is interpreted as +a time zone ID. This may be one of the time zone +IDs supported by the Java platform (such as +"America/Los_Angeles") or a custom time zone +ID (such as "GMT-8"). See java.util.TimeZone for +more information on supported time zone +formats. + + value + true + true + + + +Name of the exported scoped variable which +stores the time zone of type +java.util.TimeZone. + + var + false + false + + + +Scope of var or the time zone configuration +variable. + + scope + false + false + + + + + + Loads a resource bundle to be used by its tag body + + bundle + org.apache.taglibs.standard.tag.rt.fmt.BundleTag + JSP + + +Resource bundle base name. This is the bundle's +fully-qualified resource name, which has the same +form as a fully-qualified class name, that is, it uses +"." as the package component separator and does not +have any file type (such as ".class" or ".properties") +suffix. + + basename + true + true + + + +Prefix to be prepended to the value of the message +key of any nested <fmt:message> action. + + prefix + false + true + + + + + + Loads a resource bundle and stores it in the named scoped variable or + the bundle configuration variable + + setBundle + org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag + empty + + +Resource bundle base name. This is the bundle's +fully-qualified resource name, which has the same +form as a fully-qualified class name, that is, it uses +"." as the package component separator and does not +have any file type (such as ".class" or ".properties") +suffix. + + basename + true + true + + + +Name of the exported scoped variable which stores +the i18n localization context of type +javax.servlet.jsp.jstl.fmt.LocalizationC +ontext. + + var + false + false + + + +Scope of var or the localization context +configuration variable. + + scope + false + false + + + + + + Maps key to localized message and performs parametric replacement + + message + org.apache.taglibs.standard.tag.rt.fmt.MessageTag + JSP + + +Message key to be looked up. + + key + false + true + + + +Localization context in whose resource +bundle the message key is looked up. + + bundle + false + true + + + +Name of the exported scoped variable +which stores the localized message. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Supplies an argument for parametric replacement to a containing + <message> tag + + param + org.apache.taglibs.standard.tag.rt.fmt.ParamTag + JSP + + +Argument used for parametric replacement. + + value + false + true + + + + + + Formats a numeric value as a number, currency, or percentage + + formatNumber + org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag + JSP + + +Numeric value to be formatted. + + value + false + true + + + +Specifies whether the value is to be +formatted as number, currency, or +percentage. + + type + false + true + + + +Custom formatting pattern. + + pattern + false + true + + + +ISO 4217 currency code. Applied only +when formatting currencies (i.e. if type is +equal to "currency"); ignored otherwise. + + currencyCode + false + true + + + +Currency symbol. Applied only when +formatting currencies (i.e. if type is equal +to "currency"); ignored otherwise. + + currencySymbol + false + true + + + +Specifies whether the formatted output +will contain any grouping separators. + + groupingUsed + false + true + + + +Maximum number of digits in the integer +portion of the formatted output. + + maxIntegerDigits + false + true + + + +Minimum number of digits in the integer +portion of the formatted output. + + minIntegerDigits + false + true + + + +Maximum number of digits in the +fractional portion of the formatted output. + + maxFractionDigits + false + true + + + +Minimum number of digits in the +fractional portion of the formatted output. + + minFractionDigits + false + true + + + +Name of the exported scoped variable +which stores the formatted result as a +String. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Parses the string representation of a number, currency, or percentage + + parseNumber + org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag + JSP + + +String to be parsed. + + value + false + true + + + +Specifies whether the string in the value +attribute should be parsed as a number, +currency, or percentage. + + type + false + true + + + +Custom formatting pattern that determines +how the string in the value attribute is to be +parsed. + + pattern + false + true + + + +Locale whose default formatting pattern (for +numbers, currencies, or percentages, +respectively) is to be used during the parse +operation, or to which the pattern specified +via the pattern attribute (if present) is +applied. + + parseLocale + false + true + + + +Specifies whether just the integer portion of +the given value should be parsed. + + integerOnly + false + true + + + +Name of the exported scoped variable which +stores the parsed result (of type +java.lang.Number). + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Formats a date and/or time using the supplied styles and pattern + + formatDate + org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag + empty + + +Date and/or time to be formatted. + + value + true + true + + + +Specifies whether the time, the date, or both +the time and date components of the given +date are to be formatted. + + type + false + true + + + +Predefined formatting style for dates. Follows +the semantics defined in class +java.text.DateFormat. Applied only +when formatting a date or both a date and +time (i.e. if type is missing or is equal to +"date" or "both"); ignored otherwise. + + dateStyle + false + true + + + +Predefined formatting style for times. Follows +the semantics defined in class +java.text.DateFormat. Applied only +when formatting a time or both a date and +time (i.e. if type is equal to "time" or "both"); +ignored otherwise. + + timeStyle + false + true + + + +Custom formatting style for dates and times. + + pattern + false + true + + + +Time zone in which to represent the formatted +time. + + timeZone + false + true + + + +Name of the exported scoped variable which +stores the formatted result as a String. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + + + Parses the string representation of a date and/or time + + parseDate + org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag + JSP + + +Date string to be parsed. + + value + false + true + + + +Specifies whether the date string in the +value attribute is supposed to contain a +time, a date, or both. + + type + false + true + + + +Predefined formatting style for days +which determines how the date +component of the date string is to be +parsed. Applied only when formatting a +date or both a date and time (i.e. if type +is missing or is equal to "date" or "both"); +ignored otherwise. + + dateStyle + false + true + + + +Predefined formatting styles for times +which determines how the time +component in the date string is to be +parsed. Applied only when formatting a +time or both a date and time (i.e. if type +is equal to "time" or "both"); ignored +otherwise. + + timeStyle + false + true + + + +Custom formatting pattern which +determines how the date string is to be +parsed. + + pattern + false + true + + + +Time zone in which to interpret any time +information in the date string. + + timeZone + false + true + + + +Locale whose predefined formatting styles +for dates and times are to be used during +the parse operation, or to which the +pattern specified via the pattern +attribute (if present) is applied. + + parseLocale + false + true + + + +Name of the exported scoped variable in +which the parsing result (of type +java.util.Date) is stored. + + var + false + false + + + +Scope of var. + + scope + false + false + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fn.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fn.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/fn.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,207 @@ + + + + + JSTL 1.1 functions library + JSTL functions + 1.1 + fn + http://java.sun.com/jsp/jstl/functions + + + + Tests if an input string contains the specified substring. + + contains + org.apache.taglibs.standard.functions.Functions + boolean contains(java.lang.String, java.lang.String) + + <c:if test="${fn:contains(name, searchString)}"> + + + + + + Tests if an input string contains the specified substring in a case insensitive way. + + containsIgnoreCase + org.apache.taglibs.standard.functions.Functions + boolean containsIgnoreCase(java.lang.String, java.lang.String) + + <c:if test="${fn:containsIgnoreCase(name, searchString)}"> + + + + + + Tests if an input string ends with the specified suffix. + + endsWith + org.apache.taglibs.standard.functions.Functions + boolean endsWith(java.lang.String, java.lang.String) + + <c:if test="${fn:endsWith(filename, ".txt")}"> + + + + + + Escapes characters that could be interpreted as XML markup. + + escapeXml + org.apache.taglibs.standard.functions.Functions + java.lang.String escapeXml(java.lang.String) + + ${fn:escapeXml(param:info)} + + + + + + Returns the index withing a string of the first occurrence of a specified substring. + + indexOf + org.apache.taglibs.standard.functions.Functions + int indexOf(java.lang.String, java.lang.String) + + ${fn:indexOf(name, "-")} + + + + + + Joins all elements of an array into a string. + + join + org.apache.taglibs.standard.functions.Functions + java.lang.String join(java.lang.String[], java.lang.String) + + ${fn:join(array, ";")} + + + + + + Returns the number of items in a collection, or the number of characters in a string. + + length + org.apache.taglibs.standard.functions.Functions + int length(java.lang.Object) + + You have ${fn:length(shoppingCart.products)} in your shopping cart. + + + + + + Returns a string resulting from replacing in an input string all occurrences + of a "before" string into an "after" substring. + + replace + org.apache.taglibs.standard.functions.Functions + java.lang.String replace(java.lang.String, java.lang.String, java.lang.String) + + ${fn:replace(text, "-", "•")} + + + + + + Splits a string into an array of substrings. + + split + org.apache.taglibs.standard.functions.Functions + java.lang.String[] split(java.lang.String, java.lang.String) + + ${fn:split(customerNames, ";")} + + + + + + Tests if an input string starts with the specified prefix. + + startsWith + org.apache.taglibs.standard.functions.Functions + boolean startsWith(java.lang.String, java.lang.String) + + <c:if test="${fn:startsWith(product.id, "100-")}"> + + + + + + Returns a subset of a string. + + substring + org.apache.taglibs.standard.functions.Functions + java.lang.String substring(java.lang.String, int, int) + + P.O. Box: ${fn:substring(zip, 6, -1)} + + + + + + Returns a subset of a string following a specific substring. + + substringAfter + org.apache.taglibs.standard.functions.Functions + java.lang.String substringAfter(java.lang.String, java.lang.String) + + P.O. Box: ${fn:substringAfter(zip, "-")} + + + + + + Returns a subset of a string before a specific substring. + + substringBefore + org.apache.taglibs.standard.functions.Functions + java.lang.String substringBefore(java.lang.String, java.lang.String) + + Zip (without P.O. Box): ${fn:substringBefore(zip, "-")} + + + + + + Converts all of the characters of a string to lower case. + + toLowerCase + org.apache.taglibs.standard.functions.Functions + java.lang.String toLowerCase(java.lang.String) + + Product name: ${fn.toLowerCase(product.name)} + + + + + + Converts all of the characters of a string to upper case. + + toUpperCase + org.apache.taglibs.standard.functions.Functions + java.lang.String toUpperCase(java.lang.String) + + Product name: ${fn.UpperCase(product.name)} + + + + + + Removes white spaces from both ends of a string. + + trim + org.apache.taglibs.standard.functions.Functions + java.lang.String trim(java.lang.String) + + Name: ${fn.trim(name)} + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/permittedTaglibs.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/permittedTaglibs.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/permittedTaglibs.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,34 @@ + + + + + Restricts JSP pages to the JSTL tag libraries + + permittedTaglibs + 1.1 + permittedTaglibs + http://jakarta.apache.org/taglibs/standard/permittedTaglibs + + + + javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV + + + + Whitespace-separated list of taglib URIs to permit. This example + TLD for the Standard Taglib allows only JSTL 'el' taglibs to be + imported. + + permittedTaglibs + + http://java.sun.com/jsp/jstl/core + http://java.sun.com/jsp/jstl/fmt + http://java.sun.com/jsp/jstl/sql + http://java.sun.com/jsp/jstl/xml + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/scriptfree.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/scriptfree.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/scriptfree.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,51 @@ + + + + + Validates JSP pages to prohibit use of scripting elements. + + 1.1 + scriptfree + http://jakarta.apache.org/taglibs/standard/scriptfree + + + + Validates prohibitions against scripting elements. + + + javax.servlet.jsp.jstl.tlv.ScriptFreeTLV + + + + Controls whether or not declarations are considered valid. + + allowDeclarations + false + + + + Controls whether or not scriptlets are considered valid. + + allowScriptlets + false + + + + Controls whether or not top-level expressions are considered valid. + + allowExpressions + false + + + + Controls whether or not expressions used to supply request-time + attribute values are considered valid. + + allowRTExpressions + false + + + Index: lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/x.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/x.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/jstl/tlds/x.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,448 @@ + + + + + JSTL 1.1 XML library + JSTL XML + 1.1 + x + http://java.sun.com/jsp/jstl/xml + + + + Provides validation features for JSTL XML tags. + + + org.apache.taglibs.standard.tlv.JstlXmlTLV + + + + + + Simple conditional tag that establishes a context for + mutually exclusive conditional operations, marked by + <when> and <otherwise> + + choose + org.apache.taglibs.standard.tag.common.core.ChooseTag + JSP + + + + + Like <%= ... >, but for XPath expressions. + + out + org.apache.taglibs.standard.tag.rt.xml.ExprTag + empty + + +XPath expression to be evaluated. + + select + true + false + + + +Determines whether characters <,>,&,'," in the +resulting string should be converted to their +corresponding character entity codes. Default +value is true. + + escapeXml + false + true + + + + + + XML conditional tag, which evalutes its body if the + supplied XPath expression evalutes to 'true' as a boolean + + if + org.apache.taglibs.standard.tag.common.xml.IfTag + JSP + + +The test condition that tells whether or not the +body content should be processed. + + select + true + false + + + +Name of the exported scoped variable for the +resulting value of the test condition. The type +of the scoped variable is Boolean. + + var + false + false + + + +Scope for var. + + scope + false + false + + + + + + XML iteration tag. + + forEach + org.apache.taglibs.standard.tag.common.xml.ForEachTag + JSP + + +Name of the exported scoped variable for the +current item of the iteration. This scoped variable +has nested visibility. Its type depends on the +result of the XPath expression in the select +attribute. + + var + false + false + + + +XPath expression to be evaluated. + + select + true + false + + + +Iteration begins at the item located at the +specified index. First item of the collection has +index 0. + + begin + false + true + int + + + +Iteration ends at the item located at the specified +index (inclusive). + + end + false + true + int + + + +Iteration will only process every step items of +the collection, starting with the first one. + + step + false + true + int + + + +Name of the exported scoped variable for the +status of the iteration. Object exported is of type +javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility. + + varStatus + false + false + + + + + + Subtag of <choose> that follows <when> tags + and runs only if all of the prior conditions evaluated to + 'false' + + otherwise + org.apache.taglibs.standard.tag.common.core.OtherwiseTag + JSP + + + + + Adds a parameter to a containing 'transform' tag's Transformer + + param + org.apache.taglibs.standard.tag.rt.xml.ParamTag + JSP + + +Name of the transformation parameter. + + name + true + true + + + +Value of the parameter. + + value + false + true + + + + + + Parses XML content from 'source' attribute or 'body' + + parse + org.apache.taglibs.standard.tag.rt.xml.ParseTag + org.apache.taglibs.standard.tei.XmlParseTEI + JSP + + +Name of the exported scoped variable for +the parsed XML document. The type of the +scoped variable is implementation +dependent. + + var + false + false + + + +Name of the exported scoped variable for +the parsed XML document. The type of the +scoped variable is +org.w3c.dom.Document. + + varDom + false + false + + + +Scope for var. + + scope + false + false + + + +Scope for varDom. + + scopeDom + false + false + + + +Deprecated. Use attribute 'doc' instead. + + xml + false + true + + + +Source XML document to be parsed. + + doc + false + true + + + +The system identifier (URI) for parsing the +XML document. + + systemId + false + true + + + +Filter to be applied to the source +document. + + filter + false + true + + + + + + Saves the result of an XPath expression evaluation in a 'scope' + + set + org.apache.taglibs.standard.tag.common.xml.SetTag + empty + + +Name of the exported scoped variable to hold +the value specified in the action. The type of the +scoped variable is whatever type the select +expression evaluates to. + + var + true + false + + + +XPath expression to be evaluated. + + select + false + false + + + +Scope for var. + + scope + false + false + + + + + + Conducts a transformation given a source XML document + and an XSLT stylesheet + + transform + org.apache.taglibs.standard.tag.rt.xml.TransformTag + org.apache.taglibs.standard.tei.XmlTransformTEI + JSP + + +Name of the exported +scoped variable for the +transformed XML +document. The type of the +scoped variable is +org.w3c.dom.Document. + + var + false + false + + + +Scope for var. + + scope + false + false + + + +Result +Object that captures or +processes the transformation +result. + + result + false + true + + + +Deprecated. Use attribute +'doc' instead. + + xml + false + true + + + +Source XML document to be +transformed. (If exported by +<x:set>, it must correspond +to a well-formed XML +document, not a partial +document.) + + doc + false + true + + + +Deprecated. Use attribute +'docSystemId' instead. + + xmlSystemId + false + true + + + +The system identifier (URI) +for parsing the XML +document. + + docSystemId + false + true + + + +javax.xml.transform.Source +Transformation stylesheet as +a String, Reader, or +Source object. + + xslt + false + true + + + +The system identifier (URI) +for parsing the XSLT +stylesheet. + + xsltSystemId + false + true + + + + + + Subtag of <choose> that includes its body if its + expression evalutes to 'true' + + when + org.apache.taglibs.standard.tag.common.xml.WhenTag + JSP + + +The test condition that tells whether or +not the body content should be +processed + + select + true + false + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/struts-config.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/struts-config.xml 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tiles-defs.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tiles-defs.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tiles-defs.xml 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/validator-rules.xml =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/validator-rules.xml,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/validator-rules.xml 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-bean.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-bean.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-bean.tld 29 Apr 2011 05:14:52 -0000 1.1 @@ -0,0 +1,382 @@ + + + + + + + + + + +1.2 +1.1 +bean +http://struts.apache.org/tags-bean + +cookie +org.apache.struts.taglib.bean.CookieTag +org.apache.struts.taglib.bean.CookieTei +empty + +id +true +false + + +multiple +false +true + + +name +true +true + + +value +false +true + + + +define +org.apache.struts.taglib.bean.DefineTag +org.apache.struts.taglib.bean.DefineTei +JSP + +id +true +false + + +name +false +true + + +property +false +true + + +scope +false +true + + +toScope +false +true + + +type +false +true + + +value +false +true + + + +header +org.apache.struts.taglib.bean.HeaderTag +org.apache.struts.taglib.bean.HeaderTei +empty + +id +true +false + + +multiple +false +true + + +name +true +true + + +value +false +true + + + +include +org.apache.struts.taglib.bean.IncludeTag +org.apache.struts.taglib.bean.IncludeTei +empty + +anchor +false +true + + +forward +false +true + + +href +false +true + + +id +true +false + + +name +false +true + + +page +false +true + + +transaction +false +true + + + +message +org.apache.struts.taglib.bean.MessageTag +empty + +arg0 +false +true + + +arg1 +false +true + + +arg2 +false +true + + +arg3 +false +true + + +arg4 +false +true + + +bundle +false +true + + +key +false +true + + +locale +false +true + + +name +false +true + + +property +false +true + + +scope +false +true + + + +page +org.apache.struts.taglib.bean.PageTag +org.apache.struts.taglib.bean.PageTei +empty + +id +true +false + + +property +true +true + + + +parameter +org.apache.struts.taglib.bean.ParameterTag +org.apache.struts.taglib.bean.ParameterTei +empty + +id +true +false + + +multiple +false +true + + +name +true +true + + +value +false +true + + + +resource +org.apache.struts.taglib.bean.ResourceTag +org.apache.struts.taglib.bean.ResourceTei +empty + +id +true +false + + +input +false +true + + +name +true +true + + + +size +org.apache.struts.taglib.bean.SizeTag +org.apache.struts.taglib.bean.SizeTei +empty + +collection +false +true + + +id +true +false + + +name +false +true + + +property +false +true + + +scope +false +true + + + +struts +org.apache.struts.taglib.bean.StrutsTag +org.apache.struts.taglib.bean.StrutsTei +empty + +id +true +false + + +formBean +false +true + + +forward +false +true + + +mapping +false +true + + + +write +org.apache.struts.taglib.bean.WriteTag +empty + +bundle +false +true + + +filter +false +true + + +format +false +true + + +formatKey +false +true + + +ignore +false +true + + +locale +false +true + + +name +true +true + + +property +false +true + + +scope +false +true + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-html.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-html.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-html.tld 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,3302 @@ + + + + + + + + + + +1.2 +1.1 +html +http://struts.apache.org/tags-html + +base +org.apache.struts.taglib.html.BaseTag +empty + +target +false +true + + +server +false +true + + + +button +org.apache.struts.taglib.html.ButtonTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +cancel +org.apache.struts.taglib.html.CancelTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +checkbox +org.apache.struts.taglib.html.CheckboxTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +errors +org.apache.struts.taglib.html.ErrorsTag +empty + +bundle +false +true + + +footer +false +true + + +header +false +true + + +locale +false +true + + +name +false +true + + +prefix +false +true + + +property +false +true + + +suffix +false +true + + + +file +org.apache.struts.taglib.html.FileTag + +accesskey +false +true + + +accept +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +size +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +form +org.apache.struts.taglib.html.FormTag +JSP + +action +true +true + + +acceptCharset +false +true + + +disabled +false +true + + +enctype +false +true + + +focus +false +true + + +focusIndex +false +true + + +method +false +true + + +onreset +false +true + + +onsubmit +false +true + + +readonly +false +true + + +scriptLanguage +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +target +false +true + + + +frame +org.apache.struts.taglib.html.FrameTag + +bundle +false +true + + +action +false +true + + +module +false +true + + +anchor +false +true + + +forward +false +true + + +frameborder +false +true + + +frameName +false +true + + +href +false +true + + +longdesc +false +true + + +marginheight +false +true + + +marginwidth +false +true + + +name +false +true + + +noresize +false +true + + +page +false +true + + +paramId +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +scrolling +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +title +false +true + + +titleKey +false +true + + +transaction +false +true + + + +hidden +org.apache.struts.taglib.html.HiddenTag +empty + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + +write +false +true + + + +html +org.apache.struts.taglib.html.HtmlTag +JSP + +lang +false +true + + +locale +false +true + + +xhtml +false +true + + + +image +org.apache.struts.taglib.html.ImageTag + +accesskey +false +true + + +align +false +true + + +alt +false +true + + +altKey +false +true + + +border +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +locale +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +page +false +true + + +pageKey +false +true + + +property +false +true + + +src +false +true + + +srcKey +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +img +org.apache.struts.taglib.html.ImgTag +empty + +align +false +true + + +alt +false +true + + +altKey +false +true + + +border +false +true + + +bundle +false +true + + +contextRelative +false +true + + +height +false +true + + +hspace +false +true + + +imageName +false +true + + +ismap +false +true + + +locale +false +true + + +lowsrc +false +true + + +name +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +paramId +false +true + + +page +false +true + + +pageKey +false +true + + +action +false +true + + +module +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +src +false +true + + +srcKey +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +title +false +true + + +titleKey +false +true + + +useLocalEncoding +false +true + + +usemap +false +true + + +vspace +false +true + + +width +false +true + + + +javascript +org.apache.struts.taglib.html.JavascriptValidatorTag +empty + +cdata +false +true + + +dynamicJavascript +false +false + + +formName +false +true + + +method +false +true + + +page +false +true + + +scriptLanguage +false +true + + +src +false +true + + +staticJavascript +false +false + + +htmlComment +false +true + + +bundle +false +true + + + +link +org.apache.struts.taglib.html.LinkTag + +accesskey +false +true + + +action +false +true + + +module +false +true + + +anchor +false +true + + +forward +false +true + + +href +false +true + + +indexed +false +true + + +indexId +false +true + + +bundle +false +true + + +linkName +false +true + + +name +false +true + + +onblur +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +page +false +true + + +paramId +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +target +false +true + + +title +false +true + + +titleKey +false +true + + +transaction +false +true + + +useLocalEncoding +false +true + + + +messages +org.apache.struts.taglib.html.MessagesTag +org.apache.struts.taglib.html.MessagesTei +JSP + +id +true +false + + +bundle +false +true + + +locale +false +true + + +name +false +true + + +property +false +true + + +header +false +true + + +footer +false +true + + +message +false +true + + + +multibox +org.apache.struts.taglib.html.MultiboxTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +option +org.apache.struts.taglib.html.OptionTag + +bundle +false +true + + +disabled +false +true + + +key +false +true + + +locale +false +true + + +style +false +true + + +styleId +false +true + + +styleClass +false +true + + +value +true +true + + + +options +org.apache.struts.taglib.html.OptionsTag +empty + +collection +false +true + + +filter +false +true + + +labelName +false +true + + +labelProperty +false +true + + +name +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + + +optionsCollection +org.apache.struts.taglib.html.OptionsCollectionTag +empty + +filter +false +true + + +label +false +true + + +name +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + +value +false +true + + + +password +org.apache.struts.taglib.html.PasswordTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +redisplay +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +size +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +radio +org.apache.struts.taglib.html.RadioTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +property +true +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +true +true + + +idName +false +true + + + +reset +org.apache.struts.taglib.html.ResetTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +rewrite +org.apache.struts.taglib.html.RewriteTag +empty + +action +false +true + + +module +false +true + + +anchor +false +true + + +forward +false +true + + +href +false +true + + +name +false +true + + +page +false +true + + +paramId +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +transaction +false +true + + +useLocalEncoding +false +true + + + +select +org.apache.struts.taglib.html.SelectTag +JSP + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +multiple +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +size +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +submit +org.apache.struts.taglib.html.SubmitTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +text +org.apache.struts.taglib.html.TextTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +size +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +textarea +org.apache.struts.taglib.html.TextareaTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +cols +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +rows +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +xhtml +org.apache.struts.taglib.html.XhtmlTag +empty + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-logic.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-logic.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-logic.tld 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,652 @@ + + + + + + + + + +1.2 +1.1 +logic +http://struts.apache.org/tags-logic + +empty +org.apache.struts.taglib.logic.EmptyTag +JSP + +name +false +true + + +property +false +true + + +scope +false +true + + + +equal +org.apache.struts.taglib.logic.EqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +forward +org.apache.struts.taglib.logic.ForwardTag +empty + +name +true +true + + + +greaterEqual +org.apache.struts.taglib.logic.GreaterEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +greaterThan +org.apache.struts.taglib.logic.GreaterThanTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +iterate +org.apache.struts.taglib.logic.IterateTag +org.apache.struts.taglib.logic.IterateTei +JSP + +collection +false +true + + +id +true +false + + +indexId +false +false + + +length +false +true + + +name +false +true + + +offset +false +true + + +property +false +true + + +scope +false +true + + +type +false +true + + + +lessEqual +org.apache.struts.taglib.logic.LessEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +lessThan +org.apache.struts.taglib.logic.LessThanTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +match +org.apache.struts.taglib.logic.MatchTag +JSP + +cookie +false +true + + +header +false +true + + +location +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +messagesNotPresent +org.apache.struts.taglib.logic.MessagesNotPresentTag +JSP + +name +false +true + + +property +false +true + + +message +false +true + + + +messagesPresent +org.apache.struts.taglib.logic.MessagesPresentTag +JSP + +name +false +true + + +property +false +true + + +message +false +true + + + +notEmpty +org.apache.struts.taglib.logic.NotEmptyTag +JSP + +name +false +true + + +property +false +true + + +scope +false +true + + + +notEqual +org.apache.struts.taglib.logic.NotEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +notMatch +org.apache.struts.taglib.logic.NotMatchTag +JSP + +cookie +false +true + + +header +false +true + + +location +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +notPresent +org.apache.struts.taglib.logic.NotPresentTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +role +false +true + + +scope +false +true + + +user +false +true + + + +present +org.apache.struts.taglib.logic.PresentTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +role +false +true + + +scope +false +true + + +user +false +true + + + +redirect +org.apache.struts.taglib.logic.RedirectTag + +action +false +true + + +anchor +false +true + + +forward +false +true + + +href +false +true + + +name +false +true + + +page +false +true + + +paramId +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +transaction +false +true + + +useLocalEncoding +false +true + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-nested.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-nested.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-nested.tld 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,3171 @@ + + + + + + + + + +1.2 +1.1 +nested +http://struts.apache.org/tags-nested + +nest +org.apache.struts.taglib.nested.NestedPropertyTag +JSP + +property +false +true + + + +writeNesting +org.apache.struts.taglib.nested.NestedWriteNestingTag +org.apache.struts.taglib.nested.NestedWriteNestingTei +JSP + +property +false +true + + +id +false +true + + +filter +false +true + + + +root +org.apache.struts.taglib.nested.NestedRootTag +JSP + +name +false +true + + + +define +org.apache.struts.taglib.nested.bean.NestedDefineTag +org.apache.struts.taglib.nested.bean.NestedDefineTei +empty + +id +true +true + + +name +false +true + + +property +false +true + + +scope +false +true + + +toScope +false +true + + +type +false +true + + +value +false +true + + + +message +org.apache.struts.taglib.nested.bean.NestedMessageTag +empty + +arg0 +false +true + + +arg1 +false +true + + +arg2 +false +true + + +arg3 +false +true + + +arg4 +false +true + + +bundle +false +true + + +key +false +true + + +locale +false +true + + +name +false +true + + +property +false +true + + +scope +false +true + + + +size +org.apache.struts.taglib.nested.bean.NestedSizeTag +org.apache.struts.taglib.bean.SizeTei +empty + +collection +false +true + + +id +true +true + + +name +false +true + + +property +false +true + + +scope +false +true + + + +write +org.apache.struts.taglib.nested.bean.NestedWriteTag +empty + +bundle +false +true + + +filter +false +true + + +format +false +true + + +formatKey +false +true + + +ignore +false +true + + +locale +false +true + + +name +false +true + + +property +false +true + + +scope +false +true + + + +checkbox +org.apache.struts.taglib.nested.html.NestedCheckboxTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +errors +org.apache.struts.taglib.nested.html.NestedErrorsTag +empty + +bundle +false +true + + +footer +false +true + + +header +false +true + + +locale +false +true + + +name +false +true + + +prefix +false +true + + +property +false +true + + +suffix +false +true + + + +file +org.apache.struts.taglib.nested.html.NestedFileTag + +accesskey +false +true + + +accept +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +size +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +form +org.apache.struts.taglib.nested.html.NestedFormTag +JSP + +action +true +true + + +acceptCharset +false +true + + +disabled +false +true + + +enctype +false +true + + +focus +false +true + + +focusIndex +false +true + + +method +false +true + + +onreset +false +true + + +onsubmit +false +true + + +readonly +false +true + + +scriptLanguage +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +target +false +true + + + +hidden +org.apache.struts.taglib.nested.html.NestedHiddenTag + +alt +false +true + + +altKey +false +true + + +indexed +false +true + + +name +false +true + + +property +true +true + + +title +false +true + + +titleKey +false +true + + +styleClass +false +true + + +styleId +false +true + + +value +false +true + + +write +false +true + + + +image +org.apache.struts.taglib.nested.html.NestedImageTag + +accesskey +false +true + + +align +false +true + + +alt +false +true + + +altKey +false +true + + +border +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +locale +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +page +false +true + + +pageKey +false +true + + +property +false +true + + +src +false +true + + +srcKey +false +true + + +style +false +true + + +styleClass +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +img +org.apache.struts.taglib.nested.html.NestedImgTag +empty + +accesskey +false +true + + +align +false +true + + +alt +false +true + + +altKey +false +true + + +border +false +true + + +bundle +false +true + + +height +false +true + + +hspace +false +true + + +imageName +false +true + + +ismap +false +true + + +locale +false +true + + +lowsrc +false +true + + +name +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +paramId +false +true + + +page +false +true + + +pageKey +false +true + + +action +false +true + + +module +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +src +false +true + + +srcKey +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +title +false +true + + +titleKey +false +true + + +useLocalEncoding +false +true + + +usemap +false +true + + +vspace +false +true + + +width +false +true + + + +link +org.apache.struts.taglib.nested.html.NestedLinkTag + +accesskey +false +true + + +action +false +true + + +module +false +true + + +anchor +false +true + + +forward +false +true + + +href +false +true + + +indexed +false +true + + +indexId +false +true + + +bundle +false +true + + +linkName +false +true + + +name +false +true + + +onblur +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +page +false +true + + +paramId +false +true + + +paramName +false +true + + +paramProperty +false +true + + +paramScope +false +true + + +property +false +true + + +scope +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +target +false +true + + +title +false +true + + +titleKey +false +true + + +transaction +false +true + + +useLocalEncoding +false +true + + + +messages +org.apache.struts.taglib.nested.html.NestedMessagesTag +org.apache.struts.taglib.html.MessagesTei +JSP + +id +true +true + + +bundle +false +true + + +locale +false +true + + +name +false +true + + +property +false +true + + +header +false +true + + +footer +false +true + + +message +false +true + + + +multibox +org.apache.struts.taglib.nested.html.NestedMultiboxTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +options +org.apache.struts.taglib.nested.html.NestedOptionsTag +empty + +collection +false +true + + +filter +false +true + + +labelName +false +true + + +labelProperty +false +true + + +name +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + + +optionsCollection +org.apache.struts.taglib.nested.html.NestedOptionsCollectionTag +empty + +filter +false +true + + +label +false +true + + +name +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +value +false +true + + + +password +org.apache.struts.taglib.nested.html.NestedPasswordTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +redisplay +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +size +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +radio +org.apache.struts.taglib.nested.html.NestedRadioTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +property +true +true + + +onmousedown +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +true +true + + +idName +false +true + + + +select +org.apache.struts.taglib.nested.html.NestedSelectTag +JSP + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +multiple +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +size +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +submit +org.apache.struts.taglib.nested.html.NestedSubmitTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +indexed +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +text +org.apache.struts.taglib.nested.html.NestedTextTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +maxlength +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +size +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +textarea +org.apache.struts.taglib.nested.html.NestedTextareaTag + +accesskey +false +true + + +alt +false +true + + +altKey +false +true + + +bundle +false +true + + +cols +false +true + + +disabled +false +true + + +errorKey +false +true + + +errorStyle +false +true + + +errorStyleClass +false +true + + +errorStyleId +false +true + + +indexed +false +true + + +name +false +true + + +onblur +false +true + + +onchange +false +true + + +onclick +false +true + + +ondblclick +false +true + + +onfocus +false +true + + +onkeydown +false +true + + +onkeypress +false +true + + +onkeyup +false +true + + +onmousedown +false +true + + +onmousemove +false +true + + +onmouseout +false +true + + +onmouseover +false +true + + +onmouseup +false +true + + +property +true +true + + +readonly +false +true + + +rows +false +true + + +style +false +true + + +styleClass +false +true + + +styleId +false +true + + +tabindex +false +true + + +title +false +true + + +titleKey +false +true + + +value +false +true + + + +empty +org.apache.struts.taglib.nested.logic.NestedEmptyTag +JSP + +name +false +true + + +property +false +true + + +scope +false +true + + + +equal +org.apache.struts.taglib.nested.logic.NestedEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +greaterEqual +org.apache.struts.taglib.nested.logic.NestedGreaterEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +greaterThan +org.apache.struts.taglib.nested.logic.NestedGreaterThanTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +iterate +org.apache.struts.taglib.nested.logic.NestedIterateTag +org.apache.struts.taglib.nested.logic.NestedIterateTei +JSP + +collection +false +true + + +id +false +true + + +indexId +false +true + + +length +false +true + + +name +false +true + + +offset +false +true + + +property +false +true + + +scope +false +true + + +type +false +true + + + +lessEqual +org.apache.struts.taglib.nested.logic.NestedLessEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +lessThan +org.apache.struts.taglib.nested.logic.NestedLessThanTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +match +org.apache.struts.taglib.nested.logic.NestedMatchTag +JSP + +cookie +false +true + + +header +false +true + + +location +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +messagesNotPresent +org.apache.struts.taglib.nested.logic.NestedMessagesNotPresentTag +JSP + +name +false +true + + +property +false +true + + +message +false +true + + + +messagesPresent +org.apache.struts.taglib.nested.logic.NestedMessagesPresentTag +JSP + +name +false +true + + +property +false +true + + +message +false +true + + + +notEmpty +org.apache.struts.taglib.nested.logic.NestedNotEmptyTag +JSP + +name +false +true + + +property +false +true + + +scope +false +true + + + +notEqual +org.apache.struts.taglib.nested.logic.NestedNotEqualTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +notMatch +org.apache.struts.taglib.nested.logic.NestedNotMatchTag +JSP + +cookie +false +true + + +header +false +true + + +location +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +scope +false +true + + +value +true +true + + + +notPresent +org.apache.struts.taglib.nested.logic.NestedNotPresentTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +role +false +true + + +scope +false +true + + +user +false +true + + + +present +org.apache.struts.taglib.nested.logic.NestedPresentTag +JSP + +cookie +false +true + + +header +false +true + + +name +false +true + + +parameter +false +true + + +property +false +true + + +role +false +true + + +scope +false +true + + +user +false +true + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-tiles.tld =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-tiles.tld,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/struts/tlds/struts-tiles.tld 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,344 @@ + + + + + + + + + + +1.2 +1.1 +tiles +http://struts.apache.org/tags-tiles + +insert +org.apache.struts.taglib.tiles.InsertTag +JSP + +template +false +true + + +component +false +true + + +page +false +true + + +definition +false +true + + +attribute +false +false + + +name +false +true + + +beanName +false +true + + +beanProperty +false +true + + +beanScope +false +false + + +flush +false +false + + +ignore +false +true + + +role +false +true + + +controllerUrl +false +true + + +controllerClass +false +true + + + +definition +org.apache.struts.taglib.tiles.DefinitionTag +JSP + +id +true +false + + +scope +false +false + + +template +false +true + + +page +false +true + + +role +false +true + + +extends +false +true + + + +put +org.apache.struts.taglib.tiles.PutTag +JSP + +name +false +false + + +value +false +true + + +content +false +true + + +direct +false +false + + +type +false +false + + +beanName +false +true + + +beanProperty +false +true + + +beanScope +false +false + + +role +false +true + + + +putList +org.apache.struts.taglib.tiles.PutListTag +JSP + +name +true +false + + + +add +org.apache.struts.taglib.tiles.AddTag +JSP + +value +false +false + + +content +false +true + + +direct +false +false + + +type +false +false + + +beanName +false +true + + +beanProperty +false +true + + +beanScope +false +false + + +role +false +true + + + +get +org.apache.struts.taglib.tiles.GetTag +empty + +name +true +true + + +ignore +false +true + + +flush +false +false + + +role +false +true + + + +getAsString +org.apache.struts.taglib.tiles.GetAttributeTag +empty + +name +true +true + + +ignore +false +true + + +role +false +true + + + +useAttribute +org.apache.struts.taglib.tiles.UseAttributeTag +org.apache.struts.taglib.tiles.UseAttributeTei +empty + +id +false +false + + +classname +false +false + + +scope +false +false + + +name +true +true + + +ignore +false +true + + + +importAttribute +org.apache.struts.taglib.tiles.ImportAttributeTag +empty + +name +false +true + + +scope +false +false + + +ignore +false +true + + + +initComponentDefinitions +org.apache.struts.taglib.tiles.InitDefinitionsTag +empty + +file +true +false + + +classname +false +false + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/tags/AuthoringButton.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/AuthoringButton.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/AuthoringButton.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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 --%> + + + + + + + + + + + + + + + +

+ + + + + + +

+ \ No newline at end of file Index: lams2/lams_tool_bbb/web/WEB-INF/tags/Date.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/Date.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/Date.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/DefineLater.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/DefineLater.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/DefineLater.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/ExportPortOutput.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/ExportPortOutput.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/ExportPortOutput.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/FCKEditor.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/FCKEditor.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/FCKEditor.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,76 @@ +<%@ 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="height" required="false" rtexprvalue="true"%> +<%@ attribute name="width" required="false" rtexprvalue="true"%> +<%@ attribute name="contentFolderID" required="false" rtexprvalue="true"%> +<%@ attribute name="displayExpanded" required="false" rtexprvalue="true"%> + + + + + + + + + + + + + + + + + +/fckeditor/ + + + + +${value} + + + + + + + + Index: lams2/lams_tool_bbb/web/WEB-INF/tags/Head.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/Head.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/Head.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,41 @@ +<%/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License 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: lams2/lams_tool_bbb/web/WEB-INF/tags/ImgButtonWrapper.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/ImgButtonWrapper.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/ImgButtonWrapper.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/LearnerFlashEnabled.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/LearnerFlashEnabled.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/LearnerFlashEnabled.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/Passon.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/Passon.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/Passon.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/ProgressOutput.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/ProgressOutput.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/ProgressOutput.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/Tab.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/Tab.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/Tab.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/TabBody.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/TabBody.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/TabBody.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/TabName.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/TabName.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/TabName.tag 29 Apr 2011 05:14:53 -0000 1.1 @@ -0,0 +1,60 @@ +<%/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License 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: lams2/lams_tool_bbb/web/WEB-INF/tags/Tabs.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/Tabs.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/Tabs.tag 29 Apr 2011 05:14:54 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/WEB-INF/tags/headItems.tag =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/WEB-INF/tags/headItems.tag,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/WEB-INF/tags/headItems.tag 29 Apr 2011 05:14:54 -0000 1.1 @@ -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: lams2/lams_tool_bbb/web/common/empty.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/empty.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/empty.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1 @@ \ No newline at end of file Index: lams2/lams_tool_bbb/web/common/footer.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/footer.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/footer.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,3 @@ +

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

    Index: lams2/lams_tool_bbb/web/common/message.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/message.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/message.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,11 @@ +<%@ include file="/common/taglibs.jsp"%> + +
    +
    + +
    + +
    +
    + Index: lams2/lams_tool_bbb/web/common/simpleHeader.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/simpleHeader.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/simpleHeader.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,25 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + <fmt:message key="activity.title" /> + + + + + + + + <%-- TODO is this the best place to import these scripts ? --%> + + + + + Index: lams2/lams_tool_bbb/web/common/tabbedHeader.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/tabbedHeader.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/tabbedHeader.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,13 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + <fmt:message key="activity.title" /> + + + + Index: lams2/lams_tool_bbb/web/common/taglibs.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/common/taglibs.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/common/taglibs.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,12 @@ +<%@ page language="java" pageEncoding="UTF-8" + contentType="text/html;charset=utf-8"%> + +<%@ taglib uri="tags-bean" prefix="bean"%> +<%@ taglib uri="tags-logic" prefix="logic"%> +<%@ taglib uri="tags-tiles" prefix="tiles"%> +<%@ taglib uri="tags-html" prefix="html"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="fck-editor" prefix="fck"%> \ No newline at end of file Index: lams2/lams_tool_bbb/web/images/edit.gif =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/images/edit.gif,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/images/edit.gif 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,5 @@ +GIF89a�G��3t`7|k7��1��6杌��7��1ߵ8��4# nSN�qTmWU��Ǧ\Ie\[�vq���rjH���;11i5*��������ج�+��.=70\VSoFB䫡�dQ������tRLݚ��Ĵ��,]6/ojhE42pB:��2ZTO�sg�ma[SKȢ5ZRF�/鹴��0TNI沬SKE�|tld]VH�{w]6.ؼ4����jVܑ�qh^uVR<50���]VP������!�G,��G������F ��) +�GF* < ���FC?@��0#3;' �F&86$.F�� B-�����=łF72��΂/1+��؂A%4�ׇ,>"!:� +(D5� + +9E��; \ No newline at end of file Index: lams2/lams_tool_bbb/web/images/icon_bbb.swf =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/images/icon_bbb.swf,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/images/icon_bbb.swf 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,47 @@ +CWS�x�z��`$@"`C?0:7x��[XT׺�{蓮h,ػ��H��h��I�aW���A�B��҆6��X�a�X�Q5�^��$�P�[{� �1��������a朳���Z����[�f��������?�����PqTTV��ڳQ�J~�RU��UUU�I�og�s窒���Cg��[%R%���]U�� ���Y� +�}��yU�pn�~-���w�u��bs�6���uK��W:��`s���>��o���_4��[EE� x��i��Z�b1���\�ת +YXl�) #0vF0�� ô�J�\����8S*1i^4���IFaX��{�ݎ�̳�q�ǚ}jc��c��8kC�y[t�l�<#%����n��$x��f�1D���2�3. 1�"���\� > ��{a嚁�fJL]�����0Z���۲q������X�2��0j8|�� Rw�a�iF� ��e�7E��8s�Μ/Ʃ���s��^Ş}����"R��!6�8BcNbC�1l>�uY��΀�m*���0�H�y���q�q�s�qk�қ���8��v�i��m�o����9u� +�r�=�=_�c�o�`� +8R�=��!s�U�f|��� PĞApD��r+������J��c�+0�,��c1y~c#ٹ��"��q� +��s5����f/������Y�GN���q���8w�6Ξ�'�#�� +>u +�����+ؑu��/ &�,B�DZ9<��]�u��� [�L[&I'����Ǒ��< 3+�Uqe啲�kk��`�S8_䑝��S��4 +Q�<�_���� �q�[��w���:]����k؛};�^FƮo��~��ϭ�DZ>$���Y�r,S��,�G`�|Ԅ���?�� +���1����:�������C���M;ڠ~�7;�1��v�+u�8׿����TT�1�>S�c�i R�K����"��dLf��"0��F��� ��w7�N#m�ĥ�GT�y���ac� � +΁o`6�����xM�\�߉F�3e�|�=>Y��<�L��1#���nSS�C��g��&ļ�&o���2V4���p��~���q��b^������Rǡ��W������?{�&��W��!1��iIg��v��������9.�����}���X��� ":�O"(����p_�v��`␆E�J�Y���U#'nB��֢S_�4tF�vx� 9l��0!������^4�`�:͖a��5�I_��vV�jN���� +u? +ܺ���+Y/ y�9������ke�9�ݔĞ@��Px]����U����?=b���� ������p[}�>���y?��v`ƒ� %��G�Q[���h�� +ۻ��0F������V����5E�vf�i�ٔ߷dn���=�Z�\��_�S�9���c,e,,0K �\l +;�����]DZ-���aԧ�ѧ�`lnUd��'����)����p󍄫��Ѱ� ��E5q0��&^� +=5�F�B�6��� +�rd�1f� +�f�h�[��9��@���bXAGw=�6�o<{]��l��տm�ژeQU��p�X>&P� +��v�Q��pA�.A[�b��Y372g7��P׈���8U����.AIy �FdcSH,�B�_��D\b$�S㑔���d%�S␖����Xփt����c��9e�4g���KblGlĨ�k��z�S��m�~#Vb���D���g=z%�B_�����������]w�=`?s+[��U�19�?�t��X�> +7���c��T����ʩ��a��<��xZ�"u�v���U%��O3���~��8w�}���!�m-P�8�sn��:-Ѥ�9��Y�Y'3��7G��ǝ�!�<�gu�w��Ί��M��I�y��Z�q_��G%�\}V��V��zPU��oiI �������9U��^!��T� Z���"� � S�g%c�QG+�+b�D��Vh�o��]8�ڢuWz�p,��Ý�I4UU/ǩ���O??�7J��q0wN�H�%���{&l�w��?q�y�d��g��Õ(��波�Db*y��>0eaR�f쾂�%�5��VhUɞͬBIٯ���y�h�� +�O�ؐ�5ѳ&�6�g���h�� +m +т��N�L��ĩ��Ozȗ�T{�j\����!FĹ�:K��8'a�M2G"��S�al�L=��%������}E��Spff��1�0�5���`LY ���9��h�-�](�����~�Ǯ�,��}�T�~k�&���f�&��м�c+rئ�6h�ݑ|�b��o�b�����9�Rk*������[�F�7�e��(��.�%v��-s��r���8�6���E�0��ƭ��j�S�r���3K���"0d|4z��@�~Ahl�:�|� ���o� +�A�(����T2wT*u��u����:0�����Zblkh�v�m�ۋ8�}�׫1}I,���iXY)s�78�e�2�]�#���m��sœP��pL�� �"0~n���x����Ŧ!�}�P������'��� �eh0� F�>�h�s=q�Eݎ~���^��Ax��%6�fk�S�� �u���4��w@�.�Ob�Fۏm�ю��z��e � +3�*��v��M����hڌ� �� ��^��6����9i��&m�#&� ���1[1s��.��T��Y��O�b��(4�xZ�D���q%�i���w�z�NW���wZ8�}e$ώ|VVK�!�p�Q4jg�6=�Z�'�٢}O;�_{t������7��0{yz�݆2&�����o��>���/>��A==Ν}Ѵ��� .��<~����L8��lѡ9���ȫ.���qB�����.\���c���-�Gt� M~��UV���D_a-�0/�����`��r����nhe��h�� ͻ�Q�9�s?�#[��/�bm�`�Z�t�GzތY|�� ���N>hЙ��Zz�9��W�-}dճ��"��z6�%g�=������'�+1:����7+�YO���ʾ��~]�|2XC�H��H�:z���ԕ��ΞzӚ�����[�-�{���ղrT >��p��OsG4�䁺���z^h�������� +���Mwo���w_O�Tj%�J�3�8��;@��9B_`�/�1���]��6`\�{�q���g�J'�حP���a�[���o7^�:-�\A}b�Y=��؜�� o}d�ޟ���}�gu��������|�:�\�E=�H�M��Д��������'���E]Wx�E��4�����l�o�.�<�ON��w� +�р�Vc�;|%c6����W�>/b�s �=]�c���# �݌��}|SS�#�mj�zmM�VCK��{�7L^+���j�����i� ��~�Uw4���c�qWb4�ݢ{�tq���0֠��� +j�rYA�SO�ʐ��K?'�sB7�4u�8���:�����6�QM��z��׬%�~#3%�ϋ&gK�~ssz]�O�]z��j�T����Ă�Ԛ:*_�Z��,׬_�e���ߎ5�5y��_ �y�ƹ�0���H��J.T2����*� +=���,��?bta.:K?�N��1�S~6in�\�=|�@��:���L�i�f��'p�Rub�{[g��FuZ��xA1�oc�����3-��Cg��E����=y�O�۽��1�T(��@t��rVDE <* )i)(�q�ER�u����_`ʞi���m�+��z uG�O=у���/f0�̝��ˣ�y�� P�������ˣ��0��T�D��j���w�8-Ѩ�-�a�.���()y��UF�M�"��T��'�'«�J�[�Q����T�Lt]6$���ϡ��`�׆�|��Y�ד��&0z0���}�#�����3!чkj �`�D[s�4���{5C"t���8�OX�����a)����o��'�X�~��T�}��JG��[e*�(�UI=PN�(� +���Z�F �RT�#F��c.��秂?7�M���=�w����o�f�^.�O)��Ps����M��v}���+��Է��zmV��@�UGך�J�o��Z�������UP�$R^"?Tx��_ʿ����F�>��3ܧ��� ���u��L1������\�!��9U?sP �o20kI�Ԁu[/'�&C/HlM��܌>�%=D �$����� i��Q@mUx���(����~�?���w��ڭ;|}�yr��< �>c���!�O`�3�K�c��~�}0��5��,�6q�̏d j�!�N�w|���$��;�z� +ۛ���-�Z�}_K;j$[zD�}ѱ� =�9Z���a/=�Ф�uǞ�Q�Y��Kͦ?��uW �lg�[{ %Ƒ�8“�����~�&0��M��9& �L_uHs���s����>��{�/�{r3����ў�Y��ZI�+4v[C;9���Az����~-4Z7t(z��2��Mo�"6/�$q�ZI\���H_YO�<�c0� +��YK�1aa$�恚gq��}�� ��h�|U��٢�����٨}=����A��=����%�Z:�@����>?�� +��G���K΂?5F�����o���?ҋz V���L��,{�����}����3`�L_A?��s���P�c/��i���P{ W�%�%��Аغa���~�M\��NĦ���;�Op(bTb�qꋁc|1}i$�,�\��/O���w������q�O`]�E�������^he`.�S_'����K�х:��J��d��1�J��|$N���?9�k�t 1�/1㍡_0g��[b`�,������۫�j�ѫFB�Iym��|>5�^���]�j�B�xR�yH�d8P�b����<��9���� +&�!�W�y�X_����50Q�q�C?zT�G����R�u�=yK-�+�� ��z�]�.�� +vS�P֛���?5F��H�'�d��)j��9��s393�;ųc�>wLR.�T�����2��j�X~��1B��f/ �,�ϴE�w��wO�39u$�.5�T�ũ�7bx���'~�/������dN_�5;��XOē�ɿ�9����v�:��Mx�� ���=��K�|���b�l-s�y6��s��~�1�O���)�?w &�����T��z������.Ak;*�i������Xkק��g5�JA1�}��iXl��>D����濋�e�{���� +�(*Ʈ���? '�0sH��c�|���) +V.p�H��x��+���xZR���_�8����p�l���s����g�X��7��O~�7���z�yEy��9�g�A4>@�O��5���P��x- +�FN���9h�o�����8��v#`$@"`A�@ ���D΋x�@2�2@�4�Y \ No newline at end of file Index: lams2/lams_tool_bbb/web/images/success.gif =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/images/success.gif,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/images/success.gif 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,14 @@ +GIF89a22�?���������+�+��ݛ̛�כl�l�i��ۥ{��ٵ����m{y�yE�E+�+V�V�΄ � ������ +t +��������խ:�:p������W�We�e��۹۹pQ�Q4�4mgJ�J � 8�8�װ%�%�Ө�ز����\�\�ެ�ҦM�M���f�������!�?,22���pH,�Ȥr�l:��hs�� Qb+b J��Թ) D��z�NpB����)���h +) i,+rE*,v) +>���>�)i"7�?5-<���� +u-rw����� qQh�’�<4P1�)�ϒ� �M5����uL=*w�ۦ� +[&L�<��=�<"�IZ��5oR=zX���NI +�h�� ���PJ$�l ��E2 h�Q�TC.�A񤏃+{�0%��Gr�!X0C�:L!��H Q� +^8�ォ�J!)�$ T��7� b8AuAKSAS��RSsvXX �# Z��`ˆ���� �0Y�B�(-��q�� .��J/$��,���F�V:0��I;Vh���i +P�Q@ ++7xw+ + +<%@ include file="/common/taglibs.jsp"%> + + + + + + + Index: lams2/lams_tool_bbb/web/layouts/tabbedLayout.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/layouts/tabbedLayout.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/layouts/tabbedLayout.jsp 29 Apr 2011 05:14:54 -0000 1.1 @@ -0,0 +1,18 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + +
    + + +

    + +

    + +
    + +
    Index: lams2/lams_tool_bbb/web/pages/admin/edit.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/admin/edit.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/admin/edit.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,42 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + +
    + +

    + + +

    + +
    +

    +
    + +
    + +

    + +

    +
    + + + + + + + + + + +
    + +
    + + + +
    +
    + Index: lams2/lams_tool_bbb/web/pages/admin/view.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/admin/view.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/admin/view.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,24 @@ +<%@ include file="/common/taglibs.jsp"%> + +
    + +

    + + + + + + + + + + +
    + +
    + +
    + +
    +
    Index: lams2/lams_tool_bbb/web/pages/authoring/advanced.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/authoring/advanced.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/authoring/advanced.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,46 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +

    + + +

    + +

    + + + +

    + +

    + +

    + + + + Index: lams2/lams_tool_bbb/web/pages/authoring/authoring.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/authoring/authoring.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/authoring/authoring.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,73 @@ +<%@ include file="/common/taglibs.jsp"%> + +<%@ page import="org.lamsfoundation.lams.tool.bbb.util.Constants"%> + + + + + + + + + + + + + + +
    + + + + +
    + + + + +

    + + +
    +
    +

    +
    +
    + + + + <%-- Page tabs --%> + + + + + + + +
    +
    + + + Index: lams2/lams_tool_bbb/web/pages/authoring/basic.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/authoring/basic.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/authoring/basic.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,29 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + +
    +
    + +
    + +
    +
    + +
    + +
    Index: lams2/lams_tool_bbb/web/pages/authoring/headItems.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/authoring/headItems.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/authoring/headItems.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,9 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + Index: lams2/lams_tool_bbb/web/pages/authoring/instructions.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/authoring/instructions.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/authoring/instructions.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,208 @@ +<%@ 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: lams2/lams_tool_bbb/web/pages/bbb/end_meeting.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/bbb/end_meeting.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/bbb/end_meeting.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,12 @@ +<%@ include file="/common/taglibs.jsp"%> + +
    + +
    + +
    + +
    + +
    \ No newline at end of file Index: lams2/lams_tool_bbb/web/pages/export/exportPortfolio.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/export/exportPortfolio.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/export/exportPortfolio.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,29 @@ + + +<%@ include file="/common/taglibs.jsp"%> + + + + <c:out value="${contentDTO.title}" escapeXml="false" /> + + + + + + +
    + +

    + +

    + +
    + + + + + + + Index: lams2/lams_tool_bbb/web/pages/learning/defineLater.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/defineLater.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/defineLater.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,11 @@ +<%@ include file="/common/taglibs.jsp"%> + +
    +

    + +

    + +
    + + + Index: lams2/lams_tool_bbb/web/pages/learning/headItems.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/headItems.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/headItems.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1 @@ \ No newline at end of file Index: lams2/lams_tool_bbb/web/pages/learning/learning.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/learning.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/learning.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,87 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${contentDTO.title} +

    + +

    + ${contentDTO.instructions} +

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

    + + + + + + + +

    + +

    + + + + + +

    + + + <%@ include file="parts/finishButton.jsp"%> + + +
    Index: lams2/lams_tool_bbb/web/pages/learning/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/notebook.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/notebook.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,33 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${contentDTO.title} +

    + + + +

    + +

    + + + +
    + + + + button.finish + +
    +
    +
    + Index: lams2/lams_tool_bbb/web/pages/learning/runOffline.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/runOffline.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/runOffline.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,32 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    +

    + ${contentDTO.title} +

    + +

    + +

    + + + + + + +
    + + button.finish + +
    +
    +
    +
    + Index: lams2/lams_tool_bbb/web/pages/learning/parts/finishButton.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/learning/parts/finishButton.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/learning/parts/finishButton.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,65 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + +
    +

    + ${contentDTO.reflectInstructions} +

    + +

    + + + + + + + + + +

    + + + + +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + +
    +
    Index: lams2/lams_tool_bbb/web/pages/monitoring/editActivity.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/editActivity.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/editActivity.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,43 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + +

    + +

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

    + + + + + + + + +

    + + Index: lams2/lams_tool_bbb/web/pages/monitoring/headItems.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/headItems.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/headItems.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,9 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + Index: lams2/lams_tool_bbb/web/pages/monitoring/instructions.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/instructions.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/instructions.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,105 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    + + + + + +   + + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + + + + + +   + + + + + +
    Index: lams2/lams_tool_bbb/web/pages/monitoring/monitoring.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/monitoring.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/monitoring.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,28 @@ +<%@ include file="/common/taglibs.jsp"%> +<%@ page import="org.lamsfoundation.lams.tool.bbb.util.Constants"%> + + + +
    + + + + + + +
    + + Index: lams2/lams_tool_bbb/web/pages/monitoring/notebook.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/notebook.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/notebook.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,49 @@ +<%@ include file="/common/taglibs.jsp"%> + + + +
    + +

    + +

    + +

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

    + + + + + + + + + + + + + + + +
    + + + + +
    + + + +
    + + + +
    + + + +
    + + \ No newline at end of file Index: lams2/lams_tool_bbb/web/pages/monitoring/statistics.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/statistics.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/statistics.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,28 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + +

    + ${session.sessionName} +

    + + + + + + + + + + +
    + heading.totalLearnersInGroup + + ${session.numberOfLearners} +
    + heading.totalFinishedLearnersInGroup + + ${session.numberOfFinishedLearners} +
    +
    Index: lams2/lams_tool_bbb/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams2/lams_tool_bbb/web/pages/monitoring/summary.jsp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams2/lams_tool_bbb/web/pages/monitoring/summary.jsp 29 Apr 2011 05:14:55 -0000 1.1 @@ -0,0 +1,108 @@ +<%@ include file="/common/taglibs.jsp"%> + + + + +

    + + + + +

    +
    + + + + + + +

    + ${session.sessionName} +

    + +

    + +

    + + + + + + +

    + + + +

    +
    + + +

    + ${session.numberOfLearners} +

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