Lucene.Net.Core.Index.DirectoryReader refactor: Renamed IsCurrent > IsCurrent() 
(always performs an action before returning the result)


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/85bcff30
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/85bcff30
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/85bcff30

Branch: refs/heads/api-work
Commit: 85bcff30538a516f17dcd4bb31b7a318ef199325
Parents: c57e7bd
Author: Shad Storhaug <[email protected]>
Authored: Tue Mar 21 18:23:56 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Tue Mar 21 18:23:56 2017 +0700

----------------------------------------------------------------------
 src/Lucene.Net.Core/Index/DirectoryReader.cs    |  2 +-
 .../Index/FilterDirectoryReader.cs              |  7 +--
 .../Index/StandardDirectoryReader.cs            | 39 ++++++-------
 src/Lucene.Net.Core/Search/SearcherManager.cs   |  4 +-
 .../Index/TestDirectoryReader.cs                | 12 ++--
 .../Index/TestIndexWriterCommit.cs              |  4 +-
 .../Index/TestIndexWriterNRTIsCurrent.cs        |  2 +-
 .../Index/TestIndexWriterReader.cs              | 60 ++++++++++----------
 src/Lucene.Net.Tests/Index/TestIsCurrent.cs     |  8 +--
 9 files changed, 66 insertions(+), 72 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Core/Index/DirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/DirectoryReader.cs 
b/src/Lucene.Net.Core/Index/DirectoryReader.cs
index 95e32fc..9265635 100644
--- a/src/Lucene.Net.Core/Index/DirectoryReader.cs
+++ b/src/Lucene.Net.Core/Index/DirectoryReader.cs
@@ -466,7 +466,7 @@ namespace Lucene.Net.Index
         /// changes.</p>
         /// </summary>
         /// <exception cref="IOException">           if there is a low-level 
IO error </exception>
-        public abstract bool IsCurrent { get; }
+        public abstract bool IsCurrent();
 
         /// <summary>
         /// Expert: return the IndexCommit that this reader has opened.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Core/Index/FilterDirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/FilterDirectoryReader.cs 
b/src/Lucene.Net.Core/Index/FilterDirectoryReader.cs
index 56547fe..5f75c57 100644
--- a/src/Lucene.Net.Core/Index/FilterDirectoryReader.cs
+++ b/src/Lucene.Net.Core/Index/FilterDirectoryReader.cs
@@ -143,12 +143,9 @@ namespace Lucene.Net.Index
             }
         }
 
-        public override bool IsCurrent
+        public override bool IsCurrent()
         {
-            get
-            {
-                return m_input.IsCurrent;
-            }
+            return m_input.IsCurrent();
         }
 
         public override IndexCommit IndexCommit

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs 
b/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
index 1064473..969ffa0 100644
--- a/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
+++ b/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
@@ -379,7 +379,7 @@ namespace Lucene.Net.Index
         {
             if (commit == null)
             {
-                if (IsCurrent)
+                if (IsCurrent())
                 {
                     return null;
                 }
@@ -436,28 +436,25 @@ namespace Lucene.Net.Index
             }
         }
 
