fix NPE GSAresponseWriter on query=null

java.lang.NullPointerException
	at net.yacy.cora.federate.solr.responsewriter.GSAResponseWriter.highlight(GSAResponseWriter.java:328)
	at net.yacy.cora.federate.solr.responsewriter.GSAResponseWriter.write(GSAResponseWriter.java:263)
	at net.yacy.http.servlets.SolrServlet.service(SolrServlet.java:235)
This commit is contained in:
reger 2013-12-31 23:01:41 +01:00
parent c3dee2d6bd
commit 14c977dd26

View File

@ -325,12 +325,15 @@ public class GSAResponseWriter implements QueryResponseWriter {
}
public static String highlight(String text, String query) {
String[] q = CommonPattern.SPACE.split(CommonPattern.PLUS.matcher(query.trim().toLowerCase()).replaceAll(" "));
for (String s: q) {
int p = text.toLowerCase().indexOf(s.toLowerCase());
if (p < 0) continue;
text = text.substring(0, p) + "<b>" + text.substring(p, p + s.length()) + "</b>" + text.substring(p + s.length());
}
return text.replaceAll(Pattern.quote("</b> <b>"), " ");
if (query != null) {
String[] q = CommonPattern.SPACE.split(CommonPattern.PLUS.matcher(query.trim().toLowerCase()).replaceAll(" "));
for (String s: q) {
int p = text.toLowerCase().indexOf(s.toLowerCase());
if (p < 0) continue;
text = text.substring(0, p) + "<b>" + text.substring(p, p + s.length()) + "</b>" + text.substring(p + s.length());
}
return text.replaceAll(Pattern.quote("</b> <b>"), " ");
}
return text;
}
}