Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rbde17960f55b4c3dc6bef66691c95581a515a751 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java =================================================================== diff -u -r6b31542dce245021851c959056022b32a7f9033d -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision 6b31542dce245021851c959056022b32a7f9033d) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringAction.java (.../AuthoringAction.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -118,7 +118,7 @@ HttpServletResponse response) throws IOException, JSONException { request.setAttribute(AttributeNames.PARAM_CONTENT_FOLDER_ID, FileUtil.generateUniqueContentFolderID()); - request.setAttribute("tools", getLearningDesignService().getToolDTOs(true, request.getRemoteUser())); + request.setAttribute("tools", getLearningDesignService().getToolDTOs(true, true, request.getRemoteUser())); // build list of existing learning library groups List groups = getLearningDesignService().getLearningLibraryGroups(); JSONArray groupsJSON = new JSONArray(); @@ -145,7 +145,7 @@ public ActionForward generateSVG(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { - request.setAttribute("tools", getLearningDesignService().getToolDTOs(true, request.getRemoteUser())); + request.setAttribute("tools", getLearningDesignService().getToolDTOs(true, true, request.getRemoteUser())); return mapping.findForward("svgGenerator"); } @@ -325,7 +325,7 @@ Long learningDesignID = learningDesign.getLearningDesignId(); if (learningDesignID != null) { responseJSON.put("learningDesignID", learningDesignID); - + Gson gson = new GsonBuilder().create(); Vector validationDTOs = getAuthoringService() .validateLearningDesign(learningDesignID); Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java (.../DisplayGroupAction.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -20,7 +20,6 @@ * **************************************************************** */ - package org.lamsfoundation.lams.web; import java.sql.SQLException; @@ -116,7 +115,8 @@ if (org.getEnableSingleActivityLessons() && (roles.contains(Role.ROLE_GROUP_MANAGER) || roles.contains(Role.ROLE_MONITOR))) { // if single activity lessons are enabled, put sorted list of tools - request.setAttribute("tools", getLearningDesignService().getToolDTOs(false, request.getRemoteUser())); + request.setAttribute("tools", + getLearningDesignService().getToolDTOs(false, false, request.getRemoteUser())); } } Index: lams_central/web/authoring/authoring.jsp =================================================================== diff -u -r4d3af828efc07b319233005dd114a0342a421773 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_central/web/authoring/authoring.jsp (.../authoring.jsp) (revision 4d3af828efc07b319233005dd114a0342a421773) +++ lams_central/web/authoring/authoring.jsp (.../authoring.jsp) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -416,7 +416,12 @@ ${childId}, " - class="template"> + class="template" + <%-- Hide invalid tools --%> + + style="display: none" + + >
Index: lams_central/web/includes/javascript/authoring/authoringActivity.js =================================================================== diff -u -r0ef54f2f89cf881957c896d532a58b7242d64671 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 0ef54f2f89cf881957c896d532a58b7242d64671) +++ lams_central/web/includes/javascript/authoring/authoringActivity.js (.../authoringActivity.js) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -612,12 +612,16 @@ 'fill' : layout.colors.activity[layout.toolMetadata[this.learningLibraryID].activityCategoryID] }), // check for icon in the library - icon = paper.image(ActivityIcons[this.learningLibraryID], x + 47, y + 3, 30, 30), + imageData = ActivityIcons[this.learningLibraryID], + icon = imageData ? paper.image(imageData, x + 47, y + 3, 30, 30) : null, label = paper.text(x + 62, y + 43, ActivityLib.shortenActivityTitle(this.title)) .attr(layout.defaultTextAttributes) .attr('fill', layout.colors.activityText); - this.items = paper.g(shape, icon, label); + this.items = paper.g(shape, label); + if (icon) { + this.items.add(icon); + } if (this.readOnly && !isReadOnlyMode) { this.items.attr('filter', layout.conf.readOnlyFilter); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java (.../ILearningDesignService.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ILearningDesignService.java (.../ILearningDesignService.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -97,5 +97,6 @@ */ public void setValid(Long learningLibraryId, boolean valid); - public List getToolDTOs(boolean includeParallel, String userName) throws IOException; + public List getToolDTOs(boolean includeParallel, boolean includeInvalid, String userName) + throws IOException; } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -248,15 +248,16 @@ */ @Override @SuppressWarnings("unchecked") - public List getToolDTOs(boolean includeParallel, String userName) throws IOException { + public List getToolDTOs(boolean includeParallel, boolean includeInvalid, String userName) + throws IOException { User user = (User) learningLibraryDAO.findByProperty(User.class, "login", userName).get(0); String languageCode = user.getLocale().getLanguageIsoCode(); - ArrayList learningLibraries = getAllLearningLibraryDetails(languageCode); + ArrayList learningLibraries = getAllLearningLibraryDetails(false, languageCode); List tools = new ArrayList(); for (LearningLibraryDTO learningLibrary : learningLibraries) { // skip invalid tools boolean isParallel = learningLibrary.getTemplateActivities().size() > 1; - if (learningLibrary.getValidFlag() && (includeParallel || !isParallel)) { + if ((includeInvalid || learningLibrary.getValidFlag()) && (includeParallel || !isParallel)) { List libraryActivityDTOs = learningLibrary.getTemplateActivities(); LibraryActivityDTO libraryActivityDTO = libraryActivityDTOs.get(0); ToolDTO toolDTO = new ToolDTO(); @@ -278,6 +279,7 @@ isParallel ? learningLibrary.getTitle() : libraryActivityDTO.getActivityTitle()); toolDTO.setActivityCategoryID( isParallel ? Activity.CATEGORY_SPLIT : libraryActivityDTO.getActivityCategoryID()); + toolDTO.setValid(learningLibrary.getValidFlag()); if (libraryActivityDTO.getToolID() == null) { toolDTO.setIconPath(libraryActivityDTO.getLibraryActivityUIImage()); Index: lams_common/src/java/org/lamsfoundation/lams/tool/dto/ToolDTO.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_common/src/java/org/lamsfoundation/lams/tool/dto/ToolDTO.java (.../ToolDTO.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_common/src/java/org/lamsfoundation/lams/tool/dto/ToolDTO.java (.../ToolDTO.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -33,6 +33,7 @@ private Boolean supportsOutputs; private Integer activityCategoryID; private Long[] childToolIds; + private Boolean valid; public ToolDTO() { } @@ -109,4 +110,11 @@ this.childToolIds = childLearningLibraryIds; } + public Boolean getValid() { + return valid; + } + + public void setValid(Boolean valid) { + this.valid = valid; + } } \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/axisclient.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/axisservice.properties'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/build.properties =================================================================== diff -u -rdfc0b58933316e2e56513b81463e54d72b43e224 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/build.properties (.../build.properties) (revision dfc0b58933316e2e56513b81463e54d72b43e224) +++ lams_tool_eadventure/build.properties (.../build.properties) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -2,7 +2,7 @@ min.server.version.number=2.0 signature=eueadv10 -tool.version=20071100 +tool.version=20160602 tool.hide=true tool.short.name=eadventure Index: lams_tool_eadventure/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r5e63656a12c02f7476564e278b43ff4ce86ac930 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 5e63656a12c02f7476564e278b43ff4ce86ac930) +++ lams_tool_eadventure/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -1,206 +1,3 @@ appName = eadventure -#language code: en -#locale code: AU - - # CVS ID: $Id$ Exported from the LAMS Community by Ernie Ghiglione on Wed Feb 26 12:49:51 CST 2014 - -#=================== labels for eadventure =================# - -activity.description =eAdventure Game. -label.authoring.basic.resource.instructions =Instructions -label.authoring.basic.instruction =Instructions -error.resource.item.desc.blank =Comment/Instruction can not be blank -tool.display.name =eAdventure Tool -tool.description =Tool for use eAdventure videogames in the learning design. -appName =eAdventure -errorPage.title =Error page -errorPage.heading =Some error occurs when handling your request -label.authoring.heading =eAdventure Authoring -label.author.title =eAdventure -label.authoring.heading.basic =Basic -label.next.instruction =Next Instruction -label.authoring.heading.basic.desc =Basic input information for eAdventure games -msg.no.instruction =No instruction available. -label.authoring.heading.advance.desc =Please input advanced options for eAdventure game -label.authoring.basic.title =Title -label.learning.comment.or.instruction =Comment/Instruction -label.authoring.basic.add.file =Add Single File -label.authoring.basic.resource.list.title =Resource List -label.authoring.basic.resource.file =File -label.authoring.basic.resource.preview =Preview -label.authoring.basic.resource.edit =Edit -label.authoring.basic.resource.delete =Delete -label.authoring.advanced.reflectOnActivity =Add a notebook at end of eAdventure game with the following instructions: -label.authoring.basic.resource.title.input =Title -label.authoring.basic.resource.file.input =File -label.authoring.basic.resource.description.input =Description -label.authoring.online.filelist =Online file list -label.authoring.offline.filelist =Offline file list -label.authoring.cancel.button =Cancel -label.description =Description: -authoring.exception =There is a problem in eAdventure authoring page, the reason is {0} -error.resource.item.title.blank =Title can not be blank. -error.resource.item.file.blank =File can not be blank. -error.upload.failed =Upload file failed: {0} -error.msg.upload.file.not.found =Could not find upload file {0}. -error.msg.zip.file.exception =Could not handle zip file when uploading file. -error.msg.file.not.found =File not found exception occurs when uploading file. -error.msg.ims.application =ImscpApplicationException occurs when uploading resource item file. -error.msg.io.exception =IOException occurs when uploading file. -error.msg.invaid.param.upload =InvalidParameterException occured while trying to upload File. -error.msg.default.content.not.find =Could not retrieve default content record for this tool. -authoring.msg.cancel.save =Do you want to close this window without saving? -label.learning.title =eAdventure Learning -label.learning.heading =eAdventure -label.learning.new.file =New file details: -monitoring.tab.summary =Summary -monitoring.tab.statistics =Statistic -monitoring.tab.edit.activity =Edit Activity -monitoring.label.group =Group -monitoring.label.type =Type -monitoring.label.title =Title -monitoring.label.number.learners =Number of Learners -monitoring.label.hide =Hide -monitoring.label.show =Show -monitoring.label.user.report =Assessment Report -monitoring.label.user.loginname =Login name -monitoring.label.user.name =Name -monitoring.label.hidden =Hidden -monitoring.no.report =Report not received -label.monitoring.edit.activity.cancel =Cancel -label.monitoring.edit.activity.update =Update -label.monitoring.edit.activity.edit =Edit -message.monitoring.edit.activity.not.editable =This Activity is no longer editable -export.label.no.learning.object =No offline package available -error.valueReqd =Value Required -error.inputFileTooLarge =Input File size is too large! -error.uploading =error uploading -error.title.empty =Title can not be blank -message.msg.maxFileSize =Max 250K -label.open =Open -label.delete =Delete -label.download =Download -label.view =View -label.edit =Edit -label.completed =Completed -button.upload =Upload -button.add =Add -button.cancel =Cancel -message.monitoring.summary.no.session =No Session Available -label.show =Show -label.hide =Hide -label.save =Save -label.cancel =Cancel -define.later.message =Please wait for the instructor to complete the contents of this activity. -button.try.again =Try again -page.title.monitoring.view.reflection =View Notebook Entries -button.edit =Edit -message.no.reflection.available =No notebook available -error.reflection.emtpy =Please input Notebook Entry -title.reflection =Notebook Entry -monitoring.user.reflection =Notebook Entry -activity.title =eadventure -label.authoring.save.button =Save -monitoring.label.access.time =Access time -label.authoring.advance.lock.on.finished =Lock when finished -label.authoring.advance.define.completed =Hide "finish button" until eAdventure "completed" var is set -label.authoring.heading.advance =Advanced -error.msg.ims.package =Invalid IMS CP format. -message.step.of =Step {0} of {1} -label.down =Move down -label.continue =Continue -monitoring.user.fullname =Name -button.close =Close -label.monitoring.heading.access =Learners list -errors.maxfilesize =The uploaded file has exceeded the maximum file size limit of {0} bytes -error.attachment.executable =The uploaded file is executable, please zip it before uploading. -lable.learning.minimum.view.number.less =You must view at least another {0} of the resources. -label.finished =Next Activity -label.finish =Finished -error.msg.repository =A repository error occurred while trying to upload the file. -message.activityLocked =The instructor has set this activity not to allow you to view the game after you have finished it. -label.export.reflection =Notebook Entries -message.warnLockOnFinish =Note: After you click on Next Activity, if you come back to this activity, you will not be able to continue with the game. -monitoring.label.instructions =Instructions -label.on =On -label.off =Off -monitor.summary.th.advancedSettings =Advanced settings -monitor.summary.td.addNotebook =Add a notebook at end of eAdventure game -monitor.summary.td.notebookInstructions =Notebook instructions -event.assigment.submit.subject =LAMS: A learner submitted an assigment in a eAdventure tool -event.assigment.submit.body =The learner {0} submitted an assigment in a eAdventure tool.\n\nThis message was send automatically, following tool''''s advanced settings. -message.alertContentEdit =Warning: One of more learners have accessed this activity. Changing this content will result in learners getting different information. -error.planner.no.resource.save =There has to be at least one resource to save. -error.planner.file.blank =In resource {0} file can not be blank. -output.desc.learner.score =score -output.desc.learner.time.taken =time taken -output.desc.learner.user.defined =User defined: -heading.totalLearnersInGroup =Total Number of Learners in Group: -heading.totalFinishedLearnersInGroup =Number of Finished Learners: -error.condition.contains.wrong.symbol =The condition's name contains invalid symbols. -error.condition.expression.name.blank =You have to select one variable or fill with a value the second op. -error.condition.name.blank =The condition's name can not be empty. -error.condition.name.duplicated =The name already exists. -error.condition.no.expressions =There has to be at least one expression in the condition. -error.condition.not.ead.added =You have to choose a eAdventure game before create conditions. -error.condition.value.introduce.not.alpha =The string value introduced in the expression is not alphanumeric. -error.condition.var.not.eq.type =The selected variables have not the same type. -error.condition.var.same.name.vars =You can choose the same variable at both sides of the expression. -error.eadventure.not.ead.added =You have to select one valid eAdventure game (exported specifically for LAMS). -error.expression.not.selected.first.var =There is not a first variable selected. -error.expression.not.selected.operator =There is not an operator selected. -error.expression.not.selected.second.var =You choose to introduce a variable and there is not a variable selected. -label.authoring.conditions.add.condition =Add Condition -label.authoring.conditions.add.expression =Add new expression -label.authoring.conditions.can.not.add =Conditions can not be added until you upload a eAdventure game -label.authoring.conditions.change.expression.advance.edition =Change to advance expression edition -label.authoring.conditions.change.expression.simple.edition =Change to simple expression edition -label.authoring.conditions.change.introduce.value =Add value -label.authoring.conditions.change.introduce.var =Select a variable -label.authoring.conditions.condition.name =Condition Name -label.authoring.conditions.condition.nextOp =Next Operator -label.authoring.conditions.condition.number =Number -label.authoring.conditions.condition.operator =Operator -label.authoring.conditions.condition.var1 =First variable -label.authoring.conditions.condition.var2 =Second variable or value -label.authoring.conditions.empty.condition.list =There are no conditions -label.authoring.conditions.empty.expression.list =There are no expressions -label.authoring.conditions.expression.list.title =Expressions for selected condition -label.authoring.conditions.introduce.value =Introduce a value -label.authoring.conditions.list.title =Conditions -label.authoring.conditions.select.boolean.value.and =and -label.authoring.conditions.select.boolean.value.false =false -label.authoring.conditions.select.boolean.value.or =or -label.authoring.conditions.select.boolean.value.true =true -label.authoring.conditions.select.operator =-- -label.authoring.conditions.select.var =-- VARIABLE -- -label.condition.branching =Match Conditions to Game Adaptation Paths -label.condition.branching.adaptation =Adaptation Paths -label.condition.branching.condition =Conditions -label.condition.branching.mappings =Mappings -label.condition.branching.path =Game Path -label.condition.helper.expression =if {0} is {1} {2} -label.condition.helper.expression.and =and -label.condition.helper.expression.or =or -label.condition.helper.init =The selected condition will be met -label.condition.helper.integer.equals =equals to -label.condition.helper.integer.gt =greater than -label.condition.helper.integer.gte =greater than or equals to -label.condition.helper.integer.lt =less than -label.condition.helper.integer.lte =less than or equals to -label.condition.helper.integer.ne =not equal to -label.condition.helper.values =Assigning values to variables to check the condition -label.authoring.heading.conditions =Conditions -output.desc.game-completed =Game Completed -output.desc.game-completed.true =True -output.desc.game-completed.false =False -output.desc.total-time =Total time -output.desc.real-time =Real time -output.desc.tool.condition =Created condition -label.condition.helper.check.condition =Check the condition -label.authoring.basic.add.game =Add Game -label.authoring.basic.edit.game =Change Game -label.submit =Finish - - -#======= End labels: Exported 196 labels for en AU ===== +activity.description =eAdventure Game (discontinued) +tool.display.name =eAdventure Tool (discontinued) \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_el_GR.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_en_AU.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_es_ES.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_es_MX.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_fr_FR.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_mi_NZ.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_no_NO.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_pt_BR.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/language/lams/ApplicationResources_tr_TR.properties'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/global-exceptions.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/global-forwards.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/struts-actions.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/struts-forms.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/struts-message-resources.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/struts-plugins.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/validation-forms.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/conf/xdoclet/validation-global.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/db/sql/create_lams_tool_eadventure.sql =================================================================== diff -u -rf6a03ee21a18654d54498cd94d9f68fbea3b996a -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/db/sql/create_lams_tool_eadventure.sql (.../create_lams_tool_eadventure.sql) (revision f6a03ee21a18654d54498cd94d9f68fbea3b996a) +++ lams_tool_eadventure/db/sql/create_lams_tool_eadventure.sql (.../create_lams_tool_eadventure.sql) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -1,130 +1,3 @@ +-- file must not be empty and it must contain update statements (not select) SET FOREIGN_KEY_CHECKS=0; -drop table if exists tl_eueadv10_attachment; -drop table if exists tl_eueadv10_eadventure; -drop table if exists tl_eueadv10_eadventure_item_visit_log; -drop table if exists tl_eueadv10_session; -drop table if exists tl_eueadv10_user; -drop table if exists tl_eueadv10_var; -drop table if exists tl_eueadv10_param; -drop table if exists tl_eueadv10_condition; -drop table if exists tl_eueadv10_condition_expression; -create table tl_eueadv10_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, - eadventure_uid bigint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_eadventure ( - uid bigint not null auto_increment, - create_date datetime, - update_date datetime, - create_by bigint, - title varchar(255), - run_offline tinyint, - lock_on_finished tinyint, - instructions text, - online_instructions text, - offline_instructions text, - content_in_use tinyint, - define_later tinyint, - content_id bigint unique, - reflect_instructions varchar(255), - reflect_on_activity smallint, - ims_schema varchar(255), - organization_xml text, - init_item varchar(255), - file_uuid bigint, - file_version_id bigint, - file_name varchar(255), - file_type varchar(255), - complete tinyint, - define_complete tinyint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_session ( - uid bigint not null auto_increment, - session_end_date datetime, - session_start_date datetime, - status integer, - eadventure_uid bigint, - session_id bigint, - session_name varchar(250), - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_user ( - uid bigint not null auto_increment, - user_id bigint, - last_name varchar(255), - first_name varchar(255), - login_name varchar(255), - session_finished smallint, - session_uid bigint, - eadventure_uid bigint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_item_log ( - uid bigint not null auto_increment, - access_date datetime, - eadventure_item_uid bigint, - user_uid bigint, - complete tinyint, - session_id bigint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_var ( - uid bigint not null auto_increment, - name varchar(255), - type varchar(255), - value text, - visit_log_uid bigint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_param ( - uid bigint not null auto_increment, - name varchar(255), - type varchar(255), - input tinyint, - eadventure_uid bigint, - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_condition ( - uid bigint not null auto_increment, - sequence_id integer, - eadventure_uid bigint, - name varchar(255), - primary key (uid) -)ENGINE=InnoDB; -create table tl_eueadv10_condition_expression ( - uid bigint not null auto_increment, - condition_uid bigint, - first_op bigint, - value_introduced varchar(255), - var_introduced bigint, - expresion_op varchar(255), - sequence_id integer, - next_op varchar(255), - primary key (uid) -)ENGINE=InnoDB; -alter table tl_eueadv10_attachment add index FK_NEW_1226715514_1E7009430E79035 (eadventure_uid), add constraint FK_NEW_1226715514_1E7009430E79035 foreign key (eadventure_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_eadventure add index FK_NEW_1226715514_89093BF758092FB (create_by), add constraint FK_NEW_1226715514_89093BF758092FB foreign key (create_by) references tl_eueadv10_user (uid); -alter table tl_eueadv10_item_log add index FK_NEW_1226715514_693580A438BF8DFE (eadventure_item_uid), add constraint FK_NEW_1226715514_693580A438BF8DFE foreign key (eadventure_item_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_item_log add index FK_NEW_1226715514_693580A441F9365D (user_uid), add constraint FK_NEW_1226715514_693580A441F9365D foreign key (user_uid) references tl_eueadv10_user (uid); -alter table tl_eueadv10_session add index FK_NEW_1226715514_24AA78C530E79035 (eadventure_uid), add constraint FK_NEW_1226715514_24AA78C530E79035 foreign key (eadventure_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_user add index FK_NEW_1226715514_30113BFCEC0D3147 (session_uid), add constraint FK_NEW_1226715514_30113BFCEC0D3147 foreign key (session_uid) references tl_eueadv10_session (uid); -alter table tl_eueadv10_user add index FK_NEW_1226715514_30113BFC309ED320 (eadventure_uid), add constraint FK_NEW_1226715514_30113BFC309ED320 foreign key (eadventure_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_var add index FK_NEW_1226715514_42637763767637E6(visit_log_uid), add constraint FK_NEW_1226715514_42637763767637E6 foreign key (visit_log_uid) references tl_eueadv10_item_log (uid); -alter table tl_eueadv10_param add index FK_NEW_1226715514_56566830263527E3(eadventure_uid), add constraint FK_NEW_1226715514_56566830263527E3 foreign key (eadventure_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_condition add index FK_NEW_1226715514_5656683026352999 (eadventure_uid), add constraint FK_NEW_1226715514_5656683026352999 foreign key (eadventure_uid) references tl_eueadv10_eadventure (uid); -alter table tl_eueadv10_condition_expression add index FK_NEW_1226715514_5656683026352390 (condition_uid), add constraint FK_NEW_1226715514_5656683026352390 foreign key (condition_uid) references tl_eueadv10_condition (uid); -alter table tl_eueadv10_condition_expression add index FK_NEW_1226715514_5656683026352EEE (first_op), add constraint FK_NEW_1226715514_5656683026352EEE foreign key (first_op) references tl_eueadv10_param (uid); -alter table tl_eueadv10_condition_expression add index FK_NEW_1226715514_5656683026352FFF (var_introduced), add constraint FK_NEW_1226715514_5656683026352FFF foreign key (var_introduced) references tl_eueadv10_param (uid); - -INSERT INTO `tl_eueadv10_eadventure` (`uid`, `create_date`, `update_date`, `create_by`, `title`, `run_offline`, `lock_on_finished`, - `instructions`, `online_instructions`, `offline_instructions`, `content_in_use`, `define_later`, `content_id`,`reflect_on_activity`, `file_uuid`, `file_version_id` , `file_name`,`file_type`,`complete`,`define_complete`) VALUES - (1,NULL,NULL,NULL,'eAdventure','0',0,'Instructions ',null,null,0,0,${default_content_id},0, NULL, NULL, NULL,NULL ,0,0); - -SET FOREIGN_KEY_CHECKS=1; +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_eadventure/db/sql/db_version_insert.sql =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/db/sql/db_version_insert.sql (.../db_version_insert.sql) (revision 7322054ababd8f5387c3424cdd38d99c3ab49e02) +++ lams_tool_eadventure/db/sql/db_version_insert.sql (.../db_version_insert.sql) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -1,2 +1 @@ --- $Id$ -INSERT INTO patches VALUES ('@signature@', '@tool_version@', NOW(), 'F'); +INSERT INTO patches VALUES ('@signature@', '@tool_version@', NOW(), 'F'); \ No newline at end of file Index: lams_tool_eadventure/db/sql/drop_lams_tool_eadventure.sql =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/db/sql/drop_lams_tool_eadventure.sql (.../drop_lams_tool_eadventure.sql) (revision 7322054ababd8f5387c3424cdd38d99c3ab49e02) +++ lams_tool_eadventure/db/sql/drop_lams_tool_eadventure.sql (.../drop_lams_tool_eadventure.sql) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -8,9 +8,4 @@ drop table if exists tl_eueadv10_user; drop table if exists tl_eueadv10_condition; drop table if exists tl_eueadv10_condition_expression; -SET FOREIGN_KEY_CHECKS=1; - - - - - +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_eadventure/db/sql/library_insert.sql =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/db/sql/library_insert.sql (.../library_insert.sql) (revision 7322054ababd8f5387c3424cdd38d99c3ab49e02) +++ lams_tool_eadventure/db/sql/library_insert.sql (.../library_insert.sql) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -1,7 +1,3 @@ -# Connection: ROOT LOCAL -# Host: localhost -# Saved: 2005-04-07 10:50:55 -# INSERT INTO lams_learning_library ( description, Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/db/sql/table-schema.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/db/sql/tool_insert.sql =================================================================== diff -u -r5e63656a12c02f7476564e278b43ff4ce86ac930 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 5e63656a12c02f7476564e278b43ff4ce86ac930) +++ lams_tool_eadventure/db/sql/tool_insert.sql (.../tool_insert.sql) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -1,7 +1,3 @@ -# Connection: ROOT LOCAL -# Host: localhost -# Saved: 2005-04-07 10:42:43 -# INSERT INTO lams_tool ( tool_signature, @@ -46,9 +42,9 @@ 'tool/eueadv10/learning/start.do?mode=teacher', 'tool/eueadv10/authoring/start.do', 'tool/eueadv10/monitoring/summary.do', -'tool/eueadv10/definelater.do', +NULL, 'tool/eueadv10/authoring/initPedagogicalPlannerForm.do', -'http://wiki.lamsfoundation.org/display/lamsdocs/eueadv10', +NULL, 'org.eucm.lams.tool.eadventure.ApplicationResources', NOW(), NOW(), Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/EadventureConstants.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/DAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureConditionDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureExpressionDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureItemVisitDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureParamDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureSessionDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureUserDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureVarsDAO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureConditionDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureExpressionDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureItemVisitDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureParamDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureSessionDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureUserDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureVarsDAOHibernate.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dbupdates/autopatchContext.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dbupdates/patch20140102.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dbupdates/patch20150930.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dbupdates/patch20151217.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dto/ExpressionInfo.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dto/InstructionNavDTO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dto/ReflectDTO.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dto/Summary.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml =================================================================== diff -u -ra6641bf9262a01d07740a517643f8fe187ec5b1f -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml (.../eadventureApplicationContext.xml) (revision a6641bf9262a01d07740a517643f8fe187ec5b1f) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml (.../eadventureApplicationContext.xml) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -5,165 +5,5 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> - - - - org.eucm.lams.tool.eadventure.ApplicationResources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - false - - - - - - - - - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,-java.lang.Exception - PROPAGATION_REQUIRED,+java.lang.Exception - PROPAGATION_REQUIRED,+java.lang.Exception - PROPAGATION_REQUIRED,+java.lang.Exception - PROPAGATION_REQUIRED,+java.lang.Exception - - - - - + + \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/ims/IContentPackageConverter.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/ims/IMSManifestException.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/ims/ImscpApplicationException.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/ims/OrganizationXMLDef.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/ims/SimpleContentPackageConverter.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/Eadventure.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureCondition.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureExpression.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureItemVisitLog.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureParam.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureSession.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureUser.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/model/EadventureVars.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureApplicationException.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureImportContentVersionFilter.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureOutputFactory.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java =================================================================== diff -u -r5e63656a12c02f7476564e278b43ff4ce86ac930 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java (.../EadventureServiceImpl.java) (revision 5e63656a12c02f7476564e278b43ff4ce86ac930) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java (.../EadventureServiceImpl.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -2,1095 +2,48 @@ * 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.eucm.lams.tool.eadventure.service; -import java.io.File; -import java.io.FileFilter; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; import java.util.List; -import java.util.Map; -import java.util.Set; import java.util.SortedMap; -import java.util.TreeSet; -import org.apache.log4j.Logger; -import org.apache.struts.upload.FormFile; -import org.eucm.lams.tool.eadventure.EadventureConstants; -import org.eucm.lams.tool.eadventure.dao.EadventureConditionDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureExpressionDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureItemVisitDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureParamDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureSessionDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureUserDAO; -import org.eucm.lams.tool.eadventure.dao.EadventureVarsDAO; -import org.eucm.lams.tool.eadventure.dto.ReflectDTO; -import org.eucm.lams.tool.eadventure.dto.Summary; -import org.eucm.lams.tool.eadventure.ims.IContentPackageConverter; -import org.eucm.lams.tool.eadventure.ims.IMSManifestException; -import org.eucm.lams.tool.eadventure.ims.ImscpApplicationException; -import org.eucm.lams.tool.eadventure.ims.SimpleContentPackageConverter; -import org.eucm.lams.tool.eadventure.model.Eadventure; -import org.eucm.lams.tool.eadventure.model.EadventureCondition; -import org.eucm.lams.tool.eadventure.model.EadventureExpression; -import org.eucm.lams.tool.eadventure.model.EadventureItemVisitLog; -import org.eucm.lams.tool.eadventure.model.EadventureParam; -import org.eucm.lams.tool.eadventure.model.EadventureSession; -import org.eucm.lams.tool.eadventure.model.EadventureUser; -import org.eucm.lams.tool.eadventure.model.EadventureVars; -import org.eucm.lams.tool.eadventure.util.EadventureToolContentHandler; -import org.eucm.lams.tool.eadventure.util.InputOutputReader; -import org.eucm.lams.tool.eadventure.util.ReflectDTOComparator; -import org.lamsfoundation.lams.contentrepository.AccessDeniedException; -import org.lamsfoundation.lams.contentrepository.ICredentials; -import org.lamsfoundation.lams.contentrepository.ITicket; -import org.lamsfoundation.lams.contentrepository.IVersionedNode; -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.service.IRepositoryService; -import org.lamsfoundation.lams.contentrepository.service.SimpleCredentials; -import org.lamsfoundation.lams.events.IEventNotificationService; -import org.lamsfoundation.lams.gradebook.service.IGradebookService; -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.lesson.service.ILessonService; -import org.lamsfoundation.lams.notebook.model.NotebookEntry; -import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; -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.exception.DataMissingException; import org.lamsfoundation.lams.tool.exception.ToolException; -import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.MessageService; -import org.lamsfoundation.lams.util.audit.IAuditService; -import org.lamsfoundation.lams.util.zipfile.ZipFileUtil; -import org.lamsfoundation.lams.util.zipfile.ZipFileUtilException; -/** - * - * @author Dapeng.Ni - * - */ -public class EadventureServiceImpl implements IEadventureService, ToolContentManager, ToolSessionManager { - static Logger log = Logger.getLogger(EadventureServiceImpl.class.getName()); +public class EadventureServiceImpl implements ToolContentManager, ToolSessionManager { - private EadventureDAO eadventureDao; - - private EadventureUserDAO eadventureUserDao; - - private EadventureSessionDAO eadventureSessionDao; - - private EadventureItemVisitDAO eadventureItemVisitDao; - - private EadventureVarsDAO eadventureVarsDao; - - private EadventureParamDAO eadventureParamDao; - - private EadventureConditionDAO eadventureConditionDao; - - private EadventureExpressionDAO eadventureExpressionDao; - - // tool service - private EadventureToolContentHandler eadventureToolContentHandler; - - private MessageService messageService; - - // system services - private IRepositoryService repositoryService; - - private ILamsToolService toolService; - - private ILearnerService learnerService; - - private IAuditService auditService; - - private IUserManagementService userManagementService; - - private IExportToolContentService exportContentService; - - private ICoreNotebookService coreNotebookService; - - private IEventNotificationService eventNotificationService; - - private ILessonService lessonService; - - private IGradebookService gradebookService; - - private EadventureOutputFactory eadventureOutputFactory; - @Override - public IVersionedNode getFileNode(Long itemUid, String relPathString) throws EadventureApplicationException { - Eadventure ead = (Eadventure) eadventureDao.getObject(Eadventure.class, itemUid); - if (ead == null) { - throw new EadventureApplicationException("Eadventure " + itemUid + " not found."); - } - - return getFile(ead.getFileUuid(), ead.getFileVersionId(), relPathString); - } - - // ******************************************************************************* - // Service method - // ******************************************************************************* - /** - * Try to get the file. If forceLogin = false and an access denied exception occurs, call this method again to get a - * new ticket and retry file lookup. If forceLogin = true and it then fails then throw exception. - * - * @param uuid - * @param versionId - * @param relativePath - * @param attemptCount - * @return file node - * @throws ImscpApplicationException - */ - private IVersionedNode getFile(Long uuid, Long versionId, String relativePath) - throws EadventureApplicationException { - - ITicket tic = getRepositoryLoginTicket(); - - try { - - return repositoryService.getFileItem(tic, uuid, versionId, relativePath); - - } catch (AccessDeniedException e) { - - String error = "Unable to access repository to get file uuid " + uuid + " version id " + versionId - + " path " + relativePath + "."; - - error = error + "AccessDeniedException: " + e.getMessage() + " Unable to retry further."; - EadventureServiceImpl.log.error(error); - throw new EadventureApplicationException(error, e); - - } catch (Exception e) { - - String error = "Unable to access repository to get file uuid " + uuid + " version id " + versionId - + " path " + relativePath + "." + " Exception: " + e.getMessage(); - EadventureServiceImpl.log.error(error); - throw new EadventureApplicationException(error, e); - - } - } - - /** - * This method verifies the credentials of the Eadventure Tool and gives it the Ticket to login and - * access the Content Repository. - * - * A valid ticket is needed in order to access the content from the repository. This method would be called evertime - * the tool needs to upload/download files from the content repository. - * - * @return ITicket The ticket for repostory access - * @throws EadventureApplicationException - */ - private ITicket getRepositoryLoginTicket() throws EadventureApplicationException { - ICredentials credentials = new SimpleCredentials(eadventureToolContentHandler.getRepositoryUser(), - eadventureToolContentHandler.getRepositoryId()); - try { - ITicket ticket = repositoryService.login(credentials, - eadventureToolContentHandler.getRepositoryWorkspaceName()); - return ticket; - } catch (AccessDeniedException ae) { - throw new EadventureApplicationException("Access Denied to repository." + ae.getMessage()); - } catch (WorkspaceNotFoundException we) { - throw new EadventureApplicationException("Workspace not found." + we.getMessage()); - } catch (LoginException e) { - throw new EadventureApplicationException("Login failed." + e.getMessage()); - } - } - - @Override - public Eadventure getEadventureByContentId(Long contentId) { - Eadventure rs = eadventureDao.getByContentId(contentId); - return rs; - } - - @Override - public Eadventure getDefaultContent(Long contentId) throws EadventureApplicationException { - if (contentId == null) { - String error = messageService.getMessage("error.msg.default.content.not.find"); - EadventureServiceImpl.log.error(error); - throw new EadventureApplicationException(error); - } - - Eadventure defaultContent = getDefaultEadventure(); - // save default content by given ID. - Eadventure content = new Eadventure(); - content = Eadventure.newInstance(defaultContent, contentId); - return content; - } - - // TODO revisar - /* public List getAuthoredItems(Long eadventureUid) { - return eadventureItemDao.getAuthoringItems(eadventureUid); - }*/ - - @Override - public void createUser(EadventureUser eadventureUser) { - eadventureUserDao.saveObject(eadventureUser); - } - - @Override - public EadventureUser getUserByIDAndContent(Long userId, Long contentId) { - - return eadventureUserDao.getUserByUserIDAndContentID(userId, contentId); - - } - - @Override - public EadventureUser getUserByIDAndSession(Long userId, Long sessionId) { - - return eadventureUserDao.getUserByUserIDAndSessionID(userId, sessionId); - - } - - @Override - public void deleteFromRepository(Long fileUuid, Long fileVersionId) throws EadventureApplicationException { - ITicket ticket = getRepositoryLoginTicket(); - try { - repositoryService.deleteVersion(ticket, fileUuid, fileVersionId); - } catch (Exception e) { - throw new EadventureApplicationException( - "Exception occured while deleting files from" + " the repository " + e.getMessage()); - } - } - - @Override - public void saveOrUpdateEadventure(Eadventure eadventure) { - eadventureDao.saveObject(eadventure); - } - - @Override - public void saveOrUpdateEadventureExpressions(Set eadExpressions, Long condUID) { - Iterator it = eadExpressions.iterator(); - while (it.hasNext()) { - EadventureExpression expression = it.next(); - // expression.setCondition_uid(condUID); - eadventureExpressionDao.saveObject(expression); - } - } - - @Override - public void saveOrUpdateEadventureExpression(EadventureExpression eadExpression) { - eadventureExpressionDao.saveObject(eadExpression); - } - - @Override - public void saveOrUpdateEadventureCondition(EadventureCondition eadCondition) { - eadventureConditionDao.saveObject(eadCondition); - } - - @Override - public void saveOrUpdateEadventureConditions(Set eadConditions) { - Iterator it = eadConditions.iterator(); - while (it.hasNext()) { - EadventureCondition cond = it.next(); - // Set expList = cond.getEadListExpression(); - // cond.setEadListExpression(null); - eadventureConditionDao.saveObject(cond); - // saveOrUpdateEadventureExpressions(expList, cond.getUid()); - // cond.setEadListExpression(expList); - } - } - - @Override - public void deleteEadventureCondition(Long conditionUid) { - eadventureConditionDao.removeObject(EadventureCondition.class, conditionUid); - - } - - @Override - public void deleteEadventureExpression(Long expressionUid) { - eadventureExpressionDao.removeObject(EadventureExpression.class, expressionUid); - - } - - @Override - public Eadventure getEadventureBySessionId(Long sessionId) { - EadventureSession session = eadventureSessionDao.getSessionBySessionId(sessionId); - // to skip CGLib problem - Long contentId = session.getEadventure().getContentId(); - Eadventure res = eadventureDao.getByContentId(contentId); - return res; - } - - @Override - public EadventureSession getEadventureSessionBySessionId(Long sessionId) { - return eadventureSessionDao.getSessionBySessionId(sessionId); - } - - @Override - public void saveOrUpdateEadventureSession(EadventureSession resSession) { - eadventureSessionDao.saveObject(resSession); - } - - /* public void retrieveComplete(SortedSet eadventureItemList, EadventureUser user) { - for (EadventureItem item : eadventureItemList) { - EadventureItemVisitLog log = eadventureItemVisitDao.getEadventureItemLog(item.getUid(), user.getUserId()); - if (log == null) { - item.setComplete(false); - } else { - item.setComplete(log.isComplete()); - } - } - }*/ - - @Override - public void setItemComplete(Long eadventureItemUid, Long userId, Long sessionId) { - EadventureItemVisitLog log = eadventureItemVisitDao.getEadventureItemLog(eadventureItemUid, userId); - if (log == null) { - log = new EadventureItemVisitLog(); - Eadventure ead = eadventureDao.getByUid(eadventureItemUid); - log.setEadventure(ead); - EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(userId, sessionId); - log.setUser(user); - log.setSessionId(sessionId); - log.setAccessDate(new Timestamp(new Date().getTime())); - } - log.setComplete(true); - eadventureItemVisitDao.saveObject(log); - } - - @Override - public void setItemAccess(Long eadventureItemUid, Long userId, Long sessionId) { - EadventureItemVisitLog log = eadventureItemVisitDao.getEadventureItemLog(eadventureItemUid, userId); - EadventureServiceImpl.log.error("Set item acces!!!!!"); - - if (log == null) { - log = new EadventureItemVisitLog(); - Eadventure item = eadventureDao.getByUid(eadventureItemUid); - log.setEadventure(item); - EadventureServiceImpl.log.error("El id de usuario es " + userId); - EadventureServiceImpl.log.error("USER ID " + userId); - EadventureServiceImpl.log.error("SESSION ID " + sessionId); - EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(userId, sessionId); - if (user == null) { - EadventureServiceImpl.log.error("NOS DA NULL!!!!!!!"); - } - log.setUser(user); - log.setComplete(false); - log.setSessionId(sessionId); - log.setAccessDate(new Timestamp(new Date().getTime())); - eadventureItemVisitDao.saveObject(log); - } else { - EadventureServiceImpl.log.error("NO ES NULL!!!"); - } - } - - @Override - public String finishToolSession(Long toolSessionId, Long userId) throws EadventureApplicationException { - EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(userId, toolSessionId); - user.setSessionFinished(true); - eadventureUserDao.saveObject(user); - - // EadventureSession session = eadventureSessionDao.getSessionBySessionId(toolSessionId); - // session.setStatus(EadventureConstants.COMPLETED); - // eadventureSessionDao.saveObject(session); - - String nextUrl = null; - try { - nextUrl = this.leaveToolSession(toolSessionId, userId); - } catch (DataMissingException e) { - throw new EadventureApplicationException(e); - } catch (ToolException e) { - throw new EadventureApplicationException(e); - } - return nextUrl; - } - - // TODO revisar!!!! monitoring - @Override - public List getSummary(Long contentId) { - List groupList = new ArrayList(); - - // get all item which is accessed by user - Map visitCountMap = eadventureItemVisitDao.getSummary(contentId); - - Eadventure eadventure = eadventureDao.getByContentId(contentId); - - List sessionList = eadventureSessionDao.getByContentId(contentId); - for (EadventureSession session : sessionList) { - // one new group for one session. - // so far no any ead available, so just put session name info to Summary - Summary sum = new Summary(session.getSessionId(), session.getSessionName(), session.getEadventure()); - // set viewNumber according visit log - if (visitCountMap.containsKey(eadventure.getUid())) { - sum.setViewNumber(visitCountMap.get(eadventure.getUid()).intValue()); - } - List userList = getUserListBySessionItem(session.getSessionId(), eadventure.getUid()); - boolean[] existList = new boolean[userList.size()]; - int numberOfFinishedLearners = 0; - int i = 0; - for (EadventureUser eadUser : userList) { - // TODO doble acceso a vistit log... (aqui y en getUserListBySessionItem) - EadventureItemVisitLog log = getEadventureItemLog(eadventure.getUid(), eadUser.getUserId()); - - EadventureVars var = getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_REPORT); - - if (log.isComplete()) { - numberOfFinishedLearners++; - } - - if (var != null) { - existList[i] = true; - } else { - existList[i] = false; - } - - i++; - - } - sum.setUsers(userList); - sum.setExistList(existList); - sum.setNumberOfLearners(userList.size()); - sum.setNumberOfFinishedLearners(numberOfFinishedLearners); - - groupList.add(sum); - } - - return groupList; - - } - - @Override - public Map> getReflectList(Long contentId, boolean setEntry) { - Map> map = new HashMap>(); - - List sessionList = eadventureSessionDao.getByContentId(contentId); - for (EadventureSession session : sessionList) { - Long sessionId = session.getSessionId(); - boolean hasRefection = session.getEadventure().isReflectOnActivity(); - Set list = new TreeSet(new ReflectDTOComparator()); - // get all users in this session - List users = eadventureUserDao.getBySessionID(sessionId); - for (EadventureUser user : users) { - ReflectDTO ref = new ReflectDTO(user); - - if (setEntry) { - NotebookEntry entry = getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, user.getUserId().intValue()); - if (entry != null) { - ref.setReflect(entry.getEntry()); - } - } - - ref.setHasRefection(hasRefection); - list.add(ref); - } - map.put(sessionId, list); - } - - return map; - } - - @Override - public List getUserListBySessionItem(Long sessionId, Long itemUid) { - List logList = eadventureItemVisitDao.getEadventureItemLogBySession(sessionId, itemUid); - List userList = new ArrayList(logList.size()); - for (EadventureItemVisitLog visit : logList) { - EadventureUser user = visit.getUser(); - user.setAccessDate(visit.getAccessDate()); - userList.add(user); - } - // List userList = null; - return userList; - } - - // TODO revisar Monitoring!!! - @Override - public void setItemVisible(Long itemUid, boolean visible) { - /*EadventureItem item = eadventureItemDao.getByUid(itemUid); - if (item != null) { - // createBy should be null for system default value. - Long userId = 0L; - String loginName = "No user"; - if (item.getCreateBy() != null) { - userId = item.getCreateBy().getUserId(); - loginName = item.getCreateBy().getLoginName(); - } - if (visible) { - auditService.logShowEntry(EadventureConstants.TOOL_SIGNATURE, userId, loginName, item.toString()); - } else { - auditService.logHideEntry(EadventureConstants.TOOL_SIGNATURE, userId, loginName, item.toString()); - } - item.setHide(!visible); - eadventureItemDao.saveObject(item); - }*/ - } - - @Override - public Long createNotebookEntry(Long sessionId, Integer notebookToolType, String toolSignature, Integer userId, - String entryText) { - return coreNotebookService.createNotebookEntry(sessionId, notebookToolType, toolSignature, userId, "", - entryText); - } - - @Override - public NotebookEntry getEntry(Long sessionId, Integer idType, String signature, Integer userID) { - List list = coreNotebookService.getEntry(sessionId, idType, signature, userID); - if ((list == null) || list.isEmpty()) { - return null; - } else { - return list.get(0); - } - } - - /** - * @param notebookEntry - */ - @Override - public void updateEntry(NotebookEntry notebookEntry) { - coreNotebookService.updateEntry(notebookEntry); - } - - @Override - public EadventureUser getUser(Long uid) { - return (EadventureUser) eadventureUserDao.getObject(EadventureUser.class, uid); - } - - // ***************************************************************************** - // private methods - // ***************************************************************************** - private Eadventure getDefaultEadventure() throws EadventureApplicationException { - Long defaultEadventureId = getToolDefaultContentIdBySignature(EadventureConstants.TOOL_SIGNATURE); - Eadventure defaultEadventure = getEadventureByContentId(defaultEadventureId); - if (defaultEadventure == null) { - String error = messageService.getMessage("error.msg.default.content.not.find"); - EadventureServiceImpl.log.error(error); - throw new EadventureApplicationException(error); - } - - return defaultEadventure; - } - - private Long getToolDefaultContentIdBySignature(String toolSignature) throws EadventureApplicationException { - Long contentId = null; - contentId = new Long(toolService.getToolDefaultContentIdBySignature(toolSignature)); - if (contentId == null) { - String error = messageService.getMessage("error.msg.default.content.not.find"); - EadventureServiceImpl.log.error(error); - throw new EadventureApplicationException(error); - } - return contentId; - } - - private NodeKey processPackage(String packageDirectory, String initFile) throws UploadEadventureFileException { - NodeKey node = null; - try { - node = eadventureToolContentHandler.uploadPackage(packageDirectory, initFile); - } catch (InvalidParameterException e) { - throw new UploadEadventureFileException(messageService.getMessage("error.msg.invaid.param.upload")); - } catch (RepositoryCheckedException e) { - throw new UploadEadventureFileException(messageService.getMessage("error.msg.repository")); - } - return node; - } - - @Override - public void saveOrUpdateEadventureParams(Set eadParams) { - Iterator it = eadParams.iterator(); - while (it.hasNext()) { - EadventureParam param = it.next(); - eadventureParamDao.saveObject(param); - } - } - - @Override - public void removeParam(EadventureParam eadParams) { - eadventureParamDao.delete(eadParams); - } - - @Override - public void uploadEadventureFile(Eadventure ead, FormFile file) throws UploadEadventureFileException { - try { - InputStream is = file.getInputStream(); - String fileName = file.getFileName(); - String fileType = file.getContentType(); - - // need unzip upload, and parse learning object information from XML file. - - String packageDirectory = ZipFileUtil.expandZip(is, fileName); - EadventureServiceImpl.log.error("Direcci�n del zip: " + packageDirectory); - IContentPackageConverter cpConverter = new SimpleContentPackageConverter(packageDirectory); - String initFile = cpConverter.getDefaultItem(); - ead.setImsSchema(cpConverter.getSchema()); - ead.setOrganizationXml(cpConverter.getOrganzationXML()); - ead.setInitialItem(initFile); - // upload package - NodeKey nodeKey = processPackage(packageDirectory, initFile); - ead.setFileUuid(nodeKey.getUuid()); - ead.setFileVersionId(nodeKey.getVersion()); - - // create the package from the directory contents - ead.setFileType(fileType); - ead.setFileName(fileName); - - // parse parameters.xml file, and create the eadParams - // TODO reportar bien el error cuando no se produce xk no es un e-Ad file - HashMap params = InputOutputReader - .getOutputParameterList(packageDirectory + "//" + EadventureConstants.PARAMETERS_FILE_NAME); - // chek if its a real e-adventure package - - if (!new File(packageDirectory + "//" + EadventureConstants.PARAMETERS_FILE_NAME).exists()) { - EadventureServiceImpl.log - .error(messageService.getMessage("error.msg.ims.package") + " : " + "No eAdventure game!! "); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.ims.package")); - } - Iterator it = params.keySet().iterator(); - Set eadParam = new HashSet(); - while (it.hasNext()) { - EadventureParam param = new EadventureParam(); - String key = it.next(); - param.setInput(false); - param.setName(key); - param.setType(params.get(key)); - // eadventureParamDao.saveObject(param); - eadParam.add(param); - EadventureServiceImpl.log.error(key + " ha sido subido con exito!!!!!!"); - - } - // add default params (this are not included in the params file at eAd LAMS export due to they always have - // to appear) - eadParam.addAll(getDefaultParams()); - ead.setParams(eadParam); - - } catch (ZipFileUtilException e) { - EadventureServiceImpl.log - .error(messageService.getMessage("error.msg.zip.file.exception") + " : " + e.toString()); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.zip.file.exception")); - } catch (FileNotFoundException e) { - EadventureServiceImpl.log.error(messageService.getMessage("error.msg.file.not.found") + ":" + e.toString()); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.file.not.found")); - } catch (IOException e) { - EadventureServiceImpl.log.error(messageService.getMessage("error.msg.io.exception") + ":" + e.toString()); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.io.exception")); - } catch (IMSManifestException e) { - EadventureServiceImpl.log.error(messageService.getMessage("error.msg.ims.package") + ":" + e.toString()); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.ims.package")); - } catch (ImscpApplicationException e) { - EadventureServiceImpl.log - .error(messageService.getMessage("error.msg.ims.application") + ":" + e.toString()); - throw new UploadEadventureFileException(messageService.getMessage("error.msg.ims.application")); - } - } - - private List getDefaultParams() { - List defaultParams = new ArrayList(); - defaultParams.add(new EadventureParam("score", "integer", false)); - defaultParams.add(new EadventureParam("game-completed", "boolean", false)); - defaultParams.add(new EadventureParam("total-time", "integer", false)); - return defaultParams; - } - - /** - * Find out default.htm/html or index.htm/html in the given directory folder - * - * @param packageDirectory - * @return - */ - - // TODO creo que vga a sobrar - private String findWebsiteInitialItem(String packageDirectory) { - File file = new File(packageDirectory); - if (!file.isDirectory()) { - return null; - } - - File[] initFiles = file.listFiles(new FileFilter() { - @Override - public boolean accept(File pathname) { - if ((pathname == null) || (pathname.getName() == null)) { - return false; - } - String name = pathname.getName(); - if (name.endsWith("default.html") || name.endsWith("default.htm") || name.endsWith("index.html") - || name.endsWith("index.htm")) { - return true; - } - return false; - } - }); - if ((initFiles != null) && (initFiles.length > 0)) { - return initFiles[0].getName(); - } else { - return null; - } - } - - // ***************************************************************************** - // set methods for Spring Bean - // ***************************************************************************** - public void setAuditService(IAuditService auditService) { - this.auditService = auditService; - } - - public void setLearnerService(ILearnerService learnerService) { - this.learnerService = learnerService; - } - - public void setMessageService(MessageService messageService) { - this.messageService = messageService; - } - - public void setRepositoryService(IRepositoryService repositoryService) { - this.repositoryService = repositoryService; - } - - public void setEadventureDao(EadventureDAO eadventureDao) { - this.eadventureDao = eadventureDao; - } - - @Override - public List getEadventureParamByContentId(Long contentId) { - return eadventureParamDao.getEadventureParamByEadContentId(contentId); - } - - public void setEadventureSessionDao(EadventureSessionDAO eadventureSessionDao) { - this.eadventureSessionDao = eadventureSessionDao; - } - - public void setEadventureToolContentHandler(EadventureToolContentHandler eadventureToolContentHandler) { - this.eadventureToolContentHandler = eadventureToolContentHandler; - } - - public void setEadventureUserDao(EadventureUserDAO eadventureUserDao) { - this.eadventureUserDao = eadventureUserDao; - } - - public void setEadventureItemVisitDao(EadventureItemVisitDAO eadventureItemVisitDao) { - this.eadventureItemVisitDao = eadventureItemVisitDao; - } - - public EadventureItemVisitDAO getEadventureItemVisitDao() { - return eadventureItemVisitDao; - } - - public void setEadventureVarsDao(EadventureVarsDAO eadventureVarsDao) { - this.eadventureVarsDao = eadventureVarsDao; - } - - public void setToolService(ILamsToolService toolService) { - this.toolService = toolService; - } - - // ******************************************************************************* - // ToolContentManager, ToolSessionManager methods - // ******************************************************************************* - - @Override - public void exportToolContent(Long toolContentId, String rootPath) throws DataMissingException, ToolException { - Eadventure toolContentObj = eadventureDao.getByContentId(toolContentId); - if (toolContentObj == null) { - try { - toolContentObj = getDefaultEadventure(); - } catch (EadventureApplicationException e) { - throw new DataMissingException(e.getMessage()); - } - } - if (toolContentObj == null) { - throw new DataMissingException("Unable to find default content for the eadventure tool"); - } - - // set EadventureToolContentHandler as null to avoid copy file node in repository again. - toolContentObj = Eadventure.newInstance(toolContentObj, toolContentId); - try { - // TODO revisar!! - exportContentService.registerFileClassForExport(Eadventure.class.getName(), "fileUuid", "fileVersionId"); - exportContentService.exportToolContent(toolContentId, toolContentObj, eadventureToolContentHandler, - rootPath); - } catch (ExportToolContentException e) { - throw new ToolException(e); - } - } - - @Override - public void importToolContent(Long toolContentId, Integer newUserUid, String toolContentPath, String fromVersion, - String toVersion) throws ToolException { - - try { - // register version filter class - exportContentService.registerImportVersionFilterClass(EadventureImportContentVersionFilter.class); - - // TODO revisar - exportContentService.registerFileClassForImport(Eadventure.class.getName(), "fileUuid", "fileVersionId", - "fileName", "fileType", "initialItem"); - - Object toolPOJO = exportContentService.importToolContent(toolContentPath, eadventureToolContentHandler, - fromVersion, toVersion); - if (!(toolPOJO instanceof Eadventure)) { - throw new ImportToolContentException( - "Import eadventure tool content failed. Deserialized object is " + toolPOJO); - } - Eadventure toolContentObj = (Eadventure) toolPOJO; - - // reset it to new toolContentId - toolContentObj.setContentId(toolContentId); - EadventureUser user = eadventureUserDao.getUserByUserIDAndContentID(new Long(newUserUid.longValue()), - toolContentId); - if (user == null) { - user = new EadventureUser(); - UserDTO sysUser = ((User) userManagementService.findById(User.class, newUserUid)).getUserDTO(); - user.setFirstName(sysUser.getFirstName()); - user.setLastName(sysUser.getLastName()); - user.setLoginName(sysUser.getLogin()); - user.setUserId(new Long(newUserUid.longValue())); - user.setEadventure(toolContentObj); - } - toolContentObj.setCreatedBy(user); - // TODO revisar!! que no falte nada al objeto de EAD - // reset all eadventureItem createBy user - /*Set items = toolContentObj.getEadventureItems(); - for (EadventureItem item : items) { - item.setCreateBy(user); - }*/ - // TODO ver si esto es correcto: - Set par = toolContentObj.getParams(); - List listPar = new ArrayList(par); - for (Object o : listPar) { - ((EadventureParam) o).setEadventure_uid(null); - this.eadventureParamDao.saveObject(o); - } - Set con = toolContentObj.getConditions(); - List listCon = new ArrayList(con); - for (Object o : listCon) { - ((EadventureCondition) o).setEadventure_uid(null); - this.eadventureConditionDao.saveObject(o); - } - - eadventureDao.saveObject(toolContentObj); - - } 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 - * @throws EadventureApplicationException - */ - - // @Override - @Override - public SortedMap getToolOutputDefinitions(Long toolContentId, int definitionType) - throws ToolException { - Eadventure content = getEadventureByContentId(toolContentId); - if (content == null) { - try { - content = getDefaultContent(toolContentId); - - } catch (EadventureApplicationException e) { - throw new ToolException(e); - } - } - - SortedMap prueba = getEadventureOutputFactory().getToolOutputDefinitions(content, - definitionType); - - return prueba; - } - - @Override - public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { - if (toContentId == null) { - throw new ToolException("Failed to create the EadventureFiles tool seession"); - } - - Eadventure eadventure = null; - if (fromContentId != null) { - eadventure = eadventureDao.getByContentId(fromContentId); - } - if (eadventure == null) { - try { - eadventure = getDefaultEadventure(); - } catch (EadventureApplicationException e) { - throw new ToolException(e); - } - } - - Eadventure toContent = Eadventure.newInstance(eadventure, toContentId); - eadventureDao.saveObject(toContent); - - // TODO no hace nada... pero comprobar que no de problema - // save eadventure items as well - /*Set items = toContent.getEadventureItems(); - if (items != null) { - Iterator iter = items.iterator(); - while (iter.hasNext()) { - EadventureItem item = (EadventureItem) iter.next(); - // createRootTopic(toContent.getUid(),null,msg); - } - }*/ - } - - @Override - public String getToolContentTitle(Long toolContentId) { - return getEadventureByContentId(toolContentId).getTitle(); - } - - @Override - public void resetDefineLater(Long toolContentId) throws DataMissingException, ToolException { - Eadventure eadventure = eadventureDao.getByContentId(toolContentId); - if (eadventure == null) { - throw new ToolException("No found tool content by given content ID:" + toolContentId); - } - eadventure.setDefineLater(false); - } - - @Override - public boolean isContentEdited(Long toolContentId) { - return getEadventureByContentId(toolContentId).isDefineLater(); - } - - @Override - public boolean isReadOnly(Long toolContentId) { - for (EadventureSession session : eadventureSessionDao.getByContentId(toolContentId)) { - if (!eadventureUserDao.getBySessionID(session.getSessionId()).isEmpty()) { - return true; - } - } - - return false; - } - - @Override - public void removeToolContent(Long toolContentId) throws ToolException { - Eadventure eadventure = eadventureDao.getByContentId(toolContentId); - if (eadventure == null) { - EadventureServiceImpl.log - .warn("Can not remove the tool content as it does not exist. ID: " + toolContentId); - } - - for (EadventureSession session : eadventureSessionDao.getByContentId(toolContentId)) { - List entries = coreNotebookService.getEntry(session.getSessionId(), - CoreNotebookConstants.NOTEBOOK_TOOL, EadventureConstants.TOOL_SIGNATURE); - for (NotebookEntry entry : entries) { - coreNotebookService.deleteEntry(entry); - } - } - - eadventureDao.delete(eadventure); - } - - @Override - public void removeLearnerContent(Long toolContentId, Integer userId) throws ToolException { - if (EadventureServiceImpl.log.isDebugEnabled()) { - EadventureServiceImpl.log - .debug("Removing Eadventure content for user ID " + userId + " and toolContentId " + toolContentId); - } - - Eadventure eadventure = eadventureDao.getByContentId(toolContentId); - if (eadventure == null) { - EadventureServiceImpl.log - .warn("Did not find activity with toolContentId: " + toolContentId + " to remove learner content"); - return; - } - EadventureItemVisitLog visitLog = eadventureItemVisitDao.getEadventureItemLog(eadventure.getUid(), - userId.longValue()); - if (visitLog != null) { - eadventureItemVisitDao.removeObject(EadventureItemVisitLog.class, visitLog.getUid()); - } - - List sessions = eadventureSessionDao.getByContentId(toolContentId); - for (EadventureSession session : sessions) { - EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(userId.longValue(), - session.getSessionId()); - if (user != null) { - NotebookEntry entry = getEntry(session.getSessionId(), CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, userId); - if (entry != null) { - eadventureDao.removeObject(NotebookEntry.class, entry.getUid()); - } - - gradebookService.updateActivityMark(null, null, userId, session.getSessionId(), false); - - eadventureUserDao.removeObject(EadventureUser.class, user.getUid()); - } - } - } - - @Override - public void removeParams(Long toolContentId) { - List params = getEadventureParamByContentId(toolContentId); - if (params != null) { - for (EadventureParam param : params) { - eadventureParamDao.delete(param); - } - } - } - - @Override public void createToolSession(Long toolSessionId, String toolSessionName, Long toolContentId) throws ToolException { - EadventureSession session = new EadventureSession(); - session.setSessionId(toolSessionId); - session.setSessionName(toolSessionName); - Eadventure eadventure = eadventureDao.getByContentId(toolContentId); - session.setEadventure(eadventure); - eadventureSessionDao.saveObject(session); } @Override public String leaveToolSession(Long toolSessionId, Long learnerId) throws DataMissingException, ToolException { - if (toolSessionId == null) { - EadventureServiceImpl.log.error("Fail to leave tool Session based on null tool session id."); - throw new ToolException("Fail to remove tool Session based on null tool session id."); - } - if (learnerId == null) { - EadventureServiceImpl.log.error("Fail to leave tool Session based on null learner."); - throw new ToolException("Fail to remove tool Session based on null learner."); - } - - EadventureSession session = eadventureSessionDao.getSessionBySessionId(toolSessionId); - if (session != null) { - session.setStatus(EadventureConstants.COMPLETED); - eadventureSessionDao.saveObject(session); - } else { - EadventureServiceImpl.log.error("Fail to leave tool Session.Could not find shared eadventure " - + "session by given session id: " + toolSessionId); - throw new DataMissingException("Fail to leave tool Session." - + "Could not find shared eadventure session by given session id: " + toolSessionId); - } - return learnerService.completeToolSession(toolSessionId, learnerId); + return null; } @Override @@ -1107,312 +60,70 @@ @Override public void removeToolSession(Long toolSessionId) throws DataMissingException, ToolException { - eadventureSessionDao.deleteBySessionId(toolSessionId); } @Override public SortedMap getToolOutput(List names, Long toolSessionId, Long learnerId) { - return getEadventureOutputFactory().getToolOutput(names, this, toolSessionId, learnerId); + return null; } @Override public ToolOutput getToolOutput(String name, Long toolSessionId, Long learnerId) { - return getEadventureOutputFactory().getToolOutput(name, this, toolSessionId, learnerId); + return null; } @Override public void forceCompleteUser(Long toolSessionId, User user) { - // no actions required } - public IExportToolContentService getExportContentService() { - return exportContentService; + @Override + public void copyToolContent(Long fromContentId, Long toContentId) throws ToolException { } - public void setExportContentService(IExportToolContentService exportContentService) { - this.exportContentService = exportContentService; - } - - public IUserManagementService getUserManagementService() { - return userManagementService; - } - - public void setUserManagementService(IUserManagementService userManagementService) { - this.userManagementService = userManagementService; - } - - public ICoreNotebookService getCoreNotebookService() { - return coreNotebookService; - } - - public void setCoreNotebookService(ICoreNotebookService coreNotebookService) { - this.coreNotebookService = coreNotebookService; - } - @Override - public IEventNotificationService getEventNotificationService() { - return eventNotificationService; + public void resetDefineLater(Long toolContentId) throws DataMissingException, ToolException { } - public void setEventNotificationService(IEventNotificationService eventNotificationService) { - this.eventNotificationService = eventNotificationService; - } - @Override - public String getLocalisedMessage(String key, Object[] args) { - return messageService.getMessage(key, args); + public void removeToolContent(Long toolContentId) throws ToolException { } - public ILessonService getLessonService() { - return lessonService; - } - - public void setLessonService(ILessonService lessonService) { - this.lessonService = lessonService; - } - - /** - * Finds out which lesson the given tool content belongs to and returns its monitoring users. - * - * @param sessionId - * tool session ID - * @return list of teachers that monitor the lesson which contains the tool with given session ID - */ @Override - public List getMonitorsByToolSessionId(Long sessionId) { - return getLessonService().getMonitorsByToolSessionId(sessionId); + public void removeLearnerContent(Long toolContentId, Integer userId) throws ToolException { } - // TODO Resultado de la actualizaci�n a la brach de release 2.3.5, ver si afecta!!! - - /*public Class[] getSupportedToolOutputDefinitionClasses(int definitionType) { - return getEadventureOutputFactory().getSupportedDefinitionClasses(definitionType); - }*/ - - public EadventureOutputFactory getEadventureOutputFactory() { - return eadventureOutputFactory; - } - - public void setEadventureOutputFactory(EadventureOutputFactory eadventureOutputFactory) { - this.eadventureOutputFactory = eadventureOutputFactory; - } - - public void setGradebookService(IGradebookService gradebookService) { - this.gradebookService = gradebookService; - } - - public IGradebookService getGradebookService() { - return gradebookService; - } - - /** - * {@inheritDoc} - */ @Override - public boolean checkCondition(String conditionName, Long toolSessionId, Long userUid) { - EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(userUid, toolSessionId); - Eadventure eadventure = eadventureSessionDao.getSessionBySessionId(toolSessionId).getEadventure(); - Set conditions = eadventure.getConditions(); - EadventureCondition condition = null; - for (EadventureCondition cond : conditions) { - if (cond.getName().equals(conditionName)) { - condition = cond; - break; - } - } - - boolean result = true; - if (condition != null) { - EadventureItemVisitLog visitLog = eadventureItemVisitDao.getEadventureItemLog(eadventure.getUid(), userUid); - Set eadV = visitLog.getEadventureVars(); - if (!eadV.isEmpty()) { - List eadventureVars = new ArrayList(eadV); - // TODO comprobar si no lo tengo que meter con comparator para que salga en orden - Iterator it = condition.getEadListExpression().iterator(); - String previousOp = null; - while (it.hasNext()) { - Boolean andExpression = null; - boolean iniNewAnd = false; - EadventureExpression expr = it.next(); - String nextOp = expr.getNextOp(); - if (visitLog != null) { - boolean partialResult = checkExpression(expr, eadventureVars); - // first expr - if ((expr.getSequenceId() == 0) || iniNewAnd) { - result = partialResult; - } else if ((previousOp == null) || previousOp.equals("and")) { - result &= partialResult; - } else if (((previousOp != null) && previousOp.equals("or")) || !it.hasNext()) { - if (andExpression == null) { - andExpression = new Boolean(result); - iniNewAnd = true; - } else { - result = partialResult || andExpression; - iniNewAnd = false; - andExpression = null; - } - } - - previousOp = nextOp; - - } else { - - result = false; - break; - } - } - } else { - // There aren't vars set for this user and session - result = false; - } - } else { - // there is no such a condition - result = false; - } - - return result; + public void exportToolContent(Long toolContentId, String toPath) throws DataMissingException, ToolException { } - private boolean checkExpression(EadventureExpression expr, List eadventureVars) { - EadventureVars firstVar = getVarByName(expr.getFirstOp().getName(), eadventureVars); - // firstVar.setType(expr.getFirstOp().getType()); - EadventureVars secVar = null; - String operator = expr.getExpresionOp(); - String value = expr.getValueIntroduced(); - if (expr.getVarIntroduced() != null) { - secVar = getVarByName(expr.getVarIntroduced().getName(), eadventureVars); - secVar.setType(expr.getVarIntroduced().getType()); - } - // when tries to check a var that has not been send by the game - if (firstVar != null) { - if (secVar == null) { - return evalExpr(new String(firstVar.getType()), new String(firstVar.getValue()), value, operator); - } else { - return evalExpr(firstVar.getType(), firstVar.getValue(), secVar.getValue(), operator); - } - } else { - return false; - } - } - - private boolean evalExpr(String type, String firstValue, String secondValue, String op) { - if (type.equals("string")) { - if (op.equals("==")) { - return firstValue.equals(secondValue); - } else { - return !firstValue.equals(secondValue); - } - } else if (type.equals("boolean")) { - return firstValue.equals(secondValue); - } else if (type.equals("integer")) { - if (op.equals("==")) { - return Integer.parseInt(firstValue) == Integer.parseInt(secondValue); - } else if (op.equals("!=")) { - return Integer.parseInt(firstValue) != Integer.parseInt(secondValue); - } else if (op.equals(">")) { - return Integer.parseInt(firstValue) > Integer.parseInt(secondValue); - } else if (op.equals("<")) { - return Integer.parseInt(firstValue) < Integer.parseInt(secondValue); - } else if (op.equals(">=")) { - return Integer.parseInt(firstValue) >= Integer.parseInt(secondValue); - } else if (op.equals("<=")) { - return Integer.parseInt(firstValue) <= Integer.parseInt(secondValue); - } - - } - - return false; - } - - private EadventureVars getVarByName(String name, List eadventureVars) { - for (EadventureVars var : eadventureVars) { - if (var.getName().equals(name)) { - return var; - - } - } - return null; - - } - - // TODO IMPORRRRRRRRRRRRRRRTANTE!!!!!!!!!!!!!!! el par�metro toolContentID que estamos pasando es realmente - // toolSessionID!!!! - // @Override @Override - public boolean setAppletInput(String name, String value, String userId, String toolContentID) { - // TODO restart when - EadventureServiceImpl.log.error("EEEEEEEEEEEEEEEEEE " + name); - EadventureServiceImpl.log.error("EEEEEEEEEEEEEEEEEE " + value); - // EadventureServiceImpl.log.error("USER ID "+ userId); - EadventureServiceImpl.log.error("TOOL SESION ID " + toolContentID); - EadventureServiceImpl.log.error("OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOEEEEEEEEEEEEEEEE"); - - // TODO Ahora recuperamos la session para sacar el EAD!!! pero a�adir el toolContentId para que sea mas - // sencillo!!! - // TODO user va a sobrar!! con el userID que ya se nos pasa por par�metro vamos sobraos!! - // EadventureUser user = eadventureUserDao.getUserByUserIDAndContentID(Long.parseLong(userId), - // Long.parseLong(toolContentID)); - // EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(Long.parseLong(userId), - // Long.parseLong(toolContentID)); - // eadventureUserDao.getUserByUserIDAndSessionID(Long.parseLong(userId), Long.parseLong(toolSessionID)); - EadventureServiceImpl.log.error("USER ID " + userId); - EadventureSession eadSession = eadventureSessionDao.getSessionBySessionId(Long.parseLong(toolContentID)); - // Eadventure ead = eadventureDao.getByContentId(Long.parseLong(toolContentID)); - EadventureItemVisitLog log = eadventureItemVisitDao.getEadventureItemLog(eadSession.getEadventure().getUid(), - Long.parseLong(userId)); - EadventureVars var = eadventureVarsDao.getEadventureVars(log.getUid(), name); - if (var == null) { - var = new EadventureVars(); - var.setName(name); - var.setVisitLog(log); - // Get the type from the params list - var.setType(eadventureParamDao.getEadventureParamTypeByNameAndEadContentID(name, - eadSession.getEadventure().getUid())); - } - var.setValue(value); - this.eadventureVarsDao.saveObject(var); - boolean changeButton = eadSession.getEadventure().isDefineComplete() & !log.isComplete(); - if (name.equals(EadventureConstants.VAR_NAME_COMPLETED) && value.equals("true") && changeButton) { - setItemComplete(eadSession.getEadventure().getUid(), Long.parseLong(userId), eadSession.getSessionId()); - } - - return changeButton; + public void importToolContent(Long toolContentId, Integer newUserUid, String toolContentPath, String fromVersion, + String toVersion) throws ToolException { } - // @Override @Override - public void setReportInput(String name, String value, String userId, String toolSessionID) { - // TODO Auto-generated method stub - + public SortedMap getToolOutputDefinitions(Long toolContentId, int definitionType) + throws ToolException { + return null; } @Override public Class[] getSupportedToolOutputDefinitionClasses(int definitionType) { return null; } - // @Override @Override - public EadventureItemVisitLog getEadventureItemLog(Long itemUid, Long userId) { - - return eadventureItemVisitDao.getEadventureItemLog(itemUid, userId); + public String getToolContentTitle(Long toolContentId) { + return null; } - // @Override @Override - public EadventureVars getEadventureVars(Long itemVisitLogID, String name) { - return eadventureVarsDao.getEadventureVars(itemVisitLogID, name); + public boolean isContentEdited(Long toolContentId) { + return false; } - public void setEadventureParamDao(EadventureParamDAO eadventureParamDao) { - this.eadventureParamDao = eadventureParamDao; + @Override + public boolean isReadOnly(Long toolContentId) { + return false; } - - public void setEadventureConditionDao(EadventureConditionDAO eadventureConditionDao) { - this.eadventureConditionDao = eadventureConditionDao; - } - - public void setEadventureExpressionDao(EadventureExpressionDAO eadventureExpressionDao) { - this.eadventureExpressionDao = eadventureExpressionDao; - } } \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceProxy.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/IEadventureService.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/UploadEadventureFileException.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/EadventureConditionComparator.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/EadventureExpressionComparator.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/EadventureToolContentHandler.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/EadventureWebUtils.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/IOdatamodel.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/InputOutputReader.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/ReflectDTOComparator.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/util/SaxIOReader.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java =================================================================== diff -u -r6d674e346dea6ce7a824366c8a7c315660677744 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 6d674e346dea6ce7a824366c8a7c315660677744) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -2,1100 +2,40 @@ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) * ============================================================= * License Information: http://lamsfoundation.org/licensing/lams/2.0/ - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA - * + * * http://www.gnu.org/licenses/gpl.txt * **************************************************************** */ /* $$Id$$ */ package org.eucm.lams.tool.eadventure.web.action; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import org.apache.commons.beanutils.PropertyUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.math.NumberUtils; -import org.apache.log4j.Logger; import org.apache.struts.action.Action; -import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; 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.eucm.lams.tool.eadventure.EadventureConstants; -import org.eucm.lams.tool.eadventure.model.Eadventure; -import org.eucm.lams.tool.eadventure.model.EadventureCondition; -import org.eucm.lams.tool.eadventure.model.EadventureExpression; -import org.eucm.lams.tool.eadventure.model.EadventureParam; -import org.eucm.lams.tool.eadventure.model.EadventureUser; -import org.eucm.lams.tool.eadventure.service.IEadventureService; -import org.eucm.lams.tool.eadventure.service.UploadEadventureFileException; -import org.eucm.lams.tool.eadventure.util.EadventureConditionComparator; -import org.eucm.lams.tool.eadventure.web.form.EadventureForm; -import org.eucm.lams.tool.eadventure.web.form.EadventureGameForm; -import org.eucm.lams.tool.eadventure.web.form.EadventurePedagogicalPlannerForm; -import org.lamsfoundation.lams.authoring.web.AuthoringConstants; -import org.lamsfoundation.lams.contentrepository.client.IToolContentHandler; -import org.lamsfoundation.lams.tool.ToolAccessMode; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.util.FileValidatorUtil; -import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.web.session.SessionManager; -import org.lamsfoundation.lams.web.util.AttributeNames; -import org.lamsfoundation.lams.web.util.SessionMap; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; +import org.apache.struts.action.RedirectingActionForward; -/** - * @author Steve.Ni - * @version $Revision$ - */ public class AuthoringAction extends Action { - private static final String INSTRUCTION_ITEM_DESC_PREFIX = "instructionItemDesc"; - - private static Logger log = Logger.getLogger(AuthoringAction.class); - @Override - public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - - String param = mapping.getParameter(); - // -----------------------Eadventure Author function - // --------------------------- - if (param.equals("start")) { - ToolAccessMode mode = getAccessMode(request); - // teacher mode "check for new" button enter. - if (mode != null) { - request.setAttribute(AttributeNames.ATTR_MODE, mode.toString()); - } else { - request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.AUTHOR.toString()); - } - return start(mapping, form, request, response); - } - if (param.equals("definelater")) { - // update define later flag to true - Long contentId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); - IEadventureService service = getEadventureService(); - Eadventure eadventure = service.getEadventureByContentId(contentId); - - eadventure.setDefineLater(true); - service.saveOrUpdateEadventure(eadventure); - - request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.TEACHER.toString()); - return start(mapping, form, request, response); - } - if (param.equals("initPage")) { - return initPage(mapping, form, request, response); - } - - if (param.equals("updateContent")) { - return updateContent(mapping, form, request, response); - } - // ----------------------- Add eadventure item function - // --------------------------- -/* if (param.equals("newItemInit")) { - return newItemlInit(mapping, form, request, response); - }*/ - if (param.equals("editGameInit")) { - return editGameInit(mapping, form, request, response); - } - if (param.equals("saveOrUpdateGame")) { - return saveOrUpdateGame(mapping, form, request, response); - } - if (param.equals("removeItem")) { - return removeItem(mapping, form, request, response); - } - // -----------------------Eadventure Item Instruction function - // --------------------------- - if (param.equals("newInstruction")) { - return newInstruction(mapping, form, request, response); - } - if (param.equals("removeInstruction")) { - return removeInstruction(mapping, form, request, response); - } - if (param.equals("removeGameAttachment")) { - return removeGameAttachment(mapping, form, request, response); - } - if (param.equals("initPedagogicalPlannerForm")) { - return initPedagogicalPlannerForm(mapping, form, request, response); - } - if (param.equals("createPedagogicalPlannerItem")) { - return createPedagogicalPlannerItem(mapping, form, request, response); - } - if (param.equals("saveOrUpdatePedagogicalPlannerForm")) { - return saveOrUpdatePedagogicalPlannerForm(mapping, form, request, response); - } - if (param.equals("switchEadventureItemPosition")) { - // return switchEadventureItemPosition(mapping, form, request, response); - } - - return mapping.findForward(EadventureConstants.ERROR); + public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws Exception { + return new RedirectingActionForward("/index.html"); } - - /** - * Read eadventure data from database and put them into HttpSession. It will - * redirect to init.do directly after this method run successfully. - * - * This method will avoid read database again and lost un-saved resouce item - * lost when user "refresh page", - * - * @throws ServletException - * - */ - private ActionForward start(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException { - - // save toolContentID into HTTPSession - Long contentId = new Long(WebUtil.readLongParam(request, EadventureConstants.PARAM_TOOL_CONTENT_ID)); - - // get back the eadventure and item list and display them on page - IEadventureService service = getEadventureService(); - - Eadventure eadventure = null; - EadventureForm eadventureForm = (EadventureForm) form; - - // Get contentFolderID and save to form. - String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); - eadventureForm.setContentFolderID(contentFolderID); - - // initial Session Map - SessionMap sessionMap = new SessionMap(); - request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); - eadventureForm.setSessionMapID(sessionMap.getSessionID()); - - try { - eadventure = service.getEadventureByContentId(contentId); - // if eadventure does not exist, try to use default content instead. - //TODO fijar el default content!!!! - if (eadventure == null) { - eadventure = service.getDefaultContent(contentId); - } - - eadventureForm.setEadventure(eadventure); - eadventureForm.setHasFile(eadventure.getFileName()!=null); - } catch (Exception e) { - AuthoringAction.log.error(e); - throw new ServletException(e); - } - - // init it to avoid null exception in following handling - - EadventureUser eadventureUser = null; - // handle system default question: createBy is null, now set it to - // current user - if (eadventure.getCreatedBy()== null) { - if (eadventureUser == null) { - // get back login user DTO - HttpSession ss = SessionManager.getSession(); - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - eadventureUser = new EadventureUser(user, eadventure); - } - eadventure.setCreatedBy(eadventureUser); - } - - // initialize conditions list (getEadventureConditionList puts a new conditions list in sessionMap - // if there are not list inside) - SortedSet conditionList = getEadventureConditionList(sessionMap); - conditionList.clear(); - conditionList.addAll(eadventure.getConditions()); - // initialize params list - List paramsList = new ArrayList(eadventure.getParams()); - sessionMap.put(EadventureConstants.ATTR_PARAMS_LIST, paramsList); - //initialize deletedParamList - List delParamsList = new ArrayList(); - sessionMap.put(EadventureConstants.ATTR_DELETED_PARAMS_LIST, delParamsList); - - - - - //TODO esta info puede ser redundante, ya que pasamos tb el form en la session - if (eadventureForm.isHasFile()){ - sessionMap.put(EadventureConstants.ATTR_HAS_FILE, "true"); - sessionMap.put(EadventureConstants.ATTR_OPEN_SAVED_GAME, "true"); - }else { - sessionMap.put(EadventureConstants.ATTR_OPEN_SAVED_GAME, "false"); - sessionMap.put(EadventureConstants.ATTR_HAS_FILE, "false"); - } - - sessionMap.put(EadventureConstants.ATTR_CHANGE_FILE, "false"); - sessionMap.put(EadventureConstants.ATTR_RESOURCE_FORM, eadventureForm); - request.getSession().setAttribute(AttributeNames.PARAM_NOTIFY_CLOSE_URL, - request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL)); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Display same entire authoring page content from HttpSession variable. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - * @throws ServletException - */ - private ActionForward initPage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException { - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - EadventureForm existForm = (EadventureForm) sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM); - - EadventureForm eadventureForm = (EadventureForm) form; - try { - PropertyUtils.copyProperties(eadventureForm, existForm); - } catch (Exception e) { - throw new ServletException(e); - } - ToolAccessMode mode = getAccessMode(request); - if (mode.isAuthor()) { - return mapping.findForward(EadventureConstants.SUCCESS); - } else { - return mapping.findForward(EadventureConstants.DEFINE_LATER); - } - } - - /** - * Display edit page for eadventure game file. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward editGameInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - - // get back sessionMAP - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - - //TODO MODIFICAR PARA que sean una llamada javascript o algo asi - //((EadventureGameForm) form).setSessionMapID(sessionMapID); - //((EadventureGameForm) form).has - //EadventureForm eadForm = ((EadventureForm)sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM)); - EadventureGameForm eadGameForm = ((EadventureGameForm) form); - eadGameForm.setSessionMapID(sessionMapID); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - - /** - * This method will get necessary information from eadventure game - * save or update into HttpSession via. Notice, - * this save is not persist them into database, just save - * HttpSession temporarily. Only they will be persist when the - * entire authoring page is being persisted. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - * @throws ServletException - */ - private ActionForward saveOrUpdateGame(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - - - EadventureGameForm gameForm = (EadventureGameForm) form; - // get back sessionMAP - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(gameForm.getSessionMapID()); - - Eadventure eadventure = ((EadventureForm)sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM)).getEadventure(); - - ActionErrors errors = new ActionErrors(); - FormFile file = ((EadventureGameForm)form).getFile(); - if (file.getFileName()==null||file.getFileName().equals("")) - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( - EadventureConstants.ERROR_NOT_EAD_ADD)); - - if (!errors.isEmpty()) { - this.addErrors(request, errors); - //request.setAttribute(EadventureConstants.ATTR_INSTRUCTION_LIST, instructionList); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, gameForm.getSessionMapID()); - return mapping.findForward("addgame"); - } - - // if the conditions list is not empty, add conditions to deleteConditionsList to delete form the data base - // when the eadventure object will be persistent - - //TODO comprobar, lo hacemos en update game tb..... - /*Set conditions = eadventure.getConditions(); - if (conditions.size()!=0){ - List delEadventureConditionList = getDeletedEadventureConditionList(sessionMap); - delEadventureConditionList.addAll(conditions); - sessionMap.put(EadventureConstants.ATTR_DELETED_CONDITION_LIST, delEadventureConditionList); - // add the related expressions to their delete list - List delEadventureExpressionList = this.getDeletedEadventureExpressionList(sessionMap); - for (EadventureCondition condition: conditions){ - Set expressions = condition.getEadListExpression(); - delEadventureExpressionList.addAll(expressions); - } - //reset conditions - eadventure.setConditions(new HashSet()); - }*/ - try { - - IEadventureService service = getEadventureService(); - service.uploadEadventureFile( eadventure, gameForm.getFile()); - - } catch (Exception e) { - // any upload exception will display as normal error message rather - // then throw exception directly - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_UPLOAD_FAILED, e.getMessage())); - if (!errors.isEmpty()) { - this.addErrors(request, errors); - return mapping.findForward("addgame"); - } - } - sessionMap.put(EadventureConstants.ATTR_HAS_FILE, "true"); - List paramList = this.getEdventureParamList(sessionMap); - paramList.clear(); - paramList.addAll(eadventure.getParams()); - sessionMap.put(EadventureConstants.ATTR_PARAMS_LIST, paramList); - sessionMap.put(EadventureConstants.ATTR_CHANGE_FILE, "true"); - ((EadventureForm)sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM)).setHasFile(true); - // set session map ID so that itemlist.jsp can get sessionMAP - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, gameForm.getSessionMapID()); - request.setAttribute(EadventureConstants.ATTR_GAME_DELETE, "false"); - // return null to close this window - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Remove eadventure game. It is a ajax call and just temporarily remove from page, all - * permenant change will happen only when user sumbit this eadventure - * again. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward removeGameAttachment(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - EadventureForm existForm = (EadventureForm) sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM); - // Add to delete list all the conditions and game params - List delCondList = getDeletedEadventureConditionList(sessionMap); - delCondList.addAll(existForm.getEadventure().getConditions()); - - - //TODO comprobar que etsa bien: solo hay que meter en deleteExpresion cuando borramos la expression, no la cond (xk como - // estan definidas las tablas) - //Set conditions = existForm.getEadventure().getConditions(); - //List condList = new ArrayList(conditions); - //List delExprlList = getDeletedEadventureExpressionList(sessionMap); - /*for (EadventureCondition eadc: condList ){ - delCondList.add(eadc); - delExprlList.addAll(eadc.getEadListExpression()); - }*/ - - - // the same with the params - List delParamsList = getDeletedEadventureParamsList(sessionMap); - delParamsList.addAll(existForm.getEadventure().getParams()); - - - sessionMap.put(EadventureConstants.ATTR_CONDITION_LIST, null); - sessionMap.put(EadventureConstants.ATTR_EXPRESSION_LIST, null); - sessionMap.put(EadventureConstants.ATTR_PARAMS_LIST, null); - - existForm.resetFileInfo(); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMapID); - sessionMap.put(EadventureConstants.ATTR_HAS_FILE, "false"); - // TODO esta no funciona, se ha arreglado de otra manera en la view, comprobar - request.setAttribute(EadventureConstants.ATTR_GAME_DELETE, 1 ); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Remove eadventure item from HttpSession list and update page display. As - * authoring rule, all persist only happen when user submit whole page. So - * this remove is just impact HttpSession values. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward removeItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - - // get back sessionMAP - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - - //int itemIdx = NumberUtils.stringToInt(request.getParameter(EadventureConstants.PARAM_ITEM_INDEX), -1); - /*if (itemIdx != -1) { - SortedSet eadventureList = getEadventureItemList(sessionMap); - List rList = new ArrayList(eadventureList); - EadventureItem item = rList.remove(itemIdx); - eadventureList.clear(); - eadventureList.addAll(rList); - // add to delList - List delList = getDeletedEadventureItemList(sessionMap); - delList.add(item); - }*/ - - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMapID); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - - - - - /** - * Ajax call, will add one more input line for new eadventure item - * instruction. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward newInstruction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - int numberOfInstructions = getNumberOfInstructionsInRequest(request); - List instructionList = new ArrayList(++numberOfInstructions); - for (int idx = 0; idx < numberOfInstructions; idx++) { - String item = request.getParameter(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX + idx); - if (item == null) { - instructionList.add(""); - } else { - instructionList.add(item); - } - } - request.setAttribute(EadventureConstants.ATTR_INSTRUCTION_LIST, instructionList); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Ajax call, remove the given line of instruction of eadventure item. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward removeInstruction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - int numberOfInstructions = getNumberOfInstructionsInRequest(request); - int removeIdx = NumberUtils.stringToInt(request.getParameter("removeIdx"), -1); - List instructionList = new ArrayList(numberOfInstructions - 1); - for (int idx = 0; idx < numberOfInstructions; idx++) { - String item = request.getParameter(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX + idx); - if (idx == removeIdx) { - continue; - } - if (item == null) { - instructionList.add(""); - } else { - instructionList.add(item); - } - } - request.setAttribute(EadventureConstants.ATTR_INSTRUCTION_LIST, instructionList); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - - - - - /** - * This method will persist all inforamtion in this authoring page. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - * @throws ServletException - */ - private ActionForward updateContent(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { - EadventureForm eadventureForm = (EadventureForm) form; - - // get back sessionMAP - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(eadventureForm.getSessionMapID()); - - ToolAccessMode mode = getAccessMode(request); - - //TODO mirar si merece la pena llevar el form por sessionMap?¿?¿? - //Eadventure eadventure = eadventureForm.getEadventure(); - Eadventure eadventure = ((EadventureForm)sessionMap.get(EadventureConstants.ATTR_RESOURCE_FORM)).getEadventure(); - //TODO fix this... - eadventure.setInstructions(eadventureForm.getEadventure().getInstructions()); - eadventure.setDefineComplete(eadventureForm.getEadventure().isDefineComplete()); - eadventure.setDefineLater(eadventureForm.getEadventure().isDefineLater()); - eadventure.setLockWhenFinished(eadventureForm.getEadventure().getLockWhenFinished()); - eadventure.setReflectOnActivity(eadventureForm.getEadventure().isReflectOnActivity()); - eadventure.setReflectInstructions(eadventureForm.getEadventure().getReflectInstructions()); - eadventure.setTitle(eadventureForm.getEadventure().getTitle()); - - - ActionMessages errors = validate(eadventureForm, mapping, request); - String file = eadventure.getFileName(); - if (file==null||file.equals("")) - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( - EadventureConstants.ERROR_NOT_EAD_ADD)); - if (!errors.isEmpty()) { - saveErrors(request, errors); - if (mode.isAuthor()) { - return mapping.findForward("author"); - } else { - return mapping.findForward("monitor"); - } - } - - - IEadventureService service = getEadventureService(); - - // **********************************Get Eadventure - // PO********************* - Eadventure eadventurePO = service.getEadventureByContentId(eadventureForm.getEadventure().getContentId()); - if (eadventurePO == null) { - // new Eadventure, create it. - eadventurePO = eadventure; - eadventurePO.setCreated(new Timestamp(new Date().getTime())); - eadventurePO.setUpdated(new Timestamp(new Date().getTime())); - } else { - //TODO revisar el deine later!! - if (mode.isAuthor()) { - Long uid = eadventurePO.getUid(); - //Set params = eadventurePO.getParams(); - //Set conditions = eadventurePO.getConditions(); - Date created = eadventurePO.getCreated(); - PropertyUtils.copyProperties(eadventurePO, eadventure); - // get back UID - eadventurePO.setUid(uid); - eadventurePO.setCreated(created); - } else { // if it is Teacher, then just update basic tab content - // (definelater) - eadventurePO.setInstructions(eadventure.getInstructions()); - eadventurePO.setTitle(eadventure.getTitle()); - // change define later status - eadventurePO.setDefineLater(false); - } - eadventurePO.setUpdated(new Timestamp(new Date().getTime())); - } - // *******************************Handle user******************* - // try to get form system session - HttpSession ss = SessionManager.getSession(); - // get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - EadventureUser eadventureUser = service.getUserByIDAndContent(new Long(user.getUserID().intValue()), eadventureForm.getEadventure().getContentId()); - if (eadventureUser == null) { - eadventureUser = new EadventureUser(user, eadventurePO); - } - eadventurePO.setCreatedBy(eadventureUser); - // **********************************Handle Authoring Instruction - // Attachement ********************* - // merge attachment info - // so far, attPOSet will be empty if content is existed. because - // PropertyUtils.copyProperties() is executed - - service.saveOrUpdateEadventureParams(eadventurePO.getParams()); - - // Handle taskList conditions. Also delete conditions that don't contain any taskLIstItems. - SortedSet conditionList = getEadventureConditionList(sessionMap); - List delEadventureConditionList = getDeletedEadventureConditionList(sessionMap); - //iter = conditionList.iterator(); - if (conditionList.size()>0) - service.saveOrUpdateEadventureConditions(conditionList); - /*while (iter.hasNext()) { - EadventureCondition condition = (EadventureCondition) iter.next(); - Set eadExprList = condition.getEadListExpression(); - if (condition.getUid()==null){ - condition.setEadListExpression(null); - service.saveOrUpdateEadventureCondition(condition); - Iterator it2 = eadExprList.iterator(); - while (it2.hasNext()){ - EadventureExpression eadExp = (EadventureExpression)it2.next(); - // eadExp.setCondition_uid(condition.getUid()); - service.saveOrUpdateEadventureExpression(eadExp); - } - }else { - Iterator it2 = eadExprList.iterator(); - while (it2.hasNext()){ - EadventureExpression eadExp = (EadventureExpression)it2.next(); - //eadExp.setCondition_uid(condition.getUid()); - service.saveOrUpdateEadventureExpression(eadExp); - } - service.saveOrUpdateEadventureCondition(condition); - } - - }*/ - eadventurePO.setConditions(conditionList); - // this method also saves the eAdventure expressions associated to each condition in the list - //TODO ver si merece la pena revisar si ha habido algun cambio en cada una de las condiciones, y en caso afirmativo guardar - - - - - // delete TaEadventureConditionfrom database. - Iterator iter = delEadventureConditionList.iterator(); - while (iter.hasNext()) { - EadventureCondition condition = (EadventureCondition) iter.next(); - iter.remove(); - - if (condition.getUid() != null) { - service.deleteEadventureCondition(condition.getUid()); - } - } - - //SortedSet expressionList = getEadventureConditionList(sessionMap); - //SortedSet expressionListWithoutEmptyElements = new TreeSet(conditionList); - List delEadventureExpressionList = getDeletedEadventureExpressionList(sessionMap); - - - // delete TaEadventureConditionfrom database. - iter = delEadventureExpressionList.iterator(); - while (iter.hasNext()) { - EadventureExpression expression = (EadventureExpression) iter.next(); - if (expression.getUid() != null) { - service.deleteEadventureExpression(expression.getUid()); - } - iter.remove(); - } - - - - // finally persist eadventurePO again - //eadventurePO.setParams(eadventurePO.getParams()); - //if (eadventureForm.getFile()==null) - String changeFile = (String) sessionMap.get(EadventureConstants.ATTR_CHANGE_FILE); - String openSavedGame = (String) sessionMap.get(EadventureConstants.ATTR_OPEN_SAVED_GAME); - if (changeFile.equals("true")&&openSavedGame.equals("true")){ - //remove the old params - - //service.removeParams(getDeletedEadventureConditionList(sessionMap)); - List delParamsList = getDeletedEadventureParamsList(sessionMap); - Iterator it = delParamsList.iterator(); - while (it.hasNext()) { - EadventureParam eadp = (EadventureParam)it.next(); - service.removeParam(eadp); - } - //service.saveOrUpdateEadventureParams(eadventurePO.getParams()); - //service.uploadEadventureFile(eadventurePO, eadventureForm.getFile()); - //TODO borrar condiciones y expressiones - - } - //TODO ver si hay que borrar params - //if (openSavedGame.equals("false")) - // service.saveOrUpdateEadventureParams(eadventurePO.getParams()); - - - service.saveOrUpdateEadventure(eadventurePO); - - eadventureForm.setEadventure(eadventurePO); - - request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE); - if (mode.isAuthor()) { - return mapping.findForward("author"); - } else { - return mapping.findForward("monitor"); - } - } - - // ************************************************************************************* - // Private method - // ************************************************************************************* - /** - * Return EadventureService bean. - */ - private IEadventureService getEadventureService() { - WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - return (IEadventureService) wac.getBean(EadventureConstants.RESOURCE_SERVICE); - } - - - /** - * List save deleted eadventure conditions, which could be persisted or non-persisted conditions. - * - * @param request - * @return - */ - private List getDeletedEadventureConditionList(SessionMap sessionMap) { - return getListFromSession(sessionMap, EadventureConstants.ATTR_DELETED_CONDITION_LIST); - } - - /** - * List of deleted eadventure expressions, which could be persisted or non-persisted expressions. - * - * @param request - * @return - */ - private List getDeletedEadventureExpressionList(SessionMap sessionMap) { - return getListFromSession(sessionMap, EadventureConstants.ATTR_DELETED_EXPRESSION_LIST); - } - - /** - * List save deleted eadventure params, which could be persisted or non-persisted expressions. - * - * @param request - * @return - */ - private List getDeletedEadventureParamsList(SessionMap sessionMap) { - return getListFromSession(sessionMap, EadventureConstants.ATTR_DELETED_PARAMS_LIST); - } - /** - * Get java.util.List from HttpSession by given name. - * - * @param request - * @param name - * @return - */ - private List getListFromSession(SessionMap sessionMap, String name) { - List list = (List) sessionMap.get(name); - if (list == null) { - list = new ArrayList(); - sessionMap.put(name, list); - } - return list; - } - - /** - * Get eadventure items instruction from HttpRequest - * - * @param request - */ - private List getInstructionsFromRequest(HttpServletRequest request) { - String list = request.getParameter("instructionList"); - String[] params = list.split("&"); - Map paramMap = new HashMap(); - String[] pair; - for (String item : params) { - pair = item.split("="); - if (pair == null || pair.length != 2) { - continue; - } - try { - paramMap.put(pair[0], URLDecoder.decode(pair[1], "UTF-8")); - } catch (UnsupportedEncodingException e) { - AuthoringAction.log.error("Error occurs when decode instruction string:" + e.toString()); - } - } - - int count = paramMap.keySet().size(); - List instructionList = new ArrayList(); - - for (int idx = 0; idx < count; idx++) { - String item = paramMap.get(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX + idx); - if (item == null) - continue; - - instructionList.add(item); - } - - return instructionList; - - } - - /** - * Get number of instruction items in the HttpRequest - * - * @param request - * the HttpServletRequest - * @return numberOfInstruction the number of instructions in the request - */ - private int getNumberOfInstructionsInRequest(HttpServletRequest request) { - int numberOfInstructions = 0; - Enumeration e = request.getParameterNames(); - while (e.hasMoreElements()) { - if (e.nextElement().toString().indexOf(AuthoringAction.INSTRUCTION_ITEM_DESC_PREFIX) != -1) - numberOfInstructions++; - } - return numberOfInstructions; - } - - /** - * List save current eadventure conditions. - * - * @param request - * @return - */ - private SortedSet getEadventureConditionList(SessionMap sessionMap) { - SortedSet list = (SortedSet) sessionMap - .get(EadventureConstants.ATTR_CONDITION_LIST); - if (list == null) { - list = new TreeSet(new EadventureConditionComparator()); - sessionMap.put(EadventureConstants.ATTR_CONDITION_LIST, list); - } - return list; - } - - /** - * List save current eadventure params. - * - * @param request - * @return - */ - - private List getEdventureParamList(SessionMap sessionMap) { - return getListFromSession(sessionMap, EadventureConstants.ATTR_PARAMS_LIST); - } - - - /** - * Vaidate eadventure item regards to their type (url/file/learning - * object/website zip file) - * - * @param itemForm - * @return - */ - /* private ActionErrors validateEadventureItem(EadventureItemForm itemForm) { - ActionErrors errors = new ActionErrors(); - if (StringUtils.isBlank(itemForm.getTitle())) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_TITLE_BLANK)); - } - - if (itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_URL) { - if (StringUtils.isBlank(itemForm.getUrl())) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_URL_BLANK)); - // URL validation: Commom URL validate(1.3.0) work not very - // well: it can not support http:// - // address:port format!!! - // UrlValidator validator = new UrlValidator(); - // if(!validator.isValid(itemForm.getUrl())) - // errors.add(ActionMessages.GLOBAL_MESSAGE,new - // ActionMessage(EadventureConstants.ERROR_MSG_INVALID_URL)); - } - } - // if(itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_WEBSITE - // ||itemForm.getItemType() == - // EadventureConstants.RESOURCE_TYPE_LEARNING_OBJECT){ - // if(StringUtils.isBlank(itemForm.getDescription())) - // errors.add(ActionMessages.GLOBAL_MESSAGE,new - // ActionMessage(EadventureConstants.ERROR_MSG_DESC_BLANK)); - // } - if (itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_WEBSITE || itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_LEARNING_OBJECT - || itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_FILE) { - // validate item size - FileValidatorUtil.validateFileSize(itemForm.getFile(), true, errors); - // for edit validate: file already exist - if (!itemForm.isHasFile() && (itemForm.getFile() == null || StringUtils.isEmpty(itemForm.getFile().getFileName()))) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_FILE_BLANK)); - } - } - return errors; - } -/* - /** - * 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; - } - - private ActionMessages validate(EadventureForm eadventureForm, ActionMapping mapping, HttpServletRequest request) { - ActionMessages errors = new ActionMessages(); - if (StringUtils.isBlank(eadventureForm.getEadventure().getTitle())) { - ActionMessage error = new - ActionMessage("error.resource.item.title.blank"); - errors.add(ActionMessages.GLOBAL_MESSAGE, error); - } - - - // define it later mode(TEACHER) skip below validation. - String modeStr = request.getParameter(AttributeNames.ATTR_MODE); - if (StringUtils.equals(modeStr, ToolAccessMode.TEACHER.toString())) { - return errors; - } - - // Some other validation outside basic Tab. - - return errors; - } - - public ActionForward initPedagogicalPlannerForm(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - EadventurePedagogicalPlannerForm plannerForm = (EadventurePedagogicalPlannerForm) form; - Long toolContentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); - Eadventure taskList = getEadventureService().getEadventureByContentId(toolContentID); - String command = WebUtil.readStrParam(request, AttributeNames.PARAM_COMMAND, true); - if (command == null) { - plannerForm.fillForm(taskList); - String contentFolderId = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); - plannerForm.setContentFolderID(contentFolderId); - return mapping.findForward(EadventureConstants.SUCCESS); - } else { - try { - response.setContentType("text/html;charset=utf-8"); - PrintWriter writer = response.getWriter(); - - if (AttributeNames.COMMAND_CHECK_EDITING_ADVICE.equals(command)) { - Integer activityIndex = WebUtil.readIntParam(request, AttributeNames.PARAM_ACTIVITY_INDEX); - String responseText = (StringUtils.isEmpty("") ? "NO" : "OK") + '&' + activityIndex; - writer.print(responseText); - - } else if (AttributeNames.COMMAND_GET_EDITING_ADVICE.equals(command)) { - writer.print("onlineInstructions"); - } - } catch (IOException e) { - AuthoringAction.log.error(e); - } - return null; - } - - } - - //TODO completar - public ActionForward saveOrUpdatePedagogicalPlannerForm(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws IOException { - EadventurePedagogicalPlannerForm plannerForm = (EadventurePedagogicalPlannerForm) form; - ActionMessages errors = plannerForm.validate(); -/* if (errors.isEmpty()) { - Eadventure taskList = getEadventureService().getEadventureByContentId(plannerForm.getToolContentID()); - taskList.setInstructions(plannerForm.getInstructions()); - - int itemIndex = 0; - String title = null; - EadventureItem eadventureItem = null; - List newItems = new LinkedList(); - Set eadventureItems = taskList.getEadventureItems(); - Iterator taskListItemIterator = eadventureItems.iterator(); - // We need to reverse the order, since the items are delivered - // newest-first - LinkedList reversedEadventureItems = new LinkedList(); - while (taskListItemIterator.hasNext()) { - reversedEadventureItems.addFirst(taskListItemIterator.next()); - } - taskListItemIterator = reversedEadventureItems.iterator(); - do { - title = plannerForm.getTitle(itemIndex); - if (StringUtils.isEmpty(title)) { - plannerForm.removeItem(itemIndex); - } else { - if (taskListItemIterator.hasNext()) { - eadventureItem = taskListItemIterator.next(); - } else { - eadventureItem = new EadventureItem(); - eadventureItem.setCreateByAuthor(true); - Date currentDate = new Date(); - eadventureItem.setCreateDate(currentDate); - - HttpSession session = SessionManager.getSession(); - UserDTO user = (UserDTO) session.getAttribute(AttributeNames.USER); - EadventureUser taskListUser = getEadventureService().getUserByIDAndContent(new Long(user.getUserID().intValue()), - plannerForm.getToolContentID()); - eadventureItem.setCreateBy(taskListUser); - - newItems.add(eadventureItem); - } - eadventureItem.setTitle(title); - Short type = plannerForm.getType(itemIndex); - eadventureItem.setType(type); - boolean hasFile = eadventureItem.getFileUuid() != null; - if (type.equals(EadventureConstants.RESOURCE_TYPE_URL)) { - eadventureItem.setUrl(plannerForm.getUrl(itemIndex)); - if (hasFile) { - eadventureItem.setFileName(null); - eadventureItem.setFileUuid(null); - eadventureItem.setFileVersionId(null); - eadventureItem.setFileType(null); - } - } else if (type.equals(EadventureConstants.RESOURCE_TYPE_FILE)) { - FormFile file = plannerForm.getFile(itemIndex); - eadventureItem.setUrl(null); - IEadventureService service = getEadventureService(); - if (file != null) { - try { - if (hasFile) { - // delete the old file - service.deleteFromRepository(eadventureItem.getFileUuid(), eadventureItem.getFileVersionId()); - } - service.uploadEadventureItemFile(eadventureItem, file); - } catch (Exception e) { - AuthoringAction.log.error(e); - ActionMessage error = new ActionMessage("error.msg.io.exception"); - errors.add(ActionMessages.GLOBAL_MESSAGE, error); - saveErrors(request, errors); - plannerForm.setValid(false); - return mapping.findForward(EadventureConstants.SUCCESS); - } - } - plannerForm.setFileName(itemIndex, eadventureItem.getFileName()); - plannerForm.setFileUuid(itemIndex, eadventureItem.getFileUuid()); - plannerForm.setFileVersion(itemIndex, eadventureItem.getFileVersionId()); - plannerForm.setFile(itemIndex, null); - } - itemIndex++; - } - - } while (title != null); - // we need to clear it now, otherwise we get Hibernate error (item - // re-saved by cascade) - taskList.getEadventureItems().clear(); - while (taskListItemIterator.hasNext()) { - eadventureItem = taskListItemIterator.next(); - taskListItemIterator.remove(); - getEadventureService().deleteEadventureItem(eadventureItem.getUid()); - } - reversedEadventureItems.addAll(newItems); - - taskList.getEadventureItems().addAll(reversedEadventureItems); - getEadventureService().saveOrUpdateEadventure(taskList); - } else { - saveErrors(request, errors); - }*/ - return mapping.findForward(EadventureConstants.SUCCESS); - } - - public ActionForward createPedagogicalPlannerItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws IOException, ServletException { - EadventurePedagogicalPlannerForm plannerForm = (EadventurePedagogicalPlannerForm) form; - int insertIndex = plannerForm.getItemCount(); - plannerForm.setTitle(insertIndex, ""); - plannerForm.setType(insertIndex, new Short(request.getParameter(EadventureConstants.ATTR_ADD_RESOURCE_TYPE))); - plannerForm.setUrl(insertIndex, null); - plannerForm.setFileName(insertIndex, null); - plannerForm.setFile(insertIndex, null); - plannerForm.setFileUuid(insertIndex, null); - plannerForm.setFileVersion(insertIndex, null); - return mapping.findForward(EadventureConstants.SUCCESS); - } - -} +} \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringEadventureConditionAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/ClearSessionAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java =================================================================== diff -u -r6d674e346dea6ce7a824366c8a7c315660677744 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java (.../LearningAction.java) (revision 6d674e346dea6ce7a824366c8a7c315660677744) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java (.../LearningAction.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -2,697 +2,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 + * it under the terms of the GNU General Public License version 2.0 * as published by the Free Software Foundation. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA - * + * * http://www.gnu.org/licenses/gpl.txt * **************************************************************** */ /* $Id$ */ package org.eucm.lams.tool.eadventure.web.action; -import java.io.IOException; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; import org.apache.struts.action.Action; -import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.lamsfoundation.lams.events.DeliveryMethodMail; -import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; -import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; -import org.lamsfoundation.lams.notebook.model.NotebookEntry; -import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; -import org.lamsfoundation.lams.tool.ToolAccessMode; -import org.eucm.lams.tool.eadventure.EadventureConstants; -import org.eucm.lams.tool.eadventure.model.Eadventure; -import org.eucm.lams.tool.eadventure.model.EadventureItemVisitLog; -import org.eucm.lams.tool.eadventure.model.EadventureParam; -import org.eucm.lams.tool.eadventure.model.EadventureSession; -import org.eucm.lams.tool.eadventure.model.EadventureUser; -import org.eucm.lams.tool.eadventure.model.EadventureVars; -import org.eucm.lams.tool.eadventure.service.IEadventureService; -import org.eucm.lams.tool.eadventure.service.EadventureApplicationException; -import org.eucm.lams.tool.eadventure.service.UploadEadventureFileException; -import org.eucm.lams.tool.eadventure.web.form.ReflectionForm; -import org.lamsfoundation.lams.usermanagement.User; +import org.apache.struts.action.RedirectingActionForward; +import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.util.FileUtil; -import org.lamsfoundation.lams.util.FileValidatorUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; -import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; -/** - * - * @author Steve.Ni - * - * @version $Revision$ - */ public class LearningAction extends Action { - - private static Logger log = Logger.getLogger(LearningAction.class); - @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) throws IOException, ServletException { - - String param = mapping.getParameter(); - // -----------------------Eadventure Learner function --------------------------- - if (param.equals("start")) { - return start(mapping, form, request, response); - } - if (param.equals("finish")) { - return finish(mapping, form, request, response); - } - if (param.equals("addfile")) { - //return addItem(mapping, form, request, response); - } - if (param.equals("addurl")) { - //return addItem(mapping, form, request, response); - } - if (param.equals("saveOrUpdateItem")) { - //return saveOrUpdateItem(mapping, form, request, response); - } - - // ================ Reflection ======================= - if (param.equals("newReflection")) { - return newReflection(mapping, form, request, response); - } - if (param.equals("submitReflection")) { - return submitReflection(mapping, form, request, response); - } - - return mapping.findForward(EadventureConstants.ERROR); - } - - /** - * Initial page for add eadventure item (single file or URL). - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - //TODO eliminar - /* private ActionForward addItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - EadventureItemForm itemForm = (EadventureItemForm) form; - itemForm.setMode(WebUtil.readStrParam(request, AttributeNames.ATTR_MODE)); - itemForm.setSessionMapID(WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID)); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Read eadventure data from database and put them into HttpSession. It will redirect to init.do directly after this - * method run successfully. - * - * This method will avoid read database again and lost un-saved resouce item lost when user "refresh page", - * - */ - private ActionForward start(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - // initial Session Map - SessionMap sessionMap = new SessionMap(); - request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); - - // save toolContentID into HTTPSession - ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true); - - Long sessionId = new Long(request.getParameter(EadventureConstants.PARAM_TOOL_SESSION_ID)); - - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - request.setAttribute(AttributeNames.ATTR_MODE, mode); - request.setAttribute(AttributeNames.PARAM_TOOL_SESSION_ID, sessionId); - - // get back the eadventure and item list and display them on page - IEadventureService service = getEadventureService(); - EadventureUser eadventureUser = null; - if (mode != null && mode.isTeacher()) { - // monitoring mode - user is specified in URL - // eadventureUser may be null if the user was force completed. - eadventureUser = getSpecifiedUser(service, sessionId, WebUtil.readIntParam(request, - AttributeNames.PARAM_USER_ID, false)); - } else { - eadventureUser = getCurrentUser(service, sessionId); - //TODO mio!!! - if (eadventureUser==null){ - log.debug("VAYA PUES, EADUSER ES NULL!!!!!!!!!!!!!!!!!!!!!!!!1"); - }else{ - sessionMap.put(EadventureConstants.ATTR_USER_ID,eadventureUser.getUserId().intValue()); - sessionMap.put(EadventureConstants.ATTR_USER_FNAME,eadventureUser.getFirstName()); - sessionMap.put(EadventureConstants.ATTR_USER_LNAME,eadventureUser.getLastName()); - } - - } - - - Eadventure eadventure; - eadventure = service.getEadventureBySessionId(sessionId); - if (eadventure==null) - log.error("EAD ===== NULL!!!!!!!!!!"); - - // check whehter finish lock is on/off - boolean lock = eadventure.getLockWhenFinished() && eadventureUser != null && eadventureUser.isSessionFinished(); - - // check whether there is only one eadventure item and run auto flag is true or not. - boolean runAuto = false; - - //TODO modify!! - // only visible item can be run auto. - runAuto = true; - request.setAttribute(EadventureConstants.ATTR_RESOURCE_ITEM_UID, eadventure.getUid()); - - - - // get notebook entry - String entryText = new String(); - boolean completed = false; - if (eadventureUser != null) { - NotebookEntry notebookEntry = service.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, eadventureUser.getUserId().intValue()); - // check if the item is completed previously - EadventureItemVisitLog eadLog = service.getEadventureItemLog(eadventure.getUid(), eadventureUser.getUserId()); - if (eadLog!=null) - completed = eadLog.isComplete(); - if (notebookEntry != null) { - entryText = notebookEntry.getEntry(); - } - } - - // check define complete - boolean isDefineComplete= false; - if (eadventure.isDefineComplete()){ - isDefineComplete=true; - } - - - // basic information - sessionMap.put(EadventureConstants.ATTR_TITLE, eadventure.getTitle()); - sessionMap.put(EadventureConstants.ATTR_RESOURCE_INSTRUCTION, eadventure.getInstructions()); - sessionMap.put(EadventureConstants.ATTR_FINISH_LOCK, lock); - sessionMap.put(EadventureConstants.ATTR_LOCK_ON_FINISH, eadventure.getLockWhenFinished()); - sessionMap.put(EadventureConstants.ATTR_USER_FINISHED, eadventureUser != null && eadventureUser.isSessionFinished()); - - //TODO Estamos pasando session ID por atributo y por session!! - sessionMap.put(AttributeNames.PARAM_TOOL_SESSION_ID, sessionId); - sessionMap.put(AttributeNames.PARAM_TOOL_CONTENT_ID, eadventure.getContentId()); - sessionMap.put(AttributeNames.ATTR_MODE, mode); - // reflection information - sessionMap.put(EadventureConstants.ATTR_REFLECTION_ON, eadventure.isReflectOnActivity()); - sessionMap.put(EadventureConstants.ATTR_REFLECTION_INSTRUCTION, eadventure.getReflectInstructions()); - sessionMap.put(EadventureConstants.ATTR_REFLECTION_ENTRY, entryText); - sessionMap.put(EadventureConstants.ATTR_RUN_AUTO, new Boolean(runAuto)); - sessionMap.put(EadventureConstants.PARAM_RESOURCE_ITEM_UID, eadventure.getUid()); - sessionMap.put(EadventureConstants.ATTR_DEFINE_COMPLETED, isDefineComplete); - sessionMap.put(EadventureConstants.ATTR_COMPLETED, completed); - // add define later support - if (eadventure.isDefineLater()) { - return mapping.findForward("defineLater"); - } - - // set contentInUse flag to true! - eadventure.setContentInUse(true); - eadventure.setDefineLater(false); - service.saveOrUpdateEadventure(eadventure); - - // set complete flag for display purpose - //TODO getionar el complete - //if (eadventureUser != null) { - // service.retrieveComplete(eadventureItemList, eadventureUser); - //} - sessionMap.put(EadventureConstants.ATTR_EADVENTURE, eadventure); - - ActivityPositionDTO activityPosition = LearningWebUtil.putActivityPositionInRequestByToolSessionId(sessionId, - request, getServlet().getServletContext()); - sessionMap.put(AttributeNames.ATTR_ACTIVITY_POSITION, activityPosition); - - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Finish learning session. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward finish(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - // get back SessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - //String toolContentID = request.getParameter(EadventureConstants.ATTR_TOOL_CONTENT_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - Long toolContentID = (Long) sessionMap.get(EadventureConstants.ATTR_TOOL_CONTENT_ID); - // get mode and ToolSessionID from sessionMAP - ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); - Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); - - // auto run mode, when use finish the only one eadventure item, mark it as complete then finish this activity as - // well. - String eadventureItemUid = request.getParameter(EadventureConstants.PARAM_RESOURCE_ITEM_UID); - IEadventureService service = getEadventureService(); - Eadventure ead = service.getEadventureByContentId(toolContentID); - HttpSession ss = SessionManager.getSession(); - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - Long userID = new Long(user.getUserID().longValue()); - - - boolean completedFromEad=false; - if (ead.isDefineComplete()){ - EadventureItemVisitLog log = service.getEadventureItemLog(ead.getUid(), userID); - EadventureVars var = service.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_COMPLETED); - if (var!=null&&Boolean.parseBoolean(var.getValue())){ - completedFromEad=true; - } - } - - //if (eadventureItemUid != null ){ - - - doComplete(request,ead.getUid()); - ead.setComplete(true); - - // NOTE:So far this flag is useless(31/08/2006). - // set flag, then finish page can know redir target is parent(AUTO_RUN) or self(normal) - // request.setAttribute(EadventureConstants.ATTR_RUN_AUTO, true); - //} else{ - // request.setAttribute(EadventureConstants.ATTR_RUN_AUTO, false); - //} - - if (!validateBeforeFinish(request, sessionMapID)) { - return mapping.getInputForward(); - } - - - // get sessionId from HttpServletRequest - String nextActivityUrl = null; - try { - // HttpSession ss = SessionManager.getSession(); - // UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - // Long userID = new Long(user.getUserID().longValue()); - - nextActivityUrl = service.finishToolSession(sessionId, userID); - request.setAttribute(EadventureConstants.ATTR_NEXT_ACTIVITY_URL, nextActivityUrl); - } catch (EadventureApplicationException e) { - LearningAction.log.error("Failed get next activity url:" + e.getMessage()); - } - - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Save file or url eadventure item into database. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - /* private ActionForward saveOrUpdateItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - // get back SessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMapID); - - Long sessionId = (Long) sessionMap.get(EadventureConstants.ATTR_TOOL_SESSION_ID); - - String mode = request.getParameter(AttributeNames.ATTR_MODE); - EadventureItemForm itemForm = (EadventureItemForm) form; - ActionErrors errors = validateEadventureItem(itemForm); - - if (!errors.isEmpty()) { - this.addErrors(request, errors); - return findForward(itemForm.getItemType(), mapping); - } - short type = itemForm.getItemType(); - - // create a new EadventureItem - EadventureItem item = new EadventureItem(); - IEadventureService service = getEadventureService(); - EadventureUser eadventureUser = getCurrentUser(service, sessionId); - item.setType(type); - item.setTitle(itemForm.getTitle()); - item.setDescription(itemForm.getDescription()); - item.setCreateDate(new Timestamp(new Date().getTime())); - item.setCreateByAuthor(false); - item.setCreateBy(eadventureUser); - - // special attribute for URL or FILE - if (type == EadventureConstants.RESOURCE_TYPE_FILE) { - try { - service.uploadEadventureItemFile(item, itemForm.getFile()); - } catch (UploadEadventureFileException e) { - LearningAction.log.error("Failed upload Eadventure File " + e.toString()); - return mapping.findForward(EadventureConstants.ERROR); - } - } else if (type == EadventureConstants.RESOURCE_TYPE_URL) { - item.setUrl(itemForm.getUrl()); - item.setOpenUrlNewWindow(itemForm.isOpenUrlNewWindow()); - } - // save and update session - - EadventureSession resSession = service.getEadventureSessionBySessionId(sessionId); - if (resSession == null) { - LearningAction.log.error("Failed update EadventureSession by ID[" + sessionId + "]"); - return mapping.findForward(EadventureConstants.ERROR); - } - Set items = resSession.getEadventureItems(); - if (items == null) { - items = new HashSet(); - resSession.setEadventureItems(items); - } - items.add(item); - service.saveOrUpdateEadventureSession(resSession); - - // update session value - SortedSet eadventureItemList = getEadventureItemList(sessionMap); - eadventureItemList.add(item); - - // URL or file upload - request.setAttribute(EadventureConstants.ATTR_ADD_RESOURCE_TYPE, new Short(type)); - request.setAttribute(AttributeNames.ATTR_MODE, mode); - - Eadventure eadventure = resSession.getEadventure(); - if (eadventure.isNotifyTeachersOnAssigmentSumbit()) { - List monitoringUsers = service.getMonitorsByToolSessionId(sessionId); - if (monitoringUsers != null && !monitoringUsers.isEmpty()) { - Long[] monitoringUsersIds = new Long[monitoringUsers.size()]; - for (int i = 0; i < monitoringUsersIds.length; i++) { - monitoringUsersIds[i] = monitoringUsers.get(i).getUserId().longValue(); - } - String fullName = eadventureUser.getLastName() + " " + eadventureUser.getFirstName(); - service.getEventNotificationService().sendMessage(monitoringUsersIds, DeliveryMethodMail.getInstance(), - service.getLocalisedMessage("event.assigment.submit.subject", null), - service.getLocalisedMessage("event.assigment.submit.body", new Object[] { fullName })); - } - } - return mapping.findForward(EadventureConstants.SUCCESS); - } - - /** - * Display empty reflection form. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward newReflection(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - // get session value - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - if (!validateBeforeFinish(request, sessionMapID)) { - return mapping.getInputForward(); - } - - ReflectionForm refForm = (ReflectionForm) form; - HttpSession ss = SessionManager.getSession(); UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + long toolSessionId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - refForm.setUserID(user.getUserID()); - refForm.setSessionMapID(sessionMapID); - - // get the existing reflection entry - IEadventureService submitFilesService = getEadventureService(); - - SessionMap map = (SessionMap) request.getSession().getAttribute(sessionMapID); - Long toolSessionID = (Long) map.get(AttributeNames.PARAM_TOOL_SESSION_ID); - NotebookEntry entry = submitFilesService.getEntry(toolSessionID, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, user.getUserID()); - - if (entry != null) { - refForm.setEntryText(entry.getEntry()); - } - - return mapping.findForward(EadventureConstants.SUCCESS); + WebApplicationContext wac = WebApplicationContextUtils + .getRequiredWebApplicationContext(getServlet().getServletContext()); + ILearnerService learnerService = (ILearnerService) wac.getBean("learnerService"); + String finishURL = learnerService.completeToolSession(toolSessionId, user.getUserID().longValue()); + return new RedirectingActionForward(finishURL); } - - /** - * Submit reflection form input database. - * - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward submitReflection(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - ReflectionForm refForm = (ReflectionForm) form; - Integer userId = refForm.getUserID(); - - String sessionMapID = WebUtil.readStrParam(request, EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); - - IEadventureService service = getEadventureService(); - - // check for existing notebook entry - NotebookEntry entry = service.getEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, userId); - - if (entry == null) { - // create new entry - service.createNotebookEntry(sessionId, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, userId, refForm.getEntryText()); - } else { - // update existing entry - entry.setEntry(refForm.getEntryText()); - entry.setLastModified(new Date()); - service.updateEntry(entry); - } - - return finish(mapping, form, request, response); - } - - // ************************************************************************************* - // Private method - // ************************************************************************************* - //TODO valorar eliminarlo - private boolean validateBeforeFinish(HttpServletRequest request, String sessionMapID) { - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); - - return true; - } - - private IEadventureService getEadventureService() { - WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet() - .getServletContext()); - return (IEadventureService) wac.getBean(EadventureConstants.RESOURCE_SERVICE); - } - - /** - * List save current eadventure items. - * - * @param request - * @return - */ - /* private SortedSet getEadventureItemList(SessionMap sessionMap) { - SortedSet list = (SortedSet) sessionMap - .get(EadventureConstants.ATTR_RESOURCE_ITEM_LIST); - if (list == null) { - list = new TreeSet(new EadventureItemComparator()); - sessionMap.put(EadventureConstants.ATTR_RESOURCE_ITEM_LIST, list); - } - return list; - } - - /** - * Get java.util.List from HttpSession by given name. - * - * @param request - * @param name - * @return - */ - private List getListFromSession(SessionMap sessionMap, String name) { - List list = (List) sessionMap.get(name); - if (list == null) { - list = new ArrayList(); - sessionMap.put(name, list); - } - return list; - } - - /** - * Return ActionForward according to eadventure item type. - * - * @param type - * @param mapping - * @return - */ - private ActionForward findForward(short type, ActionMapping mapping) { - ActionForward forward; - switch (type) { - case EadventureConstants.RESOURCE_TYPE_URL: - forward = mapping.findForward("url"); - break; - case EadventureConstants.RESOURCE_TYPE_FILE: - forward = mapping.findForward("file"); - break; - case EadventureConstants.RESOURCE_TYPE_WEBSITE: - forward = mapping.findForward("website"); - break; - case EadventureConstants.RESOURCE_TYPE_LEARNING_OBJECT: - forward = mapping.findForward("learningobject"); - break; - default: - forward = null; - break; - } - return forward; - } - - private EadventureUser getCurrentUser(IEadventureService service, Long sessionId) { - // try to get form system session - HttpSession ss = SessionManager.getSession(); - // get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - EadventureUser eadventureUser = service.getUserByIDAndSession(new Long(user.getUserID().intValue()), sessionId); - Eadventure ead = service.getEadventureBySessionId(sessionId); - // EadventureUser eadventureUser = service.getUserByIDAndContent(new Long(user.getUserID().intValue()), ead.getContentId()); - - if (eadventureUser == null) { - EadventureSession session = service.getEadventureSessionBySessionId(sessionId); - eadventureUser = new EadventureUser(user, session); - // eadventureUser.setEadventure(ead); - service.createUser(eadventureUser); - log.error("CREAMOS NUEVO USUARIO!!!! en getCurrentUSER"); - } //TODO meter en un save or update de userDAO - //else - - return eadventureUser; - } - - private EadventureUser getSpecifiedUser(IEadventureService service, Long sessionId, Integer userId) { - EadventureUser eadventureUser = service.getUserByIDAndSession(new Long(userId.intValue()), sessionId); - if (eadventureUser == null) { - LearningAction.log - .error("Unable to find specified user for eadventure activity. Screens are likely to fail. SessionId=" - + sessionId + " UserId=" + userId); - } - return eadventureUser; - } - - /** - * @param itemForm - * @return - */ - /*private ActionErrors validateEadventureItem(EadventureItemForm itemForm) { - ActionErrors errors = new ActionErrors(); - if (StringUtils.isBlank(itemForm.getTitle())) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_TITLE_BLANK)); - } - - if (itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_URL) { - if (StringUtils.isBlank(itemForm.getUrl())) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_URL_BLANK)); - // URL validation: Commom URL validate(1.3.0) work not very well: it can not support http://address:port - // format!!! - // UrlValidator validator = new UrlValidator(); - // if(!validator.isValid(itemForm.getUrl())) - // errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(EadventureConstants.ERROR_MSG_INVALID_URL)); - } - } - // if(itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_WEBSITE - // ||itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_LEARNING_OBJECT){ - // if(StringUtils.isBlank(itemForm.getDescription())) - // errors.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(EadventureConstants.ERROR_MSG_DESC_BLANK)); - // } - if (itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_WEBSITE - || itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_LEARNING_OBJECT - || itemForm.getItemType() == EadventureConstants.RESOURCE_TYPE_FILE) { - - if (itemForm.getFile() != null && FileUtil.isExecutableFile(itemForm.getFile().getFileName())) { - ActionMessage msg = new ActionMessage("error.attachment.executable"); - errors.add(ActionMessages.GLOBAL_MESSAGE, msg); - } - - // validate item size - FileValidatorUtil.validateFileSize(itemForm.getFile(), false, errors); - - // for edit validate: file already exist - if (!itemForm.isHasFile() - && (itemForm.getFile() == null || StringUtils.isEmpty(itemForm.getFile().getFileName()))) { - errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(EadventureConstants.ERROR_MSG_FILE_BLANK)); - } - } - return errors; - }*/ - - /** - * Set complete flag for given eadventure item. - * - * @param request - * @param sessionId - */ - private void doComplete(HttpServletRequest request, Long eadUid) { - // get back sessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - - //Long eadventureItemUid = new Long(request.getParameter(EadventureConstants.PARAM_RESOURCE_ITEM_UID)); - IEadventureService service = getEadventureService(); - HttpSession ss = SessionManager.getSession(); - // get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - - Long sessionId = (Long) sessionMap.get(EadventureConstants.ATTR_TOOL_SESSION_ID); - service.setItemComplete(eadUid, new Long(user.getUserID().intValue()), sessionId); - - // set eadventure item complete tag - //TODO asignar complete - /*SortedSet eadventureItemList = getEadventureItemList(sessionMap); - for (EadventureItem item : eadventureItemList) { - if (item.getUid().equals(eadventureItemUid)) { - item.setComplete(true); - break; - } - }*/ - } - -} +} \ No newline at end of file Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/MonitoringAction.java =================================================================== diff -u -r6d674e346dea6ce7a824366c8a7c315660677744 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 6d674e346dea6ce7a824366c8a7c315660677744) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -2,276 +2,44 @@ * 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 + * it under the terms of the GNU General Public License version 2.0 * as published by the Free Software Foundation. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA - * + * * http://www.gnu.org/licenses/gpl.txt * **************************************************************** */ /* $Id$ */ package org.eucm.lams.tool.eadventure.web.action; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.log4j.Logger; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.lamsfoundation.lams.notebook.model.NotebookEntry; -import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; -import org.eucm.lams.tool.eadventure.EadventureConstants; -import org.eucm.lams.tool.eadventure.dto.ReflectDTO; -import org.eucm.lams.tool.eadventure.dto.Summary; -import org.eucm.lams.tool.eadventure.model.Eadventure; -import org.eucm.lams.tool.eadventure.model.EadventureItemVisitLog; -import org.eucm.lams.tool.eadventure.model.EadventureSession; -import org.eucm.lams.tool.eadventure.model.EadventureUser; -import org.eucm.lams.tool.eadventure.model.EadventureVars; -import org.eucm.lams.tool.eadventure.service.IEadventureService; -import org.lamsfoundation.lams.tool.ToolOutput; -import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.web.util.AttributeNames; -import org.lamsfoundation.lams.web.util.SessionMap; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; +import org.apache.struts.action.RedirectingActionForward; public class MonitoringAction extends Action { - public static Logger log = Logger.getLogger(MonitoringAction.class); - @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - String param = mapping.getParameter(); - - request.setAttribute("initialTabId", WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB, true)); - - if (param.equals("summary")) { - return summary(mapping, form, request, response); - } - - if (param.equals("listuser")) { - return listuser(mapping, form, request, response); - } - if (param.equals("showitem")) { - return showitem(mapping, form, request, response); - } - if (param.equals("hideitem")) { - return hideitem(mapping, form, request, response); - } - if (param.equals("viewReflection")) { - return viewReflection(mapping, form, request, response); - } - if (param.equals("showReport")) { - return showReport(mapping, form, request, response); - } - - return mapping.findForward(EadventureConstants.ERROR); + return new RedirectingActionForward("/index.html"); } - - private ActionForward showReport(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - // get back SessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - //SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - //request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - - - IEadventureService service = getEadventureService(); - Long sessionId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - EadventureSession session = service.getEadventureSessionBySessionId(sessionId); - Eadventure ead = session.getEadventure(); - Long uid = WebUtil.readLongParam(request, EadventureConstants.ATTR_USER_UID); - EadventureUser user = service.getUser(uid); - - //TODO gestionar el report - //EadventureResult result = service.getLastEadventureResult(ead.getUid(), user.getUserId()); - // - EadventureItemVisitLog log = service.getEadventureItemLog(ead.getUid(), user.getUserId()); - - EadventureVars var = service.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_REPORT); - request.setAttribute("html", var.getValue()); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - private ActionForward hideitem(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - Long itemUid = WebUtil.readLongParam(request, EadventureConstants.PARAM_RESOURCE_ITEM_UID); - IEadventureService service = getEadventureService(); - service.setItemVisible(itemUid, false); - - // get back SessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - - // update session value - List groupList = (List) sessionMap.get(EadventureConstants.ATTR_SUMMARY_LIST); - if (groupList != null) { - for (List group : groupList) { - for (Summary sum : group) { - if (itemUid.equals(sum.getItemUid())) { - sum.setItemHide(true); - break; - } - } - } - } - - return mapping.findForward(EadventureConstants.SUCCESS); - } - - private ActionForward showitem(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - Long itemUid = WebUtil.readLongParam(request, EadventureConstants.PARAM_RESOURCE_ITEM_UID); - IEadventureService service = getEadventureService(); - service.setItemVisible(itemUid, true); - - // get back SessionMap - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - - // update session value - List groupList = (List) sessionMap.get(EadventureConstants.ATTR_SUMMARY_LIST); - if (groupList != null) { - for (List group : groupList) { - for (Summary sum : group) { - if (itemUid.equals(sum.getItemUid())) { - sum.setItemHide(false); - break; - } - } - } - } - return mapping.findForward(EadventureConstants.SUCCESS); - } - - private ActionForward summary(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - // initial Session Map - SessionMap sessionMap = new SessionMap(); - request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - // save contentFolderID into session - sessionMap.put(AttributeNames.PARAM_CONTENT_FOLDER_ID, WebUtil.readStrParam(request, - AttributeNames.PARAM_CONTENT_FOLDER_ID)); - - Long contentId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); - IEadventureService service = getEadventureService(); - List groupList = service.getSummary(contentId); - - Eadventure eadventure = service.getEadventureByContentId(contentId); - - Map> relectList = service.getReflectList(contentId, false); - - // cache into sessionMap - sessionMap.put(EadventureConstants.ATTR_SUMMARY_LIST, groupList); - sessionMap.put(EadventureConstants.PAGE_EDITABLE, eadventure.isContentInUse()); - sessionMap.put(EadventureConstants.ATTR_EADVENTURE, eadventure); - sessionMap.put(EadventureConstants.ATTR_TOOL_CONTENT_ID, contentId); - sessionMap.put(EadventureConstants.ATTR_REFLECT_LIST, relectList); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - private ActionForward listuser(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - Long sessionId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - Long itemUid = WebUtil.readLongParam(request, EadventureConstants.PARAM_RESOURCE_ITEM_UID); - - // get user list by given item uid - IEadventureService service = getEadventureService(); - List list = service.getUserListBySessionItem(sessionId, itemUid); - - // set to request - request.setAttribute(EadventureConstants.ATTR_USER_LIST, list); - // check if there are associated report - EadventureSession session = service.getEadventureSessionBySessionId(sessionId); - Eadventure ead = session.getEadventure(); - Long uid = WebUtil.readLongParam(request, EadventureConstants.ATTR_USER_UID); - EadventureUser user = service.getUser(uid); - - //TODO gestionar el report - //EadventureResult result = service.getLastEadventureResult(ead.getUid(), user.getUserId()); - EadventureItemVisitLog log = service.getEadventureItemLog(ead.getUid(), user.getUserId()); - - EadventureVars var = service.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_REPORT); - - - int exist; - if (var!=null) - exist=0; - else - exist=1; - String sessionMapID = request.getParameter(EadventureConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); - request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - - sessionMap.put("existFile", exist); - //request.setAttribute("existFile",exist ); - return mapping.findForward(EadventureConstants.SUCCESS); - } - - private ActionForward viewReflection(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { - - Long uid = WebUtil.readLongParam(request, EadventureConstants.ATTR_USER_UID); - Long sessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - - IEadventureService service = getEadventureService(); - EadventureUser user = service.getUser(uid); - NotebookEntry notebookEntry = service.getEntry(sessionID, CoreNotebookConstants.NOTEBOOK_TOOL, - EadventureConstants.TOOL_SIGNATURE, user.getUserId().intValue()); - - EadventureSession session = service.getEadventureSessionBySessionId(sessionID); - - ReflectDTO refDTO = new ReflectDTO(user); - if (notebookEntry == null) { - refDTO.setFinishReflection(false); - refDTO.setReflect(null); - } else { - refDTO.setFinishReflection(true); - refDTO.setReflect(notebookEntry.getEntry()); - } - refDTO.setReflectInstrctions(session.getEadventure().getReflectInstructions()); - - request.setAttribute("userDTO", refDTO); - return mapping.findForward("success"); - } - - // ************************************************************************************* - // Private method - // ************************************************************************************* - private IEadventureService getEadventureService() { - WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet() - .getServletContext()); - return (IEadventureService) wac.getBean(EadventureConstants.RESOURCE_SERVICE); - } -} +} \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/ViewItemAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/EadventureConditionForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/EadventureExpressionForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/EadventureForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/EadventureGameForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/EadventurePedagogicalPlannerForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/form/ReflectionForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/servlet/CompleteItemServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/servlet/VarsExchangeServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/403.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/404.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/WEB-INF/applicationContext.xml =================================================================== diff -u --- lams_tool_eadventure/web/WEB-INF/applicationContext.xml (revision 0) +++ lams_tool_eadventure/web/WEB-INF/applicationContext.xml (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -0,0 +1,7 @@ + + + + \ No newline at end of file Index: lams_tool_eadventure/web/WEB-INF/struts-config.xml =================================================================== diff -u --- lams_tool_eadventure/web/WEB-INF/struts-config.xml (revision 0) +++ lams_tool_eadventure/web/WEB-INF/struts-config.xml (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/AuthoringButton.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/CKEditor.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/Date.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/DefineLater.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/Head.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/ImgButtonWrapper.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/Tab.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/TabBody.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/TabName.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/Tabs.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/TextSearch.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tags/headItems.tag'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/c.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/fmt.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/fn.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/permittedTaglibs.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/scriptfree.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/jstl/x.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/lams/lams.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-bean-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-bean.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-html-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-html.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-logic-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-logic.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-nested.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-tiles-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/WEB-INF/tlds/struts/struts-tiles.tld'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/WEB-INF/web.xml =================================================================== diff -u -r5e63656a12c02f7476564e278b43ff4ce86ac930 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 --- lams_tool_eadventure/web/WEB-INF/web.xml (.../web.xml) (revision 5e63656a12c02f7476564e278b43ff4ce86ac930) +++ lams_tool_eadventure/web/WEB-INF/web.xml (.../web.xml) (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -7,16 +7,8 @@ Eadventure tool - - javax.servlet.jsp.jstl.fmt.localizationContext - org.eucm.lams.tool.eadventure.ApplicationResources - - contextConfigLocation - classpath:/org/eucm/lams/tool/eadventure/dbupdates/autopatchContext.xml - - locatorFactorySelector classpath:/org/lamsfoundation/lams/beanRefContext.xml @@ -32,60 +24,18 @@ - hibernateFilter - - org.springframework.orm.hibernate4.support.OpenSessionInViewFilter - - - sessionFactoryBeanName - coreSessionFactory - - - - SystemSessionFilter org.lamsfoundation.lams.web.session.SystemSessionFilter - - LocaleFilter - - org.lamsfoundation.lams.web.filter.LocaleFilter - - - encoding - UTF-8 - - - hibernateFilter - /* - - SystemSessionFilter /* - - LocaleFilter - /* - - - completeItem - org.eucm.lams.tool.eadventure.web.servlet.CompleteItemServlet - - - - - eadventureExchange - org.eucm.lams.tool.eadventure.web.servlet.VarsExchangeServlet - - - - action org.apache.struts.action.ActionServlet @@ -100,221 +50,18 @@ detail 1 - - validate - true - 2 - - Connector - net.fckeditor.connector.ConnectorServlet - - baseDir - /UserFiles/ - - - debug - false - - 1 - - - - - Instructions Download - Instructions Download - download - org.lamsfoundation.lams.contentrepository.client.ToolDownload - - toolContentHandlerBeanName - eadventureToolContentHandler - - 3 - - action *.do - - Connector - /ckeditor/filemanager/browser/default/connectors/jsp/connector - - - - download - /download/* - - - - completeItem - /learning/completeItem - - - - eadventureExchange - /eadventure/* - - - - - - - - tags-bean - /WEB-INF/tlds/struts/struts-bean.tld - - - tags-html - /WEB-INF/tlds/struts/struts-html.tld - - - tags-logic - /WEB-INF/tlds/struts/struts-logic.tld - - - tags-tiles - /WEB-INF/tlds/struts/struts-tiles.tld - - - - tags-bean-el - /WEB-INF/tlds/struts/struts-bean-el.tld - - - tags-html-el - /WEB-INF/tlds/struts/struts-html-el.tld - - - tags-logic-el - /WEB-INF/tlds/struts/struts-logic-el.tld - - - tags-tiles-el - /WEB-INF/tlds/struts/struts-tiles-el.tld - - - - - - tags-fmt - /WEB-INF/tlds/jstl/fmt.tld - - - tags-core - /WEB-INF/tlds/jstl/c.tld - - - tags-function - /WEB-INF/tlds/jstl/fn.tld - - - tags-xml - /WEB-INF/tlds/jstl/x.tld - - - - - - tags-lams - /WEB-INF/tlds/lams/lams.tld - - - - - - Secure content + Public content /* - - LEARNER - MONITOR - AUTHOR - SYSADMIN - - - - - Authoring content - /authoring/* - /pages/authoring/* - - - AUTHOR - MONITOR - SYSADMIN - - - - - Staff content - /monitoring/* - /pages/monitoring/* - /definelater.do - - - MONITOR - SYSADMIN - - - - - - Student - LEARNER - - - - Authors Learning Designs - AUTHOR - - - - Member of Staff - MONITOR - - - - Group Manager - GROUP MANAGER - - - - Group Administrator - GROUP ADMIN - - - - LAMS System Adminstrator - SYSADMIN - - - - - FORM - LAMS - - /login.jsp - /login.jsp?failed=y - - - - - 500 - /error.jsp - - - 403 - /403.jsp - - - 404 - /404.jsp - \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/common/footer.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/common/header.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/common/messages.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/common/tabbedheader.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/common/taglibs.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/error.jsp'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/images/icon_eAdventure game.png =================================================================== diff -u -r011eaf452aafd613ce245e51c7bb557d4cbad2d1 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/images/icon_eAdventure game.svg'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/images/icon_eAdventure.jpg =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/images/icon_eAdventure.png =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/includes/css/eadventure.css'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/includes/images/.cvsignore'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/includes/images/cross.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/downarrow.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/downarrow_disabled.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/edit.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/indicator.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/spacer.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/tick.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/uparrow.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/includes/images/uparrow_disabled.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/includes/javascript/eadventurecommon.js'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/includes/javascript/eadventureitem.js'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/index.html =================================================================== diff -u --- lams_tool_eadventure/web/index.html (revision 0) +++ lams_tool_eadventure/web/index.html (revision 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320) @@ -0,0 +1,5 @@ + + + This tool is not supported anymore. + + \ No newline at end of file Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/login.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/advance.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/authoring.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/basic.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/conditions.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/definelater.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/definelaterforbid.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/expression.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/addcondition.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/checkCondition.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/conditionlist.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/editexpression-vieja.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/editexpression.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/editgame.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/expression-vieja.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/expression.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/expressionlist.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/gamearea.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/gameattachment.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/parts/itemlist.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/pedagogicalPlannerForm.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/authoring/start.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/itemreview/initnav.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/itemreview/instructionsnav.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/itemreview/mainframe.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/itemreview/openurl.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/addfile.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/addurl.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/definelater.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/finish.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/learning.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/notebook.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/start.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learning/success.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learningobj/defaultcontent.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learningobj/icons/.cvsignore'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_eadventure/web/pages/learningobj/icons/base.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/empty.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/folder.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/folderopen.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/join.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/joinbottom.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/line.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/minus.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/minusbottom.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/page.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/plus.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Index: lams_tool_eadventure/web/pages/learningobj/icons/plusbottom.gif =================================================================== diff -u -r7322054ababd8f5387c3424cdd38d99c3ab49e02 -r3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 Binary files differ Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learningobj/mainframe.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learningobj/navigatortree.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/learningobj/xmltree.xsl'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/editactivity.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/monitoring.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/notebook.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/showReport.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/statistic.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/summary.jsp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 3bd3be95f64eabe12ef8da8d8a7fcd9bcbd9c320 refers to a dead (removed) revision in file `lams_tool_eadventure/web/pages/monitoring/userlist.jsp'. Fisheye: No comparison available. Pass `N' to diff?