Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/Attic/FederationAction.java,v diff -u -r1.1.2.6 -r1.1.2.7 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java 3 Jul 2007 02:23:24 -0000 1.1.2.6 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java 22 Aug 2007 00:59:52 -0000 1.1.2.7 @@ -95,7 +95,7 @@ } // display data - request.setAttribute("fedUrl", service.getFederationRegistryURL()); + //request.setAttribute("fedUrl", service.getFederationRegistryURL()); request.setAttribute("servers", service.getFederationServers()); request.setAttribute("orgs", service.getCoursesCanJoinSharedLessons()); request.setAttribute("fedLessons", service.getFederationLessons()); Index: lams_admin/web/federation/federation.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/federation/Attic/federation.jsp,v diff -u -r1.1.2.8 -r1.1.2.9 --- lams_admin/web/federation/federation.jsp 21 Aug 2007 00:20:54 -0000 1.1.2.8 +++ lams_admin/web/federation/federation.jsp 22 Aug 2007 00:59:52 -0000 1.1.2.9 @@ -29,7 +29,6 @@ -
" target="_blank">View XML from federation registry
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.13 -r1.1.2.14 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 21 Aug 2007 00:20:54 -0000 1.1.2.13 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 22 Aug 2007 00:59:53 -0000 1.1.2.14 @@ -103,11 +103,21 @@ return (list == null || list.isEmpty()) ? null : (FederationServer)list.get(0); } - public Document getXmlDocumentFromUrl(URL url) throws FederationException { + private Document getXmlDocumentFromUrl(URL url) throws FederationException { + return getXmlDocumentFromUrl(url, ""); + } + + private Document getXmlDocumentFromUrl(URL url, String key) throws FederationException { + HttpURLConnection conn = null; try { - HttpURLConnection conn = (HttpURLConnection)url.openConnection(); + conn = (HttpURLConnection)url.openConnection(); + // pass key as a request header to be read by gomba's XMLServlet; + // using header rather than post body because XMLServlet doesn't accept post method. + if (key != "") { + conn.setRequestProperty("h", key); + } if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) { - throw new FederationException("Response code when contacting "+url.getPath()+" is not OK: "+conn.getResponseCode()); + throw new FederationException("Response code when contacting "+url+" is not OK: "+conn.getResponseCode()); } DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); docBuilderFactory.setValidating(false); @@ -121,6 +131,10 @@ log.error("Encountered SAXException error...", e); } catch (ParserConfigurationException e) { log.error("Encountered ParserConfigurationException error...", e); + } finally { + if (conn != null) { + conn.disconnect(); + } } return null; } @@ -301,9 +315,6 @@ if (url.indexOf("/federation/registry") < 0) { url = url + "/federation/registry"; } - if (url.indexOf("/federation/registry") > 0) { - url = url + "?h=" + HashUtil.sha1(getFederationKey()); - } return url; } @@ -315,7 +326,8 @@ resultsMap.put(RESULTS_DELETED, 0); try { - Document document = getXmlDocumentFromUrl(new URL(url)); + // add federation key + Document document = getXmlDocumentFromUrl(new URL(url), HashUtil.sha1(getFederationKey())); NodeList nodeList = document.getElementsByTagName("row"); ArrayList