Make a makedict command for dicttool (A3)
This behaves exactly as the old makedict command. Further changes will redirect the calls to makedict to this, so as to consolidate similar code. Groundwork for Bug: 6429606 Change-Id: Ibeadbf48bec70f988a15ca36ebf5d1ce3b5b54ea
This commit is contained in:
parent
1644a3c732
commit
54e84a00fc
8 changed files with 70 additions and 11 deletions
|
@ -61,8 +61,8 @@ public class FusionDictionary implements Iterable<Word> {
|
||||||
* This represents an "attribute", that is either a bigram or a shortcut.
|
* This represents an "attribute", that is either a bigram or a shortcut.
|
||||||
*/
|
*/
|
||||||
public static class WeightedString {
|
public static class WeightedString {
|
||||||
final String mWord;
|
public final String mWord;
|
||||||
int mFrequency;
|
public int mFrequency;
|
||||||
public WeightedString(String word, int frequency) {
|
public WeightedString(String word, int frequency) {
|
||||||
mWord = word;
|
mWord = word;
|
||||||
mFrequency = frequency;
|
mFrequency = frequency;
|
||||||
|
|
|
@ -27,10 +27,10 @@ import java.util.Arrays;
|
||||||
* This is chiefly used to iterate a dictionary.
|
* This is chiefly used to iterate a dictionary.
|
||||||
*/
|
*/
|
||||||
public class Word implements Comparable<Word> {
|
public class Word implements Comparable<Word> {
|
||||||
final String mWord;
|
public final String mWord;
|
||||||
final int mFrequency;
|
public final int mFrequency;
|
||||||
final ArrayList<WeightedString> mShortcutTargets;
|
public final ArrayList<WeightedString> mShortcutTargets;
|
||||||
final ArrayList<WeightedString> mBigrams;
|
public final ArrayList<WeightedString> mBigrams;
|
||||||
|
|
||||||
private int mHashCode = 0;
|
private int mHashCode = 0;
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,16 @@
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_SRC_FILES := $(call all-java-files-under,src)
|
MAKEDICT_CORE_SOURCE_DIRECTORY := ../../java/src/com/android/inputmethod/latin/makedict
|
||||||
|
|
||||||
|
LOCAL_MAIN_SRC_FILES := $(call all-java-files-under,$(MAKEDICT_CORE_SOURCE_DIRECTORY))
|
||||||
|
LOCAL_TOOL_SRC_FILES := $(call all-java-files-under,src)
|
||||||
|
LOCAL_SRC_FILES := $(LOCAL_TOOL_SRC_FILES) \
|
||||||
|
$(filter-out $(addprefix %/, $(notdir $(LOCAL_TOOL_SRC_FILES))), $(LOCAL_MAIN_SRC_FILES)) \
|
||||||
|
$(call all-java-files-under,tests)
|
||||||
LOCAL_JAR_MANIFEST := etc/manifest.txt
|
LOCAL_JAR_MANIFEST := etc/manifest.txt
|
||||||
LOCAL_MODULE := dicttool
|
LOCAL_MODULE := dicttool
|
||||||
|
LOCAL_JAVA_LIBRARIES := junit
|
||||||
LOCAL_MODULE_TAGS := eng
|
LOCAL_MODULE_TAGS := eng
|
||||||
|
|
||||||
include $(BUILD_HOST_JAVA_LIBRARY)
|
include $(BUILD_HOST_JAVA_LIBRARY)
|
||||||
|
|
|
@ -14,7 +14,12 @@
|
||||||
* the License.
|
* the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.inputmethod.latin.makedict;
|
package com.android.inputmethod.latin.dicttool;
|
||||||
|
|
||||||
|
import com.android.inputmethod.latin.makedict.BinaryDictInputOutput;
|
||||||
|
import com.android.inputmethod.latin.makedict.FusionDictionary;
|
||||||
|
import com.android.inputmethod.latin.makedict.MakedictLog;
|
||||||
|
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
@ -102,7 +107,11 @@ public class DictionaryMaker {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayHelp() {
|
private void displayHelp() {
|
||||||
MakedictLog.i("Usage: makedict "
|
MakedictLog.i(getHelp());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getHelp() {
|
||||||
|
return "Usage: makedict "
|
||||||
+ "[-s <unigrams.xml> [-b <bigrams.xml>] [-c <shortcuts.xml>] "
|
+ "[-s <unigrams.xml> [-b <bigrams.xml>] [-c <shortcuts.xml>] "
|
||||||
+ "| -s <binary input>] [-d <binary output format version 2>] "
|
+ "| -s <binary input>] [-d <binary output format version 2>] "
|
||||||
+ "[-d1 <binary output format version 1>] [-x <xml output>] [-2]\n"
|
+ "[-d1 <binary output format version 1>] [-x <xml output>] [-2]\n"
|
||||||
|
@ -114,7 +123,7 @@ public class DictionaryMaker {
|
||||||
+ " are supported. All three can be output at the same time, but the same\n"
|
+ " are supported. All three can be output at the same time, but the same\n"
|
||||||
+ " output format cannot be specified several times. The behavior is\n"
|
+ " output format cannot be specified several times. The behavior is\n"
|
||||||
+ " unspecified if the same file is specified for input and output, or for\n"
|
+ " unspecified if the same file is specified for input and output, or for\n"
|
||||||
+ " several outputs.");
|
+ " several outputs.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public Arguments(String[] argsArray) throws IOException {
|
public Arguments(String[] argsArray) throws IOException {
|
|
@ -35,6 +35,7 @@ public class Dicttool {
|
||||||
sCommands.put("info", Info.class);
|
sCommands.put("info", Info.class);
|
||||||
sCommands.put("compress", Compress.Compressor.class);
|
sCommands.put("compress", Compress.Compressor.class);
|
||||||
sCommands.put("uncompress", Compress.Uncompressor.class);
|
sCommands.put("uncompress", Compress.Uncompressor.class);
|
||||||
|
sCommands.put("makedict", Makedict.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Command getCommandInstance(final String commandName) {
|
private static Command getCommandInstance(final String commandName) {
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2012 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||||
|
* use this file except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations under
|
||||||
|
* the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.inputmethod.latin.dicttool;
|
||||||
|
|
||||||
|
import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
|
public class Makedict extends Dicttool.Command {
|
||||||
|
public static final String COMMAND = "makedict";
|
||||||
|
|
||||||
|
public Makedict() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHelp() {
|
||||||
|
return DictionaryMaker.Arguments.getHelp();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() throws FileNotFoundException, IOException, ParserConfigurationException,
|
||||||
|
SAXException, UnsupportedFormatException {
|
||||||
|
DictionaryMaker.main(mArgs);
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,11 +14,13 @@
|
||||||
* the License.
|
* the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.inputmethod.latin.makedict;
|
package com.android.inputmethod.latin.dicttool;
|
||||||
|
|
||||||
|
import com.android.inputmethod.latin.makedict.FusionDictionary;
|
||||||
import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions;
|
import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions;
|
||||||
import com.android.inputmethod.latin.makedict.FusionDictionary.Node;
|
import com.android.inputmethod.latin.makedict.FusionDictionary.Node;
|
||||||
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
|
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
|
||||||
|
import com.android.inputmethod.latin.makedict.Word;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
Loading…
Reference in a new issue