Forráskód Böngészése

feature #IASS9Z 新的java脚本插件,支持java8~java17的所有语法特性

everywhere.z 8 hónapja
szülő
commit
d830b7e61f

+ 7 - 9
liteflow-script-plugin/liteflow-script-javax/src/main/java/com/yomahub/liteflow/script/javax/JavaxExecutor.java

@@ -7,26 +7,25 @@ import com.yomahub.liteflow.script.ScriptExecuteWrap;
 import com.yomahub.liteflow.script.ScriptExecutor;
 import com.yomahub.liteflow.script.exception.ScriptLoadException;
 import com.yomahub.liteflow.util.CopyOnWriteHashMap;
-import org.noear.liquor.eval.CodeSpec;
-import org.noear.liquor.eval.ParamSpec;
-import org.noear.liquor.eval.Scripts;
+import org.noear.liquor.eval.*;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 public class JavaxExecutor extends ScriptExecutor {
-    private final Map<String, CodeSpec> compiledScriptMap = new CopyOnWriteHashMap<>();
+    private final Map<String, Execable> compiledScriptMap = new CopyOnWriteHashMap<>();
 
     @Override
     public ScriptExecutor init() {
+        //LiquorEvaluator.getInstance().printable(true);
         return this;
     }
 
     @Override
     public void load(String nodeId, String script) {
         try{
-            compiledScriptMap.put(nodeId, (CodeSpec) compile(script));
+            compiledScriptMap.put(nodeId, (Execable) compile(script));
         }catch (Exception e){
             String errorMsg = StrUtil.format("script loading error for node[{}],error msg:{}", nodeId, e.getMessage());
             throw new ScriptLoadException(errorMsg);
@@ -50,8 +49,8 @@ public class JavaxExecutor extends ScriptExecutor {
             String errorMsg = StrUtil.format("script for node[{}] is not loaded", wrap.getNodeId());
             throw new ScriptLoadException(errorMsg);
         }
-        CodeSpec codeSpec = compiledScriptMap.get(wrap.getNodeId());
-        return Scripts.eval(codeSpec, wrap);
+        Execable execable = compiledScriptMap.get(wrap.getNodeId());
+        return execable.exec(wrap);
     }
 
     @Override
@@ -69,8 +68,7 @@ public class JavaxExecutor extends ScriptExecutor {
         CodeSpec codeSpec = new CodeSpec(convertScript(script))
                 .returnType(Object.class)
                 .parameters(new ParamSpec("_meta", ScriptExecuteWrap.class));
-        Scripts.compile(codeSpec);
-        return codeSpec;
+        return Scripts.compile(codeSpec);
     }
 
     private String convertScript(String script){

+ 2 - 2
pom.xml

@@ -71,13 +71,13 @@
 		<apollo.version>2.1.0</apollo.version>
 		<jython.version>2.7.3</jython.version>
 		<luaj.version>3.0.1</luaj.version>
-		<aviator.version>5.3.3</aviator.version>
+		<aviator.version>5.4.3</aviator.version>
 		<common-io.version>2.11.0</common-io.version>
 		<jakarta.version>1.3.5</jakarta.version>
 		<redisson.version>3.21.0</redisson.version>
 		<janino.version>3.1.12</janino.version>
 		<kotlin.version>1.9.23</kotlin.version>
-		<liquor.version>1.3.1</liquor.version>
+		<liquor.version>1.3.2</liquor.version>
 	</properties>
 
 	<dependencyManagement>