Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -r23211f44c3c9c17bf1f48b16985cba850fbdbf78 -r75c2d483b799dcf9614657788178b410e55c4235 --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 23211f44c3c9c17bf1f48b16985cba850fbdbf78) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 75c2d483b799dcf9614657788178b410e55c4235) @@ -1281,7 +1281,7 @@ Activity activity = newActivityMap.get(sequenceActivityUIID); if ( activity == null ) { throw new WDDXProcessorConversionException("Sequence Activity listed in the branch mapping list is missing. Mapping entry UUID "+entryUIID+" sequenceActivityUIID "+sequenceActivityUIID); - } else if ( ! sequenceActivity.isSequenceActivity() ) { + } else if ( ! activity.isSequenceActivity() ) { throw new WDDXProcessorConversionException("Activity listed in the branch mapping list is not a sequence activity. Mapping entry UUID "+entryUIID+" sequenceActivityUIID "+sequenceActivityUIID); } else { sequenceActivity = (SequenceActivity) activity; @@ -1302,15 +1302,17 @@ // is created at runtime but then modified in authoring (and has has a new UI ID added) is handled. BranchActivityEntry uiid_match = null; BranchActivityEntry id_match = null; - Iterator iter = sequenceActivity.getBranchEntries().iterator(); - while (uiid_match == null && iter.hasNext()) { - BranchActivityEntry possibleEntry = (BranchActivityEntry) iter.next(); - if ( entryUIID.equals(possibleEntry.getEntryUIID()) ) { - uiid_match = possibleEntry; + if ( sequenceActivity.getBranchEntries() != null ) { + Iterator iter = sequenceActivity.getBranchEntries().iterator(); + while (uiid_match == null && iter.hasNext()) { + BranchActivityEntry possibleEntry = (BranchActivityEntry) iter.next(); + if ( entryUIID.equals(possibleEntry.getEntryUIID()) ) { + uiid_match = possibleEntry; + } + if ( entryId != null && entryId.equals(possibleEntry.getEntryId()) ) { + id_match = possibleEntry; + } } - if ( entryId != null && entryId.equals(possibleEntry.getEntryId()) ) { - id_match = possibleEntry; - } } BranchActivityEntry entry = uiid_match != null ? uiid_match : id_match; Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -r23211f44c3c9c17bf1f48b16985cba850fbdbf78 -r75c2d483b799dcf9614657788178b410e55c4235 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 23211f44c3c9c17bf1f48b16985cba850fbdbf78) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 75c2d483b799dcf9614657788178b410e55c4235) @@ -832,7 +832,8 @@ Group oldGroup = entry.getGroup(); if ( oldGroup != null ) { Grouping oldGrouping = oldGroup.getGrouping(); - entry.setGroup(oldGrouping.getGroup(oldGroup.getGroupUIID())); + Grouping newGroouping = newGroupings.get(oldGrouping.getGroupingUIID()); + entry.setGroup(newGroouping.getGroup(oldGroup.getGroupUIID())); } } } @@ -865,7 +866,7 @@ newActivity.setParentActivity(parentActivity); newActivity.setParentUIID(parentActivity.getActivityUIID()); } - activityDAO.insert(newActivity); +// activityDAO.insert(newActivity); newActivities.put(newActivity.getActivityUIID(),newActivity); Set oldChildActivities = getChildActivities((Activity)activity);