You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/27 21:54:13 UTC

svn commit: r1189973 - in /lucene/dev/trunk: ./ dev-tools/idea/lucene/contrib/ lucene/ lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/ lucene/src/test-framework/org/apache/lucene/store/ modules/queryparser/src/test/org/apache/l...

Author: rmuir
Date: Thu Oct 27 19:54:11 2011
New Revision: 1189973

URL: http://svn.apache.org/viewvc?rev=1189973&view=rev
Log:
throw exception if you muck with a closed indexinput

Modified:
    lucene/dev/trunk/   (props changed)
    lucene/dev/trunk/dev-tools/idea/lucene/contrib/   (props changed)
    lucene/dev/trunk/lucene/   (props changed)
    lucene/dev/trunk/lucene/contrib/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java   (props changed)
    lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/store/MockIndexInputWrapper.java
    lucene/dev/trunk/modules/queryparser/src/test/org/apache/lucene/queryparser/xml/builders/TestNumericRangeFilterBuilder.java   (props changed)
    lucene/dev/trunk/solr/   (props changed)
    lucene/dev/trunk/solr/CHANGES.txt   (props changed)
    lucene/dev/trunk/solr/LICENSE.txt   (props changed)
    lucene/dev/trunk/solr/NOTICE.txt   (props changed)
    lucene/dev/trunk/solr/README.txt   (props changed)
    lucene/dev/trunk/solr/build.xml   (props changed)
    lucene/dev/trunk/solr/client/   (props changed)
    lucene/dev/trunk/solr/common-build.xml   (props changed)
    lucene/dev/trunk/solr/contrib/   (props changed)
    lucene/dev/trunk/solr/contrib/clustering/src/test-files/   (props changed)
    lucene/dev/trunk/solr/contrib/dataimporthandler-extras/src/java/   (props changed)
    lucene/dev/trunk/solr/contrib/dataimporthandler/src/java/   (props changed)
    lucene/dev/trunk/solr/contrib/dataimporthandler/src/test-files/   (props changed)
    lucene/dev/trunk/solr/contrib/dataimporthandler/src/test/org/   (props changed)
    lucene/dev/trunk/solr/contrib/uima/src/java/   (props changed)
    lucene/dev/trunk/solr/contrib/uima/src/test-files/   (props changed)
    lucene/dev/trunk/solr/core/   (props changed)
    lucene/dev/trunk/solr/core/src/java/   (props changed)
    lucene/dev/trunk/solr/core/src/test/   (props changed)
    lucene/dev/trunk/solr/dev-tools/   (props changed)
    lucene/dev/trunk/solr/example/   (props changed)
    lucene/dev/trunk/solr/lib/   (props changed)
    lucene/dev/trunk/solr/scripts/   (props changed)
    lucene/dev/trunk/solr/site/   (props changed)
    lucene/dev/trunk/solr/site-src/   (props changed)
    lucene/dev/trunk/solr/solrj/   (props changed)
    lucene/dev/trunk/solr/solrj/src/java/   (props changed)
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/   (props changed)
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/   (props changed)
    lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/common/   (props changed)
    lucene/dev/trunk/solr/test-framework/   (props changed)
    lucene/dev/trunk/solr/testlogging.properties   (props changed)
    lucene/dev/trunk/solr/webapp/   (props changed)

Modified: lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/store/MockIndexInputWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/store/MockIndexInputWrapper.java?rev=1189973&r1=1189972&r2=1189973&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/store/MockIndexInputWrapper.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/store/MockIndexInputWrapper.java Thu Oct 27 19:54:11 2011
@@ -30,6 +30,7 @@ public class MockIndexInputWrapper exten
   final String name;
   private IndexInput delegate;
   private boolean isClone;
+  private boolean closed;
 
   /** Construct an empty output buffer. */
   public MockIndexInputWrapper(MockDirectoryWrapper dir, String name, IndexInput delegate) {
@@ -45,6 +46,7 @@ public class MockIndexInputWrapper exten
       // after fixing TestTransactions
       // dir.maybeThrowDeterministicException();
     } finally {
+      closed = true;
       delegate.close();
       // Pending resolution on LUCENE-686 we may want to
       // remove the conditional check so we also track that
@@ -54,9 +56,16 @@ public class MockIndexInputWrapper exten
       }
     }
   }
+  
+  private void ensureOpen() {
+    if (closed) {
+      throw new RuntimeException("Abusing closed IndexInput!");
+    }
+  }
 
   @Override
   public Object clone() {
+    ensureOpen();
     dir.inputCloneCount.incrementAndGet();
     IndexInput iiclone = (IndexInput) delegate.clone();
     MockIndexInputWrapper clone = new MockIndexInputWrapper(dir, name, iiclone);
@@ -80,72 +89,86 @@ public class MockIndexInputWrapper exten
 
   @Override
   public long getFilePointer() {
+    ensureOpen();
     return delegate.getFilePointer();
   }
 
   @Override
   public void seek(long pos) throws IOException {
+    ensureOpen();
     delegate.seek(pos);
   }
 
   @Override
   public long length() {
+    ensureOpen();
     return delegate.length();
   }
 
   @Override
   public byte readByte() throws IOException {
+    ensureOpen();
     return delegate.readByte();
   }
 
   @Override
   public void readBytes(byte[] b, int offset, int len) throws IOException {
+    ensureOpen();
     delegate.readBytes(b, offset, len);
   }
 
   @Override
   public void copyBytes(IndexOutput out, long numBytes) throws IOException {
+    ensureOpen();
     delegate.copyBytes(out, numBytes);
   }
 
   @Override
   public void readBytes(byte[] b, int offset, int len, boolean useBuffer)
       throws IOException {
+    ensureOpen();
     delegate.readBytes(b, offset, len, useBuffer);
   }
 
   @Override
   public short readShort() throws IOException {
+    ensureOpen();
     return delegate.readShort();
   }
 
   @Override
   public int readInt() throws IOException {
+    ensureOpen();
     return delegate.readInt();
   }
 
   @Override
   public long readLong() throws IOException {
+    ensureOpen();
     return delegate.readLong();
   }
 
   @Override
   public String readString() throws IOException {
+    ensureOpen();
     return delegate.readString();
   }
 
   @Override
   public Map<String,String> readStringStringMap() throws IOException {
+    ensureOpen();
     return delegate.readStringStringMap();
   }
 
   @Override
   public int readVInt() throws IOException {
+    ensureOpen();
     return delegate.readVInt();
   }
 
   @Override
   public long readVLong() throws IOException {
+    ensureOpen();
     return delegate.readVLong();
   }