Index: lams_monitoring/lib/lams/lams-authoring.jar =================================================================== diff -u -rf3a53b6125f53d00e66e08e457247f8bb5f692ed -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d Binary files differ Index: lams_monitoring/lib/lams/lams-tool-survey.jar =================================================================== diff -u -r6935a6aa9c04d7ef01ed59b9115e23bdbe7b337a -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d Binary files differ Index: lams_monitoring/lib/lams/lams.jar =================================================================== diff -u -r72755c9ff4af91fd1e367e74947116f2d810a3c0 -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d Binary files differ Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -r955340c23e43ecd35929add1f6074d8c2504397a -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 955340c23e43ecd35929add1f6074d8c2504397a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) @@ -20,6 +20,7 @@ */ package org.lamsfoundation.lams.monitoring.service; +import java.io.IOException; import java.util.List; import org.lamsfoundation.lams.lesson.Lesson; @@ -31,6 +32,7 @@ /** * Interface defines all monitoring services needed by presentation tier. * @author Jacky Fang 2/02/2005 + * @author Manpreet Minhas */ public interface IMonitoringService { @@ -90,4 +92,96 @@ * @param gate the id of the gate we need to close. */ public void closeGate(Long gateId); + + /** + * This method returns a string representing a list of all + * available Lessons in the WDDX format + * + * @return String The requested list of Lessons in wddx format + * @throws IOException + */ + public String getAllLessons() throws IOException; + + /** + * This method returns a string representing a list of all + * available Lessons for a given user in the WDDX format + * + * @param userID The user_id of the user for whom the lessons + * are being fetched. + * @return String The requested list of Lessons in wddx format + * @throws IOException + */ + public String getAllLessons(Integer userID)throws IOException; + + /** + * This method returns the details for the given Lesson in + * WDDX format + * + * @param lessonID The lesson_id of the Lesson for which the details have + * to be fetched + * @return String The requested details in wddx format + * @throws IOException + */ + public String getLessonDetails(Long lessonID)throws IOException; + + /** + * Returns a list of learners participating in the given Lesson + * + * @param lessonID The lesson_id of the Lesson + * @return String The requested list in wddx format + * + * @throws IOException + */ + public String getLessonLearners(Long lessonID)throws IOException; + + /** + * This method returns the LearningDesign details for a given Lesson + * + * @param lessonID The lesson_id of the Lesson whose LearningDesign details are required + * @return String The requested details in wddx format + * @throws IOException + */ + public String getLearningDesignDetails(Long lessonID)throws IOException; + + /** + * This method returns the progress information of all learners + * in a given Lesson. + * + * @param lessonID The lesson_id of the Lesson whose progress information is required + * @return String The requested information in wddx format + * @throws IOException + */ + public String getAllLearnersProgress(Long lessonID)throws IOException; + + /** + * This method is called when the user clicks the 'Contribute' tab in the + * monitoring enviornment. It returns a list of activities "in the + * order" they have to be performed and with additional information as to + * what kind of contribution (Define later content, Moderation, Contribution, + * Permission for gate activity, Chosen Grouing etc.) is reuired from the + * user(teacher/staff). + * + * @param lessonID The lesson_id of the Lesson for which the information has + * to be fetched. + * @return String The required information in WDDX format + * @throws IOException + */ + public String getAllContributeActivities(Long lessonID)throws IOException; + + /** + * This method returns the url associated with the activity in the monitoring + * enviornment. This is the URL that opens up when the user/teacher clicks on + * the activity in the monitoring enviornment and then selects a learner OR + * in the LEARNER tab when a learner's activity is clicked. + * + * @param activityID The activity_id of the activity for which the URL is required + * @param userID The user_id of the Learner for whom the URL is being fetched + * @return String The required information in WDDX format + * @throws IOException + * @throws LamsToolServiceException + */ + public String getLearnerActivityURL(Long activityID,Integer userID)throws IOException,LamsToolServiceException; + public String getActivityContributionURL(Long activityID)throws IOException; + public String moveLesson(Long lessonID, Integer targetWorkspaceFolderID,Integer userID)throws IOException; + public void renameLesson(Long lessonID, String newName, Integer userID); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r955340c23e43ecd35929add1f6074d8c2504397a -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 955340c23e43ecd35929add1f6074d8c2504397a) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) @@ -20,28 +20,44 @@ */ package org.lamsfoundation.lams.monitoring.service; +import java.io.IOException; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.Vector; import org.lamsfoundation.lams.authoring.service.IAuthoringService; import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.ScheduleGateActivity; +import org.lamsfoundation.lams.learningdesign.SimpleActivity; import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; +import org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO; +import org.lamsfoundation.lams.learningdesign.dao.ITransitionDAO; +import org.lamsfoundation.lams.learningdesign.dto.ProgressActivityDTO; +import org.lamsfoundation.lams.lesson.LearnerProgress; import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.LessonClass; import org.lamsfoundation.lams.lesson.dao.ILessonClassDAO; import org.lamsfoundation.lams.lesson.dao.ILessonDAO; +import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.ToolSession; import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; import org.lamsfoundation.lams.tool.service.LamsToolServiceException; import org.lamsfoundation.lams.usermanagement.Organisation; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.WorkspaceFolder; +import org.lamsfoundation.lams.usermanagement.dao.IOrganisationDAO; +import org.lamsfoundation.lams.usermanagement.dao.IUserDAO; +import org.lamsfoundation.lams.usermanagement.dao.IWorkspaceFolderDAO; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.wddx.FlashMessage; import org.quartz.JobDetail; import org.quartz.Scheduler; @@ -54,22 +70,77 @@ * selected learning design.
* * @author Jacky Fang 2/02/2005 + * @author Manpreet Minhas */ public class MonitoringService implements IMonitoringService { //--------------------------------------------------------------------- // Instance variables //--------------------------------------------------------------------- - private ILessonDAO lessonDAO; - private ILessonClassDAO lessonClassDAO; - private ILamsCoreToolService lamsCoreToolService; - private IAuthoringService authoringService; + private ILessonDAO lessonDAO; + private ILessonClassDAO lessonClassDAO; + private IOrganisationDAO organisationDAO; + private ITransitionDAO transitionDAO; private IActivityDAO activityDAO; + private IUserDAO userDAO; + private IWorkspaceFolderDAO workspaceFolderDAO; + private ILearningDesignDAO learningDesignDAO; + + private IAuthoringService authoringService; + private ILamsCoreToolService lamsCoreToolService; + private IUserManagementService userManagementService; + private JobDetail openScheduleGateJob; private JobDetail closeScheduleGateJob; private Scheduler scheduler; - //--------------------------------------------------------------------- + + private FlashMessage flashMessage; + /** + * @param userManagementService The userManagementService to set. + */ + public void setUserManagementService( + IUserManagementService userManagementService) { + this.userManagementService = userManagementService; + } + /** + * @param learningDesignDAO The learningDesignDAO to set. + */ + public void setLearningDesignDAO(ILearningDesignDAO learningDesignDAO) { + this.learningDesignDAO = learningDesignDAO; + } + /** + * @param workspaceFolderDAO The workspaceFolderDAO to set. + */ + public void setWorkspaceFolderDAO(IWorkspaceFolderDAO workspaceFolderDAO) { + this.workspaceFolderDAO = workspaceFolderDAO; + } + /** + * @param activityDAO The activityDAO to set. + */ + public void setActivityDAO(IActivityDAO activityDAO) { + this.activityDAO = activityDAO; + } + /** + * @param transitionDAO The transitionDAO to set. + */ + public void setTransitionDAO(ITransitionDAO transitionDAO) { + this.transitionDAO = transitionDAO; + } + /** + * @param lamsCoreToolService The lamsCoreToolService to set. + */ + public void setLamsCoreToolService(ILamsCoreToolService lamsCoreToolService) { + this.lamsCoreToolService = lamsCoreToolService; + } + /** + * @param userDAO The userDAO to set. + */ + public void setUserDAO(IUserDAO userDAO) { + this.userDAO = userDAO; + } + + //--------------------------------------------------------------------- // Inversion of Control Methods - Method injection //--------------------------------------------------------------------- /** @@ -95,24 +166,10 @@ { this.lessonDAO = lessonDAO; } - - /** - * @param lamsToolService The lamsToolService to set. - */ - public void setLamsCoreToolService(ILamsCoreToolService lamsToolService) - { - this.lamsCoreToolService = lamsToolService; - } - - /** - * @param activityDAO The activityDAO to set. - */ - public void setActivityDAO(IActivityDAO activityDAO) - { - this.activityDAO = activityDAO; - } - - /** + public void setOrganisationDAO(IOrganisationDAO organisationDAO) { + this.organisationDAO = organisationDAO; + } + /** * @param openScheduleGateJob The openScheduleGateJob to set. */ public void setOpenScheduleGateJob(JobDetail openScheduleGateJob) @@ -299,7 +356,6 @@ return newLessonClass; } - /** * Setup a new lesson object without class and insert it into the database. * @@ -319,7 +375,7 @@ lessonDAO.saveLesson(newLesson); return newLesson; } - + /** * Setup the empty lesson class according to the run-time learning design * copy. @@ -386,4 +442,247 @@ return activity.isToolActivity() && !((ToolActivity) activity).getApplyGrouping().booleanValue(); } + + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getAllLessons() + */ + public String getAllLessons() throws IOException{ + List lessons = lessonDAO.getAllLessons(); + return requestLessonList(lessons); + } + /** + * This method returns the list of lessons in WDDX format + * + * @param lessons The list of lessons to be converted into WDDX format + * @return String The required information in WDDX format + * @throws IOException + */ + private String requestLessonList(List lessons)throws IOException{ + Vector lessonObjects = new Vector(); + Iterator lessonIterator = lessons.iterator(); + while(lessonIterator.hasNext()){ + Lesson lesson = (Lesson)lessonIterator.next(); + lessonObjects.add(lesson.getLessonData()); + } + FlashMessage flashMessage = new FlashMessage("getAllLessons",lessonObjects); + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getAllLessons(java.lang.Integer) + */ + public String getAllLessons(Integer userID)throws IOException{ + List lessons = lessonDAO.getLessonsForUser(userID); + return requestLessonList(lessons); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getLessonDetails(java.lang.Long) + */ + public String getLessonDetails(Long lessonID)throws IOException{ + Lesson lesson = lessonDAO.getLesson(lessonID); + if(lesson!=null){ + flashMessage = new FlashMessage("getLessonDetails",lesson.getLessonDetails()); + }else + flashMessage = new FlashMessage("getLessonDetails", + "No such Lesson with a lessonID of :" + lessonID + " exists.", + FlashMessage.ERROR); + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getLessonLearners(java.lang.Long) + */ + public String getLessonLearners(Long lessonID)throws IOException{ + Vector lessonLearners = new Vector(); + Lesson lesson = lessonDAO.getLesson(lessonID); + if(lesson!=null){ + Iterator iterator = lesson.getLessonClass().getLearners().iterator(); + while(iterator.hasNext()){ + User user = (User)iterator.next(); + lessonLearners.add(user.getUserDTO()); + } + flashMessage = new FlashMessage("getLessonLearners",lessonLearners); + }else + flashMessage = new FlashMessage("getLessonLearners", + "No such lesson with a lesson_id of :"+ lessonID + " exists", + FlashMessage.ERROR); + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getLearningDesignDetails(java.lang.Long) + */ + public String getLearningDesignDetails(Long lessonID)throws IOException{ + Lesson lesson = lessonDAO.getLesson(lessonID); + return authoringService.getLearningDesignDetails(lesson.getLearningDesign().getLearningDesignId()); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getAllLearnersProgress(java.lang.Long) + */ + public String getAllLearnersProgress(Long lessonID)throws IOException { + Vector progressData = new Vector(); + Lesson lesson = lessonDAO.getLesson(lessonID); + if(lesson!=null){ + Iterator iterator = lesson.getLearnerProgresses().iterator(); + while(iterator.hasNext()){ + LearnerProgress learnerProgress = (LearnerProgress)iterator.next(); + progressData.add(learnerProgress.getLearnerProgressData()); + } + flashMessage = new FlashMessage("getAllLearnersProgress",progressData); + }else{ + flashMessage = new FlashMessage("getAllLearnersProgress", + "No such lesson with a lesson_id of :"+ lessonID + " exists", + FlashMessage.ERROR); + } + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getAllContributeActivities(java.lang.Long) + */ + public String getAllContributeActivities(Long lessonID)throws IOException{ + Lesson lesson = lessonDAO.getLesson(lessonID); + if(lesson!=null){ + Vector sortedSet = getOrderedActivityTree(lesson.getLearningDesign()); + flashMessage = new FlashMessage("getAllContributeActivities",sortedSet); + }else{ + flashMessage = new FlashMessage("getAllContributeActivities", + "No such lesson with a lesson_id of " + lessonID + "exists", + FlashMessage.ERROR); + } + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getLearnerActivityURL(java.lang.Long, java.lang.Integer) + */ + public String getLearnerActivityURL(Long activityID,Integer userID)throws IOException, LamsToolServiceException{ + Activity activity = activityDAO.getActivityByActivityId(activityID); + User user = userDAO.getUserById(userID); + if(activity==null || user==null){ + flashMessage = new FlashMessage("getLearnerActivityURL", + "Invalid activityID/User :" + activityID + " : " + userID, + FlashMessage.ERROR); + }else{ + if(activity.isToolActivity()){ + ToolActivity toolActivity = (ToolActivity)activity; + String toolURL = lamsCoreToolService.getLearnerToolURLByMode(toolActivity,user,ToolAccessMode.TEACHER); + flashMessage = new FlashMessage("getLearnerActivityURL",new ProgressActivityDTO(activityID,toolURL)); + }else{ + flashMessage = new FlashMessage("getLearnerActivityURL", + "Invalid Activity type: " + activity.getActivityId()+ "\n Only ToolActivity allowed.", + FlashMessage.ERROR); + } + } + + return flashMessage.serializeMessage(); + } + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#getActivityContributionURL(java.lang.Long) + */ + public String getActivityContributionURL(Long activityID)throws IOException{ + Activity activity = activityDAO.getActivityByActivityId(activityID); + if(activity!=null){ + if(activity.isToolActivity()){ + ToolActivity toolActivity = (ToolActivity)activity; + String contributionURL = toolActivity.getTool().getContributeUrl(); + flashMessage = new FlashMessage("getActivityContributionURL",contributionURL); + } + }else + flashMessage = FlashMessage.getNoSuchActivityExists("getActivityContributionURL",activityID); + + return flashMessage.serializeMessage(); + } + /** + * This method assigns an orderID to all the activties in the LearningDesign + * based on the transitions. Once this is done it just packages it in a container + * to be serialized and sent to flash + * + * @param learningDesign The learningdesign whose activities have to be ordered + * @return Vector The activities with orderID assigned. + */ + private Vector getOrderedActivityTree(LearningDesign learningDesign){ + int order = 0; + HashMap activityTree = learningDesign.getActivityTree(); + Vector activitySet = new Vector(); + + Activity firstActivity = learningDesign.getFirstActivity(); + firstActivity.setOrderId(new Integer(order)); + order++; + + if(firstActivity.isComplexActivity()){ + ComplexActivity complexActivity = (ComplexActivity)firstActivity; + Iterator childIterator = complexActivity.getActivities().iterator(); + while(childIterator.hasNext()){ + SimpleActivity simpleActivity= (SimpleActivity)childIterator.next(); + activitySet.addAll(simpleActivity.getMonitoringActivityDTO(simpleActivity.getContributionType())); + } + }else{ + SimpleActivity simpleActivity = (SimpleActivity)firstActivity; + if(simpleActivity.getContributionType().length!=0) + activitySet.addAll(simpleActivity.getMonitoringActivityDTO(simpleActivity.getContributionType())); + } + + + Activity nextActivity = transitionDAO.getNextActivity(firstActivity.getActivityId()); + while(nextActivity!=null){ + nextActivity.setOrderId(new Integer(order)); + order++; + Set childActiivities = (Set) activityTree.get(nextActivity.getActivityId()); + if(childActiivities.size()!=0){ + Iterator iterator = childActiivities.iterator(); + while(iterator.hasNext()){ + SimpleActivity simpleActivity= (SimpleActivity)iterator.next(); + activitySet.addAll(simpleActivity.getMonitoringActivityDTO(simpleActivity.getContributionType())); + } + }else{ + SimpleActivity simpleActivity = (SimpleActivity)nextActivity; + if(simpleActivity.getContributionType().length!=0) + activitySet.addAll(simpleActivity.getMonitoringActivityDTO(simpleActivity.getContributionType())); + } + + nextActivity = transitionDAO.getNextActivity(nextActivity.getActivityId()); + } + return activitySet; + } + /** TODO check if a user is authorized to complete this operation*/ + 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); + } + }else{ + flashMessage = new FlashMessage("moveLesson", + "No such lesson with a lesson_id of :" + lessonID +" exists.", + FlashMessage.ERROR); + + } + return flashMessage.serializeMessage(); + + } + /** + * (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){ + Lesson lesson = lessonDAO.getLesson(lessonID); + if(lesson!=null){ + lesson.setLessonName(newName); + lessonDAO.updateLesson(lesson); + } + } } \ No newline at end of file Index: lams_monitoring/test/java/org/lamsfoundation/lams/authoring/service/MockAuthoringService.java =================================================================== diff -u -r164d09c521fb680d3380608d768c08643db0f22d -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d --- lams_monitoring/test/java/org/lamsfoundation/lams/authoring/service/MockAuthoringService.java (.../MockAuthoringService.java) (revision 164d09c521fb680d3380608d768c08643db0f22d) +++ lams_monitoring/test/java/org/lamsfoundation/lams/authoring/service/MockAuthoringService.java (.../MockAuthoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) @@ -14,8 +14,11 @@ import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.dao.hibernate.LearningDesignDAO; +import org.lamsfoundation.lams.learningdesign.exception.LearningDesignException; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.WorkspaceFolder; +import org.lamsfoundation.lams.usermanagement.exception.UserException; +import org.lamsfoundation.lams.workspace.exception.WorkspaceFolderException; /** @@ -154,4 +157,60 @@ return null; } + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#copyLearningDesign(org.lamsfoundation.lams.learningdesign.LearningDesign, java.lang.Integer, org.lamsfoundation.lams.usermanagement.User) + */ + public LearningDesign copyLearningDesign(LearningDesign originalLearningDesign, Integer copyType, User user) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#copyLearningDesign(java.lang.Long, java.lang.Integer, java.lang.Integer, java.lang.Integer) + */ + public String copyLearningDesign(Long originalLearningDesignID, Integer copyType, Integer userID, Integer workspaceFolder) throws UserException, LearningDesignException, WorkspaceFolderException, IOException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getLearningDesignDetails(java.lang.Long) + */ + public String getLearningDesignDetails(Long learningDesignID) throws IOException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#storeLearningDesignDetails(java.lang.String) + */ + public String storeLearningDesignDetails(String wddxPacket) throws Exception { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getAllLearningDesignDetails() + */ + public String getAllLearningDesignDetails() throws IOException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getLearningDesignsForUser(java.lang.Long) + */ + public String getLearningDesignsForUser(Long userID) throws IOException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.lamsfoundation.lams.authoring.service.IAuthoringService#getAllLearningLibraryDetails() + */ + public String getAllLearningLibraryDetails() throws IOException { + // TODO Auto-generated method stub + return null; + } + } Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== diff -u -r455d2b55eaef30c9e68a0fb6bdef036320ec54bd -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 455d2b55eaef30c9e68a0fb6bdef036320ec54bd) +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) @@ -20,6 +20,7 @@ */ package org.lamsfoundation.lams.monitoring.service; +import java.io.IOException; import java.util.LinkedList; import org.lamsfoundation.lams.AbstractLamsTestCase; @@ -40,7 +41,7 @@ /** * * @author Jacky Fang 9/02/2005 - * + * @author Manpreet Minhas */ public class TestMonitoringService extends AbstractLamsTestCase { @@ -107,14 +108,14 @@ */ protected String[] getContextConfigLocation() { - return new String[] { "/org/lamsfoundation/lams/tool/toolApplicationContext.xml", - "/org/lamsfoundation/lams/monitoring/monitoringApplicationContext.xml", + return new String[] { "WEB-INF/spring/applicationContext.xml", + "/org/lamsfoundation/lams/tool/toolApplicationContext.xml", + "WEB-INF/spring/monitoringApplicationContext.xml", "/org/lamsfoundation/lams/lesson/lessonApplicationContext.xml", "/org/lamsfoundation/lams/learningdesign/learningDesignApplicationContext.xml", - "/WEB-INF/authoringApplicationContext.xml", + "WEB-INF/spring/authoringApplicationContext.xml", "/org/lamsfoundation/lams/tool/survey/dataAccessContext.xml", - "/org/lamsfoundation/lams/tool/survey/surveyApplicationContext.xml", - "applicationContext.xml"}; + "/org/lamsfoundation/lams/tool/survey/surveyApplicationContext.xml"}; } /** * @see org.lamsfoundation.lams.AbstractLamsTestCase#getHibernateSessionFactoryName() @@ -123,7 +124,6 @@ { return "coreSessionFactory"; } - public void testInitializeLesson() { @@ -206,5 +206,40 @@ testLearner = usermanageService.getUserById(TEST_LEARNER_ID); testOrganisation = usermanageService.getOrganisationById(TEST_ORGANIZATION_ID); } - + + + public void testGetAllLessons()throws IOException{ + String packet = monitoringService.getAllLessons(); + System.out.print(packet); + } + public void testGetLessonDetails() throws IOException{ + String packet = monitoringService.getLessonDetails(new Long(1)); + System.out.print(packet); + } + public void testGetLessonLearners() throws IOException{ + String packet = monitoringService.getLessonLearners(new Long(1)); + System.out.println(packet); + } + public void testGetLessonDesign()throws IOException{ + String packet = monitoringService.getLearningDesignDetails(new Long(1)); + System.out.println(packet); + } + public void testGetAllLearnersProgress() throws IOException{ + String packet = monitoringService.getAllLearnersProgress(new Long(1)); + System.out.println(packet); + } + public void testGetLearnerActivityURL() throws Exception{ + String packet = monitoringService.getLearnerActivityURL(new Long(26),new Integer(2)); + System.out.println(packet); + } + public void testGellAllContributeActivities()throws IOException{ + String packet = monitoringService.getAllContributeActivities(new Long(1)); + System.out.println(packet); + } + public void testMoveLesson() throws IOException{ + String packet = monitoringService.moveLesson(new Long(1),new Integer(3),new Integer(1)); + System.out.println(packet); + } + + } Index: lams_monitoring/web/WEB-INF/spring/monitoringApplicationContext.xml =================================================================== diff -u -r48ec4bc9b257193ed16c700044bb66c624a4cb98 -rdebc3108af4f3a9b67f1c7dfe6a958f1887d2d9d --- lams_monitoring/web/WEB-INF/spring/monitoringApplicationContext.xml (.../monitoringApplicationContext.xml) (revision 48ec4bc9b257193ed16c700044bb66c624a4cb98) +++ lams_monitoring/web/WEB-INF/spring/monitoringApplicationContext.xml (.../monitoringApplicationContext.xml) (revision debc3108af4f3a9b67f1c7dfe6a958f1887d2d9d) @@ -58,10 +58,42 @@