|
|
@@ -1,11 +1,15 @@
|
|
|
package cn.seecoder.fdroidrepository.WordCheck;
|
|
|
|
|
|
+import cn.seecoder.fdroidrepository.Utils.SensitiveWordUtils;
|
|
|
import cn.seecoder.fdroidrepository.WordCheck.interfaces.IWordCheck;
|
|
|
import cn.seecoder.fdroidrepository.WordCheck.interfaces.IWordFormat;
|
|
|
+import cn.seecoder.fdroidrepository.WordCheck.interfaces.IWordIgnore;
|
|
|
import cn.seecoder.fdroidrepository.WordCheck.support.check.WordCheckDefault;
|
|
|
import cn.seecoder.fdroidrepository.WordCheck.support.data.WordTree;
|
|
|
import cn.seecoder.fdroidrepository.WordCheck.support.format.WordFormatDefault;
|
|
|
+import cn.seecoder.fdroidrepository.WordCheck.support.ignore.WordIgnoreDefault;
|
|
|
import com.github.houbb.heaven.util.io.StreamUtil;
|
|
|
+import com.github.houbb.heaven.util.lang.StringUtil;
|
|
|
import lombok.Data;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -17,22 +21,39 @@ import java.util.List;
|
|
|
public class WordCheckConfig {
|
|
|
private IWordFormat wordFormat;
|
|
|
private IWordCheck wordCheck;
|
|
|
+ private IWordIgnore wordIgnore;
|
|
|
private WordTree wordTree;
|
|
|
+ private WordTree htmlTagTree;
|
|
|
|
|
|
public static WordCheckConfig init() {
|
|
|
WordCheckConfig instance = new WordCheckConfig();
|
|
|
|
|
|
instance.wordFormat = WordFormatDefault.getInstance();
|
|
|
instance.wordCheck = WordCheckDefault.getInstance();
|
|
|
+ instance.wordIgnore = WordIgnoreDefault.getInstance();
|
|
|
|
|
|
/**
|
|
|
* 字典树的初始化
|
|
|
*/
|
|
|
- List<String> words = StreamUtil.readAllLines("/sensitive/dic.txt");
|
|
|
- words.addAll(StreamUtil.readAllLines("/sensitive/dic_en.txt"));
|
|
|
+// List<String> words = StreamUtil.readAllLines("/sensitive/dic.txt");
|
|
|
+// words.addAll(StreamUtil.readAllLines("/sensitive/dic_en.txt"));
|
|
|
instance.wordTree = new WordTree();
|
|
|
- instance.wordTree.init(words);
|
|
|
+ instance.wordTree.init(SensitiveWordUtils.getSensitiveWords());
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Html标签字典树初始化
|
|
|
+ */
|
|
|
+ List<String> tags = StreamUtil.readAllLines("/sensitive/dic_html.txt");
|
|
|
+ instance.htmlTagTree = new WordTree();
|
|
|
+ instance.htmlTagTree.init(tags);
|
|
|
|
|
|
return instance;
|
|
|
}
|
|
|
+
|
|
|
+ public void addSensitiveWord(String word) {
|
|
|
+ if (StringUtil.isEmpty(word)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.wordTree.addNode(word);
|
|
|
+ }
|
|
|
}
|