Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java =================================================================== diff -u -r01801565c08ef5dd2394a888e7fa5043d8a93584 -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java (.../MonitoringConstants.java) (revision 01801565c08ef5dd2394a888e7fa5043d8a93584) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/MonitoringConstants.java (.../MonitoringConstants.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -42,4 +42,5 @@ public static final String KEY_GROUP_NAME = "groupName"; public static final String KEY_GROUP_ORDER_ID = "orderID"; public static final String KEY_GROUP_LEARNERS = "learners"; + public static final Object KEY_USERS = "users"; } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -rea7b29a6f1c1567f276bdd802ccffeb486e2f1e7 -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision ea7b29a6f1c1567f276bdd802ccffeb486e2f1e7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -83,11 +83,13 @@ * * @param lessonId the lesson without lesson class and organization * @param organisation the organization this lesson belongs to. + * @param name of learner group * @param organizationUsers a list of learner will be in this new lessons. + * @param name of staff group * @param staffs a list of staffs who will be in charge of this lesson. * @return the lesson with lesson class and organization */ - public Lesson createLessonClassForLesson(long lessonId,Organisation organisation,List organizationUsers,List staffs); + public Lesson createLessonClassForLesson(long lessonId, Organisation organisation,String leanerGroupName, List organizationUsers,String staffGroupName, List staffs); /** * Start the specified the lesson. It must be created before calling this Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rea7b29a6f1c1567f276bdd802ccffeb486e2f1e7 -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision ea7b29a6f1c1567f276bdd802ccffeb486e2f1e7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -321,8 +321,15 @@ WDDXProcessor.convertToInteger(MonitoringConstants.KEY_ORGANISATION_ID, table.get(MonitoringConstants.KEY_ORGANISATION_ID)); long lessonId = WDDXProcessor.convertToLong(MonitoringConstants.KEY_LESSON_ID, table.get(MonitoringConstants.KEY_LESSON_ID)).longValue(); - List learners = (List) table.get(MonitoringConstants.KEY_LEARNER); - List staffs = (List) table.get(MonitoringConstants.KEY_STAFF); + //get leaner group info + Hashtable learnerMap = (Hashtable) table.get(MonitoringConstants.KEY_LEARNER); + List learners = (List) learnerMap.get(MonitoringConstants.KEY_USERS); + String learnerGroupName = WDDXProcessor.convertToString(learnerMap, MonitoringConstants.KEY_GROUP_NAME); + //get staff group info + Hashtable staffMap = (Hashtable) table.get(MonitoringConstants.KEY_STAFF); + List staffs = (List) staffMap.get(MonitoringConstants.KEY_USERS); + String staffGroupName = WDDXProcessor.convertToString(staffMap, MonitoringConstants.KEY_GROUP_NAME); + if(learners == null) learners = new LinkedList(); if(staffs == null) @@ -361,7 +368,9 @@ //Create Lesson! createLessonClassForLesson(lessonId, organisation, + learnerGroupName, learnerList, + staffGroupName, staffList); flashMessage = new FlashMessage("createLesson",Boolean.TRUE); @@ -385,21 +394,25 @@ * existance of new lesson (without lesson class).
*A lesson class record should be inserted and organization should be * setup after execution of this service.
+ * @param staffGroupName + * @param learnerGroupName * * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#createLessonClassForLesson(long, org.lamsfoundation.lams.usermanagement.Organisation, java.util.List, java.util.List) */ public Lesson createLessonClassForLesson(long lessonId, Organisation organisation, - List organizationUsers, - List staffs) + String learnerGroupName, List organizationUsers, + String staffGroupName, List staffs) { Lesson newLesson = lessonDAO.getLesson(new Long(lessonId)); if ( newLesson == null) { throw new MonitoringServiceException("Lesson for id="+lessonId+" is missing. Unable to create class for lesson."); } LessonClass newLessonClass = this.createLessonClass(organisation, + learnerGroupName, organizationUsers, + staffGroupName, staffs, newLesson); newLessonClass.setLesson(newLesson); @@ -1124,7 +1137,9 @@ * @param newLesson */ private LessonClass createLessonClass(Organisation organisation, + String learnerGroupName, List organizationUsers, + String staffGroupName, List staffs, Lesson newLesson) { @@ -1133,12 +1148,12 @@ lessonClassDAO.saveLessonClass(newLessonClass); //setup staff group - newLessonClass.setStaffGroup(Group.createStaffGroup(newLessonClass, + newLessonClass.setStaffGroup(Group.createStaffGroup(newLessonClass,staffGroupName, new HashSet(staffs))); //setup learner group //TODO:need confirm group name! newLessonClass.getGroups() - .add(Group.createLearnerGroup(newLessonClass, "Learner Group", + .add(Group.createLearnerGroup(newLessonClass, learnerGroupName, new HashSet(organizationUsers))); lessonClassDAO.updateLessonClass(newLessonClass); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java =================================================================== diff -u -r2428d60d75ce02f5e171cafa31853de121ddfe31 -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java (.../DummyMonitoringAction.java) (revision 2428d60d75ce02f5e171cafa31853de121ddfe31) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/DummyMonitoringAction.java (.../DummyMonitoringAction.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -203,7 +203,9 @@ testLesson = monitoringService.createLessonClassForLesson(testLesson.getLessonId().longValue(), organisation, + "Leaner Group", learners, + "Staff Group", staffs); // start the lesson. Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/PerformChosenGroupingServlet.java =================================================================== diff -u -rea7b29a6f1c1567f276bdd802ccffeb486e2f1e7 -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/PerformChosenGroupingServlet.java (.../PerformChosenGroupingServlet.java) (revision ea7b29a6f1c1567f276bdd802ccffeb486e2f1e7) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/PerformChosenGroupingServlet.java (.../PerformChosenGroupingServlet.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -21,8 +21,10 @@ package org.lamsfoundation.lams.monitoring.web; import java.io.IOException; +import java.util.HashMap; import java.util.Hashtable; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -80,7 +82,10 @@ //construct return WDDX message Grouping grouping = activity.getCreateGrouping(); - flashMessage = new FlashMessage("performChosenGrouping",grouping.getGroupingDTO()); + Map map = new HashMap(); + map.put(MonitoringConstants.KEY_GROUPING_ACTIVITY,new Long(activityId)); + map.put("grouping",grouping.getGroupingDTO()); + flashMessage = new FlashMessage("performChosenGrouping",map); } catch (Exception e) { log.error(e); flashMessage = new FlashMessage("performChosenGrouping","Perfrom chosen grouping occurs error:" Index: lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java =================================================================== diff -u -r58daf95f59242b997de7f49a9d81ee9c1c104d5f -r2b516bec2b4c42ad0c7f3ea68db139d31d831205 --- lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 58daf95f59242b997de7f49a9d81ee9c1c104d5f) +++ lams_monitoring/test/java/org/lamsfoundation/lams/monitoring/service/TestMonitoringService.java (.../TestMonitoringService.java) (revision 2b516bec2b4c42ad0c7f3ea68db139d31d831205) @@ -179,7 +179,9 @@ Lesson testLesson = monitoringService.createLessonClassForLesson(TEST_LESSON_ID.longValue(), testOrganisation, + "leaner group", learners, + "staff group", staffs); Lesson createdLesson = lessonDao.getLesson(TEST_LESSON_ID);