Mercurial Hosting > nabble
view src/nabble/view/web/help/SearchHelp.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line source
package nabble.view.web.help; import fschmidt.util.java.HtmlUtils; import nabble.model.Lucene; import nabble.view.lib.Jtp; import nabble.view.lib.Shared; import nabble.view.lib.help.Help; import org.apache.lucene.queryParser.ParseException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class SearchHelp extends HttpServlet { static { Help.index(); } protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); String errorMessage = null; String query = request.getParameter("query"); if (query != null) { query = query.trim().replaceAll("\\band\\b","AND").replaceAll("\\bor\\b","OR").replaceAll("\\bnot\\b","NOT"); } if (query == null || "".equals(query)) { response.sendRedirect("Index.jtp"); return; } Help[] help = null; try { help = Lucene.searchHelp(query); } catch(ParseException e) { errorMessage = "This query is invalid.\nFor more information, read [link]http://lucene.apache.org/java/2_4_1/queryparsersyntax.html[/link]"; } out.print( "\n<html>\n <head>\n " ); Shared.title(request,response,"Help"); out.print( "\n </head>\n <body>\n " ); Shared.helpHeader(request,response); out.print( "\n <div class=\"content-description\">\n <h1>Search Results</h1>\n <form action=\"" ); out.print( (response.encodeURL("SearchHelp.jtp")) ); out.print( "\" name=\"searchform\">\n <input name=\"query\" size=\"40\" value=\"" ); out.print( (HtmlUtils.htmlEncode(Jtp.hideNull(query))) ); out.print( "\" />\n <input type=\"submit\" value=\"Search\" />\n <span class=\"small\" style=\"margin-left:2em;\"><a href=\"" ); out.print( (response.encodeURL("Index.jtp")) ); out.print( "\">Return to Help Topics</a> »</span>\n </form>\n <p>\n " ); if (errorMessage != null) { Shared.errorMessage(request, response, errorMessage, "Please check our <a href=\""+Help.search.url()+"\">search tips</a> page."); } else if (help != null && help.length==0) { out.print( "\nNo help topics found for <strong>" ); out.print( (HtmlUtils.htmlEncode(query)) ); out.print( "</strong>\n" ); } else { out.print( "\n<strong>" ); out.print( (help.length) ); out.print( "</strong> help topics found for <strong>" ); out.print( (HtmlUtils.htmlEncode(query)) ); out.print( "</strong>\n</p>\n<ul>\n" ); for (int i=0; i<help.length; i++) { out.print( "\n<li>" ); out.print( (help[i].link(request)) ); out.print( "</li>\n" ); } out.print( "\n</ul>\n" ); } out.print( "\n<p><br />If you still have questions, visit the " ); out.print( (Jtp.supportLink()) ); out.print( " forum.</p>\n</div>\n" ); Shared.footer(request,response); out.print( "\n" ); Shared.analytics(request,response); out.print( "\n</body>\n</html>\n" ); } }