From: <bi...@us...> - 2009-08-20 23:55:39
|
Revision: 2802 http://archive-access.svn.sourceforge.net/archive-access/?rev=2802&view=rev Author: binzino Date: 2009-08-20 23:55:25 +0000 (Thu, 20 Aug 2009) Log Message: ----------- Additional clean-up: remove obsolete elements, ensure output is UTF-8. Modified Paths: -------------- tags/nutchwax-0_12_8/archive/src/java/org/archive/nutchwax/OpenSearchServlet.java Modified: tags/nutchwax-0_12_8/archive/src/java/org/archive/nutchwax/OpenSearchServlet.java =================================================================== --- tags/nutchwax-0_12_8/archive/src/java/org/archive/nutchwax/OpenSearchServlet.java 2009-08-20 21:40:39 UTC (rev 2801) +++ tags/nutchwax-0_12_8/archive/src/java/org/archive/nutchwax/OpenSearchServlet.java 2009-08-20 23:55:25 UTC (rev 2802) @@ -92,9 +92,8 @@ // get parameters from request request.setCharacterEncoding("UTF-8"); String queryString = request.getParameter("query"); - if (queryString == null) - queryString = ""; - String urlQuery = URLEncoder.encode(queryString, "UTF-8"); + if (queryString == null) queryString = ""; + //String urlQuery = URLEncoder.encode(queryString, "UTF-8"); // the query language String queryLang = request.getParameter("lang"); @@ -133,12 +132,6 @@ } } - // Make up query string for use later drawing the 'rss' logo. - String params = "&hitsPerPage=" + hitsPerPage + - (queryLang == null ? "" : "&lang=" + queryLang) + - (sort == null ? "" : "&sort=" + sort + (reverse? "&reverse=true": "") + - (dedupField == null ? "" : "&dedupField=" + dedupField)); - Query query = Query.parse(queryString, queryLang, this.conf); if (NutchBean.LOG.isInfoEnabled()) { NutchBean.LOG.info("query: " + queryString); @@ -183,9 +176,6 @@ HitDetails[] details = bean.getDetails(show); Summary[] summaries = bean.getSummary(details, query); - String requestUrl = request.getRequestURL().toString(); - String base = requestUrl.substring(0, requestUrl.lastIndexOf('/')); - try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); @@ -200,14 +190,8 @@ Element channel = addNode(doc, rss, "channel"); addNode(doc, channel, "title", "Nutch: " + queryString); - addNode(doc, channel, "description", "Nutch search results for query: " - + queryString); - addNode(doc, channel, "link", - base+"/search.jsp" - +"?query="+urlQuery - +"&start="+start - +"&hitsPerDup="+hitsPerDup - +params); + addNode(doc, channel, "description", "Nutch search results for query: " + queryString); + addNode(doc, channel, "link", "" ); addNode(doc, channel, "opensearch", "totalResults", ""+totalResults); addNode(doc, channel, "opensearch", "startIndex", ""+start); @@ -232,30 +216,6 @@ } } - // Hmm, we should indicate whether or not the "totalResults" - // number as being exact some other way; perhaps just have a - // <nutch:totalIsExact>true</nutch:totalIsExact> element. - /* - if ((hits.totalIsExact() && end < hits.getTotal()) // more hits to show - || (!hits.totalIsExact() && (hits.getLength() > start+hitsPerPage))){ - addNode(doc, channel, "nutch", "nextPage", requestUrl - +"?query="+urlQuery - +"&start="+end - +"&hitsPerDup="+hitsPerDup - +params); - } - */ - - // Same here, this seems odd. - /* - if ((!hits.totalIsExact() && (hits.getLength() <= start+hitsPerPage))) { - addNode(doc, channel, "nutch", "showAllHits", requestUrl - +"?query="+urlQuery - +"&hitsPerDup="+0 - +params); - } - */ - for (int i = 0; i < length; i++) { Hit hit = show[i]; HitDetails detail = details[i]; @@ -274,24 +234,8 @@ addNode(doc, item, "description", summaries[i].toString() ); } addNode(doc, item, "link", url); - addNode(doc, item, "nutch", "site", hit.getDedupValue()); - addNode(doc, item, "nutch", "cache", base+"/cached.jsp?"+id); - addNode(doc, item, "nutch", "explain", base+"/explain.jsp?"+id - +"&query="+urlQuery+"&lang="+queryLang); - - // Probably don't need this as the XML processor/front-end can - // easily do this themselves. - if (hit.moreFromDupExcluded()) { - addNode(doc, item, "nutch", "moreFromSite", requestUrl - +"?query=" - +URLEncoder.encode("site:"+hit.getDedupValue() - +" "+queryString, "UTF-8") - +"&hitsPerSite="+0 - +params); - } - for (int j = 0; j < detail.getLength(); j++) { // add all from detail String field = detail.getField(j); if (!SKIP_DETAILS.contains(field)) @@ -304,9 +248,9 @@ DOMSource source = new DOMSource(doc); TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transformer = transFactory.newTransformer(); - transformer.setOutputProperty("indent", "yes"); + transformer.setOutputProperty( javax.xml.transform.OutputKeys.ENCODING, "UTF-8" ); StreamResult result = new StreamResult(response.getOutputStream()); - response.setContentType("application/xml"); + response.setContentType("application/rss+xml"); transformer.transform(source, result); } catch (javax.xml.parsers.ParserConfigurationException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |