Index: lams_common/src/java/org/lamsfoundation/lams/util/wddx/FlashMessage.java =================================================================== diff -u -r79758294f0dfdfd6f805b9232fe3886b1a5b84ae -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 --- lams_common/src/java/org/lamsfoundation/lams/util/wddx/FlashMessage.java (.../FlashMessage.java) (revision 79758294f0dfdfd6f805b9232fe3886b1a5b84ae) +++ lams_common/src/java/org/lamsfoundation/lams/util/wddx/FlashMessage.java (.../FlashMessage.java) (revision 704c8d12284841f9700e87df5ce6e5d9e97a7a28) @@ -134,4 +134,9 @@ "No such LearningDesign with a learning_design_id of " + learningDesignID +" exists", FlashMessage.ERROR); } + public static FlashMessage getNoSuchActivityExists(String methodName, Long activityID){ + return new FlashMessage(methodName, + "No such Activity with an activity_id of " + activityID +" exists", + FlashMessage.ERROR); + } } Index: lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java =================================================================== diff -u -r79758294f0dfdfd6f805b9232fe3886b1a5b84ae -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 --- lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java (.../TestUserManagementService.java) (revision 79758294f0dfdfd6f805b9232fe3886b1a5b84ae) +++ lams_common/test/java/org/lamsfoundation/lams/usermanagement/TestUserManagementService.java (.../TestUserManagementService.java) (revision 704c8d12284841f9700e87df5ce6e5d9e97a7a28) @@ -48,7 +48,7 @@ * @see org.lamsfoundation.lams.AbstractLamsTestCase#getContextConfigLocation() */ protected String[] getContextConfigLocation() { - return new String[] {"applicationContext.xml","org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml"}; + return new String[] {"WEB-INF/spring/applicationContext.xml","WEB-INF/spring/learningDesignApplicationContext.xml"}; } public void testSaveOrganisation(){ Organisation organisation = new Organisation("Test Organisation", @@ -66,8 +66,7 @@ user.setDisabledFlag(new Boolean(false)); user.setCreateDate(new Date()); user.setAuthenticationMethod(authenticationMethodDAO.getAuthenticationMethodById(new Integer(2))); - user.setBaseOrganisation(organisationDAO.getOrganisationById(new Integer(1))); - user.setUserOrganisationID(new Integer(1)); + user.setBaseOrganisation(organisationDAO.getOrganisationById(new Integer(1))); assertNotNull(userManagementService.saveUser(user, new Integer(4))); } @@ -83,5 +82,12 @@ String packet = userManagementService.getUsersFromOrganisationByRole(new Integer(4),"AUTHOR"); System.out.println(packet); } + /* (non-Javadoc) + * @see org.lamsfoundation.lams.AbstractLamsTestCase#getHibernateSessionFactoryName() + */ + protected String getHibernateSessionFactoryName() { + + return "coreSessionFactory"; + } } Index: lams_monitoring/lib/lams/lams.jar =================================================================== diff -u -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 Binary files differ Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 704c8d12284841f9700e87df5ce6e5d9e97a7a28) @@ -182,6 +182,31 @@ */ public String getLearnerActivityURL(Long activityID,Integer userID)throws IOException,LamsToolServiceException; public String getActivityContributionURL(Long activityID)throws IOException; + + /** + * This method moves the learning design corresponding to the given + * Lesson into the specified workspaceFolder. But before this action + * is performed it checks whether the user is authorized to do so. + * If not, Flash is notified of the same. As of now it is assumed that + * only the owner of lesson/learning design can move it + * + * @param lessonID The lesson_id of the Lesson which has to be moved + * @param targetWorkspaceFolderID The workspace_folder_id of the WorkspaceFolder + * to which the lesson has to be moved + * @param userID The user_id of the User who has requested this operation + * @return String The acknowledgement message/error in WDDX format + * @throws IOException + */ public String moveLesson(Long lessonID, Integer targetWorkspaceFolderID,Integer userID)throws IOException; - public void renameLesson(Long lessonID, String newName, Integer userID); + /** + * This method changes the name of an existing Lesson to the + * one specified. + * + * @param lessonID The lesson_id of the Lesson whose name has to be changed + * @param newName The new name of the Lesson + * @param userID The user_id of the User who has requested this operation + * @return String The acknowledgement message/error in WDDX format + * @throws IOException + */ + public String renameLesson(Long lessonID, String newName, Integer userID)throws IOException; } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 704c8d12284841f9700e87df5ce6e5d9e97a7a28) @@ -648,23 +648,26 @@ nextActivity = transitionDAO.getNextActivity(nextActivity.getActivityId()); } return activitySet; - } - /** TODO check if a user is authorized to complete this operation*/ + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#moveLesson(java.lang.Long, java.lang.Integer, java.lang.Integer) + */ public String moveLesson(Long lessonID, Integer targetWorkspaceFolderID,Integer userID)throws IOException{ Lesson lesson = lessonDAO.getLesson(lessonID); if(lesson!=null){ - WorkspaceFolder workspaceFolder = workspaceFolderDAO.getWorkspaceFolderByID(targetWorkspaceFolderID); - if(workspaceFolder!=null){ - LearningDesign learningDesign = lesson.getLearningDesign(); - learningDesign.setWorkspaceFolder(workspaceFolder); - learningDesignDAO.update(learningDesign); - flashMessage = new FlashMessage("moveLesson",targetWorkspaceFolderID); - } - else{ - flashMessage = new FlashMessage("moveLesson", - "No such target workspaceFolder with a workspace_folder_id of :" + targetWorkspaceFolderID + " exists", - FlashMessage.ERROR); - } + if(lesson.getUser().getUserId().equals(userID)){ + WorkspaceFolder workspaceFolder = workspaceFolderDAO.getWorkspaceFolderByID(targetWorkspaceFolderID); + if(workspaceFolder!=null){ + LearningDesign learningDesign = lesson.getLearningDesign(); + learningDesign.setWorkspaceFolder(workspaceFolder); + learningDesignDAO.update(learningDesign); + flashMessage = new FlashMessage("moveLesson",targetWorkspaceFolderID); + } + else + flashMessage = FlashMessage.getNoSuchWorkspaceFolderExsists("moveLesson",targetWorkspaceFolderID); + }else + flashMessage = FlashMessage.getUserNotAuthorized("moveLesson",userID); }else{ flashMessage = new FlashMessage("moveLesson", "No such lesson with a lesson_id of :" + lessonID +" exists.", @@ -678,11 +681,19 @@ * (non-Javadoc) * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#renameLesson(java.lang.Long, java.lang.String, java.lang.Integer) */ - public void renameLesson(Long lessonID, String newName, Integer userID){ + public String renameLesson(Long lessonID, String newName, Integer userID)throws IOException{ Lesson lesson = lessonDAO.getLesson(lessonID); if(lesson!=null){ - lesson.setLessonName(newName); - lessonDAO.updateLesson(lesson); - } + if(lesson.getUser().getUserId().equals(userID)){ + lesson.setLessonName(newName); + lessonDAO.updateLesson(lesson); + flashMessage = new FlashMessage("renameLesson",newName); + }else + flashMessage = FlashMessage.getUserNotAuthorized("renameLesson",userID); + }else + flashMessage = new FlashMessage("renameLesson", + "No such lesson with a lesson_id of :" + lessonID +" exists.", + FlashMessage.ERROR); + return flashMessage.serializeMessage(); } } \ No newline at end of file Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== diff -u -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d -r704c8d12284841f9700e87df5ce6e5d9e97a7a28 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 704c8d12284841f9700e87df5ce6e5d9e97a7a28) @@ -240,6 +240,10 @@ String packet = monitoringService.moveLesson(new Long(1),new Integer(3),new Integer(1)); System.out.println(packet); } + public void testRenameLesson()throws IOException{ + String packet = monitoringService.renameLesson(new Long(1),"New name after renaming",new Integer(1)); + System.out.println(packet); + } }