/** * Called by rules that require a translation of their messages. */ public Rule(ResourceBundle messages) { this.messages = messages; if (messages != null) { setCategory(Categories.MISC.getCategory(messages)); // the default, sub classes may overwrite this } else { setCategory(new Category(CategoryIds.MISC, "Miscellaneous")); } }
public AbstractSimpleReplaceRule(ResourceBundle messages) { super.setCategory(Categories.MISC.getCategory(messages)); }
public AbstractPunctuationCheckRule(ResourceBundle messages) { super(messages); super.setCategory(Categories.PUNCTUATION.getCategory(messages)); }
public AbstractSpaceBeforeRule(ResourceBundle messages, Language language) { super.setCategory(Categories.MISC.getCategory(messages)); }
public DoublePunctuationRule(ResourceBundle messages) { super(messages); super.setCategory(Categories.PUNCTUATION.getCategory(messages)); setLocQualityIssueType(ITSIssueType.Typographical); }
public WordRepeatRule(ResourceBundle messages, Language language) { super(messages); super.setCategory(Categories.MISC.getCategory(messages)); setLocQualityIssueType(ITSIssueType.Duplication); }
public WhitespaceBeforePunctuationRule(ResourceBundle messages) { super(messages); super.setCategory(Categories.TYPOGRAPHY.getCategory(messages)); setLocQualityIssueType(ITSIssueType.Whitespace); }
/** * @since 3.0 */ public AbstractCompoundRule(ResourceBundle messages, String withHyphenMessage, String withoutHyphenMessage, String withOrWithoutHyphenMessage, String shortMessage) throws IOException { super.setCategory(Categories.MISC.getCategory(messages)); this.withHyphenMessage = withHyphenMessage; this.withoutHyphenMessage = withoutHyphenMessage; this.withOrWithoutHyphenMessage = withOrWithoutHyphenMessage; this.shortDesc = shortMessage; setLocQualityIssueType(ITSIssueType.Misspelling); }
public AdvancedWordRepeatRule(ResourceBundle messages) { super.setCategory(Categories.MISC.getCategory(messages)); setDefaultOff(); setLocQualityIssueType(ITSIssueType.Style); }
/** @since 3.3 */ public CommaWhitespaceRule(ResourceBundle messages, IncorrectExample incorrectExample, CorrectExample correctExample) { super(messages); super.setCategory(Categories.TYPOGRAPHY.getCategory(messages)); setLocQualityIssueType(ITSIssueType.Whitespace); if (incorrectExample != null && correctExample != null) { addExamplePair(incorrectExample, correctExample); } }
public AbstractSimpleReplaceRule2(ResourceBundle messages, Language language) throws IOException { super(messages); this.language = Objects.requireNonNull(language); super.setCategory(Categories.MISC.getCategory(messages)); wrongWords = loadWords(JLanguageTool.getDataBroker().getFromRulesDirAsStream(getFileName())); }
public WhiteSpaceAtBeginOfParagraph(ResourceBundle messages, boolean defaultActive) { super(messages); super.setCategory(Categories.STYLE.getCategory(messages)); if (!defaultActive) { setDefaultOff(); } setOfficeDefaultOn(); setLocQualityIssueType(ITSIssueType.Style); }
public NeuralNetworkRule(ResourceBundle messages, Language language, ScoredConfusionSet confusionSet, Classifier classifier) { super(messages); super.setCategory(Categories.TYPOS.getCategory(messages)); this.subjects = confusionSet.getConfusionTokens(); this.descriptions = confusionSet.getTokenDescriptions(); this.minScore = confusionSet.getScore(); this.classifier = classifier; this.id = createId(language); }
/** * @since 4.2 */ public LongSentenceRule(ResourceBundle messages, UserConfig userConfig, int defaultWords, boolean defaultActive) { super(messages); super.setCategory(Categories.STYLE.getCategory(messages)); if (!defaultActive) { setDefaultOff(); } if(defaultWords > 0) { this.maxWords = defaultWords; } if (userConfig != null) { int confWords = userConfig.getConfigValueByID(getId()); if(confWords > 0) { this.maxWords = confWords; } } setLocQualityIssueType(ITSIssueType.Style); }
public WrongWordInContextRule(ResourceBundle messages) { super.setCategory(new Category(CategoryIds.CONFUSED_WORDS, getCategoryString())); contextWordsSet = loadContextWords(JLanguageTool.getDataBroker().getFromRulesDirAsStream(getFilename())); setLocQualityIssueType(ITSIssueType.Misspelling); }
@Test public void testRuleMatchesToXMLWithCategory() throws IOException { List<RuleMatch> matches = new ArrayList<>(); String text = "This is a test sentence."; List<PatternToken> patternTokens = Collections.emptyList(); Rule patternRule = new PatternRule("MY_ID", LANG, patternTokens, "my description", "my message", "short message"); patternRule.setCategory(new Category(new CategoryId("TEST_ID"), "MyCategory")); RuleMatch match = new RuleMatch(patternRule, null, 8, 10, "myMessage"); match.setColumn(99); match.setEndColumn(100); match.setLine(44); match.setEndLine(45); matches.add(match); String xml = SERIALIZER.ruleMatchesToXml(matches, text, 5, LANG, LANG); assertTrue(xml.contains(">\n" + "<error fromy=\"44\" fromx=\"98\" toy=\"45\" tox=\"99\" ruleId=\"MY_ID\" msg=\"myMessage\" " + "replacements=\"\" context=\"...s is a test ...\" contextoffset=\"8\" offset=\"8\" errorlength=\"2\" category=\"MyCategory\" " + "categoryid=\"TEST_ID\" locqualityissuetype=\"uncategorized\"/>\n" + "</matches>\n")); patternRule.setCategory(new Category(new CategoryId("CAT_ID"), "MyCategory")); RuleMatch match2 = new RuleMatch(patternRule, null, 8, 10, "myMessage"); String xml2 = SERIALIZER.ruleMatchesToXml(Collections.singletonList(match2), text, 5, LANG, LANG); assertTrue(xml2.contains("category=\"MyCategory\"")); assertTrue(xml2.contains("categoryid=\"CAT_ID\"")); }
public NeuralNetworkRule(ResourceBundle messages, Language language, ScoredConfusionSet confusionSet, Word2VecModel word2VecModel) throws IOException { super(messages); super.setCategory(Categories.TYPOS.getCategory(messages)); this.subjects = confusionSet.getConfusionTokens(); this.descriptions = confusionSet.getTokenDescriptions(); this.minScore = confusionSet.getScore(); try { InputStream W1Stream = streamFor(word2VecModel.getPath(), "W_fc1.txt"); InputStream b1Stream = streamFor(word2VecModel.getPath(), "b_fc1.txt"); Classifier tmpClassifier; try { InputStream W2Stream = streamFor(word2VecModel.getPath(), "W_fc2.txt"); InputStream b2Stream = streamFor(word2VecModel.getPath(), "b_fc2.txt"); //System.out.println("deep rule for " + confusionSet.toString()); tmpClassifier = new TwoLayerClassifier(word2VecModel.getEmbedding(), W1Stream, b1Stream, W2Stream, b2Stream); } catch (FileNotFoundException e) { tmpClassifier = new SingleLayerClassifier(word2VecModel.getEmbedding(), W1Stream, b1Stream); } classifier = tmpClassifier; } catch (FileNotFoundException e) { throw new IOException("Weights for confusion set " + confusionSet.toString() + " are missing", e); } this.id = createId(language); }
public ProhibitedCompoundRule(ResourceBundle messages, LanguageModel lm) { this.lm = (BaseLanguageModel) Objects.requireNonNull(lm); super.setCategory(Categories.TYPOS.getCategory(messages)); this.ahoCorasickDoubleArrayTrie = prohibitedCompoundRuleSearcher; this.pairMap = prohibitedCompoundRulePairMap; }
public DoublePunctuationRule(ResourceBundle messages) { super(messages); super.setCategory(Categories.PUNCTUATION.getCategory(messages)); setLocQualityIssueType(ITSIssueType.Typographical); }
public AdvancedWordRepeatRule(ResourceBundle messages) { super.setCategory(Categories.MISC.getCategory(messages)); setDefaultOff(); setLocQualityIssueType(ITSIssueType.Style); }