Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -r30cff71da0bf7cbe6193590c2dac8c957700b91f -r0bda29599bb3802b163c7aa507d2ee9dd47ec6a6 --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 30cff71da0bf7cbe6193590c2dac8c957700b91f) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 0bda29599bb3802b163c7aa507d2ee9dd47ec6a6) @@ -581,26 +581,25 @@ } Grouping existingGrouping = groupingDAO.getGroupingByUIID(groupingUUID); if (existingGrouping != null) - grouping = existingGrouping; + grouping = existingGrouping; else { Object object = Grouping.getGroupingInstance(groupingTypeID); - grouping = (Grouping)object; - - grouping.setGroupingTypeId(groupingTypeID); + grouping = (Grouping)object; + if(keyExists(groupingDetails, WDDXTAGS.GROUPING_ID)) grouping.setGroupingId(WDDXProcessor.convertToLong(groupingDetails,WDDXTAGS.GROUPING_ID)); if (keyExists(groupingDetails, WDDXTAGS.GROUPING_UIID)) grouping.setGroupingUIID(WDDXProcessor.convertToInteger(groupingDetails,WDDXTAGS.GROUPING_UIID)); - } + } - + if(grouping.isRandomGrouping()) createRandomGrouping((RandomGrouping)grouping,groupingDetails); else if(grouping.isChosenGrouping()) createChosenGrouping((ChosenGrouping)grouping,groupingDetails); else - createLessonClass((LessonClass)grouping, groupingDetails); + createLessonClass((LessonClass)grouping, groupingDetails); if (keyExists(groupingDetails,WDDXTAGS.MAX_NUMBER_OF_GROUPS)) grouping.setMaxNumberOfGroups(WDDXProcessor.convertToInteger(groupingDetails,WDDXTAGS.MAX_NUMBER_OF_GROUPS));