Index: lams_central/conf/xdoclet/servlets.xml =================================================================== RCS file: /usr/local/cvsroot/lams_central/conf/xdoclet/servlets.xml,v diff -u -r1.14.2.6 -r1.14.2.7 --- lams_central/conf/xdoclet/servlets.xml 27 Aug 2007 03:24:27 -0000 1.14.2.6 +++ lams_central/conf/xdoclet/servlets.xml 27 Aug 2007 05:46:08 -0000 1.14.2.7 @@ -65,31 +65,31 @@ ShibLogin ShibLogin Servlet For Shibboleth Users - org.lamsfoundation.lams.web.ShibLoginServlet + org.lamsfoundation.lams.web.shibboleth.ShibLoginServlet ShibLearnerServlet ShibLearner Servlet For Shibboleth Users - org.lamsfoundation.lams.web.ShibLearnerServlet + org.lamsfoundation.lams.web.shibboleth.ShibLearnerServlet ShibMonitorServlet ShibMonitorServlet Servlet For Shibboleth Users - org.lamsfoundation.lams.web.ShibMonitorServlet + org.lamsfoundation.lams.web.shibboleth.ShibMonitorServlet ShibExportPortfolioServlet ShibExportPortfolioServlet Servlet For Shibboleth Users - org.lamsfoundation.lams.web.ShibExportPortfolioServlet + org.lamsfoundation.lams.web.shibboleth.ShibExportPortfolioServlet Fisheye: Tag 1.1.2.3 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/FedRegistryUpdateServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1.2.2 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.2.3 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/GetFedServerIdsServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1.2.2 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? Fisheye: Tag 1.1.2.5 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/ShibExportPortfolioServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1.2.8 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/ShibLearnerServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1.2.14 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/ShibLoginServlet.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1.2.5 refers to a dead (removed) revision in file `lams_central/src/java/org/lamsfoundation/lams/web/ShibMonitorServlet.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/shibboleth/FedRegistryUpdateServlet.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/shibboleth/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/shibboleth/GetFedServerIdsServlet.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/shibboleth/GetFedServerLessonsServlet.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/shibboleth/SaveFedLessonsServlet.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/shibboleth/ShibExportPortfolioServlet.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/shibboleth/ShibLearnerServlet.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/shibboleth/ShibLoginServlet.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/shibboleth/ShibMonitorServlet.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.15 -r1.1.2.16 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 27 Aug 2007 03:24:26 -0000 1.1.2.15 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 27 Aug 2007 05:46:07 -0000 1.1.2.16 @@ -10,7 +10,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; +import java.util.Iterator; import java.util.List; +import java.util.Vector; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -449,4 +451,52 @@ log.debug("getWDDXFedServerIds.message: "+message); return message; } + + public String saveWDDXFedLessons(String packet) throws IOException, FederationException { + FlashMessage flashMessage; + try { + Hashtable table = (Hashtable)WDDXProcessor.deserialize(packet); + // lesson id + Integer lessonId = WDDXProcessor.convertToInteger("lessonId", table.get("lessonId")); + log.debug("FederationLesson has lessonId: "+lessonId); + Lesson lesson = (Lesson)getService().findById(Lesson.class, lessonId); + // list of org ids and the fed ids they come from + Vector fedList = (Vector)table.get("fedList"); + if (fedList != null) { + Iterator i = fedList.iterator(); + while (i.hasNext()) { + Hashtable ht = (Hashtable)i.next(); + if (ht != null) { + Integer fedId = WDDXProcessor.convertToInteger(ht, "fedId"); + FederationServer fedServer = getFedServerByFedId(fedId); + Vector extOrgIdList = (Vector)table.get("extOrgIdList"); + if (extOrgIdList != null) { + Iterator j = extOrgIdList.iterator(); + while (j.hasNext()) { + Integer extOrgId = (Integer)j.next(); + log.debug("Saving FederationLesson with fedId: "+fedId+", extOrgId: "+extOrgId); + FederationLesson fedLesson = new FederationLesson(fedServer, extOrgId, lesson); + getService().save(fedLesson); + } + } + } + } + } + flashMessage = new FlashMessage("saveFedLessons", true); + } catch (WddxDeserializationException e) { + log.error("Couldn't interpret wddx packet: "+packet); + flashMessage = new FlashMessage("saveFedLessons", e.getMessage(), FlashMessage.ERROR); + } catch (Exception e) { + log.error("Couldn't save shared lessons.", e); + flashMessage = new FlashMessage("saveFedLessons", e.getMessage(), FlashMessage.ERROR); + } + + String message = "Failed on creating flash message: "+flashMessage; + try { + message = flashMessage.serializeMessage(); + } catch (IOException e) { + log.error(message); + } + return message; + } } 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.11 -r1.1.2.12 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 22 Aug 2007 00:59:53 -0000 1.1.2.11 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 27 Aug 2007 05:46:07 -0000 1.1.2.12 @@ -131,4 +131,13 @@ * @throws Exception */ public String getWDDXFedServerIds() throws Exception; + + /** + * Saves a FederationLesson from posted Flash packet. + * @param packet + * @return + * @throws IOException + * @throws FederationException + */ + public String saveWDDXFedLessons(String packet) throws IOException, FederationException; }