Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml,v
diff -u -r1.3 -r1.4
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 7 Dec 2005 06:08:19 -0000 1.3
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml 22 Dec 2005 01:25:33 -0000 1.4
@@ -46,7 +46,6 @@
Tries to copy the design into the user's default runtime sequence folder. If + * this is not available, then it is copied into the existing folder.
* @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#createLesson(long, org.lamsfoundation.lams.usermanagement.User, java.util.List, java.util.List) */ public Lesson initializeLesson(String lessonName, String lessonDescription, long learningDesignId, - User user) + Integer userID) { + LearningDesign originalLearningDesign = authoringService.getLearningDesign(new Long(learningDesignId)); if ( originalLearningDesign == null) { throw new MonitoringServiceException("Learning design for id="+learningDesignId+" is missing. Unable to initialize lesson."); } + // The duplicated sequence should go in the run sequences folder, so we had better + // wourk out what the folder is! + User user = (userID != null ? userManagementService.getUserById(userID) : null); + Workspace workspace = (user != null ? user.getWorkspace() : null); + WorkspaceFolder destinationFolder = ( workspace!=null ? workspace.getDefaultRunSequencesFolder() : null); + if ( destinationFolder == null ) { + log.error("initializeLesson: Copying learning design "+learningDesignId+" for userID "+userID + +". Unable to determine runtime sequence folder - copying into folder of the original design"); + destinationFolder = originalLearningDesign.getWorkspaceFolder(); + } + //copy the current learning design LearningDesign copiedLearningDesign = authoringService.copyLearningDesign(originalLearningDesign, new Integer(LearningDesign.COPY_TYPE_LESSON), user, - originalLearningDesign.getWorkspaceFolder()); + destinationFolder); // copy the tool content // unfortuanately, we have to reaccess the activities to make sure we get the // subclass, not a hibernate proxy. @@ -530,7 +522,7 @@ */ public String getLearnerActivityURL(Long activityID,Integer userID)throws IOException, LamsToolServiceException{ Activity activity = activityDAO.getActivityByActivityId(activityID); - User user = userDAO.getUserById(userID); + User user = userManagementService.getUserById(userID); FlashMessage flashMessage; if(activity==null || user==null){ flashMessage = new FlashMessage("getLearnerActivityURL", Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/Attic/DummyMonitoringAction.java,v diff -u -r1.8 -r1.9 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java 20 Dec 2005 11:20:40 -0000 1.8 +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java 22 Dec 2005 01:25:33 -0000 1.9 @@ -163,6 +163,8 @@ // set up all the data needed DummyForm dummyForm = (DummyForm) form; + // Must have User, rather than UserDTO as the createLessonClassForLesson must have + // a proper user objcet in the staffs list. User user = getUser(); Long ldId = dummyForm.getLearningDesignId(); @@ -182,7 +184,7 @@ if ( desc == null ) desc = "description"; // initialize the lesson - Lesson testLesson = monitoringService.initializeLesson(title,desc,ldId.longValue(),user); + Lesson testLesson = monitoringService.initializeLesson(title,desc,ldId.longValue(),user.getUserId()); // create the lesson class - add all the users in this organisation to the lesson class // add user as staff Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/Attic/TestMonitoringService.java,v diff -u -r1.27 -r1.28 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java 7 Dec 2005 05:11:07 -0000 1.27 +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java 22 Dec 2005 01:25:32 -0000 1.28 @@ -25,7 +25,6 @@ import javax.sql.DataSource; -import org.lamsfoundation.lams.test.AbstractLamsTestCase; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.Grouping; @@ -34,6 +33,7 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; import org.lamsfoundation.lams.lesson.dao.hibernate.LessonDAO; +import org.lamsfoundation.lams.test.AbstractLamsTestCase; import org.lamsfoundation.lams.tool.exception.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; @@ -148,7 +148,7 @@ Lesson testLesson = monitoringService.initializeLesson("Test_Lesson", "Test_Description", TEST_LEARNING_DESIGN_ID, - testUser); + testUser.getUserId()); TEST_LESSON_ID=testLesson.getLessonId(); Lesson createdLesson = lessonDao.getLesson(TEST_LESSON_ID); assertNotNull(createdLesson);