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 2016/08/25 16:03:09 UTC

lucene-solr:master: LUCENE-7426: remove deprecated DataInput/Output map/string methods

Repository: lucene-solr
Updated Branches:
  refs/heads/master 81c796a1f -> f6253d5ed


LUCENE-7426: remove deprecated DataInput/Output map/string methods


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

Branch: refs/heads/master
Commit: f6253d5ed1755b6dd14cdb235d818ade7ac4f0b4
Parents: 81c796a
Author: Robert Muir <rm...@apache.org>
Authored: Thu Aug 25 12:02:01 2016 -0400
Committer: Robert Muir <rm...@apache.org>
Committed: Thu Aug 25 12:02:52 2016 -0400

----------------------------------------------------------------------
 .../lucene50/Lucene50SegmentInfoFormat.java     | 21 +++------
 .../lucene50/Lucene50RWSegmentInfoFormat.java   | 21 +++------
 .../lucene50/Lucene50FieldInfosFormat.java      | 12 ++----
 .../org/apache/lucene/index/SegmentInfos.java   | 24 ++---------
 .../java/org/apache/lucene/store/DataInput.java | 33 --------------
 .../org/apache/lucene/store/DataOutput.java     | 45 --------------------
 .../lucene/store/BaseDirectoryTestCase.java     | 30 -------------
 .../lucene/store/MockIndexInputWrapper.java     | 20 ++++-----
 8 files changed, 28 insertions(+), 178 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
index 5d615ec..69cda34 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/codecs/lucene50/Lucene50SegmentInfoFormat.java
@@ -18,7 +18,6 @@ package org.apache.lucene.codecs.lucene50;
 
 
 import java.io.IOException;
-import java.util.Collections;
 import java.util.Map;
 import java.util.Set;
 
