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