Index: lams_tool_eadventure/.classpath =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/.classpath (.../.classpath) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/.classpath (.../.classpath) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -11,5 +11,16 @@ + + + + + + + + + + + Index: lams_tool_eadventure/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -rffd772499eed6c23b2c9e95d6d34132f5e32e191 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision ffd772499eed6c23b2c9e95d6d34132f5e32e191) +++ lams_tool_eadventure/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -212,5 +212,13 @@ label.condition.helper.integer.lt = less than label.condition.helper.integer.lte = less than or equals to label.condition.helper.integer.ne = not equals to - +label.condition.helper.check.condition = Check the condition +output.desc.learner.user.defined = User Defined +output.desc.score = Score +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 #======= End labels: Exported 172 labels for en AU ===== Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/EadventureConstants.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/EadventureConstants.java (.../EadventureConstants.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/EadventureConstants.java (.../EadventureConstants.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -269,6 +269,7 @@ public final static String VAR_NAME_SCORE = "score"; public final static String VAR_NAME_REPORT = "report"; public final static String VAR_NAME_COMPLETED = "game-completed"; - public final static String VAR_NAME_TIME_TAKEN = "total-time"; + public final static String VAR_NAME_TOTAL_TIME = "total-time"; + public final static String VAR_NAME_REAL_TIME = "real-time"; } Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureParamDAO.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureParamDAO.java (.../EadventureParamDAO.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/EadventureParamDAO.java (.../EadventureParamDAO.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -32,6 +32,8 @@ public List getEadventureParamByEadContentId(Long contentId); + public String getEadventureParamTypeByNameAndEadContentID(String name, Long contentId); + void delete(EadventureParam param); } Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureParamDAOHibernate.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureParamDAOHibernate.java (.../EadventureParamDAOHibernate.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/dao/hibernate/EadventureParamDAOHibernate.java (.../EadventureParamDAOHibernate.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -32,8 +32,8 @@ public class EadventureParamDAOHibernate extends BaseDAOHibernate implements EadventureParamDAO { - private static final String FIND_BY_ITEM_AND_NAME = "from " + EadventureParam.class.getName() - + " as r where r.visitLog.uid = ? and r.name =?"; + private static final String FIND_BY_PARAM_NAME= "from " + EadventureParam.class.getName() + + " as r where r.eadventure_uid = ? and r.name =?"; private static final String FIND_BY_EAD = "from " + EadventureParam.class.getName() @@ -46,11 +46,22 @@ return null; return list; -} + } + public void delete(EadventureParam param){ this.getHibernateTemplate().delete(param); } + + public String getEadventureParamTypeByNameAndEadContentID(String name, + Long contentId) { + + List list = getHibernateTemplate().find(FIND_BY_PARAM_NAME,new Object[]{contentId,name}); + if(list == null || list.size() ==0) + return null; + + return ((EadventureParam)list.get(0)).getType(); + } } Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml (.../eadventureApplicationContext.xml) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/eadventureApplicationContext.xml (.../eadventureApplicationContext.xml) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -130,6 +130,9 @@ + + + Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureOutputFactory.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureOutputFactory.java (.../EadventureOutputFactory.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureOutputFactory.java (.../EadventureOutputFactory.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -51,9 +51,11 @@ public class EadventureOutputFactory extends OutputFactory { - protected final static String OUTPUT_NAME_LEARNER_TOTAL_SCORE = "learner.score"; - protected final static String OUTPUT_NAME_LEARNER_TIME_TAKEN = "learner.time.taken"; - protected final static String OUTPUT_NAME_LEARNER_COMPLETED = "learner.completed"; + // don't translate these strings + protected final static String OUTPUT_NAME_LEARNER_TOTAL_SCORE = EadventureConstants.VAR_NAME_SCORE; + protected final static String OUTPUT_NAME_LEARNER_TOTAL_TIME = EadventureConstants.VAR_NAME_TOTAL_TIME; + protected final static String OUTPUT_NAME_LEARNER_REAL_TIME = EadventureConstants.VAR_NAME_REAL_TIME; + protected final static String OUTPUT_NAME_LEARNER_COMPLETED = EadventureConstants.VAR_NAME_COMPLETED; protected final static String OUTPUT_NAME_TOOL_CONDITION = "tool.condition"; @Override @@ -62,23 +64,24 @@ TreeMap definitionMap = new TreeMap(); ToolOutputDefinition definition =null; + // add default outputs + definition = buildRangeDefinition(OUTPUT_NAME_LEARNER_TOTAL_SCORE, new Long(0), new Long(0), true ); + definitionMap.put(OUTPUT_NAME_LEARNER_TOTAL_SCORE, definition); + definition = buildBooleanOutputDefinition(OUTPUT_NAME_LEARNER_COMPLETED); + definitionMap.put(OUTPUT_NAME_LEARNER_COMPLETED, definition); + definition = buildRangeDefinition(OUTPUT_NAME_LEARNER_TOTAL_TIME, new Long(0), new Long(0), false ); + definitionMap.put(OUTPUT_NAME_LEARNER_TOTAL_TIME, definition); + definition = buildRangeDefinition(OUTPUT_NAME_LEARNER_REAL_TIME, new Long(0), new Long(0), false ); + definitionMap.put(OUTPUT_NAME_LEARNER_REAL_TIME, definition); + Eadventure ead = (Eadventure)toolContentObject; + //TODO cambiar por ead.getParamsWithoutDeafault(); Set eadParams = ead.getParams(); - for (EadventureParam param : eadParams){ + for (EadventureParam param : eadParams){ String text; - if (param.getType().equals("score")){ - definition = buildRangeDefinition(param.getName(),new Long(0), null ); - definition.setDescription(param.getName()); - } else if (param.getType().equals("game-completed")){ - definition = buildBooleanOutputDefinition(param.getName()); - definition.setDescription(param.getName()); - } else if (param.getType().equals("total-time")){ - definition = buildRangeDefinition(param.getName(),new Long(0), null ); - definition.setDescription(param.getName()); - } else if (param.getType().equals("real-time")){ - definition = buildRangeDefinition(param.getName(),new Long(0), null ); - definition.setDescription(param.getName()); - } else if (param.getType().equals(EadventureConstants.PARAMS_TYPE_BOOLEAN)){ + // skip default outputs + if (isDefaultOutput(param.getType())){ + if (param.getType().equals(EadventureConstants.PARAMS_TYPE_BOOLEAN)){ definition = buildBooleanOutputDefinition(param.getName()); definition.setDescription(getI18NText("output.desc.learner.user.defined", false) + param.getName()); }else if (param.getType().equals(EadventureConstants.PARAMS_TYPE_INTEGER)){ @@ -89,7 +92,8 @@ definition.setDescription(getI18NText("output.desc.learner.user.defined", false) + param.getName()); } definitionMap.put(param.getName(), definition); - } + } + } //add the conditions defined at authoring @@ -122,6 +126,14 @@ return definitionMap; } + private boolean isDefaultOutput(String output){ + if (output.equals(OUTPUT_NAME_LEARNER_TOTAL_SCORE)||output.equals(OUTPUT_NAME_LEARNER_TOTAL_TIME )|| + output.equals(OUTPUT_NAME_LEARNER_REAL_TIME)||output.equals(OUTPUT_NAME_LEARNER_COMPLETED)){ + return true; + } else + return false; + } + /** @@ -172,9 +184,11 @@ if (name.equals(OUTPUT_NAME_LEARNER_TOTAL_SCORE)) { return getTotalScore(eadventureService, learnerId, ead,session.getSessionId()); - } else if (name.equals(OUTPUT_NAME_LEARNER_TIME_TAKEN)) { - return getTimeTaken(eadventureService, learnerId, ead,session.getSessionId()); - } else if (name.equals(OUTPUT_NAME_LEARNER_TOTAL_SCORE)) { + } else if (name.equals(OUTPUT_NAME_LEARNER_TOTAL_TIME)) { + return getTotalTime(eadventureService, learnerId, ead,session.getSessionId()); + } else if (name.equals(OUTPUT_NAME_LEARNER_REAL_TIME)) { + return getRealTime(eadventureService, learnerId, ead,session.getSessionId()); + } else if (name.equals(OUTPUT_NAME_LEARNER_COMPLETED)) { return getCompleted(eadventureService, learnerId, ead,session.getSessionId()); } else if (name.startsWith(OUTPUT_NAME_TOOL_CONDITION)) { boolean check; @@ -244,7 +258,7 @@ if (log==null) return new ToolOutput(OUTPUT_NAME_LEARNER_TOTAL_SCORE, getI18NText( OUTPUT_NAME_LEARNER_TOTAL_SCORE, true), 0); - EadventureVars var = eadventureService.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_SCORE); + EadventureVars var = eadventureService.getEadventureVars(log.getUid(), OUTPUT_NAME_LEARNER_TOTAL_SCORE); float totalScore = (var == null||var.getValue()==null) ? 0 : Integer.parseInt(var.getValue()); @@ -257,25 +271,47 @@ * Get time taken for a user. Will always return a ToolOutput object. */ - private ToolOutput getTimeTaken(IEadventureService eadventureService, Long learnerId, Eadventure ead, Long sessionId){ + private ToolOutput getTotalTime(IEadventureService eadventureService, Long learnerId, Eadventure ead, Long sessionId){ EadventureUser user = eadventureService.getUserByIDAndSession(learnerId, sessionId); //eadventureService.getUserByIDAndContent(learnerId, ead.getContentId()); EadventureItemVisitLog log = eadventureService.getEadventureItemLog(ead.getUid(), user.getUserId()); if (log==null) - return new ToolOutput(OUTPUT_NAME_LEARNER_TIME_TAKEN, getI18NText( - OUTPUT_NAME_LEARNER_TIME_TAKEN, true), 0); - EadventureVars var = eadventureService.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_TIME_TAKEN); + return new ToolOutput(OUTPUT_NAME_LEARNER_TOTAL_TIME, getI18NText( + OUTPUT_NAME_LEARNER_TOTAL_TIME, true), 0); + EadventureVars var = eadventureService.getEadventureVars(log.getUid(), OUTPUT_NAME_LEARNER_TOTAL_TIME); float totalTime = (var == null||var.getValue()==null) ? 0 : Integer.parseInt(var.getValue()); - return new ToolOutput(OUTPUT_NAME_LEARNER_TIME_TAKEN, getI18NText( - OUTPUT_NAME_LEARNER_TIME_TAKEN, true), totalTime); + return new ToolOutput(OUTPUT_NAME_LEARNER_TOTAL_TIME, getI18NText( + OUTPUT_NAME_LEARNER_TOTAL_TIME, true), totalTime); } /** + * Get time taken for a user. Will always return a ToolOutput object. + */ + + private ToolOutput getRealTime(IEadventureService eadventureService, Long learnerId, Eadventure ead, Long sessionId){ + + EadventureUser user = eadventureService.getUserByIDAndSession(learnerId, sessionId); + + //eadventureService.getUserByIDAndContent(learnerId, ead.getContentId()); + EadventureItemVisitLog log = eadventureService.getEadventureItemLog(ead.getUid(), user.getUserId()); + if (log==null) + return new ToolOutput(OUTPUT_NAME_LEARNER_REAL_TIME, getI18NText( + OUTPUT_NAME_LEARNER_REAL_TIME, true), 0); + EadventureVars var = eadventureService.getEadventureVars(log.getUid(), OUTPUT_NAME_LEARNER_REAL_TIME); + + float totalTime = (var == null||var.getValue()==null) ? 0 : Integer.parseInt(var.getValue()); + + return new ToolOutput(OUTPUT_NAME_LEARNER_REAL_TIME, getI18NText( + OUTPUT_NAME_LEARNER_REAL_TIME, true), totalTime); + + } + + /** * Completed when it is required. Will always return a ToolOutput object. */ @@ -288,7 +324,7 @@ if (log==null) return new ToolOutput(OUTPUT_NAME_LEARNER_COMPLETED, getI18NText( OUTPUT_NAME_LEARNER_COMPLETED, true), 0); - EadventureVars var = eadventureService.getEadventureVars(log.getUid(), EadventureConstants.VAR_NAME_COMPLETED); + EadventureVars var = eadventureService.getEadventureVars(log.getUid(), OUTPUT_NAME_LEARNER_COMPLETED); boolean totalScore = (var == null||var.getValue()==null) ? false : Boolean.parseBoolean(var.getValue()); Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java =================================================================== diff -u -rffd772499eed6c23b2c9e95d6d34132f5e32e191 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java (.../EadventureServiceImpl.java) (revision ffd772499eed6c23b2c9e95d6d34132f5e32e191) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/service/EadventureServiceImpl.java (.../EadventureServiceImpl.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -60,6 +60,7 @@ 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; @@ -169,6 +170,8 @@ private IEventNotificationService eventNotificationService; private ILessonService lessonService; + + private IGradebookService gradebookService; private EadventureOutputFactory eadventureOutputFactory; @@ -1438,7 +1441,15 @@ this.eadventureOutputFactory = eadventureOutputFactory; } + public void setGradebookService(IGradebookService gradebookService) { + this.gradebookService = gradebookService; + } + public IGradebookService getGradebookService() { + return gradebookService; + } + + /** * {@inheritDoc} */ @@ -1458,7 +1469,7 @@ if (condition != null) { EadventureItemVisitLog visitLog = eadventureItemVisitDao.getEadventureItemLog(eadventure.getUid(), userUid); Set eadV = visitLog.getEadventureVars(); - if (eadV.isEmpty()){ + 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(); @@ -1508,18 +1519,22 @@ private boolean checkExpression(EadventureExpression expr, List eadventureVars){ EadventureVars firstVar = getVarByName(expr.getFirstOp().getName(),eadventureVars); - firstVar.setType(expr.getFirstOp().getType()); +// 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(firstVar.getType(), firstVar.getValue(), value, operator); + return evalExpr(new String(firstVar.getType()), new String(firstVar.getValue()), value, operator); else - return evalExpr(firstVar.getType(), firstVar.getValue(), secVar.getValue(), operator); + return evalExpr(firstVar.getType(), firstVar.getValue(), secVar.getValue(), operator); + } else + return false; } private boolean evalExpr(String type, String firstValue, String secondValue, String op){ @@ -1532,17 +1547,17 @@ return firstValue.equals(secondValue); }else if (type.equals("integer")){ if (op.equals("==")) - return Integer.getInteger(firstValue) == Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) == Integer.parseInt(secondValue); else if (op.equals("!=")) - return Integer.getInteger(firstValue) != Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) != Integer.parseInt(secondValue); else if (op.equals(">")) - return Integer.getInteger(firstValue) > Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) > Integer.parseInt(secondValue); else if (op.equals("<")) - return Integer.getInteger(firstValue) < Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) < Integer.parseInt(secondValue); else if (op.equals(">=")) - return Integer.getInteger(firstValue) >= Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) >= Integer.parseInt(secondValue); else if (op.equals("<=")) - return Integer.getInteger(firstValue) <= Integer.getInteger(secondValue); + return Integer.parseInt(firstValue) <= Integer.parseInt(secondValue); } @@ -1577,24 +1592,24 @@ //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)); + //EadventureUser user = eadventureUserDao.getUserByUserIDAndSessionID(Long.parseLong(userId), Long.parseLong(toolContentID)); //eadventureUserDao.getUserByUserIDAndSessionID(Long.parseLong(userId), Long.parseLong(toolSessionID)); - EadventureServiceImpl.log.error("USER ID "+ user.getUserId()); + 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(), user.getUserId()); + 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); - //TODO ver el type - //var.setType(type); + //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("completed")&&value.equals("true")&&changeButton) + if (name.equals(EadventureConstants.VAR_NAME_COMPLETED)&&value.equals("true")&&changeButton) setItemComplete(eadSession.getEadventure().getUid(), Long.parseLong(userId), eadSession.getSessionId()); return changeButton; Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -586,9 +586,17 @@ //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(); + 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("")) Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringEadventureConditionAction.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringEadventureConditionAction.java (.../AuthoringEadventureConditionAction.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/AuthoringEadventureConditionAction.java (.../AuthoringEadventureConditionAction.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -655,9 +655,7 @@ SortedSet expressionList = getEadventureExpressionList(sessionMap); List exprList = new ArrayList(expressionList); - String description = new String(); java.util.Iterator it = exprList.iterator(); - List params = this.getEadventureParamList(sessionMap); // prepare the data structures to send to jsp ArrayList expressionsInfo = new ArrayList(); while(it.hasNext()){ @@ -679,8 +677,9 @@ } sessionMap.put(EadventureConstants.ATTR_EXPRS_INFO, expressionsInfo); - sessionMap.put(EadventureConstants.ATTR_EXPRS_INFO, expressionsInfo); - sessionMap.put(EadventureConstants.ATTR_EXPRS_INFO, expressionsInfo); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + request.setAttribute(EadventureConstants.ATTR_SESSION_MAP_ID, sessionMapID); + return mapping.findForward(EadventureConstants.SUCCESS); } Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java (.../LearningAction.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/action/LearningAction.java (.../LearningAction.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -215,15 +215,8 @@ // check define complete boolean isDefineComplete= false; - if (eadventure.isDefineComplete()){ - List params = service.getEadventureParamByContentId(eadventure.getUid()); - - for (EadventureParam param:params){ - if (param.getName().equals("completed")){ + if (eadventure.isDefineComplete()){ isDefineComplete=true; - break; - } - } } Index: lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/servlet/VarsExchangeServlet.java =================================================================== diff -u -re7b84a8dda80b775d674d686a2564d40c7e3f871 -rd189d89ccf193e86e519aca19df0eaa15045147c --- lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/servlet/VarsExchangeServlet.java (.../VarsExchangeServlet.java) (revision e7b84a8dda80b775d674d686a2564d40c7e3f871) +++ lams_tool_eadventure/src/java/org/eucm/lams/tool/eadventure/web/servlet/VarsExchangeServlet.java (.../VarsExchangeServlet.java) (revision d189d89ccf193e86e519aca19df0eaa15045147c) @@ -37,6 +37,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; +import org.eucm.lams.tool.eadventure.EadventureConstants; import org.eucm.lams.tool.eadventure.service.EadventureServiceProxy; import org.eucm.lams.tool.eadventure.service.IEadventureService; import org.eucm.lams.tool.eadventure.util.EadventureToolContentHandler; @@ -78,7 +79,7 @@ String[] strings = deriveIdFile(pathString); boolean changeButton = service.setAppletInput(strings[2], echo, strings[0], strings[1]); // echo it to the applet - if(echo.equals("true")&&strings[2].equals("completed")&&changeButton) { + if(echo.equals("true")&&strings[2].equals(EadventureConstants.VAR_NAME_COMPLETED)&&changeButton) { // Send the order to applet for it change the visibility of the finish button response.setContentType("application/x-java-serialized-object"); PrintWriter out = response.getWriter();