3 Star 30 Fork 13

tenmg / dsl

2024-04-19 18:44
7920102 tenmg 1616488730 tenmg

问题修复

  • 修复多层动态脚本嵌套时,当内层嵌套多个同层级的动态脚本时,存在解析参数错误的问题。例如:第1层嵌套第二层动态脚本A和B(A在前B在后),解析时如果动态脚本第一层及嵌套的A和B中所有参数均有效时,解析得到的参数集只有第1层和第二层B的参数,实际上也应包含A的参数。

优化改进

  • PlaintextParamsParser 增加对 java.lang.Number 和 java.lang.Boolean 类型参数解析;
  • PlaceHolderUtils.replace 方法增加替换策略。
2024-02-03 20:47
7920102 tenmg 1616488730 tenmg

问题修复

  • 修复在非嵌套的动态片段中含有多个参数,且参数值既有值为 null 也有值为非 null 的情况时,DSLUtils.parse 方法解析得到 NamedScript 对象中参数 params 为非 null 参数集的问题。而实际上应该是得到不包含任何参数的空参数集。
  • 修复含有嵌套动态片段的脚本,解析得到参数集有误的问题。

优化改进

  • DateUtilsDecimalUtils 增加缓存,提升效率。
最后提交信息为: 优化代码
2023-11-10 09:25
7920102 tenmg 1616488730 tenmg

升级junit-jupiter至5.10.0,junit-platform-launcher至1.10.0

2023-09-01 11:36
7920102 tenmg 1616488730 tenmg

优化改进

  • 调整 DecimalUtils.parse(obj, pattern)obj 不是 String 类型的转换发生异常时抛出的异常类型(由错误的 DateFormatException 改为 NumberParseException)。
最后提交信息为: update README.md.
2023-08-04 16:51
7920102 tenmg 1616488730 tenmg

新增特性:

  • 增加代码执行引擎接口,提供 JavaScript 和 Beanshell 代码执行引擎实现类,并重构宏的实现;
  • 对 ObjectUtils 涉及 JDK 废弃代码端进行重构,以适应更高版本的 JDK 。

问题修复:

  • 修复“.”和“[]”参数访问符无法使用的问题。
最后提交信息为: update README.md.
2023-07-13 13:31
7920102 tenmg 1616488730 tenmg

问题修复:

  • 修复 MapUtils.MapBuilderputAll(Map<K, V> map)build(Map<K, V> map) 方法的问题。

新增特性:

  • 重构了 MapUtils.MapBuilder, 增加了一系列实用方法,并通过泛型调整了 build 方法的返回类型,使得返回类型更精确。

其他内容:

  • junit-jupiter 升级至 5.9.3;
  • junit-platform-launcher 升级至 1.9.3
最后提交信息为: 完善注释
2023-05-19 16:41
7920102 tenmg 1616488730 tenmg

问题修复:

  • 修复 DSLUtils.toScript 方法未能正确识别多行注释结束符的问题。

新增特性:

  • 公开 DSLUtils 判断注释的方法。
2023-05-11 10:37
7920102 tenmg 1616488730 tenmg

新增特性:

  • DSLUtils 增加 convert 方法,用于执行对 Map类型参数的浅层转换;
  • DSLUtils 增加 filter 方法,用于执行对 Map 类型参数的浅层过滤。
最后提交信息为: 升级junit
2023-02-09 14:10
7920102 tenmg 1616488730 tenmg

新增特性:

  • MapUtils 增加了一些方法。

优化改进:

  • 完善了文档和测试用例
最后提交信息为: 更新pom.xml
2023-01-20 18:31
7920102 tenmg 1616488730 tenmg

新增特性:

  1. ToStringParamsConverter 支持 formatter 属性,当参数值为 java.lang.Number``、java.util.Datejava.util.Calendar 的实例时,可通过指定格式模板将对象格式化为字符串。如 #,###.00yyyy-MM-dd HH:mm:ss 等。

