Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
===================================================================
diff -u -r250486f86b66ac04cece0001879c3dc39c96ed98 -r1274faa8cf4613e5d8537ff2954796f1aa1ed5b5
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 250486f86b66ac04cece0001879c3dc39c96ed98)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 1274faa8cf4613e5d8537ff2954796f1aa1ed5b5)
@@ -223,9 +223,10 @@
@hibernate.class
public abstract
-
-
- @hibernate.set lazy="false" inverse="true" cascade="all-delete-orphan" sort="org.lamsfoundation.lams.learningdesign.ActivityOrderComparator"
+
+
+
+ @hibernate.set lazy="false" inverse="true" cascade="save-update" sort="org.lamsfoundation.lams.learningdesign.ActivityOrderComparator"
@hibernate.collection-key column="parent_activity_id"
@hibernate.collection-one-to-many class="org.lamsfoundation.lams.learningdesign.Activity"
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java
===================================================================
diff -u -rc21079bc26cf334c99c5194da3ae223f7bfec9bb -r1274faa8cf4613e5d8537ff2954796f1aa1ed5b5
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java (.../ComplexActivity.java) (revision c21079bc26cf334c99c5194da3ae223f7bfec9bb)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java (.../ComplexActivity.java) (revision 1274faa8cf4613e5d8537ff2954796f1aa1ed5b5)
@@ -104,7 +104,7 @@
}
/**
- * @hibernate.set lazy="true" inverse="true" cascade="all-delete-orphan" sort="org.lamsfoundation.lams.learningdesign.ActivityOrderComparator"
+ * @hibernate.set lazy="true" inverse="true" cascade="save-update" sort="org.lamsfoundation.lams.learningdesign.ActivityOrderComparator"
* @hibernate.collection-key column="parent_activity_id"
* @hibernate.collection-one-to-many class="org.lamsfoundation.lams.learningdesign.Activity"
*
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java
===================================================================
diff -u -r2b636f4e834cd0b45c00bb3abf6a6b5e5f3161c8 -r1274faa8cf4613e5d8537ff2954796f1aa1ed5b5
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 2b636f4e834cd0b45c00bb3abf6a6b5e5f3161c8)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java (.../LearningDesignService.java) (revision 1274faa8cf4613e5d8537ff2954796f1aa1ed5b5)
@@ -333,22 +333,25 @@
OptionsActivity optionsActivity = (OptionsActivity)parentActivity;
Set childActivities = optionsActivity.getActivities(); //childActivities should be sorted according to order id (using the activityOrderComparator)
Iterator i = childActivities.iterator();
- while (i.hasNext())
+ while (i.hasNext() && validOrderId)
{
Activity childActivity = (Activity)i.next();
thisActivityOrderId= childActivity.getOrderId();
if (previousActivityOrderId != null)
{
//compare the two numbers
- if (thisActivityOrderId.longValue() != (previousActivityOrderId.longValue() + 1))
- validOrderId = validOrderId && false;
+ if (thisActivityOrderId==null ) {
+ validOrderId = false;
+ } else if ( thisActivityOrderId.longValue() != (previousActivityOrderId.longValue() + 1)) {
+ validOrderId = false;
+ }
}
else
{
//this is the first activity, since the previousActivityId is null
- if(thisActivityOrderId.longValue()!= 1)
- validOrderId = validOrderId && false;
+ if(thisActivityOrderId==null || thisActivityOrderId.longValue()!= 1)
+ validOrderId = false;
}
previousActivityOrderId = thisActivityOrderId;
}