Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
Binary files differ
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision d66ffc2bf657d1fe25183aa727b110ed42048d59)
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -859,6 +859,9 @@
if (keyExists(activityDetails, WDDXTAGS.GROUPING_SUPPORT_TYPE))
activity.setGroupingSupportType(WDDXProcessor.convertToInteger(activityDetails,WDDXTAGS.GROUPING_SUPPORT_TYPE));
+ if (keyExists(activityDetails, WDDXTAGS.STOP_AFTER_ACTIVITY))
+ activity.setStopAfterActivity(WDDXProcessor.convertToBoolean(activityDetails,WDDXTAGS.STOP_AFTER_ACTIVITY));
+
return activity;
}
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision d66ffc2bf657d1fe25183aa727b110ed42048d59)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -87,6 +87,7 @@
+
Index: lams_common/db/model/lams_11.clay
===================================================================
diff -u -r5c85f79ac6eb2d698a970dfc662f027e4f642141 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 5c85f79ac6eb2d698a970dfc662f027e4f642141)
+++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -699,6 +699,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
diff -u -r5c85f79ac6eb2d698a970dfc662f027e4f642141 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 5c85f79ac6eb2d698a970dfc662f027e4f642141)
+++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -522,6 +522,7 @@
, start_ycoord INT(11)
, end_xcoord INT(11)
, end_ycoord INT(11)
+ , stop_after_activity TINYINT NOT NULL DEFAULT 0
, PRIMARY KEY (activity_id)
, INDEX (learning_library_id)
, CONSTRAINT FK_lams_learning_activity_7 FOREIGN KEY (learning_library_id)
Index: lams_common/db/sql/updatescripts/alter_21_branching.sql
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision d66ffc2bf657d1fe25183aa727b110ed42048d59)
+++ lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -28,7 +28,9 @@
,ADD COLUMN start_xcoord INT(11)
,ADD COLUMN start_ycoord INT(11)
,ADD COLUMN end_xcoord INT(11)
-,ADD COLUMN end_ycoord INT(11);
+,ADD COLUMN end_ycoord INT(11)
+,ADD COLUMN stop_after_activity TINYINT NOT NULL DEFAULT 0
+;
INSERT INTO lams_learning_activity_type VALUES (10, 'BRANCHING_CHOSEN');
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision d66ffc2bf657d1fe25183aa727b110ed42048d59)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -209,6 +209,12 @@
* is set up, schedule gates are scheduled, etc. Used to detect which activities
* need to be initialised for live edit. */
private Boolean initialised;
+
+ /** If stopAfterActivity is true, then the progress engine should "end" the lesson at this point.
+ * Used to arbitrarily stop somewhere in a design, such as at the end of the branch. The normal
+ * final activity of a design does not necessarily have this set - the progress engine will just
+ * stop when it runs out of transitions to follow. */
+ private Boolean stopAfterActivity;
//---------------------------------------------------------------------
// Object constructors
//---------------------------------------------------------------------
@@ -259,13 +265,15 @@
this.languageFile = languageFile;
this.readOnly = false;
this.initialised = false;
+ this.stopAfterActivity = false;
}
/** default constructor */
public Activity() {
this.grouping = null;
this.createDateTime = new Date(); //default value is set to when the object is created
this.readOnly = false;
this.initialised = false;
+ this.stopAfterActivity = false;
}
/** minimal constructor */
@@ -291,6 +299,8 @@
this.transitionTo = transitionTo;
this.transitionFrom = transitionFrom;
this.readOnly = false;
+ this.initialised = false;
+ this.stopAfterActivity = false;
}
public static Activity getActivityInstance(int activityType)
@@ -564,7 +574,7 @@
}
/**
- * @return Returns the initialised.
+ * @return Returns the initialised flag.
*/
public Boolean isInitialised() {
return initialised;
@@ -576,6 +586,19 @@
this.initialised = initialised;
}
+ /**
+ * @return Returns the stopAfterActivity flag.
+ */
+ public Boolean isStopAfterActivity() {
+ return stopAfterActivity;
+ }
+ /**
+ * @param readOnly The stopAfterActivity to set.
+ */
+ public void setStopAfterActivity(Boolean stopAfterActivity) {
+ this.stopAfterActivity = stopAfterActivity;
+ }
+
public String toString() {
return new ToStringBuilder(this)
.append("activityId", activityId)
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java
===================================================================
diff -u -r5c85f79ac6eb2d698a970dfc662f027e4f642141 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 5c85f79ac6eb2d698a970dfc662f027e4f642141)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -192,6 +192,12 @@
* need to be initialised for live edit. */
private Boolean initialised;
+ /** If stopAfterActivity is true, then the progress engine should "end" the lesson at this point.
+ * Used to arbitrarily stop somewhere in a design, such as at the end of the branch. The normal
+ * final activity of a design does not necessarily have this set - the progress engine will just
+ * stop when it runs out of transitions to follow. */
+ private Boolean stopAfterActivity;
+
/* Server will send Grouping objects as an array (in the Groupings array)
* rather than being part of the GroupingActivity. For the groupings array
* see LearningDesignDTO.
@@ -236,7 +242,8 @@
Integer createGroupingUIID, Long libraryActivityID,
Boolean applyGrouping,Integer groupingSupportType,
Integer groupingType,GroupingDTO groupingDTO,
- Boolean readOnly, Boolean initialised, Integer firstActivityUIID,
+ Boolean readOnly, Boolean initialised, Boolean stopAfterActivity,
+ Integer firstActivityUIID,
Integer startXCoord, Integer startYCoord, Integer endXCoord, Integer endYCoord) {
super();
this.activityID = activityID;
@@ -281,6 +288,7 @@
//this.groupingDTO = groupingDTO;
this.readOnly = readOnly;
this.initialised = initialised;
+ this.stopAfterActivity=stopAfterActivity;
// Sequence Activity field
this.firstActivityUIID = firstActivityUIID;
// Branching Activity fields
@@ -330,7 +338,7 @@
this.groupingSupportType = activity.getGroupingSupportType();
this.readOnly = activity.getReadOnly();
this.initialised = activity.isInitialised();
-
+ this.stopAfterActivity = activity.isStopAfterActivity();
}
@@ -675,6 +683,9 @@
public Boolean getInitialised() {
return initialised;
}
+ public Boolean getStopAfterActivity() {
+ return stopAfterActivity;
+ }
/**
* @return Returns the applyGrouping.
*/
@@ -1018,6 +1029,9 @@
public void setInitialised(Boolean initialised) {
this.initialised = initialised;
}
+ public void setStopAfterActivity(Boolean stopAfterActivity) {
+ this.stopAfterActivity = stopAfterActivity;
+ }
public void setFirstActivityUIID(Integer firstActivityUIID) {
if(!firstActivityUIID.equals(WDDXTAGS.NUMERIC_NULL_VALUE_LONG))
this.firstActivityUIID = firstActivityUIID;
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java
===================================================================
diff -u -rd66ffc2bf657d1fe25183aa727b110ed42048d59 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision d66ffc2bf657d1fe25183aa727b110ed42048d59)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -1811,6 +1811,11 @@
act.setDescription(actDto.getDescription());
act.setHelpText(actDto.getHelpText());
act.setLanguageFile(actDto.getLanguageFile());
+
+ // added in 2.1 - will be missing from earlier import files.
+ if ( actDto.getStopAfterActivity() != null )
+ act.setStopAfterActivity(actDto.getStopAfterActivity());
+
//do not need set so far
// act.setLearningDesign();
Index: lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java
===================================================================
diff -u -r87b20aa68aff94feca9cc3aee00d40c2781aa009 -r725717c8db7287e639f58135c179133d18e85adb
--- lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java (.../WDDXTAGS.java) (revision 87b20aa68aff94feca9cc3aee00d40c2781aa009)
+++ lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java (.../WDDXTAGS.java) (revision 725717c8db7287e639f58135c179133d18e85adb)
@@ -94,6 +94,7 @@
public static final String APPLY_GROUPING = "applyGrouping";
public static final String GROUPING_SUPPORT_TYPE = "groupingSupportType";
+ public static final String STOP_AFTER_ACTIVITY = "stopAfterActivity";
/** OptionsActivity specific tags*/
public static final String MAX_OPTIONS="maxOptions";