Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java
===================================================================
diff -u -r4f284603a74199f14d9eb0d5e1cc04b89755ba31 -r8f41081e2335cb612bb70ce0d2b2923a7c65e914
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 4f284603a74199f14d9eb0d5e1cc04b89755ba31)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 8f41081e2335cb612bb70ce0d2b2923a7c65e914)
@@ -118,6 +118,32 @@
Integer userID, String customCSV, Boolean learnerPresenceAvailable, Boolean learnerImAvailable, Boolean liveEditEnabled);
/**
+ * Create a lession according to the input lession WDDX package. The sample
+ * package is following:
+ *
+ *
+ *
+ *
+ * The lesson will includes creator who create this lesson as staff and
+ * learner.
+ *
+ * @param creatorUserId
+ * The lesson creator, who will be add to lesson as staff and
+ * learner.
+ * @param lessionPackage
+ * @return
+ */
+ public String createLessonClassForLessonWDDX(Integer creatorUserId, String lessionPackage)
+ throws UserAccessDeniedException;
+
+ /**
* Setup the lesson class and organization for a lesson according to the
* input from monitoring GUI interface.
*
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java
===================================================================
diff -u -r4f284603a74199f14d9eb0d5e1cc04b89755ba31 -r8f41081e2335cb612bb70ce0d2b2923a7c65e914
--- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 4f284603a74199f14d9eb0d5e1cc04b89755ba31)
+++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 8f41081e2335cb612bb70ce0d2b2923a7c65e914)
@@ -572,6 +572,102 @@
}
/**
+ * @see org.lamsfoundation.lams.monitoring.service.IMonitoringService#createLessonClassForLessonWDDX(Integer,
+ * String, java.util.Integer)
+ */
+ public String createLessonClassForLessonWDDX(Integer creatorUserId, String lessonPacket)
+ throws UserAccessDeniedException {
+ FlashMessage flashMessage = null;
+
+ try {
+ Hashtable table = (Hashtable) WDDXProcessor.deserialize(lessonPacket);
+
+ // todo: convert:data type:
+ Integer orgId = 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();
+
+ // 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);
+
+ Organisation organisation = (Organisation) baseDAO.find(Organisation.class, orgId);
+ User creator = (User) baseDAO.find(User.class, creatorUserId);
+
+ if (learners == null || learners.size() <= 0) {
+ learners = new LinkedList();
+ Vector
* Pre-condition: This method must be called under the condition of the the
* new lesson exists (without lesson class).
Fisheye: Tag 4f284603a74199f14d9eb0d5e1cc04b89755ba31 refers to a dead (removed) revision in file `lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/CreateLessonServlet.java'.
Fisheye: No comparison available. Pass `N' to diff?