You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2016/03/08 18:38:53 UTC

[2/3] lucene-solr git commit: LUCENE-6952: Make most Filter* classes abstract. (cherry picked from commit 9393a31)

LUCENE-6952: Make most Filter* classes abstract.
(cherry picked from commit 9393a31)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/ae59bc07
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/ae59bc07
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/ae59bc07

Branch: refs/heads/branch_6x
Commit: ae59bc0785b57ff5ce8cc4f88cd7728de3735e18
Parents: f297e90
Author: David Smiley <ds...@apache.org>
Authored: Tue Mar 8 12:36:46 2016 -0500
Committer: David Smiley <ds...@apache.org>
Committed: Tue Mar 8 12:37:19 2016 -0500

----------------------------------------------------------------------
 lucene/CHANGES.txt                                        |  4 ++++
 .../java/org/apache/lucene/index/FilterCodecReader.java   |  2 +-
 .../java/org/apache/lucene/index/FilterLeafReader.java    | 10 +++++-----
 .../java/org/apache/lucene/search/FilterCollector.java    |  2 +-
 .../org/apache/lucene/search/FilterLeafCollector.java     |  2 +-
 .../src/java/org/apache/lucene/store/FilterDirectory.java |  2 +-
 .../org/apache/lucene/index/TestFilterLeafReader.java     |  2 +-
 .../test/org/apache/lucene/store/TestFilterDirectory.java |  4 ++--
 .../org/apache/lucene/index/MockRandomMergePolicy.java    |  2 +-
 .../org/apache/lucene/mockfile/FilterFileChannel.java     |  2 +-
 .../java/org/apache/lucene/mockfile/FilterFileStore.java  |  2 +-
 .../java/org/apache/lucene/mockfile/FilterFileSystem.java |  2 +-
 .../apache/lucene/mockfile/FilterFileSystemProvider.java  |  2 +-
 .../org/apache/lucene/mockfile/FilterOutputStream2.java   |  2 +-
 14 files changed, 22 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index ca59e6b..3abd4fb 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -128,6 +128,10 @@ API Changes
 
 * LUCENE-7056: Geo3D classes are in different packages now. (David Smiley)
 
+* LUCENE-6952: These classes are now abstract: FilterCodecReader, FilterLeafReader,
+  FilterCollector, FilterDirectory.  And some Filter* classes in
+  lucene-test-framework too. (David Smiley)
+
 Optimizations
 
 * LUCENE-6891: Use prefix coding when writing points in 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
index 41f0984..c35dc67 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterCodecReader.java
@@ -32,7 +32,7 @@ import org.apache.lucene.util.Bits;
  * uses as its basic source of data, possibly transforming the data along the
  * way or providing additional functionality.
  */
