浏览代码

fix jcseg code

Looly 6 年之前
父节点
当前提交
b59e0c1b4f

+ 9 - 17
hutool-extra/src/main/java/cn/hutool/extra/tokenizer/engine/jcseg/JcsegEngine.java

@@ -3,12 +3,10 @@ package cn.hutool.extra.tokenizer.engine.jcseg;
 import java.io.IOException;
 import java.io.StringReader;
 
-import org.lionsoul.jcseg.tokenizer.core.ADictionary;
-import org.lionsoul.jcseg.tokenizer.core.DictionaryFactory;
-import org.lionsoul.jcseg.tokenizer.core.ISegment;
-import org.lionsoul.jcseg.tokenizer.core.JcsegException;
-import org.lionsoul.jcseg.tokenizer.core.JcsegTaskConfig;
-import org.lionsoul.jcseg.tokenizer.core.SegmentFactory;
+import org.lionsoul.jcseg.ISegment;
+import org.lionsoul.jcseg.dic.ADictionary;
+import org.lionsoul.jcseg.dic.DictionaryFactory;
+import org.lionsoul.jcseg.segmenter.SegmenterConfig;
 
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.tokenizer.TokenizerEngine;
@@ -30,19 +28,13 @@ public class JcsegEngine implements TokenizerEngine {
 	 * 构造
 	 */
 	public JcsegEngine() {
-		// 创建JcsegTaskConfig分词配置实例,自动查找加载jcseg.properties配置项来初始化
-		JcsegTaskConfig config = new JcsegTaskConfig(true);
+		// 创建SegmenterConfig分词配置实例,自动查找加载jcseg.properties配置项来初始化
+		final SegmenterConfig config = new SegmenterConfig(true);
 		// 创建默认单例词库实现,并且按照config配置加载词库
-		ADictionary dic = DictionaryFactory.createSingletonDictionary(config);
+		final ADictionary dic = DictionaryFactory.createSingletonDictionary(config);
 
-		// 依据给定的ADictionary和JcsegTaskConfig来创建ISegment
-		try {
-			this.segment = SegmentFactory.createJcseg(//
-					JcsegTaskConfig.COMPLEX_MODE, //
-					new Object[] { config, dic });
-		} catch (JcsegException e) {
-			throw new TokenizerException(e);
-		}
+		// 依据给定的ADictionary和SegmenterConfig来创建ISegment
+		this.segment = ISegment.COMPLEX.factory.create(config, dic);
 	}
 
 	/**

+ 7 - 7
hutool-extra/src/main/java/cn/hutool/extra/tokenizer/engine/jcseg/JcsegResult.java

@@ -1,15 +1,14 @@
 package cn.hutool.extra.tokenizer.engine.jcseg;
 
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.lionsoul.jcseg.tokenizer.core.ISegment;
-import org.lionsoul.jcseg.tokenizer.core.IWord;
-
 import cn.hutool.extra.tokenizer.Result;
 import cn.hutool.extra.tokenizer.TokenizerException;
 import cn.hutool.extra.tokenizer.Word;
+import org.lionsoul.jcseg.ISegment;
+import org.lionsoul.jcseg.IWord;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
 
 /**
  * Jcseg分词结果包装<br>
@@ -64,6 +63,7 @@ public class JcsegResult implements Result{
 		throw new UnsupportedOperationException("Jcseg result not allow to remove !");
 	}
 
+	@SuppressWarnings("NullableProblems")
 	@Override
 	public Iterator<Word> iterator() {
 		return this;

+ 1 - 2
hutool-extra/src/main/java/cn/hutool/extra/tokenizer/engine/jcseg/JcsegWord.java

@@ -1,8 +1,7 @@
 package cn.hutool.extra.tokenizer.engine.jcseg;
 
-import org.lionsoul.jcseg.tokenizer.core.IWord;
-
 import cn.hutool.extra.tokenizer.Word;
+import org.lionsoul.jcseg.IWord;
 
 /**
  * Jcseg分词中的一个单词包装