Well, just glancing at the code you have no assurance that cj != null. See below.
On Wed, Jan 28, 2009 at 4:58 AM, ninaS <nina...@gmx.de> wrote: > > Hello, > > I am using a custom SortComparator implementation where I need to override > a > method in order to handle Null values: > > @Override > public ScoreDocComparator newComparator (final IndexReader reader, > final > String fieldname) > throws IOException { > final String field = fieldname.intern(); > final Comparable[] cachedValues > = FieldCache.DEFAULT.getCustom (reader, field, > CollatorBasedComparator.this); > > return new ScoreDocComparator() { > > public int compare (ScoreDoc i, ScoreDoc j) { > Comparable ci= cachedValues[i.doc]; > Comparable cj= cachedValues[j.doc]; > > int returnValue =0; > if (ci == null) > returnValue = (cj==null) ? 0 : 1; > else > if (cj == null) returnValue = -1; > // > else *****what guarantee do you have here that cj != null? You test for ci being null, but not for cj. > > returnValue= ci.compareTo(cj); > > return returnValue; > } > > public Comparable sortValue (ScoreDoc i) { > return cachedValues[i.doc]; > } > > public int sortType(){ > return org.apache.lucene.search.SortField.CUSTOM; > } > }; > } > > > Is there anything wrong about the code? Because I get the exception: > > java.lang.NullPointerException > at > > org.apache.lucene.search.FieldDocSortedHitQueue.lessThan(FieldDocSortedHitQueue.java:164) > at > org.apache.lucene.util.PriorityQueue.upHeap(PriorityQueue.java:139) > at org.apache.lucene.util.PriorityQueue.put(PriorityQueue.java:53) > at > > org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:78) > at > org.apache.lucene.util.PriorityQueue.insert(PriorityQueue.java:63) > at > org.apache.lucene.search.MultiSearcher.search(MultiSearcher.java:241) > at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:100) > at org.apache.lucene.search.Hits.hitDoc(Hits.java:206) > at org.apache.lucene.search.Hits.doc(Hits.java:155) > > I am using lucene 2.3.1. > > Please help me. > > Thank you in advance, > > Nina > > -- > View this message in context: > http://www.nabble.com/NullPointerException-in-FieldDocSortedHitQueue.lessThan-with-custom-SortComparator-tp21702845p21702845.html > Sent from the Lucene - Java Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >