Merge branch 'dev' of https://gitee.com/dromara/liteFlow into issue/#I8MW6Q-2

 Conflicts:
	liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecutor.java
This commit is contained in:
DaleLee
2024-02-02 21:42:19 +08:00
109 changed files with 2964 additions and 121 deletions

View File

@@ -23,12 +23,7 @@ public class JavaExecutor extends ScriptExecutor {
@Override
public void load(String nodeId, String script) {
try{
IScriptEvaluator se = CompilerFactoryFactory.getDefaultCompilerFactory(this.getClass().getClassLoader()).newScriptEvaluator();
se.setTargetVersion(8);
se.setReturnType(Object.class);
se.setParameters(new String[] {"_meta"}, new Class[] {ScriptExecuteWrap.class});
se.cook(convertScript(script));
compiledScriptMap.put(nodeId, se);
compiledScriptMap.put(nodeId, (IScriptEvaluator) compile(script));
}catch (Exception e){
String errorMsg = StrUtil.format("script loading error for node[{}],error msg:{}", nodeId, e.getMessage());
throw new ScriptLoadException(errorMsg);
@@ -66,6 +61,16 @@ public class JavaExecutor extends ScriptExecutor {
return ScriptTypeEnum.JAVA;
}
@Override
public Object compile(String script) throws Exception {
IScriptEvaluator se = CompilerFactoryFactory.getDefaultCompilerFactory(this.getClass().getClassLoader()).newScriptEvaluator();
se.setTargetVersion(8);
se.setReturnType(Object.class);
se.setParameters(new String[] {"_meta"}, new Class[] {ScriptExecuteWrap.class});
se.cook(convertScript(script));
return se;
}
private String convertScript(String script){
//替换掉publicprivateprotected等修饰词
String script1 = script.replaceAll("public class", "class")