From f6348318d0511d54babc870d5bd7dd9e4ea00313 Mon Sep 17 00:00:00 2001 From: lrj <386002446@qq.com> Date: 星期五, 25 十月 2024 09:48:20 +0800 Subject: [PATCH] 修改参数传入 ,支持 canal --- src/main/java/com/ycl/scheme/SchemeRunnerBuilder.java | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ycl/scheme/SchemeRunnerBuilder.java b/src/main/java/com/ycl/scheme/SchemeRunnerBuilder.java index 4510b92..62c406b 100644 --- a/src/main/java/com/ycl/scheme/SchemeRunnerBuilder.java +++ b/src/main/java/com/ycl/scheme/SchemeRunnerBuilder.java @@ -3,6 +3,7 @@ import com.ycl.scheme.entity.BlockCode; import com.ycl.scheme.entity.Keyword; import com.ycl.scheme.entity.Scheme; +import com.ycl.scheme.entity.TriggerType; import com.ycl.scheme.service.SchemeService; import groovy.lang.GroovyClassLoader; import org.apache.commons.lang3.StringUtils; @@ -46,10 +47,11 @@ List<BlockText> blockTexts = splitBlock(scheme.getInputText()); - List<BlockCode> blockCodes = this.createBlockCode(blockTexts); + List<BlockCode> blockCodes = this.createBlockCode(blockTexts, scheme.getTriggerType() ); StringBuilder csb = new StringBuilder(); csb.append("package " + packageName + ";\n"); + csb.append("\n"); csb.append("import java.util.List;\n"); csb.append("import java.util.ArrayList;\n"); csb.append("import java.util.ArrayList;\n"); @@ -61,7 +63,8 @@ csb.append("class scheme_" + scheme.getId() + " extends AbstractSchemeRunner {\n"); csb.append("SchemeService service;\n"); csb.append(" @Override\n"); - csb.append(" void run(SchemeService service){\n"); + csb.append(" void run(Map<String,Parameter> pars,SchemeService service){\n"); + csb.append(" super.parameters.putAll(pars);\n"); csb.append(" this.service = service;\n"); csb.append(" "+ this.getConditionText(blockCodes)); // String cod = this.getCondition(bl); @@ -124,27 +127,19 @@ } - private List<BlockCode> createBlockCode(List<BlockText> blockTexts){ + private List<BlockCode> createBlockCode(List<BlockText> blockTexts,TriggerType triggerType){ List<BlockCode> blockCodes = new ArrayList<>(); for(int i=0;i<blockTexts.size();i++){ BlockText text = blockTexts.get(i); BlockCode code = new BlockCode(); AbstractBlockCodeBuilder builder = null; - if(StringUtils.isBlank(text.getResult().trim())){ - builder = new CanalTriggerBuilder(text,this.keywordTemplates,i); - - }else{ - builder = new SqlQueryBuilder(text,this.keywordTemplates,i); - } + builder = new SqlQueryBuilder(text,this.keywordTemplates,i, triggerType); code =builder.build(); blockCodes.add(code); } return blockCodes; } - - - private List<BlockText> splitBlock(String script) { -- Gitblit v1.8.0