This is an automated email from the ASF dual-hosted git repository.

zhaoqingran pushed a commit to branch script
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git

commit e5df1767426ca35f5957dd0a14a0365861b7c02c
Author: Logic <[email protected]>
AuthorDate: Mon Sep 2 18:56:07 2024 +0800

    refactor(script-executor): rename JSR223ScriptExecutor to 
Jsr223ScriptExecutorThe class JSR223ScriptExecutor has been renamed to 
Jsr223ScriptExecutor to adhere toJava naming conventions. This is a part of the 
ongoing refactoring to standardize the
    codebase and improve readability.
---
 collector/pom.xml                                  |  3 -
 .../collector/script/GraalJavaScriptExecutor.java  |  2 -
 common/pom.xml                                     |  4 +-
 .../hertzbeat/common/constants/ScriptTypeEnum.java | 81 +++++++++++-----------
 .../hertzbeat/common/script/ScriptBeanManager.java |  8 +--
 .../hertzbeat/common/script/ScriptExecutor.java    | 25 ++++---
 .../common/script/ScriptExecutorFactory.java       | 46 ++++++------
 .../common/script/executor/JavaScriptExecutor.java |  2 +-
 ...riptExecutor.java => Jsr223ScriptExecutor.java} | 63 +++++++----------
 .../support/exception/ScriptLoadException.java     | 21 +++---
 .../common/support/valid/ScriptValidator.java      |  5 +-
 manager/pom.xml                                    |  8 +++
 pom.xml                                            | 13 ++++
 13 files changed, 139 insertions(+), 142 deletions(-)

diff --git a/collector/pom.xml b/collector/pom.xml
index 5adb8164e..7ec17f3c8 100644
--- a/collector/pom.xml
+++ b/collector/pom.xml
@@ -215,13 +215,10 @@
         <dependency>
             <groupId>org.graalvm.js</groupId>
             <artifactId>js</artifactId>
-            <version>23.0.5</version>
         </dependency>
-
         <dependency>
             <groupId>org.graalvm.js</groupId>
             <artifactId>js-scriptengine</artifactId>
-            <version>23.0.5</version>
         </dependency>
     </dependencies>
 
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/script/GraalJavaScriptExecutor.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/script/GraalJavaScriptExecutor.java
index 3150b58ea..c5cb35a8b 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/script/GraalJavaScriptExecutor.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/script/GraalJavaScriptExecutor.java
@@ -17,8 +17,6 @@
 
 package org.apache.hertzbeat.collector.script;
 
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 import org.apache.hertzbeat.common.cache.CacheFactory;
 import org.apache.hertzbeat.common.constants.ScriptTypeEnum;
 import org.apache.hertzbeat.common.script.ScriptExecutor;
diff --git a/common/pom.xml b/common/pom.xml
index de8768bba..e0116da7d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -128,15 +128,15 @@
             <artifactId>jutf7</artifactId>
             <version>${jutf7.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.graalvm.js</groupId>
             <artifactId>js</artifactId>
-            <version>23.0.5</version>
         </dependency>
+
         <dependency>
             <groupId>org.graalvm.js</groupId>
             <artifactId>js-scriptengine</artifactId>
-            <version>23.0.5</version>
         </dependency>
     </dependencies>
 </project>
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/constants/ScriptTypeEnum.java
 
b/common/src/main/java/org/apache/hertzbeat/common/constants/ScriptTypeEnum.java
index 1e1c14467..0834452e7 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/constants/ScriptTypeEnum.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/constants/ScriptTypeEnum.java
@@ -25,54 +25,55 @@ import lombok.Getter;
 @Getter
 public enum ScriptTypeEnum {
 
-       CUSTOM("custom", "custom"),
-       GROOVY("groovy", "groovy"),
-       QLEXPRESS("qlexpress", "qlexpress"),
-       JS("javascript", "js"),
-       PYTHON("python", "python"),
-       LUA("luaj", "lua"),
-       AVIATOR("AviatorScript", "aviator"),
-       JAVA("java", "java"),
-       KOTLIN("kotlin", "kotlin");
+    CUSTOM("custom", "custom"),
+    GROOVY("groovy", "groovy"),
+    QLEXPRESS("qlexpress", "qlexpress"),
+    JS("javascript", "js"),
+    PYTHON("python", "python"),
+    LUA("luaj", "lua"),
+    AVIATOR("AviatorScript", "aviator"),
+    JAVA("java", "java"),
+    KOTLIN("kotlin", "kotlin");
 
-       private String engineName;
+    private String engineName;
 
-       private String displayName;
+    private String displayName;
 
-       ScriptTypeEnum(String engineName, String displayName) {
-               this.engineName = engineName;
-               this.displayName = displayName;
-       }
+    ScriptTypeEnum(String engineName, String displayName) {
+        this.engineName = engineName;
+        this.displayName = displayName;
+    }
 
     public void setEngineName(String engineName) {
-               this.engineName = engineName;
-       }
+        this.engineName = engineName;
+    }
 
     public void setDisplayName(String displayName) {
-               this.displayName = displayName;
-       }
+        this.displayName = displayName;
+    }
 
