diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java index e91dc36b417..5bd456bbc43 100644 --- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java +++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/MappingCharFilter.java @@ -59,7 +59,7 @@ public class MappingCharFilter extends BaseCharFilter { cachedRootArcs = normMap.cachedRootArcs; if (map != null) { - fstReader = map.getBytesReader(0); + fstReader = map.getBytesReader(); } else { fstReader = null; } diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java index c22203a76a4..9203784101c 100644 --- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java +++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/charfilter/NormalizeCharMap.java @@ -49,7 +49,7 @@ public class NormalizeCharMap { try { // Pre-cache root arcs: final FST.Arc scratchArc = new FST.Arc(); - final FST.BytesReader fstReader = map.getBytesReader(0); + final FST.BytesReader fstReader = map.getBytesReader(); map.getFirstArc(scratchArc); if (FST.targetHasArcs(scratchArc)) { map.readFirstRealTargetArc(scratchArc.target, scratchArc, fstReader); diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java index 2267ce2007c..bd871ea6646 100644 --- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java +++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SynonymFilter.java @@ -263,7 +263,7 @@ public final class SynonymFilter extends TokenFilter { this.synonyms = synonyms; this.ignoreCase = ignoreCase; this.fst = synonyms.fst; - this.fstReader = fst.getBytesReader(0); + this.fstReader = fst.getBytesReader(); if (fst == null) { throw new IllegalArgumentException("fst must be non-null"); } diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java index b03c80effc8..de203b9c449 100644 --- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java +++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/JapaneseTokenizer.java @@ -201,10 +201,10 @@ public final class JapaneseTokenizer extends Tokenizer { characterDefinition = unkDictionary.getCharacterDefinition(); this.userDictionary = userDictionary; costs = ConnectionCosts.getInstance(); - fstReader = fst.getBytesReader(0); + fstReader = fst.getBytesReader(); if (userDictionary != null) { userFST = userDictionary.getFST(); - userFSTReader = userFST.getBytesReader(0); + userFSTReader = userFST.getBytesReader(); } else { userFST = null; userFSTReader = null; diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java index e7c20da60e8..c386910044c 100644 --- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java +++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/TokenInfoFST.java @@ -54,7 +54,7 @@ public final class TokenInfoFST { FST.Arc firstArc = new FST.Arc(); fst.getFirstArc(firstArc); FST.Arc arc = new FST.Arc(); - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); // TODO: jump to 3040, readNextRealArc to ceiling? (just be careful we don't add bugs) for (int i = 0; i < rootCache.length; i++) { if (fst.findTargetArc(0x3040 + i, firstArc, arc, fstReader) != null) { @@ -83,8 +83,8 @@ public final class TokenInfoFST { return fst.getFirstArc(arc); } - public FST.BytesReader getBytesReader(int pos) { - return fst.getBytesReader(pos); + public FST.BytesReader getBytesReader() { + return fst.getBytesReader(); } /** @lucene.internal for testing only */ diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java index ba23f53c933..3ff5e64a01a 100644 --- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java +++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/dict/UserDictionary.java @@ -139,7 +139,7 @@ public final class UserDictionary implements Dictionary { TreeMap result = new TreeMap(); // index, [length, length...] boolean found = false; // true if we found any results - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); FST.Arc arc = new FST.Arc(); int end = off + len; diff --git a/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java index 5c8718e6937..32324bb0890 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java @@ -833,7 +833,7 @@ public class BlockTreeTermsReader extends FieldsProducer { if (index == null) { fstReader = null; } else { - fstReader = index.getBytesReader(0); + fstReader = index.getBytesReader(); } // TODO: if the automaton is "smallish" we really @@ -1277,7 +1277,7 @@ public class BlockTreeTermsReader extends FieldsProducer { if (index == null) { fstReader = null; } else { - fstReader = index.getBytesReader(0); + fstReader = index.getBytesReader(); } // Init w/ root block; don't use index since it may diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java index 7e8f7b2087f..e5c45a97f6d 100644 --- a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java +++ b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java @@ -417,7 +417,7 @@ public final class FST { cachedRootArcs = (Arc[]) new Arc[0x80]; final Arc arc = new Arc(); getFirstArc(arc); - final BytesReader in = getBytesReader(0); + final BytesReader in = getBytesReader(); if (targetHasArcs(arc)) { readFirstRealTargetArc(arc.target, arc, in); while(true) { @@ -1246,22 +1246,12 @@ public final class FST { /** Returns a {@link BytesReader} for this FST, positioned at * position 0. */ public BytesReader getBytesReader() { - return getBytesReader(0); - } - - /** Returns a {@link BytesReader} for this FST, positioned at - * the provided position. */ - public BytesReader getBytesReader(long pos) { - // TODO: maybe re-use via ThreadLocal? BytesReader in; if (packed) { in = bytes.getForwardReader(); } else { in = bytes.getReverseReader(); } - if (pos != 0) { - in.setPosition(pos); - } return in; } @@ -1448,7 +1438,7 @@ public final class FST { Arc arc = new Arc(); - final BytesReader r = getBytesReader(0); + final BytesReader r = getBytesReader(); final int topN = Math.min(maxDerefNodes, inCounts.size()); diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java b/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java index 13be2f1c5ba..ea0c68d8f85 100644 --- a/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java +++ b/lucene/core/src/java/org/apache/lucene/util/fst/FSTEnum.java @@ -46,7 +46,7 @@ abstract class FSTEnum { * term before target. */ protected FSTEnum(FST fst) { this.fst = fst; - fstReader = fst.getBytesReader(0); + fstReader = fst.getBytesReader(); NO_OUTPUT = fst.outputs.getNoOutput(); fst.getFirstArc(getArc(0)); output[0] = NO_OUTPUT; @@ -145,7 +145,7 @@ abstract class FSTEnum { // Arcs are fixed array -- use binary search to find // the target. - final FST.BytesReader in = fst.getBytesReader(0); + final FST.BytesReader in = fst.getBytesReader(); int low = arc.arcIdx; int high = arc.numArcs-1; int mid = 0; @@ -284,7 +284,7 @@ abstract class FSTEnum { // Arcs are fixed array -- use binary search to find // the target. - final FST.BytesReader in = fst.getBytesReader(0); + final FST.BytesReader in = fst.getBytesReader(); int low = arc.arcIdx; int high = arc.numArcs-1; int mid = 0; @@ -434,7 +434,7 @@ abstract class FSTEnum { FST.Arc arc = getArc(upto-1); int targetLabel = getTargetLabel(); - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); while(true) { //System.out.println(" cycle target=" + (targetLabel == -1 ? "-1" : (char) targetLabel)); diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/Util.java b/lucene/core/src/java/org/apache/lucene/util/fst/Util.java index b67165174af..9eed4b8eb56 100644 --- a/lucene/core/src/java/org/apache/lucene/util/fst/Util.java +++ b/lucene/core/src/java/org/apache/lucene/util/fst/Util.java @@ -39,7 +39,7 @@ public final class Util { // TODO: would be nice not to alloc this on every lookup final FST.Arc arc = fst.getFirstArc(new FST.Arc()); - final BytesReader fstReader = fst.getBytesReader(0); + final BytesReader fstReader = fst.getBytesReader(); // Accumulate output as we go T output = fst.outputs.getNoOutput(); @@ -64,7 +64,7 @@ public final class Util { public static T get(FST fst, BytesRef input) throws IOException { assert fst.inputType == FST.INPUT_TYPE.BYTE1; - final BytesReader fstReader = fst.getBytesReader(0); + final BytesReader fstReader = fst.getBytesReader(); // TODO: would be nice not to alloc this on every lookup final FST.Arc arc = fst.getFirstArc(new FST.Arc()); @@ -101,7 +101,7 @@ public final class Util { * fit this. */ public static IntsRef getByOutput(FST fst, long targetOutput) throws IOException { - final BytesReader in = fst.getBytesReader(0); + final BytesReader in = fst.getBytesReader(); // TODO: would be nice not to alloc this on every lookup FST.Arc arc = fst.getFirstArc(new FST.Arc()); @@ -285,7 +285,7 @@ public final class Util { public TopNSearcher(FST fst, int topN, int maxQueueDepth, Comparator comparator) { this.fst = fst; - this.bytesReader = fst.getBytesReader(0); + this.bytesReader = fst.getBytesReader(); this.topN = topN; this.maxQueueDepth = maxQueueDepth; this.comparator = comparator; @@ -374,7 +374,7 @@ public final class Util { //System.out.println("search topN=" + topN); - final BytesReader fstReader = fst.getBytesReader(0); + final BytesReader fstReader = fst.getBytesReader(); final T NO_OUTPUT = fst.outputs.getNoOutput(); // TODO: we could enable FST to sorting arcs by weight @@ -597,7 +597,7 @@ public final class Util { emitDotState(out, "initial", "point", "white", ""); final T NO_OUTPUT = fst.outputs.getNoOutput(); - final BytesReader r = fst.getBytesReader(0); + final BytesReader r = fst.getBytesReader(); // final FST.Arc scratchArc = new FST.Arc(); diff --git a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java index b81b15b1a86..5e041b26a6a 100644 --- a/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java +++ b/lucene/core/src/test/org/apache/lucene/util/fst/TestFSTs.java @@ -1033,7 +1033,7 @@ public class TestFSTs extends LuceneTestCase { throws IOException { if (FST.targetHasArcs(arc)) { int childCount = 0; - BytesReader fstReader = fst.getBytesReader(0); + BytesReader fstReader = fst.getBytesReader(); for (arc = fst.readFirstTargetArc(arc, arc, fstReader);; arc = fst.readNextArc(arc, fstReader), childCount++) { @@ -1168,12 +1168,12 @@ public class TestFSTs extends LuceneTestCase { assertEquals(nothing, startArc.nextFinalOutput); FST.Arc arc = fst.readFirstTargetArc(startArc, new FST.Arc(), - fst.getBytesReader(0)); + fst.getBytesReader()); assertEquals('a', arc.label); assertEquals(17, arc.nextFinalOutput.longValue()); assertTrue(arc.isFinal()); - arc = fst.readNextArc(arc, fst.getBytesReader(0)); + arc = fst.readNextArc(arc, fst.getBytesReader()); assertEquals('b', arc.label); assertFalse(arc.isFinal()); assertEquals(42, arc.output.longValue()); @@ -1303,7 +1303,7 @@ public class TestFSTs extends LuceneTestCase { //Util.toDot(fst, w, false, false); //w.close(); - BytesReader reader = fst.getBytesReader(0); + BytesReader reader = fst.getBytesReader(); //System.out.println("testing: " + allPrefixes.size() + " prefixes"); for (String prefix : allPrefixes) { @@ -1424,7 +1424,7 @@ public class TestFSTs extends LuceneTestCase { //Util.toDot(fst, w, false, false); //w.close(); - BytesReader reader = fst.getBytesReader(0); + BytesReader reader = fst.getBytesReader(); //System.out.println("testing: " + allPrefixes.size() + " prefixes"); for (String prefix : allPrefixes) { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java index 552cfea245c..0bbbef90b07 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java @@ -587,7 +587,7 @@ public class AnalyzingSuggester extends Lookup { //System.out.println(" prefixPaths: " + prefixPaths.size()); - BytesReader bytesReader = fst.getBytesReader(0); + BytesReader bytesReader = fst.getBytesReader(); FST.Arc> scratchArc = new FST.Arc>(); diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java index 686ae3b59e8..3bb21c25a33 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FSTUtil.java @@ -77,7 +77,7 @@ public class FSTUtil { new IntsRef())); final FST.Arc scratchArc = new FST.Arc(); - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); while (queue.size() != 0) { final Path path = queue.remove(queue.size() - 1); diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java index 8d8d8b7b3a8..eea10423442 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletion.java @@ -139,7 +139,7 @@ public class FSTCompletion { try { List> rootArcs = new ArrayList>(); Arc arc = automaton.getFirstArc(new Arc()); - FST.BytesReader fstReader = automaton.getBytesReader(0); + FST.BytesReader fstReader = automaton.getBytesReader(); automaton.readFirstTargetArc(arc, arc, fstReader); while (true) { rootArcs.add(new Arc().copyFrom(arc)); @@ -173,7 +173,7 @@ public class FSTCompletion { // Get the UTF-8 bytes representation of the input key. try { final FST.Arc scratch = new FST.Arc(); - FST.BytesReader fstReader = automaton.getBytesReader(0); + FST.BytesReader fstReader = automaton.getBytesReader(); for (; rootArcIndex < rootArcs.length; rootArcIndex++) { final FST.Arc rootArc = rootArcs[rootArcIndex]; final FST.Arc arc = scratch.copyFrom(rootArc); @@ -338,7 +338,7 @@ public class FSTCompletion { final int max = utf8.offset + utf8.length; // Cannot save as instance var since multiple threads // can use FSTCompletion at once... - final FST.BytesReader fstReader = automaton.getBytesReader(0); + final FST.BytesReader fstReader = automaton.getBytesReader(); for (int i = utf8.offset; i < max; i++) { if (automaton.findTargetArc(utf8.bytes[i] & 0xff, arc, arc, fstReader) == null) { // No matching prefixes, return an empty result. @@ -362,7 +362,7 @@ public class FSTCompletion { } assert output.offset == 0; output.bytes[output.length++] = (byte) arc.label; - FST.BytesReader fstReader = automaton.getBytesReader(0); + FST.BytesReader fstReader = automaton.getBytesReader(); automaton.readFirstTargetArc(arc, arc, fstReader); while (true) { if (arc.label == FST.END_LABEL) { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java index 1a7ff36cd1c..e6d69621e0f 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java @@ -200,7 +200,7 @@ public class WFSTCompletionLookup extends Lookup { private Long lookupPrefix(BytesRef scratch, Arc arc) throws /*Bogus*/IOException { assert 0 == fst.outputs.getNoOutput().longValue(); long output = 0; - BytesReader bytesReader = fst.getBytesReader(0); + BytesReader bytesReader = fst.getBytesReader(); fst.getFirstArc(arc); diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java index 4d3924d667d..b68e97ffb2a 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java +++ b/lucene/test-framework/src/java/org/apache/lucene/util/fst/FSTTester.java @@ -204,7 +204,7 @@ public class FSTTester { final FST.Arc arc = fst.getFirstArc(new FST.Arc()); final T NO_OUTPUT = fst.outputs.getNoOutput(); T output = NO_OUTPUT; - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); for(int i=0;i<=term.length;i++) { final int label; @@ -241,7 +241,7 @@ public class FSTTester { in.offset = 0; final T NO_OUTPUT = fst.outputs.getNoOutput(); T output = NO_OUTPUT; - final FST.BytesReader fstReader = fst.getBytesReader(0); + final FST.BytesReader fstReader = fst.getBytesReader(); while(true) { // read all arcs: