Yes the change was finally in WildCardTermEnum. My apologies for the
less than concise original mail.......

-----Message d'origine-----
De : Otis Gospodnetic [mailto:[EMAIL PROTECTED]] 
Envoy� : jeudi 19 septembre 2002 08:09
� : Lucene Developers List
Objet : Re: RE : RE : Nullpointer in code


Ah, that explains the large diff.
The diff is for WildCardTermEnum?

Maybe Doug can comment before we start with defensive programming...

Otis


--- Rasik Pandey <[EMAIL PROTECTED]> wrote:
> The only significant change in the diff which I sent was this:
> 
> 95c98
> <       if (field == term.field()) {
> ---
> >       if (term != null && field == term.field()) {
> 104c107
> 
> 
> The other changes were just from my IDE reformatting the code.
> 
> -----Message d'origine-----
> De : Rasik Pandey [mailto:[EMAIL PROTECTED]]
> Envoy� : jeudi 12 septembre 2002 19:06
> � : 'Lucene Developers List'
> Objet : RE : Nullpointer in code
> 
> 
> Otis,
> Here a the test program that will generate the null pointer and the 
> requested diff. Hope they are helpful.
> 
> Thanks,
> Rasik Pandey
> 
> 
> 
> -----Message d'origine-----
> De : Otis Gospodnetic [mailto:[EMAIL PROTECTED]]
> Envoy� : jeudi 12 septembre 2002 18:23
> � : Lucene Developers List
> Cc : [EMAIL PROTECTED]
> Objet : Re: Nullpointer in code
> 
> 
> Rasik,
> 
> Thanks for feedback, but that stuff is a bit hard to read. The best 
> way to help would be to write a class that demonstrates this,
> then fix your code to work, then make a diff between your fixed code
> and
> the code in the CVS, and finally, it would be great to have a unit
> test
> for it, but I can write that later.
> 
> Thanks,
> Otis
> 
> 
> --- Rasik Pandey <[EMAIL PROTECTED]> wrote:
> > Developers,
> > I am encountering a null pointer exception when executing a wild
> card
> > query search on an empty index which doesn't contain any terms  and
> of
> > course not the Term generated from the wild card query (ie the 
> > WildCardTermEnum has an empty "actualEnum"). Please see below for 
> > what i propose to be the fix (simple). I assume that this is 
> > sufficient or would a change in one of the SegmentReader or 
> > TermsInfosReader classes
> > be more appropriate (not likely)?
> > 
> > I do not have access to commit this change, so if you deem that it
> is
> > necessary can you please make the modification.
> > 
> > Cheers,
> > Rasik Pandey
> > 
> > Basically in the constructor of WildCardTermEnum the constructor 
> > calls;
> > 
> >       setEnum(reader.terms(new Term(searchTerm.field(), pre)));
> >             ----or
> >             super.setEnum(an empty termEnum); or
> FilteredTermEnum.setEnum(an
> > empty termEnum);
> > 
> > 
> > Then in FilteredTermnEnum:
> > protected void setEnum(TermEnum actualEnum) throws IOException {
> >         this.actualEnum = actualEnum;
> >         // Find the first term that matches
> >         
> > 
> >     !!!!!!!!the result of actualEnum.term(); is null in my
> case!!!!!!!!!
> >     Term term = actualEnum.term();
> >  
> >
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> >   
> > 
> >             !!!!!!!!!!!!the below line leads to the null
> pointer!!!!!!!!!!
> >             if (termCompare(term)) 
> >             !!!!!!!!!!!!!!!!!!!!see
> below!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> > 
> >             currentTerm = term;
> >         else next();
> >     }
> > 
> > 
> > Then back in WildCardTermEnum:
> > 
> > final protected boolean termCompare(Term term) {
> >       !!!!!!!!!!!the below line should test to ensure that "term"
> is
> > not null!!!!!!
> >     if (field == term.field()) {
> >     !!!!!!!!!!!!!!!!see below line for the simple 
> > fix!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> >       
> >     !!!!!!!!!!!!!!!!!below is the changed line for the simple 
> > fix!!!!!!!!!!!!!!!!!!!!!!!!
> >     if (term != null && field == term.field()) {
> >     
> >
>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> > !!!!!!!!!!!!!
> >           String searchText = term.text();
> >           if (searchText.startsWith(pre)) {
> >             return wildcardEquals(text, 0, searchText, preLen);
> >           }
> >       }
> >       endEnum = true;
> >       return false;
> >   }
> > 
> > 
> > --
> > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: 
> > <mailto:[EMAIL PROTECTED]>
> > 
> 
> 
> __________________________________________________
> Yahoo! - We Remember
> 9-11: A tribute to the more than 3,000 lives lost 
> http://dir.remember.yahoo.com/tribute
> 
> --
> To unsubscribe, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> 
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> 


__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com

--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to