@Override public void doWork() { ApplicationInterface ui = context.getApplication().getUi(); String input = context.getInput(); DictionaryManager dm = context.dictionaryManager; if (!CmdHelper.isValidOption(input)) { return; } if (input.equals(CmdHelper.CMD_0)) { Word addWord = dm.lastQuery().getWord(); dm.add(addWord); ui.showMessage(MessageHelper.t("WORD_ADDED") + addWord); context.setState(StateHelper.STATE_SEARCH); return; } if (input.equals(CmdHelper.CMD_1)) { List<Word> similarWords = dm.lastResult().getSimilarWords(); if (similarWords.isEmpty()) { ui.showMessage(MessageHelper.t("WORD_NO_SIMILAR")); context.setState(StateHelper.STATE_SEARCH); return; } { Map<String, String> options = new HashMap<>(); int optionNumber = 0; for (Iterator<Word> iter = similarWords.iterator(); iter.hasNext(); ) { options.put(String.valueOf(optionNumber++), iter.next().toString()); } context.setOptions(options); } context.setState(StateHelper.STATE_CHOSE_SIMILAR); } }
@Override public String getInvitation() { return MessageHelper.t("WORD_NOT_EXISTS"); }