Merge "Remove unused argument from readDictionaryBinary."
commit
85fe06e759
|
@ -500,16 +500,14 @@ public final class BinaryDictDecoderUtils {
|
|||
* Reads a buffer and returns the memory representation of the dictionary.
|
||||
*
|
||||
* This high-level method takes a buffer and reads its contents, populating a
|
||||
* FusionDictionary structure. The optional dict argument is an existing dictionary to
|
||||
* which words from the buffer should be added. If it is null, a new dictionary is created.
|
||||
* FusionDictionary structure.
|
||||
*
|
||||
* @param dictDecoder the dict decoder.
|
||||
* @param dict an optional dictionary to add words to, or null.
|
||||
* @return the created (or merged) dictionary.
|
||||
* @return the created dictionary.
|
||||
*/
|
||||
@UsedForTesting
|
||||
/* package */ static FusionDictionary readDictionaryBinary(final DictDecoder dictDecoder,
|
||||
final FusionDictionary dict) throws IOException, UnsupportedFormatException {
|
||||
/* package */ static FusionDictionary readDictionaryBinary(final DictDecoder dictDecoder)
|
||||
throws IOException, UnsupportedFormatException {
|
||||
// Read header
|
||||
final DictionaryHeader fileHeader = dictDecoder.readHeader();
|
||||
|
||||
|
@ -517,29 +515,7 @@ public final class BinaryDictDecoderUtils {
|
|||
Map<Integer, PtNode> reversePtNodeMapping = new TreeMap<Integer, PtNode>();
|
||||
final PtNodeArray root = readNodeArray(dictDecoder, fileHeader.mBodyOffset,
|
||||
reverseNodeArrayMapping, reversePtNodeMapping, fileHeader.mFormatOptions);
|
||||
|
||||
FusionDictionary newDict = new FusionDictionary(root, fileHeader.mDictionaryOptions);
|
||||
if (null != dict) {
|
||||
for (final WordProperty wordProperty : dict) {
|
||||
if (wordProperty.mIsBlacklistEntry) {
|
||||
newDict.addBlacklistEntry(wordProperty.mWord, wordProperty.mShortcutTargets,
|
||||
wordProperty.mIsNotAWord);
|
||||
} else {
|
||||
newDict.add(wordProperty.mWord, wordProperty.mProbabilityInfo,
|
||||
wordProperty.mShortcutTargets, wordProperty.mIsNotAWord);
|
||||
}
|
||||
}
|
||||
for (final WordProperty wordProperty : dict) {
|
||||
// By construction a binary dictionary may not have bigrams pointing to
|
||||
// words that are not also registered as unigrams so we don't have to avoid
|
||||
// them explicitly here.
|
||||
for (final WeightedString bigram : wordProperty.mBigrams) {
|
||||
newDict.setBigram(wordProperty.mWord, bigram.mWord, bigram.mProbabilityInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newDict;
|
||||
return new FusionDictionary(root, fileHeader.mDictionaryOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -54,17 +54,14 @@ public interface DictDecoder {
|
|||
* Reads a buffer and returns the memory representation of the dictionary.
|
||||
*
|
||||
* This high-level method takes a buffer and reads its contents, populating a
|
||||
* FusionDictionary structure. The optional dict argument is an existing dictionary to
|
||||
* which words from the buffer should be added. If it is null, a new dictionary is created.
|
||||
* FusionDictionary structure.
|
||||
*
|
||||
* @param dict an optional dictionary to add words to, or null.
|
||||
* @param deleteDictIfBroken a flag indicating whether this method should remove the broken
|
||||
* dictionary or not.
|
||||
* @return the created (or merged) dictionary.
|
||||
* @return the created dictionary.
|
||||
*/
|
||||
@UsedForTesting
|
||||
public FusionDictionary readDictionaryBinary(final FusionDictionary dict,
|
||||
final boolean deleteDictIfBroken)
|
||||
public FusionDictionary readDictionaryBinary(final boolean deleteDictIfBroken)
|
||||
throws FileNotFoundException, IOException, UnsupportedFormatException;
|
||||
|
||||
/**
|
||||
|
|
|
@ -236,14 +236,13 @@ public class Ver2DictDecoder extends AbstractDictDecoder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public FusionDictionary readDictionaryBinary(final FusionDictionary dict,
|
||||
final boolean deleteDictIfBroken)
|
||||
public FusionDictionary readDictionaryBinary(final boolean deleteDictIfBroken)
|
||||
throws FileNotFoundException, IOException, UnsupportedFormatException {
|
||||
if (mDictBuffer == null) {
|
||||
openDictBuffer();
|
||||
}
|
||||
try {
|
||||
return BinaryDictDecoderUtils.readDictionaryBinary(this, dict);
|
||||
return BinaryDictDecoderUtils.readDictionaryBinary(this);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "The dictionary " + mDictionaryBinaryFile.getName() + " is broken.", e);
|
||||
if (deleteDictIfBroken && !mDictionaryBinaryFile.delete()) {
|
||||
|
|
|
@ -56,11 +56,10 @@ public class Ver4DictDecoder extends AbstractDictDecoder {
|
|||
}
|
||||
|
||||
@Override
|
||||
public FusionDictionary readDictionaryBinary(final FusionDictionary dict,
|
||||
final boolean deleteDictIfBroken)
|
||||
public FusionDictionary readDictionaryBinary(final boolean deleteDictIfBroken)
|
||||
throws FileNotFoundException, IOException, UnsupportedFormatException {
|
||||
final DictionaryHeader header = readHeader();
|
||||
final FusionDictionary fusionDict = dict != null ? dict :
|
||||
final FusionDictionary fusionDict =
|
||||
new FusionDictionary(new FusionDictionary.PtNodeArray(), header.mDictionaryOptions);
|
||||
int token = 0;
|
||||
final ArrayList<WordProperty> wordProperties = CollectionUtils.newArrayList();
|
||||
|
|
|
@ -152,8 +152,8 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
|
|||
|
||||
final DictDecoder dictDecoder = FormatSpec.getDictDecoder(dictFile);
|
||||
try {
|
||||
final FusionDictionary dict = dictDecoder.readDictionaryBinary(null,
|
||||
false /* deleteDictIfBroken */);
|
||||
final FusionDictionary dict =
|
||||
dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
|
||||
PtNode ptNode = FusionDictionary.findWordInTree(dict.mRootNodeArray, "a");
|
||||
assertNotNull(ptNode);
|
||||
assertTrue(ptNode.isTerminal());
|
||||
|
|
|
@ -252,7 +252,7 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
|
|||
try {
|
||||
final DictDecoder dictDecoder = FormatSpec.getDictDecoder(file, bufferType);
|
||||
now = System.currentTimeMillis();
|
||||
dict = dictDecoder.readDictionaryBinary(null, false /* deleteDictIfBroken */);
|
||||
dict = dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
|
||||
diff = System.currentTimeMillis() - now;
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "IOException while reading dictionary", e);
|
||||
|
|
|
@ -198,7 +198,7 @@ public final class BinaryDictOffdeviceUtils {
|
|||
System.out.println("Packaging : " + decodedSpec.describeChain());
|
||||
System.out.println("Uncompressed size : " + decodedSpec.mFile.length());
|
||||
}
|
||||
return dictDecoder.readDictionaryBinary(null, false /* deleteDictIfBroken */);
|
||||
return dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
|
|
@ -265,7 +265,7 @@ public class DictionaryMaker {
|
|||
throws FileNotFoundException, IOException, UnsupportedFormatException {
|
||||
final File file = new File(binaryFilename);
|
||||
final DictDecoder dictDecoder = FormatSpec.getDictDecoder(file);
|
||||
return dictDecoder.readDictionaryBinary(null, false /* deleteDictIfBroken */);
|
||||
return dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -78,9 +78,8 @@ public class BinaryDictOffdeviceUtilsTests extends TestCase {
|
|||
}
|
||||
assertEquals("Wrong decode spec", 3, decodeSpec.mDecoderSpec.size());
|
||||
final DictDecoder dictDecoder = FormatSpec.getDictDecoder(decodeSpec.mFile);
|
||||
final FusionDictionary resultDict = dictDecoder.readDictionaryBinary(
|
||||
null /* dict : an optional dictionary to add words to, or null */,
|
||||
false /* deleteDictIfBroken */);
|
||||
final FusionDictionary resultDict =
|
||||
dictDecoder.readDictionaryBinary(false /* deleteDictIfBroken */);
|
||||
assertEquals("Wrong version attribute", VERSION, resultDict.mOptions.mAttributes.get(
|
||||
DictionaryHeader.DICTIONARY_VERSION_KEY));
|
||||
assertEquals("Wrong locale attribute", LOCALE, resultDict.mOptions.mAttributes.get(
|
||||
|
|
Loading…
Reference in New Issue