Lucene.Net.Core.Index.DocValuesFieldUpdates: Changed IIterator interface to an abstract class named Iterator (the same as it was in Lucene)
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/c45f5cb7 Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/c45f5cb7 Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/c45f5cb7 Branch: refs/heads/api-work Commit: c45f5cb72af6a4b41ca735582f3f7c6a2b8893e4 Parents: 048f357 Author: Shad Storhaug <[email protected]> Authored: Fri Mar 3 09:34:12 2017 +0700 Committer: Shad Storhaug <[email protected]> Committed: Sun Mar 5 17:08:31 2017 +0700 ---------------------------------------------------------------------- .../Index/BinaryDocValuesFieldUpdates.cs | 12 ++++++------ src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs | 17 +++++++---------- src/Lucene.Net.Core/Index/IndexWriter.cs | 12 ++++++------ .../Index/NumericDocValuesFieldUpdates.cs | 12 ++++++------ 4 files changed, 25 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucenenet/blob/c45f5cb7/src/Lucene.Net.Core/Index/BinaryDocValuesFieldUpdates.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Core/Index/BinaryDocValuesFieldUpdates.cs b/src/Lucene.Net.Core/Index/BinaryDocValuesFieldUpdates.cs index 082b25a..83a3608 100644 --- a/src/Lucene.Net.Core/Index/BinaryDocValuesFieldUpdates.cs +++ b/src/Lucene.Net.Core/Index/BinaryDocValuesFieldUpdates.cs @@ -38,7 +38,7 @@ namespace Lucene.Net.Index /// </summary> internal class BinaryDocValuesFieldUpdates : AbstractDocValuesFieldUpdates { - internal sealed class Iterator : AbstractDocValuesFieldUpdates.IIterator + new internal sealed class Iterator : AbstractDocValuesFieldUpdates.Iterator { private readonly PagedGrowableWriter offsets; private readonly int size; @@ -60,7 +60,7 @@ namespace Lucene.Net.Index value = (BytesRef)values.Clone(); } - public object Value + public override object Value { get { @@ -77,7 +77,7 @@ namespace Lucene.Net.Index } } - public int NextDoc() + public override int NextDoc() { if (idx >= size) { @@ -107,12 +107,12 @@ namespace Lucene.Net.Index return doc; } - public int Doc + public override int Doc { get { return doc; } } - public void Reset() + public override void Reset() { doc = -1; offset = -1; @@ -173,7 +173,7 @@ namespace Lucene.Net.Index ++size; } - public override AbstractDocValuesFieldUpdates.IIterator GetIterator() + public override AbstractDocValuesFieldUpdates.Iterator GetIterator() { PagedMutable docs = this.docs; PagedGrowableWriter offsets = this.offsets; http://git-wip-us.apache.org/repos/asf/lucenenet/blob/c45f5cb7/src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs b/src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs index c0050b9..a2caac0 100644 --- a/src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs +++ b/src/Lucene.Net.Core/Index/DocValuesFieldUpdates.cs @@ -34,33 +34,30 @@ namespace Lucene.Net.Index /// updates are returned by this iterator, and the documents are returned in /// increasing order. /// </summary> - public interface IIterator // LUCENENET TODO: should this be renamed to IEnumerator? + public abstract class Iterator { - // LUCENENET TODO: This was an abstract class in the original source (and internal) - // Should we make this an abstract classs here? And should it be public (and nested in DocValuesFieldUpdates)? - /// <summary> /// Returns the next document which has an update, or /// <seealso cref="DocIdSetIterator#NO_MORE_DOCS"/> if there are no more documents to /// return. /// </summary> - int NextDoc(); + public abstract int NextDoc(); /// <summary> /// Returns the current document this iterator is on. </summary> - int Doc { get; } + public abstract int Doc { get; } /// <summary> /// Returns the value of the document returned from <seealso cref="#nextDoc()"/>. A /// {@code null} value means that it was unset for this document. /// </summary> - object Value { get; } // LUCENENET TODO: Should this interface be made generic? + public abstract object Value { get; } /// <summary> /// Reset the iterator's state. Should be called before <seealso cref="#nextDoc()"/> /// and <seealso cref="#value()"/>. /// </summary> - void Reset(); + public abstract void Reset(); } public class Container @@ -156,10 +153,10 @@ namespace Lucene.Net.Index public abstract void Add(int doc, object value); /// <summary> - /// Returns an <seealso cref="IIterator"/> over the updated documents and their + /// Returns an <seealso cref="Iterator"/> over the updated documents and their /// values. /// </summary> - public abstract IIterator GetIterator(); + public abstract Iterator GetIterator(); /// <summary> /// Merge with another <seealso cref="AbstractDocValuesFieldUpdates"/>. this is called for a http://git-wip-us.apache.org/repos/asf/lucenenet/blob/c45f5cb7/src/Lucene.Net.Core/Index/IndexWriter.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Core/Index/IndexWriter.cs b/src/Lucene.Net.Core/Index/IndexWriter.cs index 3bc5253..85bcfa8 100644 --- a/src/Lucene.Net.Core/Index/IndexWriter.cs +++ b/src/Lucene.Net.Core/Index/IndexWriter.cs @@ -4017,9 +4017,9 @@ namespace Lucene.Net.Index } } - private void SkipDeletedDoc(AbstractDocValuesFieldUpdates.IIterator[] updatesIters, int deletedDoc) + private void SkipDeletedDoc(AbstractDocValuesFieldUpdates.Iterator[] updatesIters, int deletedDoc) { - foreach (AbstractDocValuesFieldUpdates.IIterator iter in updatesIters) + foreach (AbstractDocValuesFieldUpdates.Iterator iter in updatesIters) { if (iter.Doc == deletedDoc) { @@ -4058,12 +4058,12 @@ namespace Lucene.Net.Index } } - private void MaybeApplyMergedDVUpdates(MergePolicy.OneMerge merge, MergeState mergeState, int docUpto, MergedDeletesAndUpdates holder, string[] mergingFields, AbstractDocValuesFieldUpdates[] dvFieldUpdates, AbstractDocValuesFieldUpdates.IIterator[] updatesIters, int curDoc) + private void MaybeApplyMergedDVUpdates(MergePolicy.OneMerge merge, MergeState mergeState, int docUpto, MergedDeletesAndUpdates holder, string[] mergingFields, AbstractDocValuesFieldUpdates[] dvFieldUpdates, AbstractDocValuesFieldUpdates.Iterator[] updatesIters, int curDoc) { int newDoc = -1; for (int idx = 0; idx < mergingFields.Length; idx++) { - AbstractDocValuesFieldUpdates.IIterator updatesIter = updatesIters[idx]; + AbstractDocValuesFieldUpdates.Iterator updatesIter = updatesIters[idx]; if (updatesIter.Doc == curDoc) // document has an update { if (holder.mergedDeletesAndUpdates == null) @@ -4131,7 +4131,7 @@ namespace Lucene.Net.Index IDictionary<string, AbstractDocValuesFieldUpdates> mergingFieldUpdates = rld.MergingFieldUpdates; string[] mergingFields; AbstractDocValuesFieldUpdates[] dvFieldUpdates; - AbstractDocValuesFieldUpdates.IIterator[] updatesIters; + AbstractDocValuesFieldUpdates.Iterator[] updatesIters; if (mergingFieldUpdates.Count == 0) { mergingFields = null; @@ -4142,7 +4142,7 @@ namespace Lucene.Net.Index { mergingFields = new string[mergingFieldUpdates.Count]; dvFieldUpdates = new AbstractDocValuesFieldUpdates[mergingFieldUpdates.Count]; - updatesIters = new AbstractDocValuesFieldUpdates.IIterator[mergingFieldUpdates.Count]; + updatesIters = new AbstractDocValuesFieldUpdates.Iterator[mergingFieldUpdates.Count]; int idx = 0; foreach (KeyValuePair<string, AbstractDocValuesFieldUpdates> e in mergingFieldUpdates) { http://git-wip-us.apache.org/repos/asf/lucenenet/blob/c45f5cb7/src/Lucene.Net.Core/Index/NumericDocValuesFieldUpdates.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Core/Index/NumericDocValuesFieldUpdates.cs b/src/Lucene.Net.Core/Index/NumericDocValuesFieldUpdates.cs index 8d2dcc6..50494de 100644 --- a/src/Lucene.Net.Core/Index/NumericDocValuesFieldUpdates.cs +++ b/src/Lucene.Net.Core/Index/NumericDocValuesFieldUpdates.cs @@ -37,7 +37,7 @@ namespace Lucene.Net.Index /// </summary> internal class NumericDocValuesFieldUpdates : AbstractDocValuesFieldUpdates { - internal sealed class Iterator : AbstractDocValuesFieldUpdates.IIterator + new internal sealed class Iterator : AbstractDocValuesFieldUpdates.Iterator { private readonly int size; private readonly PagedGrowableWriter values; @@ -55,12 +55,12 @@ namespace Lucene.Net.Index this.docs = docs; } - public object Value + public override object Value { get { return value; } } - public int NextDoc() + public override int NextDoc() { if (idx >= size) { @@ -85,12 +85,12 @@ namespace Lucene.Net.Index return doc; } - public int Doc + public override int Doc { get { return doc; } } - public void Reset() + public override void Reset() { doc = -1; value = null; @@ -145,7 +145,7 @@ namespace Lucene.Net.Index ++size; } - public override AbstractDocValuesFieldUpdates.IIterator GetIterator() + public override AbstractDocValuesFieldUpdates.Iterator GetIterator() { PagedMutable docs = this.docs; PagedGrowableWriter values = this.values;
