+ * A Sequence activity is like a little learning design, and while is it being + * drawn all the the contained activities may not have transitions between them. So Flash needs to know what the first + * activity is! + *
+ * A tool based branching activity has to have a default branch in case the conditions don't + * match to any other branch. + * + * @hibernate.many-to-one not-null="false" + * @hibernate.column name="default_activity_id" + */ + public Activity getDefaultActivity() { + return defaultActivity; + } + + + public void setDefaultActivity(Activity defaultActivity) { + this.defaultActivity = defaultActivity; + } + + public void setActivities(Set activities) { this.activities=activities; } @@ -159,8 +187,8 @@ * within the parent activity.
* * Note: The logic of what is the next activity here is progress - * enigne specific now. Please see theActivityStrategy
- * for details explaination of what is next.
+ * engine specific now. Please see the ActivityStrategy
+ * for details explanation of what is next.
*
* @return the next activity within a parent activity
*/
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java (.../GateActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GateActivity.java (.../GateActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -81,6 +81,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Integer gateActivityLevelId,
Set waitingLearners,
SystemTool sysTool)
@@ -104,7 +105,8 @@
transitionTo,
transitionFrom,
languageFile,
- stopAfterActivity);
+ stopAfterActivity,
+ inputActivities);
this.gateActivityLevelId = gateActivityLevelId;
this.waitingLearners = waitingLearners;
this.systemTool = sysTool;
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java (.../GroupBranchingActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java (.../GroupBranchingActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -64,7 +64,9 @@
Integer endXcoord,
Integer endYcoord,
Boolean stopAfterActivity,
+ Set inputActivities,
Set activities,
+ Activity defaultActivity,
SystemTool systemTool) {
super(activityId,
id,
@@ -90,7 +92,9 @@
endXcoord,
endYcoord,
stopAfterActivity,
+ inputActivities,
activities,
+ defaultActivity,
systemTool);
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java (.../GroupingActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupingActivity.java (.../GroupingActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -24,6 +24,7 @@
package org.lamsfoundation.lams.learningdesign;
import java.io.Serializable;
+import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.GroupingActivityStrategy;
@@ -71,6 +72,7 @@
Integer create_grouping_ui_id,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
SystemTool sysTool)
{
super(activityId,
@@ -92,7 +94,8 @@
transitionTo,
transitionFrom,
languageFile,
- stopAfterActivity);
+ stopAfterActivity,
+ inputActivities);
this.createGrouping = createGrouping;
this.createGroupingUIID = create_grouping_ui_id;
this.systemTool = sysTool;
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -67,7 +67,9 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
- Set activities,
+ Set inputActivities,
+ Set activities,
+ Activity defaultActivity,
Integer maxNumberOfOptions,
Integer minNumberOfOptions,
String options_instructions) {
@@ -91,7 +93,9 @@
transitionFrom,
languageFile,
stopAfterActivity,
- activities);
+ inputActivities,
+ activities,
+ defaultActivity);
this.maxNumberOfOptions = maxNumberOfOptions;
this.minNumberOfOptions = minNumberOfOptions;
this.optionsInstructions = options_instructions;
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java (.../ParallelActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ParallelActivity.java (.../ParallelActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -57,7 +57,9 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
- Set activities) {
+ Set inputActivities,
+ Set activities,
+ Activity defaultActivity) {
super(activityId,
id,
description,
@@ -78,7 +80,9 @@
transitionFrom,
languageFile,
stopAfterActivity,
- activities);
+ inputActivities,
+ activities,
+ defaultActivity);
super.activityStrategy = new ParallelActivityStrategy(this);
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java (.../PermissionGateActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/PermissionGateActivity.java (.../PermissionGateActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -60,6 +60,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Integer gateActivityLevelId,
Set waitingLearners,
SystemTool sysTool)
@@ -84,6 +85,7 @@
transitionFrom,
languageFile,
stopAfterActivity,
+ inputActivities,
gateActivityLevelId,
waitingLearners,
sysTool);
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java (.../ScheduleGateActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ScheduleGateActivity.java (.../ScheduleGateActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -106,6 +106,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Integer gateActivityLevelId,
Long gateStartTimeOffset,
Long gateEndTimeOffset,
@@ -131,6 +132,7 @@
transitionFrom,
languageFile,
stopAfterActivity,
+ inputActivities,
gateActivityLevelId,
waitingLearners,
sysTool);
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java (.../SequenceActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SequenceActivity.java (.../SequenceActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -42,9 +42,6 @@
private static Logger log = Logger.getLogger(SequenceActivity.class);
- /** nullable persistent field */
- private Activity firstActivity;
-
private Set branchEntries;
/** full constructor */
@@ -67,8 +64,10 @@
Transition transitionTo,
Transition transitionFrom,
String languageFile,
- SortedSet activities,
Boolean stopAfterActivity,
+ Set inputActivities,
+ Set activities,
+ Activity defaultActivity,
Set branchEntries) {
super(activityId,
id,
@@ -90,7 +89,9 @@
transitionFrom,
languageFile,
stopAfterActivity,
- activities);
+ inputActivities,
+ activities,
+ defaultActivity);
super.activityStrategy = new SequenceActivityStrategy(this);
this.branchEntries = branchEntries;
@@ -135,7 +136,7 @@
public Activity createCopy(){
SequenceActivity newSequenceActivity = new SequenceActivity();
copyToNewActivity(newSequenceActivity);
- newSequenceActivity.firstActivity = this.firstActivity;
+ newSequenceActivity.defaultActivity = this.defaultActivity;
return newSequenceActivity;
}
@@ -154,21 +155,6 @@
return false;
}
- /** Get the first activity in the sequence. A Sequence activity is like a little learning design, and while is it being
- * drawn all the the contained activities may not have transitions between them. So Flash needs to know what the first
- * activity is!
- * @hibernate.many-to-one not-null="false"
- * @hibernate.column name="first_activity_id"
- */
- public Activity getFirstActivity() {
- return firstActivity;
- }
-
-
- public void setFirstActivity(Activity firstActivity) {
- this.firstActivity = firstActivity;
- }
-
/**
* Get the set of the branch to group mappings used for this branching activity. The set contains GroupBranchActivityEntry entries
*
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SimpleActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SimpleActivity.java (.../SimpleActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SimpleActivity.java (.../SimpleActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -25,6 +25,7 @@
import java.io.Serializable;
import java.util.Date;
+import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.lamsfoundation.lams.learningdesign.strategy.SimpleActivityStrategy;
@@ -57,7 +58,8 @@
Integer activityTypeId, Transition transitionTo,
Transition transitionFrom,
String languageFile,
- Boolean stopAfterActivity){
+ Boolean stopAfterActivity,
+ Set inputActivities){
super(activityId,
id,
description,
@@ -77,7 +79,8 @@
transitionTo,
transitionFrom,
languageFile,
- stopAfterActivity);
+ stopAfterActivity,
+ inputActivities);
}
/** default constructor */
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java (.../SynchGateActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SynchGateActivity.java (.../SynchGateActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -59,6 +59,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Integer gateActivityLevelId,
Set waitingLearners,
SystemTool sysTool) {
@@ -82,6 +83,7 @@
transitionFrom,
languageFile,
stopAfterActivity,
+ inputActivities,
gateActivityLevelId,
waitingLearners,
sysTool);
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemGateActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemGateActivity.java (.../SystemGateActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/SystemGateActivity.java (.../SystemGateActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -59,6 +59,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Integer gateActivityLevelId,
Set waitingLearners,
SystemTool sysTool) {
@@ -82,6 +83,7 @@
transitionFrom,
languageFile,
stopAfterActivity,
+ inputActivities,
gateActivityLevelId,
waitingLearners,
sysTool);
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -81,6 +81,7 @@
Transition transitionFrom,
String languageFile,
Boolean stopAfterActivity,
+ Set inputActivities,
Tool tool,
Long toolContentId)
{
@@ -103,7 +104,8 @@
transitionTo,
transitionFrom,
languageFile,
- stopAfterActivity);
+ stopAfterActivity,
+ inputActivities);
this.tool = tool;
this.toolContentId = toolContentId;
super.simpleActivityStrategy = new ToolActivityStrategy(this);
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolBranchingActivity.java
===================================================================
diff -u -r2c26811b29dbe08f4d569c720f86b25925260fc0 -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolBranchingActivity.java (.../ToolBranchingActivity.java) (revision 2c26811b29dbe08f4d569c720f86b25925260fc0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolBranchingActivity.java (.../ToolBranchingActivity.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -64,7 +64,9 @@
Integer endXcoord,
Integer endYcoord,
Boolean stopAfterActivity,
- Set activities,
+ Set inputActivities,
+ Set activities,
+ Activity defaultActivity,
SystemTool systemTool) {
super(activityId,
id,
@@ -90,7 +92,9 @@
endXcoord,
endYcoord,
stopAfterActivity,
+ inputActivities,
activities,
+ defaultActivity,
systemTool);
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java
===================================================================
diff -u -r725717c8db7287e639f58135c179133d18e85adb -r09048f91f2dcbb6b63449f3c1fb9e1a09221a35e
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 09048f91f2dcbb6b63449f3c1fb9e1a09221a35e)
@@ -23,7 +23,9 @@
/* $$Id$$ */
package org.lamsfoundation.lams.learningdesign.dto;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.Iterator;
import org.lamsfoundation.lams.learningdesign.Activity;
import org.lamsfoundation.lams.learningdesign.BranchingActivity;
@@ -102,7 +104,7 @@
private Integer orderID;
/** Indicates whether the content of this activity
- * would be defined later in the monitoring enviornment or not.*/
+ * would be defined later in the monitoring environment or not.*/
private Boolean defineLater;
/** The LearningDesign to which this activity belongs*/
@@ -214,8 +216,12 @@
* this activity. e.g. org.lamsfoundation.lams.tool.sbmt.SbmtResources.properties. */
private String languageFile;
- /** Used by a sequence activity to determine the start of the transition based sequence */
- private Integer firstActivityUIID;
+ /** List of the UIIDs of the activities that are input activities for this activity */
+ private ArrayList inputActivities;
+
+ /** Used by a sequence activity to determine the start of the transition based sequence and used by tool
+ * based branching to determine the default branch. */
+ private Integer defaultActivityUIID;
private Integer startXCoord;
private Integer startYCoord;
@@ -243,7 +249,7 @@
Boolean applyGrouping,Integer groupingSupportType,
Integer groupingType,GroupingDTO groupingDTO,
Boolean readOnly, Boolean initialised, Boolean stopAfterActivity,
- Integer firstActivityUIID,
+ ArrayList+ * If the tool contains generated definitions, then they must be copied when the tool content is copied, + * as the conditions may be modified via Live Edit. This must not modify the original design. + *
+ * For 2.1, we will not deal with complex outputs, so for now we will not define how a complex definition + * is defined. The field is placed in the object so that we have the place for it when we do design the + * complex output definitions. + *
+ * Sample ToolOutputDefinition: + * ToolOutputDefinition { + * name = "LEARNERS_MARK", + * description = "Mark for an individual learner"; + * type = "NUMERIC"; + * startValue = "0.0"; + * endValue = "10.0"; + * complexDefinition = null; + * } + */ +public class ToolOutputDefinition { + + private String name; + private String description; + private OutputType type; + private Object startValue; + private Object endValue; + private Object complexDefinition; + + /** Name must be unique within the current tool content. This will be used to identify the output. + * If the definition is a predefined definition then the name will always be the same (e.g. LEARNER_MARK) but + * if it is defined in authoring then it will need to made unique for this tool content (e.g. ANSWER_2_CONTAINS_1). + * At lesson time, the tool will be given back the name and will need to be able to uniquely identify the required + * output based on name, the tool session id and possibly the learner's user id. + */ + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + /** Description: Description is an internationalised text string which is displayed to the + * user as the output "name". It is the responsibility of the tool to internationalise the + * string. We suggest that the key for each predefined definition follow the convention + * OUTPUT_DESC_