优化改进:

  1. 修复因大幅调整结构和优化代码导致的参数解析错误问题;
  2. 修复参数值为 null 未被 Blank 过滤的问题;
  3. 优化了过滤器的属性访问控制符并优化比较过滤器比较值的类型,并支持参数值为 null 的等值比较;
  4. 修复形如 #[:param] 的脚本当参数 param 不存在或值为 null 时,解析未将该动态片段去除的问题;
  5. 修复 ToStringParamsConverter 永远返回 null 的问题。
最后提交信息为: update README.md.
2023-01-12 22:23
7920102 tenmg 1616488730 tenmg

新增特性:

  1. 重构了宏接口,开始支持全新的上下文接口,可通过自定义上下文实现对自定义宏的全局参数传递和内容回写;
  2. 开始支持参数转换器和参数过滤器,并提供了一系列常用的实现,以便统一制定规则对用户的输入进行类型转换、内容变换以及过滤一些无效输入;

优化改进:

  1. DSLContext 改为 ConfigUtils,新的 DSLContext 外移到主包,成为新的上下文接口;
  2. 优化了布尔型的对象属性获取。
最后提交信息为: 移除废弃代码
2022-12-29 22:52
7920102 tenmg 1616488730 tenmg

新增特性:

  1. 配置支持占位符 ${key},支持缺省值表达式 ${key:default}
  2. DSLUtils 增加 NamedScript parse(String dsl, Map<String, Object> context, Map<String, Object> params) 方法;
  3. DSLUtils 增加 NamedScript parse(String dsl, Map<String, Object> context, Object... params) 方法;
  4. ObjectUtils 支持深度子孙属性获取(getVlaue 方法);
  5. ObjectUtils 支持深度子孙属性设置(setVlaue 方法),孙属性的父属性为 null 情况下自动调用无参构造方式实例化父属性。
  6. ObjectUtils 支持获取对象字段类型(getFieldType 方法),类型的优先顺序为setter方法的参数类型 > 字段类型。

优化改进:

  1. 废弃 ParamsUtils,使用 ObjectUtils 替代。
最后提交信息为: 优化代码
2022-10-17 12:50
7920102 tenmg 1616488730 tenmg

PropertiesLoaderUtils 增加 InputStream 关闭代码

最后提交信息为: 增加InputStream关闭代码
2022-05-24 13:28
7920102 tenmg 1616488730 tenmg

宏的excute方法名更正为execute

最后提交信息为: excute方法更正为execute
2022-01-27 18:25
7920102 tenmg 1616488730 tenmg

去除DSLContext中不必要的异常信息输出

最后提交信息为: 优化代码
2022-01-27 18:11
7920102 tenmg 1616488730 tenmg
  1. 修复StringUtils.toCamelCase的问题;
  2. 修复宏解析的问题。
2022-01-27 16:13
7920102 tenmg 1616488730 tenmg

修复StringUtils.toCamelCase的问题

最后提交信息为: 修复StringUtils.toCamelCase的BUG
2022-01-04 16:42
7920102 tenmg 1616488730 tenmg

开始支持注解扫描模式注入自定义宏

最后提交信息为: update README.md.
2021-12-03 13:44
7920102 tenmg 1616488730 tenmg
  1. 开始支持动态片段前缀、后缀自定义配置;
  2. 开支持参数前缀自定义配置;
  3. 开始支持扩展或覆盖宏的实现。
最后提交信息为: Update author
2021-11-16 12:45
7920102 tenmg 1616488730 tenmg
  1. 开始支持通过“#pramaName”实现直接嵌入参数字符串;
  2. 开始支持通过“.”操作符访问对象属性,例如:staff.name#staff.age;
  3. 开始支持通过操作符“[index]”访问数组或集合的第index个元素,例如:array[0];
  4. 开始支持通过操作符“[key]”访问查找表键为key的元素,例如#map[key]
最后提交信息为: 增加判空
Java
1
https://gitee.com/tenmg/dsl.git
git@gitee.com:tenmg/dsl.git
tenmg
dsl
dsl

搜索帮助

53164aa7 5694891 3bd8fe86 5694891