feature #I9H6GN 设置 koltin 版本

This commit is contained in:
Dale Lee 2024-05-04 14:36:50 +08:00
parent c3a64bd0f4
commit 90ed04e5b9
6 changed files with 29 additions and 6 deletions

View File

@ -23,7 +23,6 @@
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-scripting-jsr223</artifactId>
<version>1.9.23</version>
</dependency>
</dependencies>
</project>

View File

@ -21,7 +21,7 @@
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-kotlin</artifactId>
<version>2.12.0</version>
<version>${revision}</version>
<scope>test</scope>
</dependency>
<dependency>

View File

@ -1,21 +1,41 @@
package com.yomahub.liteflow.test.script.kotlin.validate;
import com.yomahub.liteflow.enums.ScriptTypeEnum;
import com.yomahub.liteflow.script.ScriptExecutor;
import com.yomahub.liteflow.script.ScriptExecutorFactory;
import com.yomahub.liteflow.script.validator.ScriptValidator;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import javax.script.Compilable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
@SpringBootTest(classes = ValidateKotlinScriptComponentTest.class)
@EnableAutoConfiguration
public class ValidateKotlinScriptComponentTest {
@Test
public void testGroovyScriptComponentValidateFunction(){
public void testScriptComponentValidateFunction() throws Exception {
// 编译错误字符串不能直接赋值给Int
String wrongScript = "val number: Int = \"123\"";
// 使用转换函数
String correctScript = "val number: Int = \"123\".toInt()";
// ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
// ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("kotlin");
// Compilable compilable = (Compilable) scriptEngine;
// compilable.compile(correctScript);
// try {
// ScriptExecutor scriptExecutor = ScriptExecutorFactory.loadInstance()
// .getScriptExecutor(ScriptTypeEnum.KOTLIN.getDisplayName());
// scriptExecutor.compile(wrongScript);
// } catch (Exception e) {
//
// }
Assertions.assertTrue(ScriptValidator.validate(correctScript));
Assertions.assertFalse(ScriptValidator.validate(wrongScript));

View File

@ -4,11 +4,9 @@
<nodes>
<node id="s1" type="script" language="kotlin">
<![CDATA[
//defaultContext.setData("s1", _meta.cmpData.birth);
import com.yomahub.liteflow.slot.DefaultContext
var _meta = bindings["_meta"] as Map<String, *>
println(_meta)
var cmpData = _meta["cmpData"] as Map<String, *>
var context = bindings["defaultContext"] as DefaultContext
context.setData("s1", cmpData["birth"])

View File

@ -5,7 +5,7 @@
<![CDATA[
import com.yomahub.liteflow.slot.DefaultContext
var _meta = bindings["_meta"] as Map<String, Any>
var _meta = bindings["_meta"] as Map<String, *>
var nodeId = _meta["nodeId"]
var currChainId = _meta["currChainId"]
var requestData = _meta["requestData"]

View File

@ -76,6 +76,7 @@
<jakarta.version>1.3.5</jakarta.version>
<redisson.version>3.21.0</redisson.version>
<janino.version>3.1.11</janino.version>
<kotlin.version>1.9.23</kotlin.version>
</properties>
<dependencyManagement>
@ -314,6 +315,11 @@
<artifactId>redisson</artifactId>
<version>${redisson.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-scripting-jsr223</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
</dependencyManagement>