-        public override bool IsCurrent
+        public override bool IsCurrent()
         {
-            get
+            EnsureOpen();
+            if (writer == null || writer.IsClosed)
             {
-                EnsureOpen();
-                if (writer == null || writer.IsClosed)
-                {
-                    // Fully read the segments file: this ensures that it's
-                    // completely written so that if
-                    // IndexWriter.prepareCommit has been called (but not
-                    // yet commit), then the reader will still see itself as
-                    // current:
-                    SegmentInfos sis = new SegmentInfos();
-                    sis.Read(m_directory);
-
-                    // we loaded SegmentInfos from the directory
-                    return sis.Version == segmentInfos.Version;
-                }
-                else
-                {
-                    return writer.NrtIsCurrent(segmentInfos);
-                }
+                // Fully read the segments file: this ensures that it's
+                // completely written so that if
+                // IndexWriter.prepareCommit has been called (but not
+                // yet commit), then the reader will still see itself as
+                // current:
+                SegmentInfos sis = new SegmentInfos();
+                sis.Read(m_directory);
+
+                // we loaded SegmentInfos from the directory
+                return sis.Version == segmentInfos.Version;
+            }
+            else
+            {
+                return writer.NrtIsCurrent(segmentInfos);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Core/Search/SearcherManager.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/SearcherManager.cs 
b/src/Lucene.Net.Core/Search/SearcherManager.cs
index 65cf5af..da249bd 100644
--- a/src/Lucene.Net.Core/Search/SearcherManager.cs
+++ b/src/Lucene.Net.Core/Search/SearcherManager.cs
@@ -80,7 +80,7 @@ namespace Lucene.Net.Search
         ///          custom behavior.
         /// </param>
         /// <exception cref="IOException"> if there is a low-level I/O error 
</exception>
-        public SearcherManager(IndexWriter writer, bool applyAllDeletes, 
SearcherFactory searcherFactory = null)
+        public SearcherManager(IndexWriter writer, bool applyAllDeletes, 
SearcherFactory searcherFactory)
         {
             if (searcherFactory == null)
             {
@@ -149,7 +149,7 @@ namespace Lucene.Net.Search
             {
                 IndexReader r = searcher.IndexReader;
                 Debug.Assert(r is DirectoryReader, "searcher's IndexReader 
should be a DirectoryReader, but got " + r);
-                return ((DirectoryReader)r).IsCurrent;
+                return ((DirectoryReader)r).IsCurrent();
             }
             finally
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs 
b/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
index d1fe526..25cbad9 100644
--- a/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
+++ b/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
@@ -147,17 +147,17 @@ namespace Lucene.Net.Index
             writer.Dispose();
             // set up reader:
             DirectoryReader reader = DirectoryReader.Open(d);
-            Assert.IsTrue(reader.IsCurrent);
+            Assert.IsTrue(reader.IsCurrent());
             // modify index by adding another document:
             writer = new IndexWriter(d, 
NewIndexWriterConfig(TEST_VERSION_CURRENT, new 
MockAnalyzer(Random())).SetOpenMode(OpenMode.APPEND));
             AddDocumentWithFields(writer);
             writer.Dispose();
-            Assert.IsFalse(reader.IsCurrent);
+            Assert.IsFalse(reader.IsCurrent());
             // re-create index:
             writer = new IndexWriter(d, 
NewIndexWriterConfig(TEST_VERSION_CURRENT, new 
MockAnalyzer(Random())).SetOpenMode(OpenMode.CREATE));
             AddDocumentWithFields(writer);
             writer.Dispose();
-            Assert.IsFalse(reader.IsCurrent);
+            Assert.IsFalse(reader.IsCurrent());
             reader.Dispose();
             d.Dispose();
         }
@@ -943,14 +943,14 @@ namespace Lucene.Net.Index
             Document doc = new Document();
             writer.AddDocument(doc);
             DirectoryReader r = DirectoryReader.Open(dir);
-            Assert.IsTrue(r.IsCurrent);
+            Assert.IsTrue(r.IsCurrent());
             writer.AddDocument(doc);
             writer.PrepareCommit();
-            Assert.IsTrue(r.IsCurrent);
+            Assert.IsTrue(r.IsCurrent());
             DirectoryReader r2 = DirectoryReader.OpenIfChanged(r);
             Assert.IsNull(r2);
             writer.Commit();
-            Assert.IsFalse(r.IsCurrent);
+            Assert.IsFalse(r.IsCurrent());
             writer.Dispose();
             r.Dispose();
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Tests/Index/TestIndexWriterCommit.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterCommit.cs 
b/src/Lucene.Net.Tests/Index/TestIndexWriterCommit.cs
index 4cd35f2..de3ed6f 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterCommit.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterCommit.cs
@@ -79,12 +79,12 @@ namespace Lucene.Net.Index
                 hits = searcher.Search(new TermQuery(searchTerm), null, 
1000).ScoreDocs;
                 Assert.AreEqual(14, hits.Length, "reader incorrectly sees 
changes from writer");
                 r.Dispose();
-                Assert.IsTrue(reader.IsCurrent, "reader should have still been 
current");
+                Assert.IsTrue(reader.IsCurrent(), "reader should have still 
been current");
             }
 
             // Now, close the writer:
             writer.Dispose();
-            Assert.IsFalse(reader.IsCurrent, "reader should not be current 
now");
+            Assert.IsFalse(reader.IsCurrent(), "reader should not be current 
now");
 
             IndexReader ir = DirectoryReader.Open(dir);
             searcher = NewSearcher(ir);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Tests/Index/TestIndexWriterNRTIsCurrent.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterNRTIsCurrent.cs 
b/src/Lucene.Net.Tests/Index/TestIndexWriterNRTIsCurrent.cs
index 3866d4d..9c302ca 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterNRTIsCurrent.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterNRTIsCurrent.cs
@@ -219,7 +219,7 @@ namespace Lucene.Net.Index
                     {
                         try
                         {
-                            bool current = reader.IsCurrent;
+                            bool current = reader.IsCurrent();
                             if (VERBOSE)
                             {
                                 Console.WriteLine("Thread: " + 
Thread.CurrentThread + " Reader: " + reader + " isCurrent:" + current);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs 
b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
index e94fd27..901f1fa 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
@@ -107,22 +107,22 @@ namespace Lucene.Net.Index
                             break;
                     }
                 }
-                Assert.IsFalse(reader.IsCurrent);
+                Assert.IsFalse(reader.IsCurrent());
                 reader.Dispose();
             }
             writer.ForceMerge(1); // make sure all merging is done etc.
             DirectoryReader dirReader = writer.GetReader();
             writer.Commit(); // no changes that are not visible to the reader
-            Assert.IsTrue(dirReader.IsCurrent);
+            Assert.IsTrue(dirReader.IsCurrent());
             writer.Dispose();
-            Assert.IsTrue(dirReader.IsCurrent); // all changes are visible to 
the reader
+            Assert.IsTrue(dirReader.IsCurrent()); // all changes are visible 
to the reader
             iwc = NewIndexWriterConfig(TEST_VERSION_CURRENT, new 
MockAnalyzer(Random()));
             writer = new IndexWriter(dir1, iwc);
-            Assert.IsTrue(dirReader.IsCurrent);
+            Assert.IsTrue(dirReader.IsCurrent());
             writer.AddDocument(DocHelper.CreateDocument(1, "x", 1 + 
Random().Next(5)));
-            Assert.IsTrue(dirReader.IsCurrent); // segments in ram but IW is 
different to the readers one
+            Assert.IsTrue(dirReader.IsCurrent()); // segments in ram but IW is 
different to the readers one
             writer.Dispose();
-            Assert.IsFalse(dirReader.IsCurrent); // segments written
+            Assert.IsFalse(dirReader.IsCurrent()); // segments written
             dirReader.Dispose();
             dir1.Dispose();
         }
@@ -160,7 +160,7 @@ namespace Lucene.Net.Index
 
             // get a reader
             DirectoryReader r1 = writer.GetReader();
-            Assert.IsTrue(r1.IsCurrent);
+            Assert.IsTrue(r1.IsCurrent());
 
             string id10 = r1.Document(10).GetField("id").GetStringValue();
 
@@ -168,10 +168,10 @@ namespace Lucene.Net.Index
             newDoc.RemoveField("id");
             newDoc.Add(NewStringField("id", Convert.ToString(8000), 
Field.Store.YES));
             writer.UpdateDocument(new Term("id", id10), newDoc);
-            Assert.IsFalse(r1.IsCurrent);
+            Assert.IsFalse(r1.IsCurrent());
 
             DirectoryReader r2 = writer.GetReader();
-            Assert.IsTrue(r2.IsCurrent);
+            Assert.IsTrue(r2.IsCurrent());
             Assert.AreEqual(0, Count(new Term("id", id10), r2));
             if (VERBOSE)
             {
@@ -180,13 +180,13 @@ namespace Lucene.Net.Index
             Assert.AreEqual(1, Count(new Term("id", Convert.ToString(8000)), 
r2));
 
             r1.Dispose();
-            Assert.IsTrue(r2.IsCurrent);
+            Assert.IsTrue(r2.IsCurrent());
             writer.Dispose();
-            Assert.IsTrue(r2.IsCurrent);
+            Assert.IsTrue(r2.IsCurrent());
 
             DirectoryReader r3 = DirectoryReader.Open(dir1);
-            Assert.IsTrue(r3.IsCurrent);
-            Assert.IsTrue(r2.IsCurrent);
+            Assert.IsTrue(r3.IsCurrent());
+            Assert.IsTrue(r2.IsCurrent());
             Assert.AreEqual(0, Count(new Term("id", id10), r3));
             Assert.AreEqual(1, Count(new Term("id", Convert.ToString(8000)), 
r3));
 
@@ -194,13 +194,13 @@ namespace Lucene.Net.Index
             Document doc = new Document();
             doc.Add(NewTextField("field", "a b c", Field.Store.NO));
             writer.AddDocument(doc);
-            Assert.IsTrue(r2.IsCurrent);
-            Assert.IsTrue(r3.IsCurrent);
+            Assert.IsTrue(r2.IsCurrent());
+            Assert.IsTrue(r3.IsCurrent());
 
             writer.Dispose();
 
-            Assert.IsFalse(r2.IsCurrent);
-            Assert.IsTrue(!r3.IsCurrent);
+            Assert.IsFalse(r2.IsCurrent());
+            Assert.IsTrue(!r3.IsCurrent());
 
             r2.Dispose();
             r3.Dispose();
@@ -225,23 +225,23 @@ namespace Lucene.Net.Index
             doc = new Document();
             doc.Add(NewTextField("field", "a b c", Field.Store.NO));
             DirectoryReader nrtReader = writer.GetReader();
-            Assert.IsTrue(nrtReader.IsCurrent);
+            Assert.IsTrue(nrtReader.IsCurrent());
             writer.AddDocument(doc);
-            Assert.IsFalse(nrtReader.IsCurrent); // should see the changes
+            Assert.IsFalse(nrtReader.IsCurrent()); // should see the changes
             writer.ForceMerge(1); // make sure we don't have a merge going on
-            Assert.IsFalse(nrtReader.IsCurrent);
+            Assert.IsFalse(nrtReader.IsCurrent());
             nrtReader.Dispose();
 
             DirectoryReader dirReader = DirectoryReader.Open(dir);
             nrtReader = writer.GetReader();
 
-            Assert.IsTrue(dirReader.IsCurrent);
-            Assert.IsTrue(nrtReader.IsCurrent); // nothing was committed yet 
so we are still current
+            Assert.IsTrue(dirReader.IsCurrent());
+            Assert.IsTrue(nrtReader.IsCurrent()); // nothing was committed yet 
so we are still current
             Assert.AreEqual(2, nrtReader.MaxDoc); // sees the actual document 
added
             Assert.AreEqual(1, dirReader.MaxDoc);
             writer.Dispose(); // close is actually a commit both should see 
the changes
-            Assert.IsTrue(nrtReader.IsCurrent);
-            Assert.IsFalse(dirReader.IsCurrent); // this reader has been 
opened before the writer was closed / committed
+            Assert.IsTrue(nrtReader.IsCurrent());
+            Assert.IsFalse(dirReader.IsCurrent()); // this reader has been 
opened before the writer was closed / committed
 
             dirReader.Dispose();
             nrtReader.Dispose();
@@ -284,16 +284,16 @@ namespace Lucene.Net.Index
             writer2.Dispose();
 
             DirectoryReader r0 = writer.GetReader();
-            Assert.IsTrue(r0.IsCurrent);
+            Assert.IsTrue(r0.IsCurrent());
             writer.AddIndexes(dir2);
-            Assert.IsFalse(r0.IsCurrent);
+            Assert.IsFalse(r0.IsCurrent());
             r0.Dispose();
 
             DirectoryReader r1 = writer.GetReader();
-            Assert.IsTrue(r1.IsCurrent);
+            Assert.IsTrue(r1.IsCurrent());
 
             writer.Commit();
-            Assert.IsTrue(r1.IsCurrent); // we have seen all changes - no 
change after opening the NRT reader
+            Assert.IsTrue(r1.IsCurrent()); // we have seen all changes - no 
change after opening the NRT reader
 
             Assert.AreEqual(200, r1.MaxDoc);
 
@@ -1304,13 +1304,13 @@ namespace Lucene.Net.Index
             DirectoryReader r3 = DirectoryReader.OpenIfChanged(r);
             Assert.IsNotNull(r3);
             Assert.IsTrue(r3.Version != r.Version);
-            Assert.IsTrue(r3.IsCurrent);
+            Assert.IsTrue(r3.IsCurrent());
 
             // Deletes nothing in reality...:
             w.DeleteDocuments(new Term("foo", "bar"));
 
             // ... but IW marks this as not current:
-            Assert.IsFalse(r3.IsCurrent);
+            Assert.IsFalse(r3.IsCurrent());
             DirectoryReader r4 = DirectoryReader.OpenIfChanged(r3);
             Assert.IsNull(r4);
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/85bcff30/src/Lucene.Net.Tests/Index/TestIsCurrent.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestIsCurrent.cs 
b/src/Lucene.Net.Tests/Index/TestIsCurrent.cs
index 99dfaca..a15847d 100644
--- a/src/Lucene.Net.Tests/Index/TestIsCurrent.cs
+++ b/src/Lucene.Net.Tests/Index/TestIsCurrent.cs
@@ -68,7 +68,7 @@ namespace Lucene.Net.Index
 
             // assert index has a document and reader is up2date
             Assert.AreEqual(1, Writer.NumDocs, "One document should be in the 
index");
-            Assert.IsTrue(reader.IsCurrent, "One document added, reader should 
be current");
+            Assert.IsTrue(reader.IsCurrent(), "One document added, reader 
should be current");
 
             // remove document
             Term idTerm = new Term("UUID", "1");
@@ -77,7 +77,7 @@ namespace Lucene.Net.Index
 
             // assert document has been deleted (index changed), reader is 
stale
             Assert.AreEqual(0, Writer.NumDocs, "Document should be removed");
-            Assert.IsFalse(reader.IsCurrent, "Reader should be stale");
+            Assert.IsFalse(reader.IsCurrent(), "Reader should be stale");
 
             reader.Dispose();
         }
@@ -93,7 +93,7 @@ namespace Lucene.Net.Index
 
             // assert index has a document and reader is up2date
             Assert.AreEqual(1, Writer.NumDocs, "One document should be in the 
index");
-            Assert.IsTrue(reader.IsCurrent, "Document added, reader should be 
stale ");
+            Assert.IsTrue(reader.IsCurrent(), "Document added, reader should 
be stale ");
 
             // remove all documents
             Writer.DeleteAll();
@@ -101,7 +101,7 @@ namespace Lucene.Net.Index
 
             // assert document has been deleted (index changed), reader is 
stale
             Assert.AreEqual(0, Writer.NumDocs, "Document should be removed");
-            Assert.IsFalse(reader.IsCurrent, "Reader should be stale");
+            Assert.IsFalse(reader.IsCurrent(), "Reader should be stale");
 
             reader.Dispose();
         }

Reply via email to