Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -r57589d9a2eb658f07e1769b487bd47a4eb147673 -r8e93b3a767193227999bb78467b78114acb079dd --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 57589d9a2eb658f07e1769b487bd47a4eb147673) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 8e93b3a767193227999bb78467b78114acb079dd) @@ -67,9 +67,11 @@ * @param learningDesignId the selected learning design * @param organisationId the copied sequence will be put in the default runtime sequence folder for this org, if such a folder exists. * @param userId the user who want to create this lesson. + * @param customCSV the custom comma separated values to be used by toolAdapters + * @param customCSV the custom comma separated values to be used by toolAdapters * @return the lesson initialized. */ - public Lesson initializeLesson(String lessonName, String lessonDescription,Boolean learnerExportAvailable,long learningDesignId,Integer organisationId,Integer userID); + public Lesson initializeLesson(String lessonName, String lessonDescription,Boolean learnerExportAvailable,long learningDesignId,Integer organisationId,Integer userID, String customCSV); /** * Initialize a new lesson so as to start the learning process for a normal or preview learning session. @@ -88,7 +90,7 @@ * user, but for a preview session rather than a normal learning session. * The design is not assigned to any workspace folder. */ - public Lesson initializeLessonForPreview(String lessonName,String lessonDescription,long learningDesignId,Integer userID); + public Lesson initializeLessonForPreview(String lessonName,String lessonDescription,long learningDesignId,Integer userID, String customCSV); /** * Create a lession according to the input lession WDDX package. The sample package is following: Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r57589d9a2eb658f07e1769b487bd47a4eb147673 -r8e93b3a767193227999bb78467b78114acb079dd --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 57589d9a2eb658f07e1769b487bd47a4eb147673) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 8e93b3a767193227999bb78467b78114acb079dd) @@ -92,6 +92,7 @@ import org.lamsfoundation.lams.util.audit.AuditService; import org.lamsfoundation.lams.util.wddx.FlashMessage; import org.lamsfoundation.lams.util.wddx.WDDXProcessor; +import org.lamsfoundation.lams.util.wddx.WDDXTAGS; import org.lamsfoundation.lams.util.wddx.WDDXProcessorConversionException; import org.lamsfoundation.lams.web.util.AttributeNames; import org.quartz.JobDetail; @@ -325,7 +326,8 @@ Boolean learnerExportAvailable, long learningDesignId, Integer organisationId, - Integer userID) + Integer userID, + String customCSV) { LearningDesign originalLearningDesign = authoringService.getLearningDesign(new Long(learningDesignId)); @@ -356,7 +358,7 @@ User user = (userID != null ? (User)baseDAO.find(User.class,userID) : null); return initializeLesson(lessonName, lessonDescription, learnerExportAvailable, - originalLearningDesign, user, runSeqFolder, LearningDesign.COPY_TYPE_LESSON); + originalLearningDesign, user, runSeqFolder, LearningDesign.COPY_TYPE_LESSON, customCSV); } @@ -368,15 +370,16 @@ public Lesson initializeLessonForPreview(String lessonName, String lessonDescription, long learningDesignId, - Integer userID) + Integer userID, + String customCSV) { LearningDesign originalLearningDesign = authoringService.getLearningDesign(new Long(learningDesignId)); if ( originalLearningDesign == null) { throw new MonitoringServiceException("Learning design for id="+learningDesignId+" is missing. Unable to initialize lesson."); } User user = (userID != null ? (User)baseDAO.find(User.class,userID) : null); - return initializeLesson(lessonName, lessonDescription, Boolean.TRUE, originalLearningDesign, user, null, LearningDesign.COPY_TYPE_PREVIEW); + return initializeLesson(lessonName, lessonDescription, Boolean.TRUE, originalLearningDesign, user, null, LearningDesign.COPY_TYPE_PREVIEW, customCSV); } public Lesson initializeLesson(String lessonName, @@ -385,15 +388,17 @@ LearningDesign originalLearningDesign, User user, WorkspaceFolder workspaceFolder, - int copyType) { + int copyType, + String customCSV) { //copy the current learning design LearningDesign copiedLearningDesign = authoringService.copyLearningDesign(originalLearningDesign, new Integer(copyType), user, workspaceFolder, true, - null); + null, + customCSV); authoringService.saveLearningDesign(copiedLearningDesign); // Make all efforts to make sure it has a title @@ -422,15 +427,16 @@ Integer organisationId = WDDXProcessor.convertToInteger("organisationID", table.get("organisationID")); long ldId = WDDXProcessor.convertToLong(AttributeNames.PARAM_LEARNINGDESIGN_ID, table.get(AttributeNames.PARAM_LEARNINGDESIGN_ID)); boolean learnerExportAvailable = WDDXProcessor.convertToBoolean("learnerExportPortfolio", table.get("learnerExportPortfolio")); + String customCSV = WDDXProcessor.convertToString(WDDXTAGS.CUSTOM_CSV, table.get(WDDXTAGS.CUSTOM_CSV)); // initialize lesson Lesson newLesson = null; if(copyType == LearningDesign.COPY_TYPE_PREVIEW) - newLesson = initializeLessonForPreview(title, desc, ldId, creatorUserId); + newLesson = initializeLessonForPreview(title, desc, ldId, creatorUserId, customCSV); else - newLesson = initializeLesson(title, desc, learnerExportAvailable, ldId, organisationId, creatorUserId); + newLesson = initializeLesson(title, desc, learnerExportAvailable, ldId, organisationId, creatorUserId, customCSV); if(newLesson != null) flashMessage = new FlashMessage("initializeLesson",newLesson.getLessonId()); @@ -1281,7 +1287,7 @@ */ public String getLearningDesignDetails(Long lessonID)throws IOException{ Lesson lesson = lessonDAO.getLesson(lessonID); - return authoringService.getLearningDesignDetails(lesson.getLearningDesign().getLearningDesignId()); + return authoringService.getLearningDesignDetails(lesson.getLearningDesign().getLearningDesignId(), ""); } /** * (non-Javadoc) Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r3bfbf85ce0639b4cd2957e34a978a22da5e7d66f -r8e93b3a767193227999bb78467b78114acb079dd --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 3bfbf85ce0639b4cd2957e34a978a22da5e7d66f) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 8e93b3a767193227999bb78467b78114acb079dd) @@ -175,7 +175,7 @@ Integer organisationId = WebUtil.readIntParam(request,"organisationID",true); long ldId = WebUtil.readLongParam(request, AttributeNames.PARAM_LEARNINGDESIGN_ID); Boolean learnerExportAvailable = WebUtil.readBooleanParam(request, "learnerExportPortfolio", false); - Lesson newLesson = monitoringService.initializeLesson(title,desc,learnerExportAvailable,ldId,organisationId,getUserId()); + Lesson newLesson = monitoringService.initializeLesson(title,desc,learnerExportAvailable,ldId,organisationId,getUserId(), null); flashMessage = new FlashMessage("initializeLesson",newLesson.getLessonId()); } catch (Exception e) {