Index: CHANGES.txt =================================================================== --- CHANGES.txt (revision 960363) +++ CHANGES.txt (working copy) @@ -474,6 +474,9 @@ to wrap any other Analyzer and provide the same functionality as MaxFieldLength provided on IndexWriter. This patch also fixes a bug in the offset calculation in CharTokenizer. (Uwe Schindler, Shai Erera) + +* LUCENE-2526: Don't throw NPE from MultiPhraseQuery.toString when + it's empty. (Ross Woolf via Mike McCandless) Optimizations Index: src/test/org/apache/lucene/search/TestMultiPhraseQuery.java =================================================================== --- src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (revision 960363) +++ src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (working copy) @@ -263,4 +263,9 @@ writer.addDocument(doc); } + // LUCENE-2526 + public void testEmptyToString() { + new MultiPhraseQuery().toString(); + } + } Index: src/java/org/apache/lucene/search/MultiPhraseQuery.java =================================================================== --- src/java/org/apache/lucene/search/MultiPhraseQuery.java (revision 960363) +++ src/java/org/apache/lucene/search/MultiPhraseQuery.java (working copy) @@ -336,7 +336,7 @@ @Override public final String toString(String f) { StringBuilder buffer = new StringBuilder(); - if (!field.equals(f)) { + if (field == null || !field.equals(f)) { buffer.append(field); buffer.append(":"); }