-       public static ScriptTypeEnum getEnumByDisplayName(String displayName) {
-               for (ScriptTypeEnum e : ScriptTypeEnum.values()) {
-                       if (e.getDisplayName().equals(displayName)) {
-                               return e;
-                       }
-               }
-               return null;
-       }
+    public static ScriptTypeEnum getEnumByDisplayName(String displayName) {
+        for (ScriptTypeEnum e : ScriptTypeEnum.values()) {
+            if (e.getDisplayName().equals(displayName)) {
+                return e;
+            }
+        }
+        return null;
+    }
 
-       /**
-        * 校验脚本类型是否合法
-        * @param scriptType 脚本类型
-        * @return true:合法,false:不合法
-        */
-       public static boolean checkScriptType(String scriptType) {
-               for (ScriptTypeEnum e : ScriptTypeEnum.values()) {
-                       if (e.getDisplayName().equals(scriptType)) {
-                               return true;
-                       }
-               }
-               return false;
-       }
+    /**
+     * 校验脚本类型是否合法
+     *
+     * @param scriptType 脚本类型
+     * @return true:合法,false:不合法
+     */
+    public static boolean checkScriptType(String scriptType) {
+        for (ScriptTypeEnum e : ScriptTypeEnum.values()) {
+            if (e.getDisplayName().equals(scriptType)) {
+                return true;
+            }
+        }
+        return false;
+    }
 
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptBeanManager.java
 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptBeanManager.java
