[ 
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]

Reply via email to