📄 cdata.java
字号:
/* * @(#) CData.java 1.10 10/09/02 * * Copyright ***, All Rights Reserved. * * This software is the proprietary information of ******** * Use is subject to license terms. * */import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.JFileChooser;import javax.swing.border.*;import javax.swing.event.*;import java.io.*;import java.lang.*;import java.util.*;/** * This class is to ..... * ..... * ..... * @version 1.00 * @author Kaihua Huang */public class CData { //----------------------------------------------------------------- // // static data members // //----------------------------------------------------------------- /** * constants used by the application */ String ISIP_DEFAULT_PATH = System.getProperty("ISIP_DEVEL"); /** * constants used by the application */ public static String FILE_FILTER_DESCRIPTION_NATIVE = "ISIP network builder file *.text"; public static String FILE_FILTER_DESCRIPTION_DIGRAPH = "Sof file for isip_recognizer *.sof"; public static String FILE_FILTER_DESCRIPTION_JSGF = "JSGF file for isip_recognizer *.sof"; public static String FILE_FILTER_DESCRIPTION_BINARY = "BINARY file for isip_recognizer *.sof"; public static String FILE_FILTER_DESCRIPTION_SM = "Statistical model file for isip_recognizer *.sof"; public static String FILE_FILTER_EXTENSION_NATIVE = "text"; public static String FILE_FILTER_EXTENSION_DIGRAPH = "sof"; public static String FILE_FILTER_EXTENSION_JSGF = "sof"; public static String FILE_FILTER_EXTENSION_BINARY = "sof"; public static String FILE_FILTER_EXTENSION_SM = "sof"; // location of the converter // public static String OPTION_FILE = new String("./text/options.text"); public static String ISIP_NETWORK_CONVERTER = "isip_network_converter"; public static final String DEF_ISIP_NETWORK_CONVERTER = "isip_network_converter"; public static final String ISIP_NETWORK_CONVERTER_TAG = "isip_network_converter"; public static String DEFAULT_LM_FILE = "lm_model.sof"; public static String DEFAULT_SM_FILE = "sm_model.sof"; public static String LEVEL_TREE_ROOT_NAME = "Root"; public static String LEVEL_TREE_TOP_GRAMMAR = "sentence"; public static String LEVEL_TREE_TOP_NAME = "Word"; public static String LEVEL_TREE_DEFAULT_NAME = "New Level"; public static String SYMBOL_TYPE_NON_SPEECH = "non-speech"; public static String SYMBOL_TYPE_DUMMY = "dummy"; public static String SYMBOL_TYPE_SKIP = "skip"; public static String SYMBOL_TYPE_CONTEXT_LESS = "context-less"; public static String SYMBOL_TYPE_EXCLUDE = "exlude"; public static String SYMBOL_TYPE_ST = "ST"; /** * user interface element size constants */ public static int WORKAREA_WIDTH = 500; public static int WORKAREA_HEIGHT = 500; public static int HIGHLIGHT_WIDTH = 1; public static int MAX_RESERVED = 4; public static int VERTEX_MARGIN = 0; public static int VERTEX_WIDTH = 70; public static int VERTEX_HEIGHT = 48; /** * user interface images */ public static String START_IMAGE = new String("./images/term_img.gif"); public static String TERM_IMAGE = new String("./images/term_img.gif"); public static String NODE_IMAGE = new String("./images/node_img.gif"); public static String ABOUT_IMAGE = new String("./images/node_img.gif"); public static String START_VERTEX_NAME = new String("Start"); public static String TERM_VERTEX_NAME = new String("Stop"); public static String NODE_VERTEX_NAME = new String("Node"); /** * action commands constants */ public static final String AM_NONE = "0000"; public static final String AM_FILE_NEW = "0101"; public static final String AM_FILE_OPEN = "0102"; public static final String AM_FILE_SAVE = "0103"; public static final String AM_FILE_SAVE_AS = "0104"; public static final String AM_FILE_SAVE_ALL = "0105"; public static final String AM_FILE_CLOSE = "0106"; public static final String AM_FILE_EXIT = "0107"; public static final String AM_GRAMMAR_INSERT_START = "0201"; public static final String AM_GRAMMAR_INSERT_STOP = "0202"; public static final String AM_GRAMMAR_INSERT_NODE = "0203"; public static final String AM_GRAMMAR_INSERT_ARC = "0204"; public static final String AM_GRAMMAR_INSERT_SELF_ARC = "0205"; public static final String AM_GRAMMAR_COPY = "0206"; public static final String AM_GRAMMAR_CUT = "0207"; public static final String AM_GRAMMAR_PASTE = "0208"; public static final String AM_GRAMMAR_DELETE = "0209"; public static final String AM_GRAMMAR_COPY_GRAPH = "0210"; public static final String AM_GRAMMAR_PASTE_GRAPH = "0211"; public static final String AM_GRAMMAR_WEIGHT_GRAPH = "0212"; public static final String AM_H_ADD_LEVEL = "0301"; public static final String AM_H_DELETE_LEVEL = "0302"; public static final String AM_H_ADD_GRAPH = "0303"; public static final String AM_H_DELETE_GRAPH = "0304"; public static final String AM_H_SYMBOLS = "0305"; public static final String AM_H_CHECK_LEVEL = "0306"; public static final String AM_HELP_ABOUT = "0401"; public static final int FOCUS_NONE = 0; public static final int FOCUS_VERTEX = 1; public static final int FOCUS_ARC = 2; /** * vertex type constants */ public static final int NONE_VERTEX = -1; public static final int START_VERTEX = 0; public static final int TERM_VERTEX = 1; public static final int NODE_VERTEX = 2; public static final int START = 4; public static final int STOP = 5; public static final int CUSTOM = 6; /** * different font constants */ public static final int MAX_FONT_SIZE = 12; public static final int COEFF_FONT_SIZE = 12; public static final Font ARC_FONT = new Font("Helvetica", Font.BOLD, 10); public static final Font ARIAL_FONT = new Font("Arial", Font.PLAIN, MAX_FONT_SIZE); /** * io constants */ // search level tags // public static final String IO_CDATA_LEVEL_SIZE = "level_size"; public static final String IO_LEVEL_NAME = "_name"; public static final String IO_LEVEL_GRAPH_SIZE = "_graph_size"; public static final String IO_LEVEL_GRAPH_NAME = "_graph_name"; public static final String IO_LEVEL_SYMBOL_SIZE = "_symbol_size"; public static final String IO_LEVEL_SYMBOL = "_symbol_"; public static final String IO_LEVEL_CONTEXT_SIZE = "_context_size"; public static final String IO_LEVEL_CONTEXT = "_context_"; public static final String IO_LEVEL_NON_SPEECH_SYMBOL_SIZE = "_non_speech_symbol_size"; public static final String IO_LEVEL_NON_SPEECH_SYMBOL = "_non_speech_symbol_"; public static final String IO_LEVEL_CONTEXTLESS_SYMBOL_SIZE = "_contextless_symbol_size"; public static final String IO_LEVEL_CONTEXTLESS_SYMBOL = "_contextless_symbol_"; public static final String IO_LEVEL_DUMMY_SYMBOL_SIZE = "_dummy_symbol_size"; public static final String IO_LEVEL_DUMMY_SYMBOL = "_dummy_symbol_"; public static final String IO_LEVEL_SKIP_SYMBOL_SIZE = "_skip_symbol_size"; public static final String IO_LEVEL_SKIP_SYMBOL = "_skip_symbol_"; public static final String IO_LEVEL_EXCLUDE_SYMBOL_SIZE = "_exclude_symbol_size"; public static final String IO_LEVEL_EXCLUDE_SYMBOL = "_exclude_symbol_"; public static final String IO_LEVEL_ST_SYMBOL_SIZE = "_ST_symbol_size"; public static final String IO_LEVEL_ST_SYMBOL = "_ST_symbol_"; // graph tags // public static final String IO_DIGRAPH_VERTEX_SIZE = "_vertex_size"; public static final String IO_DIGRAPH_ARC_SIZE = "_arc_size"; // vertex tags // public static final String IO_VERTEX_SYMBOL_SIZE = "_symbol_size"; public static final String IO_VERTEX_NAME = "_name"; public static final String IO_VERTEX_TYPE = "_type"; public static final String IO_VERTEX_WIDTH = "_width"; public static final String IO_VERTEX_HEIGHT = "_height"; public static final String IO_VERTEX_LOC_X = "_loc_x"; public static final String IO_VERTEX_LOC_Y = "_loc_y"; public static final String IO_VERTEX_SYMBOL = "_S"; // arc tags // public static final String IO_ARC_FROM_ID = "_from"; public static final String IO_ARC_TO_ID = "_to"; public static final String IO_ARC_WEIGHTS = "_weight"; public static final String IO_ARC_EPSILON = "_epsilon"; public static final String IO_ARC_WIDTH = "_width"; public static final String IO_ARC_HEIGHT = "_height"; public static final String IO_ARC_LOC_X = "_loc_x"; public static final String IO_ARC_LOC_Y = "_loc_y"; // prefix tags // public static final String IO_SEARCHLEVEL_PREFIX = "L"; public static final String IO_DIGRAPH_PREFIX = "G"; public static final String IO_VERTEX_PREFIX = "V"; public static final String IO_ARC_PREFIX = "A"; // prefix tags // public static final String PREFIX_INDENT = " "; public static final String ERR_LEVEL_NO_SYMBOLS = "no symbols defined"; public static final String ERR_LEVEL_NO_GRAPHS = "no graphs defined"; public static final String ERR_GRAPH_NO_ARC = "no arc defined"; public static final String ERR_GRAPH_NO_VERTEX = "no vertex defined"; public static final String ERR_VERTEX_NO_SYMBOL = "no symbol defined"; /** * data member about i/o */ public static Properties io_d = new Properties(); /** * data members used by other classes */ public static UIMainFrame main_frame_d = null; public static Vector search_levels_d = new Vector(); public static EventHandler event_handler_d = new EventHandler(); public static WorkArea work_area_d = new WorkArea(); public static JTree level_tree_d = null; public static UISymbolDialog symbol_dlg_d = null; /** * data member about current status */ public static DiGraph curr_graph_d = null; public static int curr_level_index_d; public static int curr_graph_index_d; // language model file // public static String curr_file_d = null; public static String temp_file_d = null; public static String open_lm_file_description_d = null; public static String lm_file_description_d = null; // statistical model file // public static String curr_sm_file_d = null; // error handling // public static String error_message_d = ""; public static boolean err_flag_d = false; //----------------------------------------------------------------- // // instance data members // //----------------------------------------------------------------- //----------------------------------------------------------------- // // function members // //----------------------------------------------------------------- /** * set the environment * * @param none * @return void */ public static void setEnvironment() { EnvProperties props = new EnvProperties(); String value = props.run("ISIP_DEVEL"); //String value = System.getProperties().getProperty("ISIP_DEVEL"); //String value = System.getProperties().toString(); System.out.println("ISIP_DEVEL: " + value); if (value != "null") { String curr_path = value + "/util/speech/isip_network_builder"; OPTION_FILE = new String(curr_path + "/text/options.text"); START_IMAGE = new String(curr_path + "/images/term_img.gif"); TERM_IMAGE = new String(curr_path + "/images/term_img.gif"); NODE_IMAGE = new String( curr_path + "/images/node_img.gif"); ABOUT_IMAGE = new String(curr_path + "/images/node_img.gif"); } else { OPTION_FILE = new String("./text/options.text"); START_IMAGE = new String("./images/term_img.gif"); TERM_IMAGE = new String("./images/term_img.gif"); NODE_IMAGE = new String("./images/node_img.gif"); ABOUT_IMAGE = new String("./images/node_img.gif"); } } /** * init the global data * * @param none * @return void */ public static void init() { // clear main frame tags // if ( main_frame_d != null ){ main_frame_d.jTabbedPaneLeft.removeAll(); main_frame_d.level_graphs_d = new Vector(); } search_levels_d = new Vector(); curr_level_index_d = -1; curr_graph_index_d = 0; curr_graph_d = null; // set the size of vertex // ImageIcon icon = new ImageIcon(CData.START_IMAGE); VERTEX_WIDTH = icon.getIconWidth(); VERTEX_HEIGHT = icon.getIconHeight(); // check the menu // if ( main_frame_d != null ){ main_frame_d.checkMenu(); } } /** * add a new level to the search levels * * @param level_index_a the index of the added level * @return void */ public static void addLevel(int level_index_a) { // init a start level structure // SearchLevel curr_level = new SearchLevel(); SearchLevel prev_level = null; // init current level // curr_level.init(); if ( level_index_a > 0 ){ prev_level = (SearchLevel)search_levels_d.get(level_index_a - 1); curr_level.graph_names_d = (Vector)prev_level.symbols_d.clone(); curr_level.level_name_d = LEVEL_TREE_DEFAULT_NAME; curr_level.symbols_d = new Vector(); // add to the search levels // search_levels_d.add (curr_level); } else { // init a start level structure // curr_level.level_name_d = LEVEL_TREE_DEFAULT_NAME; curr_level.graph_names_d = new Vector(); curr_level.graph_names_d.add(LEVEL_TREE_TOP_GRAMMAR); curr_level.symbols_d = new Vector(); DiGraph top_graph = new DiGraph(); curr_level.graphs_d = new HashMap(); curr_level.graphs_d.put(LEVEL_TREE_TOP_GRAMMAR, top_graph); // generate a new workarea // search_levels_d.add (curr_level); } // add this level to the main frame // main_frame_d.addLevel(curr_level); // set current status // curr_level_index_d = level_index_a; curr_graph_index_d = 0; curr_graph_d = null; event_handler_d.curr_vertex_focus_d = null; } /** * add a new level to the search levels * * @param level_index_a the index of the added level * @return void */ public static void addLevel(int level_index_a, SearchLevel curr_level_a) { // add this level to the main frame // search_levels_d.add (curr_level_a); main_frame_d.addLevel(curr_level_a); // set current status // curr_level_index_d = level_index_a; curr_graph_index_d = 0; curr_graph_d = null; event_handler_d.curr_vertex_focus_d = null; } /** * get current search level * * @return void */ public static SearchLevel getCurrLevel() { // test curr_level_index_d // if ( curr_level_index_d < 0 ){ return null; } // init a start level structure // SearchLevel curr_level = (SearchLevel) search_levels_d.get(curr_level_index_d); return curr_level; } /** * get current search level * * @return void */ public static SearchLevel getLevel(int level_index_a) { // init a start level structure // SearchLevel curr_level = (SearchLevel) search_levels_d.get(level_index_a); return curr_level; } /** * convert a index vector to a string vector * * @param indices_a a vector of indices * @return a vector of string */ public static Vector indexToSymbols(Vector indices_a) { Vector symbols = new Vector(); for (int i = 0; i < indices_a.size(); i++) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -