Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java,v diff -u -r1.19 -r1.20 --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 3 Apr 2006 23:28:16 -0000 1.19 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 19 May 2006 03:22:48 -0000 1.20 @@ -549,18 +549,22 @@ if (keyExists(activityDetails, WDDXTAGS.YCOORD)) activity.setYcoord(WDDXProcessor.convertToInteger(activityDetails, WDDXTAGS.YCOORD)); - if (keyExists(activityDetails, WDDXTAGS.GROUPING_ID)) + if (keyExists(activityDetails, WDDXTAGS.GROUPING_UIID)) { - Long groupingID = WDDXProcessor.convertToLong(activityDetails,WDDXTAGS.GROUPING_ID); Integer groupingUIID = WDDXProcessor.convertToInteger(activityDetails,WDDXTAGS.GROUPING_UIID); - if( groupingID!=null ){ - Grouping grouping = groupingDAO.getGroupingById(groupingID); - activity.setGrouping(grouping); - activity.setGroupingUIID(groupingUIID); + if ( groupingUIID != null ){ + Grouping grouping = groupingDAO.getGroupingByUIID(groupingUIID); + if ( grouping != null ) { + setGrouping(activity, grouping, groupingUIID); + } else { + log.warn("Unable to find matching grouping for groupingUIID"+groupingUIID+". Activity UUID"+activityUUID+" will not be grouped."); + clearGrouping(activity); + } } else { - activity.setGrouping(null); - activity.setGroupingUIID(null); + clearGrouping(activity); } + } else { + clearGrouping(activity); } if (keyExists(activityDetails, WDDXTAGS.ORDER_ID)) @@ -590,13 +594,24 @@ if (keyExists(activityDetails, WDDXTAGS.LIBRARY_IMAGE)) activity.setLibraryActivityUiImage(WDDXProcessor.convertToString(activityDetails,WDDXTAGS.LIBRARY_IMAGE)); - if (keyExists(activityDetails, WDDXTAGS.APPLY_GROUPING)) - activity.setApplyGrouping(WDDXProcessor.convertToBoolean(activityDetails,WDDXTAGS.APPLY_GROUPING)); if (keyExists(activityDetails, WDDXTAGS.GROUPING_SUPPORT_TYPE)) activity.setGroupingSupportType(WDDXProcessor.convertToInteger(activityDetails,WDDXTAGS.GROUPING_SUPPORT_TYPE)); return activity; - } + } + + private void clearGrouping(Activity activity) { + activity.setGrouping(null); + activity.setGroupingUIID(null); + activity.setApplyGrouping(false); + } + + private void setGrouping(Activity activity, Grouping grouping, Integer groupingUIID) { + activity.setGrouping(grouping); + activity.setGroupingUIID(groupingUIID); + activity.setApplyGrouping(true); + } + private void processActivityType(Activity activity, Hashtable activityDetails) throws WDDXProcessorConversionException, ObjectExtractorException { if(activity.isGroupingActivity()) 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.25 -r1.26 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 10 Apr 2006 11:05:19 -0000 1.25 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 19 May 2006 03:22:48 -0000 1.26 @@ -271,11 +271,10 @@ * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getLearningDesignDetails(java.lang.Long) */ public String getLearningDesignDetails(Long learningDesignID)throws IOException{ - LearningDesign design = learningDesignDAO.getLearningDesignById(learningDesignID); - if(design==null) + LearningDesignDTO learningDesignDTO = learningDesignService.getLearningDesignDTO(learningDesignID); + if(learningDesignDTO==null) flashMessage = FlashMessage.getNoSuchLearningDesignExists("getLearningDesignDetails",learningDesignID); else{ - LearningDesignDTO learningDesignDTO = design.getLearningDesignDTO(); flashMessage = new FlashMessage("getLearningDesignDetails",learningDesignDTO); } return flashMessage.serializeMessage();