[ http://issues.apache.org/jira/browse/LUCENE-689?page=comments#action_12446089 ] Ryan Ahearn commented on LUCENE-689: ------------------------------------
Otis, I've been working with Mike on this and can explain how field can become null. When rewrite() is called on a SpanRegexQuery that doesn't have any enumerations in the index (as returned by getEnum() in RegexQuery, called from rewrite() in MultiTermQuery) the SpanOrQuery constructor is called with an array of length 0. Thus the for loop in the SpanOrQuery ctor is never entered and field is never initialized. Hope this helps explain the behavior. > NullPointerException thrown by equals method in SpanOrQuery > ----------------------------------------------------------- > > Key: LUCENE-689 > URL: http://issues.apache.org/jira/browse/LUCENE-689 > Project: Lucene - Java > Issue Type: Bug > Components: Search > Affects Versions: 2.1 > Environment: Java 1.5.0_09, RHEL 3 Linux, Tomcat 5.0.28 > Reporter: Michael Goddard > > Part of our code utilizes the equals method in SpanOrQuery and, in certain > cases (details to follow, if necessary), a NullPointerException gets thrown > as a result of the String "field" being null. After applying the following > patch, the problem disappeared: > Index: src/java/org/apache/lucene/search/spans/SpanOrQuery.java > =================================================================== > --- src/java/org/apache/lucene/search/spans/SpanOrQuery.java (revision > 465065) > +++ src/java/org/apache/lucene/search/spans/SpanOrQuery.java (working copy) > @@ -121,7 +121,8 @@ > final SpanOrQuery that = (SpanOrQuery) o; > if (!clauses.equals(that.clauses)) return false; > - if (!field.equals(that.field)) return false; > + if (field != null && !field.equals(that.field)) return false; > + if (field == null && that.field != null) return false; > return getBoost() == that.getBoost(); > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]