-public class FilterCodecReader extends CodecReader {
+public abstract class FilterCodecReader extends CodecReader {
   /** 
    * The underlying CodecReader instance. 
    */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
index 98365a6..1d593c3 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
@@ -44,7 +44,7 @@ import org.apache.lucene.util.BytesRef;
  * overridden as well if the {@link #getLiveDocs() live docs} are not changed
  * either.
  */
-public class FilterLeafReader extends LeafReader {
+public abstract class FilterLeafReader extends LeafReader {
 
   /** Get the wrapped instance by <code>reader</code> as long as this reader is
    *  an instance of {@link FilterLeafReader}.  */
@@ -57,7 +57,7 @@ public class FilterLeafReader extends LeafReader {
 
   /** Base class for filtering {@link Fields}
    *  implementations. */
-  public static class FilterFields extends Fields {
+  public abstract static class FilterFields extends Fields {
     /** The underlying Fields instance. */
     protected final Fields in;
 
@@ -93,7 +93,7 @@ public class FilterLeafReader extends LeafReader {
    * these terms are going to be intersected with automata, you could consider
    * overriding {@link #intersect} for better performance.
    */
-  public static class FilterTerms extends Terms {
+  public abstract static class FilterTerms extends Terms {
     /** The underlying Terms instance. */
     protected final Terms in;
 
@@ -160,7 +160,7 @@ public class FilterLeafReader extends LeafReader {
   }
 
   /** Base class for filtering {@link TermsEnum} implementations. */
-  public static class FilterTermsEnum extends TermsEnum {
+  public abstract static class FilterTermsEnum extends TermsEnum {
     /** The underlying TermsEnum instance. */
     protected final TermsEnum in;
 
@@ -223,7 +223,7 @@ public class FilterLeafReader extends LeafReader {
   }
 
   /** Base class for filtering {@link PostingsEnum} implementations. */
-  public static class FilterPostingsEnum extends PostingsEnum {
+  public abstract static class FilterPostingsEnum extends PostingsEnum {
     /** The underlying PostingsEnum instance. */
     protected final PostingsEnum in;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java b/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
index d290330..d4ec914 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
@@ -26,7 +26,7 @@ import org.apache.lucene.index.LeafReaderContext;
  *
  * @lucene.experimental
  */
-public class FilterCollector implements Collector {
+public abstract class FilterCollector implements Collector {
 
   protected final Collector in;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java b/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
index ab15bab..b55410c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FilterLeafCollector.java
@@ -24,7 +24,7 @@ import java.io.IOException;
  *
  * @lucene.experimental
  */
-public class FilterLeafCollector implements LeafCollector {
+public abstract class FilterLeafCollector implements LeafCollector {
 
   protected final LeafCollector in;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java b/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
index 5df5713..8148b5a 100644
--- a/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
+++ b/lucene/core/src/java/org/apache/lucene/store/FilterDirectory.java
@@ -29,7 +29,7 @@ import java.util.Collection;
  *  {@link Directory} or {@link BaseDirectory} rather than try to reuse
  *  functionality of existing {@link Directory}s by extending this class.
  *  @lucene.internal */
-public class FilterDirectory extends Directory {
+public abstract class FilterDirectory extends Directory {
 
   /** Get the wrapped instance by <code>dir</code> as long as this reader is
    *  an instance of {@link FilterDirectory}.  */

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java b/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
index 82fb3bc..cad47a4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
@@ -196,7 +196,7 @@ public class TestFilterLeafReader extends LuceneTestCase {
     w.addDocument(new Document());
     DirectoryReader dr = w.getReader();
     LeafReader r = dr.leaves().get(0).reader();
-    FilterLeafReader r2 = new FilterLeafReader(r);
+    FilterLeafReader r2 = new FilterLeafReader(r) {};
     assertEquals(r, r2.getDelegate());
     assertEquals(r, FilterLeafReader.unwrap(r2));
     w.close();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
index 7fe9bc2..6224140 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestFilterDirectory.java
@@ -29,7 +29,7 @@ public class TestFilterDirectory extends BaseDirectoryTestCase {
 
   @Override
   protected Directory getDirectory(Path path) throws IOException {
-    return new FilterDirectory(new RAMDirectory());
+    return new FilterDirectory(new RAMDirectory()) {};
   }
   
   @Test
@@ -48,7 +48,7 @@ public class TestFilterDirectory extends BaseDirectoryTestCase {
 
   public void testUnwrap() throws IOException {
     Directory dir = FSDirectory.open(createTempDir());
-    FilterDirectory dir2 = new FilterDirectory(dir);
+    FilterDirectory dir2 = new FilterDirectory(dir) {};
     assertEquals(dir, dir2.getDelegate());
     assertEquals(dir, FilterDirectory.unwrap(dir2));
     dir2.close();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
index bcee1b6..b40ac26 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
@@ -159,7 +159,7 @@ public class MockRandomMergePolicy extends MergePolicy {
             if (LuceneTestCase.VERBOSE) {
               System.out.println("NOTE: MockRandomMergePolicy now swaps in a SlowCodecReaderWrapper for merging reader=" + readers.get(i));
             }
-            readers.set(i, SlowCodecReaderWrapper.wrap(new FilterLeafReader(readers.get(i))));
+            readers.set(i, SlowCodecReaderWrapper.wrap(new FilterLeafReader(readers.get(i)) {}));
           } else if (thingToDo == 1) {
             // renumber fields
             // NOTE: currently this only "blocks" bulk merges just by

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
index 0c95af0..ccc6e7a 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileChannel.java
@@ -31,7 +31,7 @@ import java.util.Objects;
  * source of data, possibly transforming the data along the 
  * way or providing additional functionality. 
  */
-public class FilterFileChannel extends FileChannel {
+public abstract class FilterFileChannel extends FileChannel {
   
   /** 
    * The underlying {@code FileChannel} instance. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
index dc90799..423b32d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileStore.java
@@ -28,7 +28,7 @@ import java.util.Objects;
  * source of data, possibly transforming the data along the 
  * way or providing additional functionality. 
  */
-public class FilterFileStore extends FileStore {
+public abstract class FilterFileStore extends FileStore {
   
   /** 
    * The underlying {@code FileStore} instance. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
index d79ed35..e24506d 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystem.java
@@ -131,7 +131,7 @@ public class FilterFileSystem extends FileSystem {
 
         @Override
         public FileStore next() {
-          return new FilterFileStore(iterator.next(), parent.getScheme());
+          return new FilterFileStore(iterator.next(), parent.getScheme()) {};
         }
         
         @Override

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
index c9c0165..8a7ff75 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterFileSystemProvider.java
@@ -48,7 +48,7 @@ import java.util.concurrent.ExecutorService;
  * source of data, possibly transforming the data along the 
  * way or providing additional functionality. 
  */
-public class FilterFileSystemProvider extends FileSystemProvider {
+public abstract class FilterFileSystemProvider extends FileSystemProvider {
   
   /** 
    * The underlying {@code FileSystemProvider}. 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/ae59bc07/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
index dbf7a95..5413c87 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/mockfile/FilterOutputStream2.java
@@ -34,7 +34,7 @@ import java.util.Objects;
  * that just overrides {@code close} will not force bytes to be 
  * written one-at-a-time.
  */
-public class FilterOutputStream2 extends OutputStream {
+public abstract class FilterOutputStream2 extends OutputStream {
   
   /** 
    * The underlying {@code OutputStream} instance.