You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by di...@apache.org on 2011/04/28 22:19:20 UTC
[Lucene.Net] svn commit: r1097596 - in /incubator/lucene.net/branches/Lucene.Net_2_9_4g:
src/core/Index/ src/core/Search/ src/core/Search/Spans/ src/core/Util/
test/core/Search/ test/core/Util/
Author: digy
Date: Thu Apr 28 20:19:19 2011
New Revision: 1097596
URL: http://svn.apache.org/viewvc?rev=1097596&view=rev
Log:
[LUCENENET-412] PriorityQueue
Modified:
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultipleTermPositions.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMergeQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldDocSortedHitQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldSortedHitQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldValueHitQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FuzzyQuery.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/HitQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/IndexSearcher.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocsCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopFieldCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopScoreDocCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/PriorityQueue.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/JustCompileSearch.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestElevationComparator.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestPositiveScoresOnlyCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSort.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopDocsCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopScoreDocCollector.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs
incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestPriorityQueue.cs
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultipleTermPositions.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultipleTermPositions.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultipleTermPositions.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/MultipleTermPositions.cs Thu Apr 28 20:19:19 2011
@@ -16,8 +16,9 @@
*/
using System;
+using System.Collections.Generic;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Index
{
@@ -29,29 +30,27 @@ namespace Lucene.Net.Index
public class MultipleTermPositions : TermPositions
{
- private sealed class TermPositionsQueue:PriorityQueue
+ private sealed class TermPositionsQueue:PriorityQueue<TermPositions>
{
- internal TermPositionsQueue(System.Collections.IList termPositions)
+ internal TermPositionsQueue(IList<TermPositions> termPositions)
{
Initialize(termPositions.Count);
-
- System.Collections.IEnumerator i = termPositions.GetEnumerator();
- while (i.MoveNext())
- {
- TermPositions tp = (TermPositions) i.Current;
- if (tp.Next())
- Put(tp);
- }
+
+ foreach (TermPositions tp in termPositions)
+ {
+ if (tp.Next())
+ Put(tp);
+ }
}
internal TermPositions Peek()
{
return (TermPositions) Top();
}
-
- public override bool LessThan(System.Object a, System.Object b)
+
+ public override bool LessThan(TermPositions a, TermPositions b)
{
- return ((TermPositions) a).Doc() < ((TermPositions) b).Doc();
+ return a.Doc() < b.Doc();
}
}
@@ -120,7 +119,7 @@ namespace Lucene.Net.Index
/// </exception>
public MultipleTermPositions(IndexReader indexReader, Term[] terms)
{
- System.Collections.IList termPositions = new System.Collections.ArrayList();
+ IList<TermPositions> termPositions = new List<TermPositions>();
for (int i = 0; i < terms.Length; i++)
termPositions.Add(indexReader.TermPositions(terms[i]));
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMergeQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMergeQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMergeQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentMergeQueue.cs Thu Apr 28 20:19:19 2011
@@ -17,22 +17,20 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Index
{
- sealed class SegmentMergeQueue:PriorityQueue
+ sealed class SegmentMergeQueue:PriorityQueue<SegmentMergeInfo>
{
internal SegmentMergeQueue(int size)
{
Initialize(size);
}
-
- public override bool LessThan(System.Object a, System.Object b)
+
+ public override bool LessThan(SegmentMergeInfo stiA, SegmentMergeInfo stiB)
{
- SegmentMergeInfo stiA = (SegmentMergeInfo) a;
- SegmentMergeInfo stiB = (SegmentMergeInfo) b;
int comparison = stiA.term.CompareTo(stiB.term);
if (comparison == 0)
return stiA.base_Renamed < stiB.base_Renamed;
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldDocSortedHitQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldDocSortedHitQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldDocSortedHitQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldDocSortedHitQueue.cs Thu Apr 28 20:19:19 2011
@@ -17,7 +17,7 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -32,7 +32,7 @@ namespace Lucene.Net.Search
/// </since>
/// <version> $Id: FieldDocSortedHitQueue.java 695514 2008-09-15 15:42:11Z otis $
/// </version>
- class FieldDocSortedHitQueue:PriorityQueue
+ class FieldDocSortedHitQueue:PriorityQueue<ScoreDoc>
{
// this cannot contain AUTO fields - any AUTO fields should
@@ -114,10 +114,11 @@ namespace Lucene.Net.Search
/// </param>
/// <returns> <code>true</code> if document <code>a</code> should be sorted after document <code>b</code>.
/// </returns>
- public override bool LessThan(System.Object a, System.Object b)
+ public override bool LessThan(ScoreDoc docA1, ScoreDoc docB1)
{
- FieldDoc docA = (FieldDoc) a;
- FieldDoc docB = (FieldDoc) b;
+
+ FieldDoc docA = (FieldDoc)docA1;
+ FieldDoc docB = (FieldDoc)docB1;
int n = fields.Length;
int c = 0;
for (int i = 0; i < n && c == 0; ++i)
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldSortedHitQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldSortedHitQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldSortedHitQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldSortedHitQueue.cs Thu Apr 28 20:19:19 2011
@@ -18,7 +18,7 @@
using System;
using IndexReader = Lucene.Net.Index.IndexReader;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -40,7 +40,7 @@ namespace Lucene.Net.Search
/// <deprecated> see {@link FieldValueHitQueue}
/// </deprecated>
[Obsolete("see FieldValueHitQueue")]
- public class FieldSortedHitQueue:PriorityQueue
+ public class FieldSortedHitQueue:PriorityQueue<ScoreDoc>
{
internal class AnonymousClassCache:FieldCacheImpl.Cache
{
@@ -462,17 +462,17 @@ namespace Lucene.Net.Search
// keeps track of the score isn't accidentally bypassed.
// inherit javadoc
[Obsolete("Lucene.Net-2.9.1. This method overrides obsolete member Lucene.Net.Util.PriorityQueue.Insert(object)")]
- public override bool Insert(System.Object fdoc)
- {
- return Insert((FieldDoc) fdoc);
+ public override bool Insert(ScoreDoc fdoc)
+ {
+ return Insert(fdoc);
}
// This overrides PriorityQueue.insertWithOverflow() so that
// updateMaxScore(FieldDoc) that keeps track of the score isn't accidentally
// bypassed.
- public override System.Object InsertWithOverflow(System.Object element)
+ public override ScoreDoc InsertWithOverflow(ScoreDoc element)
{
- UpdateMaxScore((FieldDoc) element);
+ UpdateMaxScore((FieldDoc)element);
return base.InsertWithOverflow(element);
}
@@ -483,11 +483,8 @@ namespace Lucene.Net.Search
/// </param>
/// <returns> <code>true</code> if document <code>a</code> should be sorted after document <code>b</code>.
/// </returns>
- public override bool LessThan(System.Object a, System.Object b)
+ public override bool LessThan(ScoreDoc docA, ScoreDoc docB)
{
- ScoreDoc docA = (ScoreDoc) a;
- ScoreDoc docB = (ScoreDoc) b;
-
// run comparators
int n = comparators.Length;
int c = 0;
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldValueHitQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldValueHitQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldValueHitQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FieldValueHitQueue.cs Thu Apr 28 20:19:19 2011
@@ -17,7 +17,7 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -43,10 +43,10 @@ namespace Lucene.Net.Search
/// </seealso>
/// <seealso cref="FieldCache">
/// </seealso>
- public abstract class FieldValueHitQueue:PriorityQueue
+ public abstract class FieldValueHitQueue:PriorityQueue<FieldValueHitQueue.Entry>
{
- internal sealed class Entry
+ public sealed class Entry
{
internal int slot;
internal int docID;
@@ -100,11 +100,8 @@ namespace Lucene.Net.Search
/// </param>
/// <returns> <code>true</code> if document <code>a</code> should be sorted after document <code>b</code>.
/// </returns>
- public override bool LessThan(System.Object a, System.Object b)
+ public override bool LessThan(Entry hitA, Entry hitB)
{
- Entry hitA = (Entry) a;
- Entry hitB = (Entry) b;
-
System.Diagnostics.Debug.Assert(hitA != hitB);
System.Diagnostics.Debug.Assert(hitA.slot != hitB.slot);
@@ -142,12 +139,9 @@ namespace Lucene.Net.Search
Initialize(size);
}
-
- public override bool LessThan(System.Object a, System.Object b)
- {
- Entry hitA = (Entry) a;
- Entry hitB = (Entry) b;
-
+
+ public override bool LessThan(Entry hitA, Entry hitB)
+ {
System.Diagnostics.Debug.Assert(hitA != hitB);
System.Diagnostics.Debug.Assert(hitA.slot != hitB.slot);
@@ -226,8 +220,8 @@ namespace Lucene.Net.Search
protected internal SortField[] fields;
protected internal FieldComparator[] comparators;
protected internal int[] reverseMul;
-
- public abstract override bool LessThan(System.Object a, System.Object b);
+
+ public abstract override bool LessThan(Entry a, Entry b);
/// <summary> Given a queue Entry, creates a corresponding FieldDoc
/// that contains the values used to sort the given document.
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FuzzyQuery.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FuzzyQuery.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FuzzyQuery.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/FuzzyQuery.cs Thu Apr 28 20:19:19 2011
@@ -19,7 +19,7 @@ using System;
using IndexReader = Lucene.Net.Index.IndexReader;
using Term = Lucene.Net.Index.Term;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
using ToStringUtils = Lucene.Net.Util.ToStringUtils;
namespace Lucene.Net.Search
@@ -219,7 +219,7 @@ namespace Lucene.Net.Search
}
}
- protected internal class ScoreTermQueue:PriorityQueue
+ protected internal class ScoreTermQueue:PriorityQueue<ScoreTerm>
{
public ScoreTermQueue(int size)
@@ -230,10 +230,8 @@ namespace Lucene.Net.Search
/* (non-Javadoc)
* @see Lucene.Net.Util.PriorityQueue#lessThan(java.lang.Object, java.lang.Object)
*/
- public override bool LessThan(System.Object a, System.Object b)
+ public override bool LessThan(ScoreTerm termA, ScoreTerm termB)
{
- ScoreTerm termA = (ScoreTerm) a;
- ScoreTerm termB = (ScoreTerm) b;
if (termA.score == termB.score)
return termA.term.CompareTo(termB.term) > 0;
else
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/HitQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/HitQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/HitQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/HitQueue.cs Thu Apr 28 20:19:19 2011
@@ -17,12 +17,12 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
- public sealed class HitQueue:PriorityQueue
+ public sealed class HitQueue:PriorityQueue<ScoreDoc>
{
private bool prePopulate;
@@ -73,18 +73,16 @@ namespace Lucene.Net.Search
}
// Returns null if prePopulate is false.
- protected internal override System.Object GetSentinelObject()
+ protected internal override ScoreDoc GetSentinelObject()
{
// Always set the doc Id to MAX_VALUE so that it won't be favored by
// lessThan. This generally should not happen since if score is not NEG_INF,
// TopScoreDocCollector will always add the object to the queue.
return !prePopulate?null:new ScoreDoc(System.Int32.MaxValue, System.Single.NegativeInfinity);
}
-
- public override bool LessThan(System.Object a, System.Object b)
+
+ public override bool LessThan(ScoreDoc hitA, ScoreDoc hitB)
{
- ScoreDoc hitA = (ScoreDoc) a;
- ScoreDoc hitB = (ScoreDoc) b;
if (hitA.score == hitB.score)
return hitA.doc > hitB.doc;
else
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/IndexSearcher.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/IndexSearcher.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/IndexSearcher.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/IndexSearcher.cs Thu Apr 28 20:19:19 2011
@@ -195,7 +195,7 @@ namespace Lucene.Net.Search
}
nDocs = Math.Min(nDocs, reader.MaxDoc());
- TopScoreDocCollector collector = TopScoreDocCollector.create(nDocs, !weight.ScoresDocsOutOfOrder());
+ TopScoreDocCollector collector = TopScoreDocCollector.Create(nDocs, !weight.ScoresDocsOutOfOrder());
Search(weight, filter, collector);
return collector.TopDocs();
}
@@ -268,7 +268,7 @@ namespace Lucene.Net.Search
return (TopFieldDocs) collector.TopDocs();
}
- TopFieldCollector collector2 = TopFieldCollector.create(sort, nDocs, fillFields, fieldSortDoTrackScores, fieldSortDoMaxScore, !weight.ScoresDocsOutOfOrder());
+ TopFieldCollector collector2 = TopFieldCollector.Create(sort, nDocs, fillFields, fieldSortDoTrackScores, fieldSortDoMaxScore, !weight.ScoresDocsOutOfOrder());
Search(weight, filter, collector2);
return (TopFieldDocs) collector2.TopDocs();
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/MultiSearcher.cs Thu Apr 28 20:19:19 2011
@@ -330,7 +330,7 @@ namespace Lucene.Net.Search
// merge scoreDocs into hq
ScoreDoc scoreDoc = scoreDocs[j];
scoreDoc.doc += starts[i]; // convert doc
- if (!hq.Insert(scoreDoc))
+ if (!hq.Insert((FieldDoc)scoreDoc))
break; // no more scores > minScore
}
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/ParallelMultiSearcher.cs Thu Apr 28 20:19:19 2011
@@ -19,7 +19,7 @@ using System;
using IndexReader = Lucene.Net.Index.IndexReader;
using Term = Lucene.Net.Index.Term;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -245,7 +245,7 @@ namespace Lucene.Net.Search
private int nDocs;
private TopDocs docs;
private int i;
- private PriorityQueue hq;
+ private PriorityQueue<ScoreDoc> hq;
private int[] starts;
private System.IO.IOException ioe;
private Sort sort;
@@ -256,7 +256,7 @@ namespace Lucene.Net.Search
this.weight = weight;
this.filter = filter;
this.nDocs = nDocs;
- this.hq = hq;
+ this.hq = hq;
this.i = i;
this.starts = starts;
}
@@ -267,7 +267,7 @@ namespace Lucene.Net.Search
this.weight = weight;
this.filter = filter;
this.nDocs = nDocs;
- this.hq = hq;
+ this.hq = hq;
this.i = i;
this.starts = starts;
this.sort = sort;
@@ -303,13 +303,14 @@ namespace Lucene.Net.Search
for (int j2 = 0; j2 < docs.ScoreDocs.Length; j2++)
{
FieldDoc fd = (FieldDoc) docs.ScoreDocs[j2];
- fd.fields[j] = (System.Int32) (((System.Int32) fd.fields[j]) + starts[i]);
+ //DIGY?? No unit test for the line below
+ fd.fields[j] = (System.Int32) (((System.Int32) fd.fields[j]) + starts[i]);
}
break;
}
}
- ((FieldDocSortedHitQueue) hq).SetFields(docsFields.fields);
+ ((FieldDocSortedHitQueue)hq).SetFields(docsFields.fields);
}
ScoreDoc[] scoreDocs = docs.ScoreDocs;
for (int j = 0; j < scoreDocs.Length; j++)
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/PhraseQueue.cs Thu Apr 28 20:19:19 2011
@@ -17,22 +17,20 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
- sealed class PhraseQueue:PriorityQueue
+ sealed class PhraseQueue:PriorityQueue<PhrasePositions>
{
internal PhraseQueue(int size)
{
Initialize(size);
}
-
- public override bool LessThan(System.Object o1, System.Object o2)
+
+ public override bool LessThan(PhrasePositions pp1, PhrasePositions pp2)
{
- PhrasePositions pp1 = (PhrasePositions) o1;
- PhrasePositions pp2 = (PhrasePositions) o2;
if (pp1.doc == pp2.doc)
if (pp1.position == pp2.position)
// same doc and pp.position, so decide by actual term positions.
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/NearSpansUnordered.cs Thu Apr 28 20:19:19 2011
@@ -19,7 +19,7 @@ using System;
using System.Collections.Generic;
using IndexReader = Lucene.Net.Index.IndexReader;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search.Spans
{
@@ -32,8 +32,8 @@ namespace Lucene.Net.Search.Spans
public class NearSpansUnordered:Spans
{
private SpanNearQuery query;
-
- private System.Collections.IList ordered = new System.Collections.ArrayList(); // spans in query order
+
+ private List<SpansCell> ordered = new List<SpansCell>(); // spans in query order
private Spans[] subSpans;
private int slop; // from query
@@ -48,7 +48,7 @@ namespace Lucene.Net.Search.Spans
private bool more = true; // true iff not done
private bool firstTime = true; // true before first next()
- private class CellQueue:PriorityQueue
+ private class CellQueue:PriorityQueue<SpansCell>
{
private void InitBlock(NearSpansUnordered enclosingInstance)
{
@@ -68,11 +68,9 @@ namespace Lucene.Net.Search.Spans
InitBlock(enclosingInstance);
Initialize(size);
}
-
- public override bool LessThan(System.Object o1, System.Object o2)
- {
- SpansCell spans1 = (SpansCell) o1;
- SpansCell spans2 = (SpansCell) o2;
+
+ public override bool LessThan(SpansCell spans1, SpansCell spans2)
+ {
if (spans1.Doc() == spans2.Doc())
{
return NearSpansOrdered.DocSpansOrdered(spans1, spans2);
@@ -365,7 +363,7 @@ namespace Lucene.Net.Search.Spans
{
for (int i = 0; more && i < ordered.Count; i++)
{
- SpansCell cell = (SpansCell) ordered[i];
+ SpansCell cell = ordered[i];
if (next)
more = cell.Next(); // move to first entry
if (more)
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/Spans/SpanOrQuery.cs Thu Apr 28 20:19:19 2011
@@ -19,7 +19,7 @@ using System;
using System.Collections.Generic;
using IndexReader = Lucene.Net.Index.IndexReader;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
using ToStringUtils = Lucene.Net.Util.ToStringUtils;
using Query = Lucene.Net.Search.Query;
@@ -311,7 +311,7 @@ namespace Lucene.Net.Search.Spans
}
- private class SpanQueue:PriorityQueue
+ private class SpanQueue:PriorityQueue<Spans>
{
private void InitBlock(SpanOrQuery enclosingInstance)
{
@@ -331,11 +331,9 @@ namespace Lucene.Net.Search.Spans
InitBlock(enclosingInstance);
Initialize(size);
}
-
- public override bool LessThan(System.Object o1, System.Object o2)
+
+ public override bool LessThan(Spans spans1, Spans spans2)
{
- Spans spans1 = (Spans) o1;
- Spans spans2 = (Spans) o2;
if (spans1.Doc() == spans2.Doc())
{
if (spans1.Start() == spans2.Start())
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocCollector.cs Thu Apr 28 20:19:19 2011
@@ -17,7 +17,7 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -45,7 +45,7 @@ namespace Lucene.Net.Search
protected internal int totalHits;
/// <summary>The priority queue which holds the top-scoring documents. </summary>
- protected internal PriorityQueue hq;
+ protected internal PriorityQueue<ScoreDoc> hq;
/// <summary>Construct to collect a given number of hits.</summary>
/// <param name="numHits">the maximum number of hits to collect
@@ -58,7 +58,7 @@ namespace Lucene.Net.Search
/// constructor. It will be removed in a future release.
/// </deprecated>
[Obsolete("use TopDocCollector(hq) instead. numHits is not used by this constructor. It will be removed in a future release.")]
- internal TopDocCollector(int numHits, PriorityQueue hq)
+ internal TopDocCollector(int numHits, PriorityQueue<ScoreDoc> hq)
{
this.hq = hq;
}
@@ -66,7 +66,7 @@ namespace Lucene.Net.Search
/// <summary>Constructor to collect the top-scoring documents by using the given PQ.</summary>
/// <param name="hq">the PQ to use by this instance.
/// </param>
- protected internal TopDocCollector(PriorityQueue hq)
+ protected internal TopDocCollector(PriorityQueue<ScoreDoc> hq)
{
this.hq = hq;
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocsCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocsCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocsCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopDocsCollector.cs Thu Apr 28 20:19:19 2011
@@ -17,7 +17,7 @@
using System;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -29,7 +29,7 @@ namespace Lucene.Net.Search
/// Extending classes can override {@link #TopDocs(int, int)} and
/// {@link #GetTotalHits()} in order to provide their own implementation.
/// </summary>
- public abstract class TopDocsCollector:Collector
+ public abstract class TopDocsCollector<T>:Collector //where T : ScoreDoc //DIGY
{
// This is used in case topDocs() is called with illegal parameters, or there
@@ -41,12 +41,12 @@ namespace Lucene.Net.Search
/// HitQueue for example aggregates the top scoring documents, while other PQ
/// implementations may hold documents sorted by other criteria.
/// </summary>
- protected internal PriorityQueue pq;
+ protected internal PriorityQueue<T> pq;
/// <summary>The total number of documents that the collector encountered. </summary>
protected internal int totalHits;
- protected internal TopDocsCollector(PriorityQueue pq)
+ protected internal TopDocsCollector(PriorityQueue<T> pq)
{
this.pq = pq;
}
@@ -58,7 +58,7 @@ namespace Lucene.Net.Search
{
for (int i = howMany - 1; i >= 0; i--)
{
- results[i] = (ScoreDoc) pq.Pop();
+ results[i] = pq.Pop() as ScoreDoc;
}
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopFieldCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopFieldCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopFieldCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopFieldCollector.cs Thu Apr 28 20:19:19 2011
@@ -18,7 +18,7 @@
using System;
using IndexReader = Lucene.Net.Index.IndexReader;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
using Entry = Lucene.Net.Search.FieldValueHitQueue.Entry;
namespace Lucene.Net.Search
@@ -33,7 +33,7 @@ namespace Lucene.Net.Search
/// <p/><b>NOTE:</b> This API is experimental and might change in
/// incompatible ways in the next release.<p/>
/// </summary>
- public abstract class TopFieldCollector:TopDocsCollector
+ public abstract class TopFieldCollector:TopDocsCollector<Entry>
{
// TODO: one optimization we could do is to pre-fill
@@ -61,7 +61,7 @@ namespace Lucene.Net.Search
{
// bottom.score is already set to Float.NaN in add().
bottom.docID = docBase + doc;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -174,7 +174,7 @@ namespace Lucene.Net.Search
{
bottom.docID = docBase + doc;
bottom.score = score;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -296,7 +296,7 @@ namespace Lucene.Net.Search
{
bottom.docID = docBase + doc;
bottom.score = score;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -417,7 +417,7 @@ namespace Lucene.Net.Search
{
// bottom.score is already set to Float.NaN in add().
bottom.docID = docBase + doc;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -601,7 +601,7 @@ namespace Lucene.Net.Search
{
bottom.docID = docBase + doc;
bottom.score = score;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -781,7 +781,7 @@ namespace Lucene.Net.Search
{
bottom.docID = docBase + doc;
bottom.score = score;
- bottom = (Entry) pq.UpdateTop();
+ bottom = pq.UpdateTop();
}
public override void Collect(int doc)
@@ -970,7 +970,7 @@ namespace Lucene.Net.Search
// internal versions. If someone will define a constructor with any other
// visibility, then anyone will be able to extend the class, which is not what
// we want.
- private TopFieldCollector(PriorityQueue pq, int numHits, bool fillFields):base(pq)
+ private TopFieldCollector(PriorityQueue<Entry> pq, int numHits, bool fillFields):base(pq)
{
this.numHits = numHits;
this.fillFields = fillFields;
@@ -1012,7 +1012,7 @@ namespace Lucene.Net.Search
/// the sort criteria.
/// </returns>
/// <throws> IOException </throws>
- public static TopFieldCollector create(Sort sort, int numHits, bool fillFields, bool trackDocScores, bool trackMaxScore, bool docsScoredInOrder)
+ public static TopFieldCollector Create(Sort sort, int numHits, bool fillFields, bool trackDocScores, bool trackMaxScore, bool docsScoredInOrder)
{
if (sort.fields.Length == 0)
{
@@ -1089,7 +1089,7 @@ namespace Lucene.Net.Search
internal void Add(int slot, int doc, float score)
{
- bottom = (Entry) pq.Add(new Entry(slot, docBase + doc, score));
+ bottom = pq.Add(new Entry(slot, docBase + doc, score));
queueFull = totalHits == numHits;
}
@@ -1113,7 +1113,7 @@ namespace Lucene.Net.Search
{
for (int i = howMany - 1; i >= 0; i--)
{
- Entry entry = (Entry) pq.Pop();
+ Entry entry = pq.Pop();
results[i] = new FieldDoc(entry.docID, entry.score);
}
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopScoreDocCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopScoreDocCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopScoreDocCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Search/TopScoreDocCollector.cs Thu Apr 28 20:19:19 2011
@@ -34,7 +34,7 @@ namespace Lucene.Net.Search
/// collector will not properly collect hits with such
/// scores.
/// </summary>
- public abstract class TopScoreDocCollector:TopDocsCollector
+ public abstract class TopScoreDocCollector:TopDocsCollector<ScoreDoc>
{
// Assumes docs are scored in order.
@@ -111,7 +111,7 @@ namespace Lucene.Net.Search
/// <code>numHits</code>, and fill the array with sentinel
/// objects.
/// </summary>
- public static TopScoreDocCollector create(int numHits, bool docsScoredInOrder)
+ public static TopScoreDocCollector Create(int numHits, bool docsScoredInOrder)
{
if (docsScoredInOrder)
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/PriorityQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/PriorityQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/PriorityQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Util/PriorityQueue.cs Thu Apr 28 20:19:19 2011
@@ -28,16 +28,16 @@ namespace Lucene.Net.Util
/// length <code>maxSize+1</code>, in {@link #initialize}.
///
/// </summary>
- public abstract class PriorityQueue
+ public abstract class PriorityQueue<T>
{
private int size;
private int maxSize;
- protected internal System.Object[] heap;
+ protected internal T[] heap;
/// <summary>Determines the ordering of objects in this priority queue. Subclasses
/// must define this one method.
/// </summary>
- public abstract bool LessThan(System.Object a, System.Object b);
+ public abstract bool LessThan(T a, T b);
/// <summary> This method can be overridden by extending classes to return a sentinel
/// object which will be used by {@link #Initialize(int)} to fill the queue, so
@@ -78,9 +78,9 @@ namespace Lucene.Net.Util
/// <returns> the sentinel object to use to pre-populate the queue, or null if
/// sentinel objects are not supported.
/// </returns>
- protected internal virtual System.Object GetSentinelObject()
+ protected internal virtual T GetSentinelObject()
{
- return null;
+ return default(T);
}
/// <summary>Subclass constructors must call this. </summary>
@@ -112,12 +112,12 @@ namespace Lucene.Net.Util
heapSize = maxSize + 1;
}
}
- heap = new System.Object[heapSize];
+ heap = new T[heapSize];
this.maxSize = maxSize;
// If sentinel objects are supported, populate the queue with them
- System.Object sentinel = GetSentinelObject();
- if (sentinel != null)
+ T sentinel = GetSentinelObject();
+ if (sentinel != null && !sentinel.Equals(default(T)) )
{
heap[1] = sentinel;
for (int i = 2; i < heap.Length; i++)
@@ -137,7 +137,7 @@ namespace Lucene.Net.Util
/// saving an additional call to {@link #Top()}.
/// </deprecated>
[Obsolete("use Add(Object) which returns the new top object, saving an additional call to Top().")]
- public void Put(System.Object element)
+ public void Put(T element)
{
size++;
heap[size] = element;
@@ -151,7 +151,7 @@ namespace Lucene.Net.Util
/// </summary>
/// <returns> the new 'top' element in the queue.
/// </returns>
- public System.Object Add(System.Object element)
+ public T Add(T element)
{
size++;
heap[size] = element;
@@ -171,9 +171,9 @@ namespace Lucene.Net.Util
/// encourages objects reuse.
/// </deprecated>
[Obsolete("use InsertWithOverflow(Object) instead, which encourages objects reuse.")]
- public virtual bool Insert(System.Object element)
+ public virtual bool Insert(T element)
{
- return InsertWithOverflow(element) != element;
+ return !element.Equals(InsertWithOverflow(element));
}
/// <summary> insertWithOverflow() is the same as insert() except its
@@ -185,16 +185,16 @@ namespace Lucene.Net.Util
/// heap and now has been replaced by a larger one, or null
/// if the queue wasn't yet full with maxSize elements.
/// </summary>
- public virtual System.Object InsertWithOverflow(System.Object element)
+ public virtual T InsertWithOverflow(T element)
{
if (size < maxSize)
{
Put(element);
- return null;
+ return default(T);
}
else if (size > 0 && !LessThan(element, heap[1]))
{
- System.Object ret = heap[1];
+ T ret = heap[1];
heap[1] = element;
AdjustTop();
return ret;
@@ -206,7 +206,7 @@ namespace Lucene.Net.Util
}
/// <summary>Returns the least element of the PriorityQueue in constant time. </summary>
- public System.Object Top()
+ public T Top()
{
// We don't need to check size here: if maxSize is 0,
// then heap is length 2 array with both entries null.
@@ -217,19 +217,19 @@ namespace Lucene.Net.Util
/// <summary>Removes and returns the least element of the PriorityQueue in log(size)
/// time.
/// </summary>
- public System.Object Pop()
+ public T Pop()
{
if (size > 0)
{
- System.Object result = heap[1]; // save first value
+ T result = heap[1]; // save first value
heap[1] = heap[size]; // move last to first
- heap[size] = null; // permit GC of objects
+ heap[size] = default(T); // permit GC of objects
size--;
DownHeap(); // adjust heap
return result;
}
else
- return null;
+ return default(T);
}
/// <summary> Should be called when the Object at top changes values. Still log(n) worst
@@ -277,7 +277,7 @@ namespace Lucene.Net.Util
/// </summary>
/// <returns> the new 'top' element.
/// </returns>
- public System.Object UpdateTop()
+ public T UpdateTop()
{
DownHeap();
return heap[1];
@@ -294,7 +294,7 @@ namespace Lucene.Net.Util
{
for (int i = 0; i <= size; i++)
{
- heap[i] = null;
+ heap[i] = default(T);
}
size = 0;
}
@@ -302,7 +302,7 @@ namespace Lucene.Net.Util
private void UpHeap()
{
int i = size;
- System.Object node = heap[i]; // save bottom node
+ T node = heap[i]; // save bottom node
int j = SupportClass.Number.URShift(i, 1);
while (j > 0 && LessThan(node, heap[j]))
{
@@ -316,7 +316,7 @@ namespace Lucene.Net.Util
private void DownHeap()
{
int i = 1;
- System.Object node = heap[i]; // save top node
+ T node = heap[i]; // save top node
int j = i << 1; // find smaller child
int k = j + 1;
if (k <= size && LessThan(heap[k], heap[j]))
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/JustCompileSearch.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/JustCompileSearch.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/JustCompileSearch.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/JustCompileSearch.cs Thu Apr 28 20:19:19 2011
@@ -25,7 +25,7 @@ using CorruptIndexException = Lucene.Net
using IndexReader = Lucene.Net.Index.IndexReader;
using Term = Lucene.Net.Index.Term;
using TermPositions = Lucene.Net.Index.TermPositions;
-using PriorityQueue = Lucene.Net.Util.PriorityQueue;
+using Lucene.Net.Util;
namespace Lucene.Net.Search
{
@@ -485,10 +485,10 @@ namespace Lucene.Net.Search
}
}
- internal sealed class JustCompileTopDocsCollector:TopDocsCollector
+ internal sealed class JustCompileTopDocsCollector:TopDocsCollector<ScoreDoc>
{
- internal JustCompileTopDocsCollector(PriorityQueue pq):base(pq)
+ internal JustCompileTopDocsCollector(PriorityQueue<ScoreDoc> pq):base(pq)
{
}
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestElevationComparator.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestElevationComparator.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestElevationComparator.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestElevationComparator.cs Thu Apr 28 20:19:19 2011
@@ -74,7 +74,7 @@ namespace Lucene.Net.Search
Sort sort = new Sort(new SortField[]{new SortField("id", new ElevationComparatorSource(priority), false), new SortField(null, SortField.SCORE, reversed)});
- TopDocsCollector topCollector = TopFieldCollector.create(sort, 50, false, true, true, true);
+ TopFieldCollector topCollector = TopFieldCollector.Create(sort, 50, false, true, true, true);
searcher.Search(newq, null, topCollector);
TopDocs topDocs = topCollector.TopDocs(0, 10);
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestPositiveScoresOnlyCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestPositiveScoresOnlyCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestPositiveScoresOnlyCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestPositiveScoresOnlyCollector.cs Thu Apr 28 20:19:19 2011
@@ -109,7 +109,7 @@ namespace Lucene.Net.Search
}
Scorer s = new SimpleScorer();
- TopDocsCollector tdc = TopScoreDocCollector.create(scores.Length, true);
+ TopScoreDocCollector tdc = TopScoreDocCollector.Create(scores.Length, true);
Collector c = new PositiveScoresOnlyCollector(tdc);
c.SetScorer(s);
while (s.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSort.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSort.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSort.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestSort.cs Thu Apr 28 20:19:19 2011
@@ -1002,7 +1002,7 @@ namespace Lucene.Net.Search
for (int i = 0; i < sort.Length; i++)
{
Query q = new MatchAllDocsQuery();
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, false, false, false, true);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, false, false, false, true);
full.Search(q, tdc);
@@ -1023,7 +1023,7 @@ namespace Lucene.Net.Search
for (int i = 0; i < sort.Length; i++)
{
Query q = new MatchAllDocsQuery();
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, true, false, false, true);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, true, false, false, true);
full.Search(q, tdc);
@@ -1046,7 +1046,7 @@ namespace Lucene.Net.Search
for (int i = 0; i < sort.Length; i++)
{
Query q = new MatchAllDocsQuery();
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, true, true, false, true);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, true, true, false, true);
full.Search(q, tdc);
@@ -1069,7 +1069,7 @@ namespace Lucene.Net.Search
for (int i = 0; i < sort.Length; i++)
{
Query q = new MatchAllDocsQuery();
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, true, true, true, true);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, true, true, true, true);
full.Search(q, tdc);
@@ -1110,7 +1110,7 @@ namespace Lucene.Net.Search
{
for (int j = 0; j < tfcOptions.Length; j++)
{
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, tfcOptions[j][0], tfcOptions[j][1], tfcOptions[j][2], false);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, tfcOptions[j][0], tfcOptions[j][1], tfcOptions[j][2], false);
Assert.IsTrue(tdc.GetType().FullName.EndsWith("+" + actualTFCClasses[j]));
@@ -1139,7 +1139,7 @@ namespace Lucene.Net.Search
Sort[] sort = new Sort[]{new Sort(SortField.FIELD_DOC), new Sort()};
for (int i = 0; i < sort.Length; i++)
{
- TopDocsCollector tdc = TopFieldCollector.create(sort[i], 10, true, true, true, true);
+ TopFieldCollector tdc = TopFieldCollector.Create(sort[i], 10, true, true, true, true);
TopDocs td = tdc.TopDocs();
Assert.AreEqual(0, td.TotalHits);
Assert.IsTrue(System.Single.IsNaN(td.GetMaxScore()));
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopDocsCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopDocsCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopDocsCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopDocsCollector.cs Thu Apr 28 20:19:19 2011
@@ -35,7 +35,7 @@ namespace Lucene.Net.Search
public class TestTopDocsCollector:LuceneTestCase
{
- private sealed class MyTopsDocCollector:TopDocsCollector
+ private sealed class MyTopsDocCollector:TopDocsCollector<ScoreDoc>
{
private int idx = 0;
@@ -99,11 +99,11 @@ namespace Lucene.Net.Search
private Directory dir = new RAMDirectory();
- private TopDocsCollector doSearch(int numResults)
+ private TopDocsCollector<ScoreDoc> doSearch(int numResults)
{
Query q = new MatchAllDocsQuery();
IndexSearcher searcher = new IndexSearcher(dir);
- TopDocsCollector tdc = new MyTopsDocCollector(numResults);
+ TopDocsCollector<ScoreDoc> tdc = new MyTopsDocCollector(numResults);
searcher.Search(q, tdc);
searcher.Close();
return tdc;
@@ -137,7 +137,7 @@ namespace Lucene.Net.Search
public virtual void TestInvalidArguments()
{
int numResults = 5;
- TopDocsCollector tdc = doSearch(numResults);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(numResults);
// start < 0
Assert.AreEqual(0, tdc.TopDocs(- 1).ScoreDocs.Length);
@@ -158,21 +158,21 @@ namespace Lucene.Net.Search
[Test]
public virtual void TestZeroResults()
{
- TopDocsCollector tdc = new MyTopsDocCollector(5);
+ TopDocsCollector<ScoreDoc> tdc = new MyTopsDocCollector(5);
Assert.AreEqual(0, tdc.TopDocs(0, 1).ScoreDocs.Length);
}
[Test]
public virtual void TestFirstResultsPage()
{
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
Assert.AreEqual(10, tdc.TopDocs(0, 10).ScoreDocs.Length);
}
[Test]
public virtual void TestSecondResultsPages()
{
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
// ask for more results than are available
Assert.AreEqual(5, tdc.TopDocs(10, 10).ScoreDocs.Length);
@@ -188,14 +188,14 @@ namespace Lucene.Net.Search
[Test]
public virtual void TestGetAllResults()
{
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
Assert.AreEqual(15, tdc.TopDocs().ScoreDocs.Length);
}
[Test]
public virtual void TestGetResultsFromStart()
{
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
// should bring all results
Assert.AreEqual(15, tdc.TopDocs(0).ScoreDocs.Length);
@@ -208,7 +208,7 @@ namespace Lucene.Net.Search
public virtual void TestMaxScore()
{
// ask for all results
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
TopDocs td = tdc.TopDocs();
Assert.AreEqual(MAX_SCORE, td.GetMaxScore(), 0f);
@@ -223,7 +223,7 @@ namespace Lucene.Net.Search
[Test]
public virtual void TestResultsOrder()
{
- TopDocsCollector tdc = doSearch(15);
+ TopDocsCollector<ScoreDoc> tdc = doSearch(15);
ScoreDoc[] sd = tdc.TopDocs().ScoreDocs;
Assert.AreEqual(MAX_SCORE, sd[0].score, 0f);
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopScoreDocCollector.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopScoreDocCollector.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopScoreDocCollector.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Search/TestTopScoreDocCollector.cs Thu Apr 28 20:19:19 2011
@@ -76,7 +76,7 @@ namespace Lucene.Net.Search
IndexSearcher searcher = new IndexSearcher(dir);
for (int i = 0; i < inOrder.Length; i++)
{
- TopDocsCollector tdc = TopScoreDocCollector.create(3, inOrder[i]);
+ TopScoreDocCollector tdc = TopScoreDocCollector.Create(3, inOrder[i]);
Assert.AreEqual("Lucene.Net.Search.TopScoreDocCollector+" + actualTSDCClass[i], tdc.GetType().FullName);
searcher.Search(new MatchAllDocsQuery(), tdc);
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs Thu Apr 28 20:19:19 2011
@@ -324,9 +324,9 @@ namespace Lucene.Net.Util
public virtual void TestBig()
{
// uncomment to run a bigger test (~2 minutes).
- // rand = newRandom();
- // doRandomSets(2000,200000, 1);
- // doRandomSets(2000,200000, 2);
+ //rand = NewRandom();
+ //DoRandomSets(2000,200000, 1);
+ //DoRandomSets(2000,200000, 2);
}
[Test]
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestPriorityQueue.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestPriorityQueue.cs?rev=1097596&r1=1097595&r2=1097596&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestPriorityQueue.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestPriorityQueue.cs Thu Apr 28 20:19:19 2011
@@ -26,16 +26,16 @@ namespace Lucene.Net.Util
public class TestPriorityQueue:LuceneTestCase
{
- private class IntegerQueue:PriorityQueue
+ private class IntegerQueue:PriorityQueue<int>
{
public IntegerQueue(int count):base()
{
Initialize(count);
}
- public override bool LessThan(System.Object a, System.Object b)
+ public override bool LessThan(int a, int b)
{
- return ((System.Int32) a) < ((System.Int32) b);
+ return a < b;
}
}
@@ -47,14 +47,14 @@ namespace Lucene.Net.Util
public static void TestPQ(int count, System.Random gen)
{
- PriorityQueue pq = new IntegerQueue(count);
+ PriorityQueue<int> pq = new IntegerQueue(count);
int sum = 0, sum2 = 0;
for (int i = 0; i < count; i++)
{
int next = gen.Next();
sum += next;
- pq.Put((System.Object) next);
+ pq.Put(next);
}
// Date end = new Date();
@@ -83,10 +83,10 @@ namespace Lucene.Net.Util
[Test]
public virtual void TestClear()
{
- PriorityQueue pq = new IntegerQueue(3);
- pq.Put((System.Object) 2);
- pq.Put((System.Object) 3);
- pq.Put((System.Object) 1);
+ PriorityQueue<int> pq = new IntegerQueue(3);
+ pq.Put(2);
+ pq.Put(3);
+ pq.Put(1);
Assert.AreEqual(3, pq.Size());
pq.Clear();
Assert.AreEqual(0, pq.Size());
@@ -95,22 +95,22 @@ namespace Lucene.Net.Util
[Test]
public virtual void TestFixedSize()
{
- PriorityQueue pq = new IntegerQueue(3);
- pq.Insert((System.Object) 2);
- pq.Insert((System.Object) 3);
- pq.Insert((System.Object) 1);
- pq.Insert((System.Object) 5);
- pq.Insert((System.Object) 7);
- pq.Insert((System.Object) 1);
+ PriorityQueue<int> pq = new IntegerQueue(3);
+ pq.Insert(2);
+ pq.Insert(3);
+ pq.Insert(1);
+ pq.Insert(5);
+ pq.Insert(7);
+ pq.Insert(1);
Assert.AreEqual(3, pq.Size());
- Assert.AreEqual(3, ((System.Int32) pq.Top()));
+ Assert.AreEqual(3, pq.Top());
}
[Test]
public virtual void TestInsertWithOverflow()
{
int size = 4;
- PriorityQueue pq = new IntegerQueue(size);
+ PriorityQueue<int> pq = new IntegerQueue(size);
System.Int32 i1 = 2;
System.Int32 i2 = 3;
System.Int32 i3 = 1;
@@ -118,10 +118,10 @@ namespace Lucene.Net.Util
System.Int32 i5 = 7;
System.Int32 i6 = 1;
- Assert.IsNull(pq.InsertWithOverflow(i1));
- Assert.IsNull(pq.InsertWithOverflow(i2));
- Assert.IsNull(pq.InsertWithOverflow(i3));
- Assert.IsNull(pq.InsertWithOverflow(i4));
+ Assert.AreEqual(default(int),pq.InsertWithOverflow(i1));
+ Assert.AreEqual(default(int), pq.InsertWithOverflow(i2));
+ Assert.AreEqual(default(int), pq.InsertWithOverflow(i3));
+ Assert.AreEqual(default(int), pq.InsertWithOverflow(i4));
Assert.IsTrue((int) pq.InsertWithOverflow(i5) == i3); // i3 should have been dropped
Assert.IsTrue((int) pq.InsertWithOverflow(i6) == i6); // i6 should not have been inserted
Assert.AreEqual(size, pq.Size());