Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/GetFedServerGroupsServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/GetFedServerLessonsServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/service/Attic/FederationService.java,v diff -u -r1.1.2.6 -r1.1.2.7 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 3 Jul 2007 01:16:53 -0000 1.1.2.6 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 4 Jul 2007 06:11:35 -0000 1.1.2.7 @@ -9,6 +9,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.HashMap; +import java.util.Hashtable; import java.util.List; import javax.xml.parsers.DocumentBuilderFactory; @@ -29,11 +30,14 @@ import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.HashUtil; import org.lamsfoundation.lams.util.wddx.FlashMessage; +import org.lamsfoundation.lams.util.wddx.WDDXProcessor; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; +import com.allaire.wddx.WddxDeserializationException; + /** * @author jliew * @@ -90,8 +94,8 @@ service.save(new FederationLesson(fedServer, extOrgId, lesson)); } - public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName) { - service.save(new LessonFederation(fedServer, org, extLessonId, extLessonName)); + public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName, Integer lessonStateId) { + service.save(new LessonFederation(fedServer, org, extLessonId, extLessonName, lessonStateId)); } private FederationServer getFedServerByFedId(Integer fedId) throws FederationException { @@ -165,11 +169,29 @@ return dto; } - public String getWDDXFedServerGroups(Integer fedId) throws IOException, FederationException { - List fedServerGroups = getFedServerGroups(fedId); - FlashMessage flashMessage = new FlashMessage("getFedServerGroups", fedServerGroups); - log.debug("getWDDXFedServerGroups output..."+flashMessage.serializeMessage()); - return flashMessage.serializeMessage(); + public String getWDDXFedServerGroups(String packet) throws Exception { + FlashMessage flashMessage; + try { + Hashtable table = (Hashtable)WDDXProcessor.deserialize(packet); + Integer fedId = WDDXProcessor.convertToInteger("fedId", table.get("fedId")); + + List fedServerGroups = getFedServerGroups(fedId); + flashMessage = new FlashMessage("getFedServerGroups", fedServerGroups); + } catch (WddxDeserializationException e) { + log.error("Couldn't interpret wddx packet: "+packet); + flashMessage = new FlashMessage("getFedServerGroups", e.getMessage(), FlashMessage.ERROR); + } catch (Exception e) { + log.error("Couldn't get groups from federation server.", e); + flashMessage = new FlashMessage("getFedServerGroups", e.getMessage(), FlashMessage.ERROR); + } + + String message = "Failed on creating flash message: "+flashMessage; + try { + message = flashMessage.serializeMessage(); + } catch (IOException e) { + log.error(message); + } + return message; } public List getFedServerGroups(Integer fedId) throws FederationException { @@ -192,10 +214,30 @@ return list; } - public String getWDDXFedServerLessons(Integer fedId, Integer orgId) throws IOException, FederationException { - FlashMessage flashMessage = new FlashMessage("getFedServerLessons", getFedServerLessons(fedId, orgId)); - log.debug("getWDDXFedServerLessons output..."+flashMessage.serializeMessage()); - return flashMessage.serializeMessage(); + public String getWDDXFedServerLessons(String packet) throws IOException, FederationException { + FlashMessage flashMessage; + try { + Hashtable table = (Hashtable)WDDXProcessor.deserialize(packet); + Integer fedId = WDDXProcessor.convertToInteger("fedId", table.get("fedId")); + Integer orgId = WDDXProcessor.convertToInteger("orgId", table.get("orgId")); + + List fedServerLessons = getFedServerLessons(fedId, orgId); + flashMessage = new FlashMessage("getFedServerLessons", fedServerLessons); + } catch (WddxDeserializationException e) { + log.error("Couldn't interpret wddx packet: "+packet); + flashMessage = new FlashMessage("getFedServerLessons", e.getMessage(), FlashMessage.ERROR); + } catch (Exception e) { + log.error("Couldn't get lessons from federation server.", e); + flashMessage = new FlashMessage("getFedServerLessons", e.getMessage(), FlashMessage.ERROR); + } + + String message = "Failed on creating flash message: "+flashMessage; + try { + message = flashMessage.serializeMessage(); + } catch (IOException e) { + log.error(message); + } + return message; } public List getFedServerLessons(Integer fedId, Integer orgId) throws FederationException { Index: lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/service/Attic/IFederationService.java,v diff -u -r1.1.2.5 -r1.1.2.6 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 29 Jun 2007 06:55:30 -0000 1.1.2.5 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 4 Jul 2007 06:11:35 -0000 1.1.2.6 @@ -58,16 +58,17 @@ * @param extLessonId * @param extLessonName */ - public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName); + public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName, Integer lessonStateId); /** * Wrapper method to return WDDX packet string of getFedServerGroups. + * WDDX request contains one field, the fedId of the federation server to get list of groups from. * @param fedId * @return wddx string. * @throws IOException * @throws FederationException */ - public String getWDDXFedServerGroups(Integer fedId) throws IOException, FederationException; + public String getWDDXFedServerGroups(String packet) throws Exception; /** * Used when local teacher is looking for external groups to share their lesson with. @@ -83,7 +84,7 @@ * @throws IOException * @throws FederationException */ - public String getWDDXFedServerLessons(Integer fedId, Integer orgId) throws IOException, FederationException; + public String getWDDXFedServerLessons(String packet) throws IOException, FederationException; /** * Used to get list of lessons on remote server (fedId) available to org on this server (orgId).