Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v diff -u -r1.64 -r1.65 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 6 May 2008 00:33:30 -0000 1.64 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 2 Jun 2008 06:25:55 -0000 1.65 @@ -967,6 +967,15 @@ } newLearningDesign.getActivities().addAll(activities); + // On very rare occasions, we've had Hibernate try to save the branching entries before saving the branching activity + // which throws an exception as the branch_activity_id is null. So force any branching activities to save first. + // And yes, this IS a hack. (See LDEV-1786) + for ( Activity activity : activities) { + if ( activity.isBranchingActivity() ) { + activityDAO.insert(activity); + } + } + return newActivities; }