diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 8772891..6591e49 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -104,5 +104,10 @@ + + \ No newline at end of file diff --git a/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/TaskTemplateController.java b/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/TaskTemplateController.java index 2503348..850bbd1 100644 --- a/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/TaskTemplateController.java +++ b/leopard-server/src/main/java/com/lanyuanxiaoyao/leopard/server/controller/TaskTemplateController.java @@ -1,6 +1,7 @@ package com.lanyuanxiaoyao.leopard.server.controller; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; import com.lanyuanxiaoyao.leopard.core.entity.TaskTemplate; import com.lanyuanxiaoyao.leopard.server.service.TaskTemplateService; import com.lanyuanxiaoyao.service.template.controller.SimpleControllerSupport; @@ -30,7 +31,7 @@ public class TaskTemplateController extends SimpleControllerSupport { super(repository); } + private void validateExpression(String expression) { + var response = LiteFlowChainELBuilder.validateWithEx(expression); + if (!response.isSuccess()) { + throw new RuntimeException(response.getCause()); + } + } + @Override public Long save(TaskTemplate entity) { + validateExpression(entity.getExpression()); Long id = super.save(entity); LiteflowMetaOperator.reloadAllChain(); return id; @@ -21,6 +30,7 @@ public class TaskTemplateService extends SimpleServiceSupport { @Override public void save(Iterable taskTemplates) { + taskTemplates.forEach(template -> validateExpression(template.getExpression())); super.save(taskTemplates); LiteflowMetaOperator.reloadAllChain(); }