feature #I7UJ5N 增加对Java脚本的支持

This commit is contained in:
everywhere.z
2023-08-20 19:18:52 +08:00
parent eb2455a47d
commit 506ef90d9e
5 changed files with 74 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-plugin</artifactId>
<version>${revision}</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>liteflow-script-java</artifactId>
<dependencies>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-core</artifactId>
<version>${revision}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,38 @@
package com.yomahub.liteflow.script.java;
import com.yomahub.liteflow.enums.ScriptTypeEnum;
import com.yomahub.liteflow.script.ScriptExecuteWrap;
import com.yomahub.liteflow.script.ScriptExecutor;
import org.codehaus.commons.compiler.CompilerFactoryFactory;
import org.codehaus.commons.compiler.IScriptEvaluator;
public class JavaExecutor extends ScriptExecutor {
@Override
public void load(String nodeId, String script) {
// 创建Janino脚本Evaluator
/*IScriptEvaluator se = CompilerFactoryFactory.getDefaultCompilerFactory().newScriptEvaluator();
// 返回值类型指定为Object以支持不同脚本
se.setReturnType(Object.class);
// 指定Janino脚本里的变量名及类型为通用起见只设置一个Object类型的变量
se.setParameters(new String[] { JANINO_SCRIPT_PARAMETER_NAME }, new Class[] { Object.class });
// 编译
se.cook(script);
// 缓存编译过的Evaluator
compiledScriptMap.put(nodeId, se);*/
}
@Override
public Object executeScript(ScriptExecuteWrap wrap) throws Exception {
return null;
}
@Override
public void cleanCache() {
}
@Override
public ScriptTypeEnum scriptType() {
return null;
}
}