From 9e49100f034dfc6a43a161921641762292a5b0ed Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 24 Apr 2023 10:29:19 +0800 Subject: [PATCH] fix code --- .../extra/aop/engine/jdk/package-info.java | 18 ++++++++ .../hutool/extra/aop/engine/package-info.java | 19 ++++++++ .../extra/aop/engine/spring/package-info.java | 19 ++++++++ .../hutool/extra/template/TemplateConfig.java | 1 + .../{engine => }/TemplateFactory.java | 28 +++++------ .../hutool/extra/template/TemplateUtil.java | 46 ------------------- .../template/{ => engine}/TemplateEngine.java | 5 +- .../template/engine/beetl/BeetlEngine.java | 2 +- .../template/engine/enjoy/EnjoyEngine.java | 2 +- .../engine/freemarker/FreemarkerEngine.java | 2 +- .../engine/jetbrick/JetbrickEngine.java | 2 +- .../engine/pebble/PebbleTemplateEngine.java | 2 +- .../template/engine/rythm/RythmEngine.java | 2 +- .../engine/thymeleaf/ThymeleafEngine.java | 2 +- .../engine/velocity/VelocityEngine.java | 2 +- .../extra/template/engine/wit/WitEngine.java | 2 +- .../hutool/extra/template/package-info.java | 4 ++ ...tool.extra.template.engine.TemplateEngine} | 2 + .../hutool/extra/template/JetbrickTest.java | 5 +- ...UtilTest.java => TemplateFactoryTest.java} | 31 +++++++------ .../hutool/extra/template/ThymeleafTest.java | 3 +- .../hutool/extra/template/VelocityTest.java | 3 +- 22 files changed, 113 insertions(+), 89 deletions(-) create mode 100755 hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java create mode 100755 hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java create mode 100755 hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java rename hutool-extra/src/main/java/org/dromara/hutool/extra/template/{engine => }/TemplateFactory.java (79%) delete mode 100644 hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java rename hutool-extra/src/main/java/org/dromara/hutool/extra/template/{ => engine}/TemplateEngine.java (88%) rename hutool-extra/src/main/resources/META-INF/services/{org.dromara.hutool.extra.template.TemplateEngine => org.dromara.hutool.extra.template.engine.TemplateEngine} (94%) rename hutool-extra/src/test/java/org/dromara/hutool/extra/template/{TemplateUtilTest.java => TemplateFactoryTest.java} (86%) diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java new file mode 100755 index 000000000..d78272441 --- /dev/null +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2023 looly(loolly@aliyun.com) + * Hutool is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * http://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +/** + * JDK方式切面实现,基于{@link java.lang.reflect.Proxy}封装 + * + * @author looly + */ +package org.dromara.hutool.extra.aop.engine.jdk; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java new file mode 100755 index 000000000..793282b27 --- /dev/null +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2023 looly(loolly@aliyun.com) + * Hutool is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * http://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +/** + * 切面实现引擎 + * + * @author looly + * + */ +package org.dromara.hutool.extra.aop.engine; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java new file mode 100755 index 000000000..df6ff6d2f --- /dev/null +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2023 looly(loolly@aliyun.com) + * Hutool is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * http://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +/** + * Spring-cglib切面实现 + * + * @author looly + * + */ +package org.dromara.hutool.extra.aop.engine.spring; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java index 0568a7157..7c913db24 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java @@ -17,6 +17,7 @@ import java.nio.charset.Charset; import java.util.Objects; import org.dromara.hutool.core.util.CharsetUtil; +import org.dromara.hutool.extra.template.engine.TemplateEngine; /** * 模板配置 diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java similarity index 79% rename from hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java rename to hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java index ecd25fe07..172e6fac8 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java @@ -10,19 +10,17 @@ * See the Mulan PSL v2 for more details. */ -package org.dromara.hutool.extra.template.engine; +package org.dromara.hutool.extra.template; import org.dromara.hutool.core.lang.Singleton; import org.dromara.hutool.core.reflect.ConstructorUtil; import org.dromara.hutool.core.spi.SpiUtil; import org.dromara.hutool.core.text.StrUtil; -import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; -import org.dromara.hutool.extra.template.TemplateException; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.log.StaticLog; /** - * 简单模板工厂,用于根据用户引入的模板引擎jar,自动创建对应的模板引擎对象 + * 简单模板殷勤工厂,用于根据用户引入的模板引擎jar,自动创建对应的模板引擎对象 * * @author looly */ @@ -34,8 +32,8 @@ public class TemplateFactory { * * @return 单例的TemplateEngine */ - public static TemplateEngine get(){ - return Singleton.get(TemplateEngine.class.getName(), TemplateFactory::of); + public static TemplateEngine getEngine() { + return Singleton.get(TemplateEngine.class.getName(), TemplateFactory::createEngine); } /** @@ -45,8 +43,8 @@ public class TemplateFactory { * @return {@link TemplateEngine} * @since 5.3.3 */ - public static TemplateEngine of() { - return of(new TemplateConfig()); + public static TemplateEngine createEngine() { + return createEngine(new TemplateConfig()); } /** @@ -56,7 +54,7 @@ public class TemplateFactory { * @param config 模板配置,包括编码、模板文件path等信息 * @return {@link TemplateEngine} */ - public static TemplateEngine of(final TemplateConfig config) { + public static TemplateEngine createEngine(final TemplateConfig config) { final TemplateEngine engine = doCreate(config); StaticLog.debug("Use [{}] Engine As Default.", StrUtil.removeSuffix(engine.getClass().getSimpleName(), "Engine")); return engine; @@ -72,15 +70,17 @@ public class TemplateFactory { private static TemplateEngine doCreate(final TemplateConfig config) { final Class customEngineClass = config.getCustomEngine(); final TemplateEngine engine; - if(null != customEngineClass){ + if (null != customEngineClass) { + // 自定义模板引擎 engine = ConstructorUtil.newInstance(customEngineClass); - }else{ + } else { + // SPI引擎查找 engine = SpiUtil.loadFirstAvailable(TemplateEngine.class); } - if(null != engine){ + if (null != engine) { return engine.init(config); } - throw new TemplateException("No template found !Please add one of template jar to your project !"); + throw new TemplateException("No template found! Please add one of template jar to your project !"); } } diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java deleted file mode 100644 index 6b575603f..000000000 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2023 looly(loolly@aliyun.com) - * Hutool is licensed under Mulan PSL v2. - * You can use this software according to the terms and conditions of the Mulan PSL v2. - * You may obtain a copy of Mulan PSL v2 at: - * http://license.coscl.org.cn/MulanPSL2 - * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, - * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, - * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. - * See the Mulan PSL v2 for more details. - */ - -package org.dromara.hutool.extra.template; - -import org.dromara.hutool.extra.template.engine.TemplateFactory; - -/** - * 模板工具类 - * - * @author looly - * @since 4.1.0 - */ -public class TemplateUtil { - - /** - * 根据用户引入的模板引擎jar,自动创建对应的模板引擎对象,使用默认配置
- * 推荐创建的引擎单例使用,此方法每次调用会返回新的引擎 - * - * @return {@link TemplateEngine} - * @since 4.1.11 - */ - public static TemplateEngine createEngine() { - return TemplateFactory.of(); - } - - /** - * 根据用户引入的模板引擎jar,自动创建对应的模板引擎对象
- * 推荐创建的引擎单例使用,此方法每次调用会返回新的引擎 - * - * @param config 模板配置,包括编码、模板文件path等信息 - * @return {@link TemplateEngine} - */ - public static TemplateEngine createEngine(final TemplateConfig config) { - return TemplateFactory.of(config); - } -} diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java similarity index 88% rename from hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java rename to hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java index f206a35d3..95e29e89b 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java @@ -10,7 +10,10 @@ * See the Mulan PSL v2 for more details. */ -package org.dromara.hutool.extra.template; +package org.dromara.hutool.extra.template.engine; + +import org.dromara.hutool.extra.template.Template; +import org.dromara.hutool.extra.template.TemplateConfig; /** * 引擎接口,通过实现此接口从而使用对应的模板引擎 diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java index d6c7702ec..65787235e 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java @@ -15,7 +15,7 @@ package org.dromara.hutool.extra.template.engine.beetl; import org.dromara.hutool.core.io.IORuntimeException; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.beetl.core.Configuration; import org.beetl.core.GroupTemplate; import org.beetl.core.ResourceLoader; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java index 42c31d762..db7a323b8 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java @@ -18,7 +18,7 @@ import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig.ResourceMode; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import com.jfinal.template.source.FileSourceFactory; import java.io.File; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java index 255f4f6d0..4ede005ab 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java @@ -17,7 +17,7 @@ import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.IORuntimeException; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.TemplateException; import freemarker.cache.ClassTemplateLoader; import freemarker.cache.FileTemplateLoader; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java index 49aa5da16..d347dd2d8 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java @@ -14,7 +14,7 @@ package org.dromara.hutool.extra.template.engine.jetbrick; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import jetbrick.template.JetEngine; import java.util.Properties; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java index fe18f4134..95f9f86c4 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java @@ -17,7 +17,7 @@ import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import io.pebbletemplates.pebble.PebbleEngine; import io.pebbletemplates.pebble.loader.*; import org.beetl.core.GroupTemplate; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java index 0e473962e..6c3ddf436 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java @@ -14,7 +14,7 @@ package org.dromara.hutool.extra.template.engine.rythm; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import java.util.Properties; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java index 810067377..4d1c43c5a 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java @@ -23,7 +23,7 @@ import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; /** * Thymeleaf模板引擎实现 diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java index e666793ca..5e14dd931 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java @@ -16,7 +16,7 @@ import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.apache.velocity.app.Velocity; /** diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java index 153f4846f..c7e9a85bd 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java @@ -16,7 +16,7 @@ import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.TemplateConfig; -import org.dromara.hutool.extra.template.TemplateEngine; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.TemplateException; import org.febit.wit.Engine; import org.febit.wit.exceptions.ResourceNotFoundException; diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java index 479dd8d0e..f201125ff 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java @@ -12,6 +12,10 @@ /** * 第三方模板引擎封装,提供统一的接口用于适配第三方模板引擎 + *
+ *
+ *     TemplateFactory   =》   TemplateEngine   =》   Template   =》   内容
+ * 
* * @author looly * diff --git a/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine b/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine similarity index 94% rename from hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine rename to hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine index ef2646f4a..4f8099d5e 100644 --- a/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine +++ b/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine @@ -10,6 +10,8 @@ # See the Mulan PSL v2 for more details. # +# 实现:org.dromara.hutool.extra.template.engine.TemplateEngine + org.dromara.hutool.extra.template.engine.beetl.BeetlEngine org.dromara.hutool.extra.template.engine.freemarker.FreemarkerEngine org.dromara.hutool.extra.template.engine.velocity.VelocityEngine diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java index c48b71c64..c681fcc5b 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java @@ -2,6 +2,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.text.StrUtil; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.jetbrick.JetbrickEngine; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -13,7 +14,7 @@ public class JetbrickTest { //classpath模板 final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH) .setCustomEngine(JetbrickEngine.class); - final TemplateEngine engine = TemplateUtil.createEngine(config); + final TemplateEngine engine = TemplateFactory.createEngine(config); final Template template = engine.getTemplate("jetbrick_test.jetx"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("你好,hutool", StrUtil.trim(result)); @@ -24,7 +25,7 @@ public class JetbrickTest { // 字符串模板 final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.STRING) .setCustomEngine(JetbrickEngine.class); - final TemplateEngine engine = TemplateUtil.createEngine(config); + final TemplateEngine engine = TemplateFactory.createEngine(config); final Template template = engine.getTemplate("hello,${name}"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", StrUtil.trim(result)); diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java similarity index 86% rename from hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java rename to hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java index 1a7bc22cd..d026a2d56 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java @@ -3,6 +3,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.extra.template.TemplateConfig.ResourceMode; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.beetl.BeetlEngine; import org.dromara.hutool.extra.template.engine.enjoy.EnjoyEngine; import org.dromara.hutool.extra.template.engine.freemarker.FreemarkerEngine; @@ -25,18 +26,18 @@ import java.util.Map; * @author looly * */ -public class TemplateUtilTest { +public class TemplateFactoryTest { @Test public void createEngineTest() { // 字符串模板, 默认模板引擎,此处为Beetl - TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig()); + TemplateEngine engine = TemplateFactory.createEngine(new TemplateConfig()); final Template template = engine.getTemplate("hello,${name}"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result); // classpath中获取模板 - engine = TemplateUtil.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH)); + engine = TemplateFactory.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH)); final Template template2 = engine.getTemplate("beetl_test.btl"); final String result2 = template2.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result2); @@ -60,7 +61,7 @@ public class TemplateUtilTest { @Test public void rythmEngineTest() { // 字符串模板 - final TemplateEngine engine = TemplateUtil.createEngine( + final TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(RythmEngine.class)); final Template template = engine.getTemplate("hello,@name"); final String result = template.render(Dict.of().set("name", "hutool")); @@ -75,14 +76,14 @@ public class TemplateUtilTest { @Test public void freemarkerEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.STRING).setCustomEngine(FreemarkerEngine.class)); Template template = engine.getTemplate("hello,${name}"); String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result); //ClassPath模板 - engine = TemplateUtil.createEngine( + engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(FreemarkerEngine.class)); template = engine.getTemplate("freemarker_test.ftl"); result = template.render(Dict.of().set("name", "hutool")); @@ -92,14 +93,14 @@ public class TemplateUtilTest { @Test public void velocityEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.STRING).setCustomEngine(VelocityEngine.class)); Template template = engine.getTemplate("你好,$name"); String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("你好,hutool", result); //ClassPath模板 - engine = TemplateUtil.createEngine( + engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(VelocityEngine.class)); template = engine.getTemplate("velocity_test.vtl"); result = template.render(Dict.of().set("name", "hutool")); @@ -113,7 +114,7 @@ public class TemplateUtilTest { @Test public void enjoyEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(EnjoyEngine.class)); Template template = engine.getTemplate("#(x + 123)"); String result = template.render(Dict.of().set("x", 1)); @@ -130,14 +131,14 @@ public class TemplateUtilTest { @Test public void thymeleafEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(ThymeleafEngine.class)); Template template = engine.getTemplate("

"); String result = template.render(Dict.of().set("message", "Hutool")); Assertions.assertEquals("

Hutool

", result); //ClassPath模板 - engine = TemplateUtil.createEngine( + engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(ThymeleafEngine.class)); template = engine.getTemplate("thymeleaf_test.ttl"); result = template.render(Dict.of().set("message", "Hutool")); @@ -150,13 +151,13 @@ public class TemplateUtilTest { @Test public void pebbleEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("templates").setCustomEngine(PebbleTemplateEngine.class)); + TemplateEngine engine = TemplateFactory.createEngine(new TemplateConfig("templates").setCustomEngine(PebbleTemplateEngine.class)); Template template = engine.getTemplate("

{{ message }}

"); String result = template.render(Dict.of().set("message", "Hutool")); Assertions.assertEquals("

Hutool

", result); //ClassPath模板 - engine = TemplateUtil.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(PebbleTemplateEngine.class)); + engine = TemplateFactory.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(PebbleTemplateEngine.class)); template = engine.getTemplate("pebble_test.peb"); result = template.render(Dict.of().set("name", "Hutool")); Assertions.assertEquals("hello, Hutool", result); @@ -179,7 +180,7 @@ public class TemplateUtilTest { //classpath模板 TemplateConfig config = new TemplateConfig("templates", ResourceMode.CLASSPATH) .setCustomEngine(WitEngine.class); - TemplateEngine engine = TemplateUtil.createEngine(config); + TemplateEngine engine = TemplateFactory.createEngine(config); Template template = engine.getTemplate("/wit_test.wit"); String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", StrUtil.trim(result)); @@ -187,7 +188,7 @@ public class TemplateUtilTest { // 字符串模板 config = new TemplateConfig("templates", ResourceMode.STRING) .setCustomEngine(WitEngine.class); - engine = TemplateUtil.createEngine(config); + engine = TemplateFactory.createEngine(config); template = engine.getTemplate("<%var name;%>hello,${name}"); result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", StrUtil.trim(result)); diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/ThymeleafTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/ThymeleafTest.java index 3738eaf13..61d86f2f2 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/ThymeleafTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/ThymeleafTest.java @@ -2,6 +2,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.date.DateUtil; import org.dromara.hutool.core.map.Dict; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.thymeleaf.ThymeleafEngine; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; @@ -28,7 +29,7 @@ public class ThymeleafTest { @Test @Disabled public void addDialectTest(){ - final TemplateEngine engine = TemplateUtil.createEngine(); + final TemplateEngine engine = TemplateFactory.createEngine(); if(engine instanceof ThymeleafEngine){ final org.thymeleaf.TemplateEngine rawEngine = ((ThymeleafEngine) engine).getRawEngine(); rawEngine.addDialect(new StandardDialect()); diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/VelocityTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/VelocityTest.java index 44839d808..39118381f 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/VelocityTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/VelocityTest.java @@ -2,6 +2,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.util.CharsetUtil; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.velocity.VelocityEngine; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -13,7 +14,7 @@ public class VelocityTest { final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH); config.setCustomEngine(VelocityEngine.class); config.setCharset(CharsetUtil.GBK); - final TemplateEngine engine = TemplateUtil.createEngine(config); + final TemplateEngine engine = TemplateFactory.createEngine(config); final Template template = engine.getTemplate("velocity_test_gbk.vtl"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("你好,hutool", result);