Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r7fe9774aaa83d47d9cd66dca7daf4a30cbb4f3ec -rd1d6cf4ec5a79ec9371fdfda64ce634483d2a325 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -rd1d6cf4ec5a79ec9371fdfda64ce634483d2a325 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsActivity.java (.../OptionsActivity.java) (revision d1d6cf4ec5a79ec9371fdfda64ce634483d2a325) @@ -167,6 +167,15 @@ return this.maxNumberOfOptions; } + /** + * Get the maximum number of options, guaranteed not to return null. If the + * value is null in the database, returns the number of activities + * in this optional activity. + */ + public Integer getMaxNumberOfOptionsNotNull() { + return maxNumberOfOptions!=null ? maxNumberOfOptions : getActivities().size(); + } + public void setMaxNumberOfOptions(Integer maxNumberOfOptions) { this.maxNumberOfOptions = maxNumberOfOptions; } @@ -178,6 +187,14 @@ return this.minNumberOfOptions; } + /** + * Get the manimum number of options, guaranteed not to return null. If the + * value is null in the database, returns 0 + */ + public Integer getMinNumberOfOptionsNotNull() { + return maxNumberOfOptions!=null ? maxNumberOfOptions : new Integer(0); + } + public void setMinNumberOfOptions(Integer minNumberOfOptions) { this.minNumberOfOptions = minNumberOfOptions; } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/OptionsActivityStrategy.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -rd1d6cf4ec5a79ec9371fdfda64ce634483d2a325 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/OptionsActivityStrategy.java (.../OptionsActivityStrategy.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/OptionsActivityStrategy.java (.../OptionsActivityStrategy.java) (revision d1d6cf4ec5a79ec9371fdfda64ce634483d2a325) @@ -65,7 +65,8 @@ protected boolean isComplete(int numOfCompletedActivities) { if ( optionsActivity != null ) { - return numOfCompletedActivities>=optionsActivity.getMaxNumberOfOptions().intValue()?true:false; + + return numOfCompletedActivities>=optionsActivity.getMaxNumberOfOptionsNotNull().intValue()?true:false; } return true; }