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();