index 5c40773ff..2ec4f67cf 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptBeanManager.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptBeanManager.java
@@ -27,11 +27,11 @@ import lombok.Getter;
  */
 public class ScriptBeanManager {
 
-       @Getter
+    @Getter
     private static final Map<String, Object> scriptBeanMap = new HashMap<>();
 
-       public static void addScriptBean(String key, Object bean) {
-               scriptBeanMap.put(key, bean);
-       }
+    public static void addScriptBean(String key, Object bean) {
+        scriptBeanMap.put(key, bean);
+    }
 
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutor.java 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutor.java
index 74986f70f..79b250b88 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutor.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutor.java
@@ -18,7 +18,6 @@
 package org.apache.hertzbeat.common.script;
 
 import org.apache.hertzbeat.common.constants.ScriptTypeEnum;
-import org.graalvm.polyglot.Source;
 
 /**
  * script executor interface
@@ -26,23 +25,23 @@ import org.graalvm.polyglot.Source;
  */
 public abstract class ScriptExecutor {
 
-       public Object execute(String scriptKey) throws Exception{
+    public Object execute(String scriptKey) throws Exception {
         return executeScript(scriptKey);
     }
 
-       public abstract Object executeScript(String scriptKey) throws Exception;
+    public abstract Object executeScript(String scriptKey) throws Exception;
 
-       public abstract void cleanCache();
+    public abstract void cleanCache();
 
-       public abstract ScriptTypeEnum scriptType();
+    public abstract ScriptTypeEnum scriptType();
 
 
-       /**
-        * compile script
-        *
-        * @param script script content
-        * @return boolean
-        * @throws Exception if compile failed
-        */
-       public abstract Object compile(String script) throws Exception;
+    /**
+     * compile script
+     *
+     * @param script script content
+     * @return boolean
+     * @throws Exception if compile failed
+     */
+    public abstract Object compile(String script) throws Exception;
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutorFactory.java
 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutorFactory.java
index 0e4ac8b58..0c81b22ee 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutorFactory.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/script/ScriptExecutorFactory.java
@@ -36,35 +36,33 @@ import org.springframework.stereotype.Component;
 @Component
 public class ScriptExecutorFactory {
 
-       private final Map<String, ScriptExecutor> scriptExecutorMap = new 
HashMap<>();
+    private final Map<String, ScriptExecutor> scriptExecutorMap = new 
HashMap<>();
 
-       private final String NONE_LANGUAGE = "none";
+    @Autowired
+    private List<ScriptExecutor> scriptExecutors;
 
-       @Autowired
-       private List<ScriptExecutor> scriptExecutors;
+    @PostConstruct
+    private void init() {
+        for (ScriptExecutor executor : scriptExecutors) {
+            scriptExecutorMap.put(executor.scriptType().getDisplayName(), 
executor);
+        }
+    }
 
-       @PostConstruct
-       private void init() {
-               for (ScriptExecutor executor : scriptExecutors) {
-                       
scriptExecutorMap.put(executor.scriptType().getDisplayName(), executor);
-               }
-       }
+    public ScriptExecutor getScriptExecutor(String language) {
+        if (StringUtils.isBlank(language)) {
+            language = "none";
+        }
 
-       public ScriptExecutor getScriptExecutor(String language) {
-               if (StringUtils.isBlank(language)) {
-                       language = NONE_LANGUAGE;
-               }
+        ScriptExecutor executor = scriptExecutorMap.get(language);
 
-               ScriptExecutor executor = scriptExecutorMap.get(language);
+        if (executor == null) {
+            throw new ScriptLoadException("script component failed to load");
+        }
 
-               if (executor == null) {
-                       throw new ScriptLoadException("script component failed 
to load");
-               }
+        return executor;
+    }
 
-               return executor;
-       }
-
-       public void cleanScriptCache() {
-               this.scriptExecutorMap.forEach((key, value) -> 
value.cleanCache());
-       }
+    public void cleanScriptCache() {
+        this.scriptExecutorMap.forEach((key, value) -> value.cleanCache());
+    }
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/script/executor/JavaScriptExecutor.java
 
b/common/src/main/java/org/apache/hertzbeat/common/script/executor/JavaScriptExecutor.java
index a56374f3f..7a129e1b5 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/script/executor/JavaScriptExecutor.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/script/executor/JavaScriptExecutor.java
@@ -23,7 +23,7 @@ import org.apache.hertzbeat.common.constants.ScriptTypeEnum;
  * This class is used to execute JavaScript code in the plugin.
  * This code references liteflow, thanks to the author Bryan.
  */
-public class JavaScriptExecutor extends JSR223ScriptExecutor {
+public class JavaScriptExecutor extends Jsr223ScriptExecutor {
     @Override
     protected String convertScript(String script) {
         return String.format("function process(){%s} process();", script);
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/script/executor/JSR223ScriptExecutor.java
 
b/common/src/main/java/org/apache/hertzbeat/common/script/executor/Jsr223ScriptExecutor.java
similarity index 54%
rename from 
common/src/main/java/org/apache/hertzbeat/common/script/executor/JSR223ScriptExecutor.java
rename to 
common/src/main/java/org/apache/hertzbeat/common/script/executor/Jsr223ScriptExecutor.java
index 092c3503e..ae42bf720 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/script/executor/JSR223ScriptExecutor.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/script/executor/Jsr223ScriptExecutor.java
@@ -35,52 +35,37 @@ import org.graalvm.polyglot.Source;
  * JSR223 script engine
  * This code references dromara/liteflow, thanks to the author Bryan.
  */
-@Slf4j
-public abstract class JSR223ScriptExecutor extends ScriptExecutor {
-
-
-       private ScriptEngine scriptEngine;
-
-       private final Map<String, CompiledScript> compiledScriptMap = new 
ConcurrentHashMap<>();
-
-//     @Override
-//     public ScriptExecutor init() {
-//             ScriptEngineManager scriptEngineManager = new 
ScriptEngineManager();
-//             scriptEngine = 
scriptEngineManager.getEngineByName(this.scriptType().getEngineName());
-//             return this;
-//     }
-
-       protected String convertScript(String script) {
-               return script;
-       }
 
+@Slf4j
+public abstract class Jsr223ScriptExecutor extends ScriptExecutor {
 
+    private ScriptEngine scriptEngine;
 
+    private final Map<String, CompiledScript> compiledScriptMap = new 
ConcurrentHashMap<>();
 
-       @Override
-       public Object executeScript(String scriptKey) throws Exception {
-//             if (!compiledScriptMap.containsKey(wrap.getNodeId())) {
-//                     String errorMsg = String.format("script for node[%s] is 
not loaded", wrap.getNodeId());
-//                     throw new ScriptLoadException(errorMsg);
-//             }
+    protected String convertScript(String script) {
+        return script;
+    }
 
-               CompiledScript compiledScript = 
compiledScriptMap.get(scriptKey);
-               Bindings bindings = new SimpleBindings();
+    @Override
+    public Object executeScript(String scriptKey) throws Exception {
 
-               return compiledScript.eval(bindings);
-       }
+        CompiledScript compiledScript = compiledScriptMap.get(scriptKey);
+        Bindings bindings = new SimpleBindings();
 
-       @Override
-       public void cleanCache() {
-               compiledScriptMap.clear();
-       }
+        return compiledScript.eval(bindings);
+    }
 
-       @Override
-       public Object compile(String script) throws ScriptException {
-               if(scriptEngine == null) {
-                       log.error("script engine has not init");
-               }
-               return ((Compilable) 
scriptEngine).compile(convertScript(script));
-       }
+    @Override
+    public void cleanCache() {
+        compiledScriptMap.clear();
+    }
 
+    @Override
+    public Object compile(String script) throws ScriptException {
+        if (scriptEngine == null) {
+            log.error("script engine has not init");
+        }
+        return ((Compilable) scriptEngine).compile(convertScript(script));
+    }
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/support/exception/ScriptLoadException.java
 
b/common/src/main/java/org/apache/hertzbeat/common/support/exception/ScriptLoadException.java
index 68ba2e982..8c1b0d11c 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/support/exception/ScriptLoadException.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/support/exception/ScriptLoadException.java
@@ -27,18 +27,17 @@ import lombok.Setter;
 @Setter
 public class ScriptLoadException extends RuntimeException {
 
-       @Serial
-       private static final long serialVersionUID = 1L;
+    @Serial
+    private static final long serialVersionUID = 1L;
 
-       private String message;
+    private String message;
 
-       public ScriptLoadException(String message) {
-               this.message = message;
-       }
-
-       @Override
-       public String getMessage() {
-               return message;
-       }
+    public ScriptLoadException(String message) {
+        this.message = message;
+    }
 
+    @Override
+    public String getMessage() {
+        return message;
+    }
 }
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/support/valid/ScriptValidator.java
 
b/common/src/main/java/org/apache/hertzbeat/common/support/valid/ScriptValidator.java
index 6f7ef7e86..d3df0d8e2 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/support/valid/ScriptValidator.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/support/valid/ScriptValidator.java
@@ -67,9 +67,8 @@ public class ScriptValidator {
             return false;
         }
 
-        ScriptExecutor scriptExecutor = (scriptType != null) ?
-                scriptExecutors.get(scriptType) :
-                scriptExecutors.values().iterator().next();
+        ScriptExecutor scriptExecutor = (scriptType != null)
+                ? scriptExecutors.get(scriptType) : 
scriptExecutors.values().iterator().next();
 
         try {
             scriptExecutor.compile(script);
diff --git a/manager/pom.xml b/manager/pom.xml
index 34debeb78..e1185dbe0 100644
--- a/manager/pom.xml
+++ b/manager/pom.xml
@@ -216,6 +216,14 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.graalvm.js</groupId>
+            <artifactId>js</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.graalvm.js</groupId>
+            <artifactId>js-scriptengine</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 1a3541176..fcc42e653 100644
--- a/pom.xml
+++ b/pom.xml
@@ -160,6 +160,8 @@
         
<spring-boot-starter-sureness.version>1.1.0</spring-boot-starter-sureness.version>
         <huawei.sdk.version>3.1.37</huawei.sdk.version>
         <huawei.obs.version>3.23.5</huawei.obs.version>
+
+        <js.version>23.0.5</js.version>
         
         
         <iotdb-session.version>0.13.3</iotdb-session.version>
@@ -432,6 +434,17 @@
                 <artifactId>netty-all</artifactId>
                 <version>${netty.version}</version>
             </dependency>
+            <!-- script -->
+            <dependency>
+                <groupId>org.graalvm.js</groupId>
+                <artifactId>js</artifactId>
+                <version>${js.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.graalvm.js</groupId>
+                <artifactId>js-scriptengine</artifactId>
+                <version>${js.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to