@@ -50,7 +49,7 @@ public class Lucene50SegmentInfoFormat extends SegmentInfoFormat {
       Throwable priorE = null;
       SegmentInfo si = null;
       try {
-        int format = CodecUtil.checkIndexHeader(input, Lucene50SegmentInfoFormat.CODEC_NAME,
+        CodecUtil.checkIndexHeader(input, Lucene50SegmentInfoFormat.CODEC_NAME,
                                           Lucene50SegmentInfoFormat.VERSION_START,
                                           Lucene50SegmentInfoFormat.VERSION_CURRENT,
                                           segmentID, "");
@@ -62,19 +61,9 @@ public class Lucene50SegmentInfoFormat extends SegmentInfoFormat {
         }
         final boolean isCompoundFile = input.readByte() == SegmentInfo.YES;
         
-        final Map<String,String> diagnostics;
-        final Set<String> files;
-        final Map<String,String> attributes;
-        
-        if (format >= VERSION_SAFE_MAPS) {
-          diagnostics = input.readMapOfStrings();
-          files = input.readSetOfStrings();
-          attributes = input.readMapOfStrings();
-        } else {
-          diagnostics = Collections.unmodifiableMap(input.readStringStringMap());
-          files = Collections.unmodifiableSet(input.readStringSet());
-          attributes = Collections.unmodifiableMap(input.readStringStringMap());
-        }
+        final Map<String,String> diagnostics = input.readMapOfStrings();
+        final Set<String> files = input.readSetOfStrings();
+        final Map<String,String> attributes = input.readMapOfStrings();
         
         si = new SegmentInfo(dir, version, segment, docCount, isCompoundFile, null, diagnostics, segmentID, attributes, null);
         si.setFiles(files);
@@ -95,7 +84,7 @@ public class Lucene50SegmentInfoFormat extends SegmentInfoFormat {
   /** File extension used to store {@link SegmentInfo}. */
   public final static String SI_EXTENSION = "si";
   static final String CODEC_NAME = "Lucene50SegmentInfo";
-  static final int VERSION_START = 0;
   static final int VERSION_SAFE_MAPS = 1;
+  static final int VERSION_START = VERSION_SAFE_MAPS;
   static final int VERSION_CURRENT = VERSION_SAFE_MAPS;
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
----------------------------------------------------------------------
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
index 41c817a..965ee96 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/codecs/lucene50/Lucene50RWSegmentInfoFormat.java
@@ -18,7 +18,6 @@ package org.apache.lucene.codecs.lucene50;
 
 
 import java.io.IOException;
-import java.util.Collections;
 import java.util.Map;
 import java.util.Set;
 
@@ -50,7 +49,7 @@ public class Lucene50RWSegmentInfoFormat extends Lucene50SegmentInfoFormat {
       Throwable priorE = null;
       SegmentInfo si = null;
       try {
-        int format = CodecUtil.checkIndexHeader(input, Lucene50SegmentInfoFormat.CODEC_NAME,
+        CodecUtil.checkIndexHeader(input, Lucene50SegmentInfoFormat.CODEC_NAME,
                                           Lucene50SegmentInfoFormat.VERSION_START,
                                           Lucene50SegmentInfoFormat.VERSION_CURRENT,
                                           segmentID, "");
@@ -62,19 +61,9 @@ public class Lucene50RWSegmentInfoFormat extends Lucene50SegmentInfoFormat {
         }
         final boolean isCompoundFile = input.readByte() == SegmentInfo.YES;
         
-        final Map<String,String> diagnostics;
-        final Set<String> files;
-        final Map<String,String> attributes;
-        
-        if (format >= VERSION_SAFE_MAPS) {
-          diagnostics = input.readMapOfStrings();
-          files = input.readSetOfStrings();
-          attributes = input.readMapOfStrings();
-        } else {
-          diagnostics = Collections.unmodifiableMap(input.readStringStringMap());
-          files = Collections.unmodifiableSet(input.readStringSet());
-          attributes = Collections.unmodifiableMap(input.readStringStringMap());
-        }
+        final Map<String,String> diagnostics = input.readMapOfStrings();
+        final Set<String> files = input.readSetOfStrings();
+        final Map<String,String> attributes = input.readMapOfStrings();
         
         si = new SegmentInfo(dir, version, segment, docCount, isCompoundFile, null, diagnostics, segmentID, attributes, null);
         si.setFiles(files);
@@ -130,7 +119,7 @@ public class Lucene50RWSegmentInfoFormat extends Lucene50SegmentInfoFormat {
   /** File extension used to store {@link SegmentInfo}. */
   public final static String SI_EXTENSION = "si";
   static final String CODEC_NAME = "Lucene50SegmentInfo";
-  static final int VERSION_START = 0;
   static final int VERSION_SAFE_MAPS = 1;
+  static final int VERSION_START = VERSION_SAFE_MAPS;
   static final int VERSION_CURRENT = VERSION_SAFE_MAPS;
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
index 35931de..a76bfeb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50FieldInfosFormat.java
@@ -112,7 +112,7 @@ public final class Lucene50FieldInfosFormat extends FieldInfosFormat {
       Throwable priorE = null;
       FieldInfo infos[] = null;
       try {
-        int format = CodecUtil.checkIndexHeader(input, Lucene50FieldInfosFormat.CODEC_NAME, 
+        CodecUtil.checkIndexHeader(input, Lucene50FieldInfosFormat.CODEC_NAME, 
                                      Lucene50FieldInfosFormat.FORMAT_START, 
                                      Lucene50FieldInfosFormat.FORMAT_CURRENT,
                                      segmentInfo.getId(), segmentSuffix);
@@ -139,12 +139,8 @@ public final class Lucene50FieldInfosFormat extends FieldInfosFormat {
           // DV Types are packed in one byte
           final DocValuesType docValuesType = getDocValuesType(input, input.readByte());
           final long dvGen = input.readLong();
-          Map<String,String> attributes;
-          if (format >= FORMAT_SAFE_MAPS) {
-            attributes = input.readMapOfStrings();
-          } else {
-            attributes = Collections.unmodifiableMap(input.readStringStringMap());
-          }
+          Map<String,String> attributes = input.readMapOfStrings();
+
           // just use the last field's map if its the same
           if (attributes.equals(lastAttributes)) {
             attributes = lastAttributes;
@@ -288,8 +284,8 @@ public final class Lucene50FieldInfosFormat extends FieldInfosFormat {
   
   // Codec header
   static final String CODEC_NAME = "Lucene50FieldInfos";
-  static final int FORMAT_START = 0;
   static final int FORMAT_SAFE_MAPS = 1;
+  static final int FORMAT_START = FORMAT_SAFE_MAPS;
   static final int FORMAT_CURRENT = FORMAT_SAFE_MAPS;
   
   // Field flags

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
index d87fc84..8f627cd 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
@@ -119,10 +119,6 @@ import org.apache.lucene.util.Version;
  */
 public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo> {
 
-  /** The file format version for the segments_N codec header, since 5.0+ */
-  public static final int VERSION_50 = 4;
-  /** The file format version for the segments_N codec header, since 5.1+ */
-  public static final int VERSION_51 = 5; // use safe maps
   /** Adds the {@link Version} that committed this segments_N file, as well as the {@link Version} of the oldest segment, since 5.3+ */
   public static final int VERSION_53 = 6;
 
@@ -294,7 +290,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
     if (magic != CodecUtil.CODEC_MAGIC) {
       throw new IndexFormatTooOldException(input, magic, CodecUtil.CODEC_MAGIC, CodecUtil.CODEC_MAGIC);
     }
-    int format = CodecUtil.checkHeaderNoMagic(input, "segments", VERSION_50, VERSION_CURRENT);
+    int format = CodecUtil.checkHeaderNoMagic(input, "segments", VERSION_53, VERSION_CURRENT);
     byte id[] = new byte[StringHelper.ID_LENGTH];
     input.readBytes(id, 0, id.length);
     CodecUtil.checkIndexHeaderSuffix(input, Long.toString(generation, Character.MAX_RADIX));
@@ -351,11 +347,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
       long fieldInfosGen = input.readLong();
       long dvGen = input.readLong();
       SegmentCommitInfo siPerCommit = new SegmentCommitInfo(info, delCount, delGen, fieldInfosGen, dvGen);
-      if (format >= VERSION_51) {
-        siPerCommit.setFieldInfosFiles(input.readSetOfStrings());
-      } else {
-        siPerCommit.setFieldInfosFiles(Collections.unmodifiableSet(input.readStringSet()));
-      }
+      siPerCommit.setFieldInfosFiles(input.readSetOfStrings());
       final Map<Integer,Set<String>> dvUpdateFiles;
       final int numDVFields = input.readInt();
       if (numDVFields == 0) {
@@ -363,11 +355,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
       } else {
         Map<Integer,Set<String>> map = new HashMap<>(numDVFields);
         for (int i = 0; i < numDVFields; i++) {
-          if (format >= VERSION_51) {
-            map.put(input.readInt(), input.readSetOfStrings());
-          } else {
-            map.put(input.readInt(), Collections.unmodifiableSet(input.readStringSet()));
-          }
+          map.put(input.readInt(), input.readSetOfStrings());
         }
         dvUpdateFiles = Collections.unmodifiableMap(map);
       }
@@ -381,11 +369,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
       }
     }
 
-    if (format >= VERSION_51) {
-      infos.userData = input.readMapOfStrings();
-    } else {
-      infos.userData = Collections.unmodifiableMap(input.readStringStringMap());
-    }
+    infos.userData = input.readMapOfStrings();
 
     CodecUtil.checkFooter(input);
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/core/src/java/org/apache/lucene/store/DataInput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/DataInput.java b/lucene/core/src/java/org/apache/lucene/store/DataInput.java
index 037211f..d834995 100644
--- a/lucene/core/src/java/org/apache/lucene/store/DataInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/DataInput.java
@@ -255,24 +255,6 @@ public abstract class DataInput implements Cloneable {
       throw new Error("This cannot happen: Failing to clone DataInput");
     }
   }
-
-  /** Reads a Map&lt;String,String&gt; previously written
-   *  with {@link DataOutput#writeStringStringMap(Map)}. 
-   *  @deprecated Only for reading existing formats. Encode maps with 
-   *  {@link DataOutput#writeMapOfStrings(Map)} instead.
-   */
-  @Deprecated
-  public Map<String,String> readStringStringMap() throws IOException {
-    final Map<String,String> map = new HashMap<>();
-    final int count = readInt();
-    for(int i=0;i<count;i++) {
-      final String key = readString();
-      final String val = readString();
-      map.put(key, val);
-    }
-
-    return map;
-  }
   
   /** 
    * Reads a Map&lt;String,String&gt; previously written
@@ -295,21 +277,6 @@ public abstract class DataInput implements Cloneable {
       return Collections.unmodifiableMap(map);
     }
   }
-
-  /** Reads a Set&lt;String&gt; previously written
-   *  with {@link DataOutput#writeStringSet(Set)}. 
-   *  @deprecated Only for reading existing formats. Encode maps with 
-   *  {@link DataOutput#writeSetOfStrings(Set)} instead. */
-  @Deprecated
-  public Set<String> readStringSet() throws IOException {
-    final Set<String> set = new HashSet<>();
-    final int count = readInt();
-    for(int i=0;i<count;i++) {
-      set.add(readString());
-    }
-
-    return set;
-  }
   
   /** 
    * Reads a Set&lt;String&gt; previously written

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/store/DataOutput.java b/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
index 1f6dd74..9c11249 100644
--- a/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/DataOutput.java
@@ -283,29 +283,6 @@ public abstract class DataOutput {
   /**
    * Writes a String map.
    * <p>
-   * First the size is written as an {@link #writeInt(int) Int32},
-   * followed by each key-value pair written as two consecutive 
-   * {@link #writeString(String) String}s.
-   * 
-   * @param map Input map. May be null (equivalent to an empty map)
-   * @deprecated Use {@link #writeMapOfStrings(Map)} instead.
-   */
-  @Deprecated
-  public void writeStringStringMap(Map<String,String> map) throws IOException {
-    if (map == null) {
-      writeInt(0);
-    } else {
-      writeInt(map.size());
-      for(final Map.Entry<String, String> entry: map.entrySet()) {
-        writeString(entry.getKey());
-        writeString(entry.getValue());
-      }
-    }
-  }
-  
-  /**
-   * Writes a String map.
-   * <p>
    * First the size is written as an {@link #writeVInt(int) vInt},
    * followed by each key-value pair written as two consecutive 
    * {@link #writeString(String) String}s.
@@ -320,28 +297,6 @@ public abstract class DataOutput {
       writeString(entry.getValue());
     }
   }
-
-  /**
-   * Writes a String set.
-   * <p>
-   * First the size is written as an {@link #writeInt(int) Int32},
-   * followed by each value written as a
-   * {@link #writeString(String) String}.
-   * 
-   * @param set Input set. May be null (equivalent to an empty set)
-   * @deprecated Use {@link #writeMapOfStrings(Map)} instead.
-   */
-  @Deprecated
-  public void writeStringSet(Set<String> set) throws IOException {
-    if (set == null) {
-      writeInt(0);
-    } else {
-      writeInt(set.size());
-      for(String value : set) {
-        writeString(value);
-      }
-    }
-  }
   
   /**
    * Writes a String set.

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
index 1aae60b..2860ff9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/BaseDirectoryTestCase.java
@@ -290,36 +290,6 @@ public abstract class BaseDirectoryTestCase extends LuceneTestCase {
     dir.close();
   }
 
-  public void testStringSet() throws Exception {
-    Directory dir = getDirectory(createTempDir("testStringSet"));
-    IndexOutput output = dir.createOutput("stringset", newIOContext(random()));
-    output.writeStringSet(asSet("test1", "test2"));
-    output.close();
-    
-    IndexInput input = dir.openInput("stringset", newIOContext(random()));
-    assertEquals(16, input.length());
-    assertEquals(asSet("test1", "test2"), input.readStringSet());
-    input.close();
-    dir.close();
-  }
-  
-  public void testStringMap() throws Exception {
-    Map<String,String> m = new HashMap<>();
-    m.put("test1", "value1");
-    m.put("test2", "value2");
-    
-    Directory dir = getDirectory(createTempDir("testStringMap"));
-    IndexOutput output = dir.createOutput("stringmap", newIOContext(random()));
-    output.writeStringStringMap(m);
-    output.close();
-    
-    IndexInput input = dir.openInput("stringmap", newIOContext(random()));
-    assertEquals(30, input.length());
-    assertEquals(m, input.readStringStringMap());
-    input.close();
-    dir.close();
-  }
-  
   public void testSetOfStrings() throws Exception {
     Directory dir = getDirectory(createTempDir("testSetOfStrings"));
     

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f6253d5e/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
index f68e18c..515c0dc 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
@@ -178,12 +178,6 @@ public class MockIndexInputWrapper extends IndexInput {
   }
 
   @Override
-  public Map<String,String> readStringStringMap() throws IOException {
-    ensureOpen();
-    return delegate.readStringStringMap();
-  }
-
-  @Override
   public int readVInt() throws IOException {
     ensureOpen();
     return delegate.readVInt();
@@ -208,15 +202,21 @@ public class MockIndexInputWrapper extends IndexInput {
   }
 
   @Override
-  public Set<String> readStringSet() throws IOException {
+  public void skipBytes(long numBytes) throws IOException {
+    ensureOpen();
+    super.skipBytes(numBytes);
+  }
+
+  @Override
+  public Map<String,String> readMapOfStrings() throws IOException {
     ensureOpen();
-    return delegate.readStringSet();
+    return delegate.readMapOfStrings();
   }
 
   @Override
-  public void skipBytes(long numBytes) throws IOException {
+  public Set<String> readSetOfStrings() throws IOException {
     ensureOpen();
-    super.skipBytes(numBytes);
+    return delegate.readSetOfStrings();
   }
 
   @Override