Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml,v
diff -u -r1.25 -r1.26
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 21 Jun 2006 12:04:57 -0000 1.25
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 9 Aug 2006 01:32:22 -0000 1.26
@@ -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
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java,v
diff -u -r1.21 -r1.22
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java 6 Aug 2006 04:24:37 -0000 1.21
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ComplexActivity.java 9 Aug 2006 01:32:22 -0000 1.22
@@ -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
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java,v
diff -u -r1.9 -r1.10
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java 2 Aug 2006 06:15:37 -0000 1.9
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LearningDesignService.java 9 Aug 2006 01:32:22 -0000 1.10
@@ -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;
}