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

kerwin612 pushed a commit to branch pulgin-custom
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/pulgin-custom by this push:
     new f9b5221a4 [improve]:fix bug (#2615)
f9b5221a4 is described below

commit f9b5221a4654a3d58462765fbe77a58fac210393
Author: linDong <[email protected]>
AuthorDate: Tue Aug 27 08:59:57 2024 +0800

    [improve]:fix bug (#2615)
---
 .../manager/controller/PluginController.java       |  6 +--
 .../hertzbeat/manager/dao/PluginParamDao.java      |  4 +-
 .../manager/pojo/dto/PluginParametersVO.java       | 43 ++++++++++++++++++++++
 .../hertzbeat/manager/service/PluginService.java   |  4 +-
 .../manager/service/impl/PluginServiceImpl.java    | 19 +++++++---
 5 files changed, 64 insertions(+), 12 deletions(-)

diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/PluginController.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/PluginController.java
index 0bd5d83c6..496ebfb5b 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/PluginController.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/PluginController.java
@@ -26,9 +26,9 @@ import java.util.List;
 import lombok.RequiredArgsConstructor;
 import org.apache.hertzbeat.common.entity.dto.Message;
 import org.apache.hertzbeat.common.entity.dto.PluginUpload;
-import org.apache.hertzbeat.common.entity.manager.ParamDefine;
 import org.apache.hertzbeat.common.entity.manager.PluginMetadata;
 import org.apache.hertzbeat.manager.pojo.dto.PluginParam;
+import org.apache.hertzbeat.manager.pojo.dto.PluginParametersVO;
 import org.apache.hertzbeat.manager.service.PluginService;
 import org.springframework.data.domain.Page;
 import org.springframework.http.ResponseEntity;
@@ -90,8 +90,8 @@ public class PluginController {
 
     @GetMapping("/getParamDefine")
     @Operation(summary = "get param define", description = "get param define 
by jar path")
-    public ResponseEntity<Message<List<ParamDefine>>> 
getParamDefine(@RequestParam Long pluginMetadataId) {
-        List<ParamDefine> plugins = 
pluginService.getParamDefine(pluginMetadataId);
+    public ResponseEntity<Message<PluginParametersVO>> 
getParamDefine(@RequestParam Long pluginMetadataId) {
+        PluginParametersVO plugins = 
pluginService.getParamDefine(pluginMetadataId);
         return ResponseEntity.ok(Message.success(plugins));
     }
 
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/dao/PluginParamDao.java 
b/manager/src/main/java/org/apache/hertzbeat/manager/dao/PluginParamDao.java
index d7fbeaa96..4eeec26b1 100644
--- a/manager/src/main/java/org/apache/hertzbeat/manager/dao/PluginParamDao.java
+++ b/manager/src/main/java/org/apache/hertzbeat/manager/dao/PluginParamDao.java
@@ -38,11 +38,11 @@ public interface PluginParamDao extends 
JpaRepository<PluginParam, Long> {
      * Remove the parameter list associated with the pluginMetadata ID based 
on it
      * @param pluginMetadataId Monitor Id
      */
-    void deleteParamsByPluginMetadataId(long pluginMetadataId);
+    void deletePluginParamsByPluginMetadataId(long pluginMetadataId);
 
     /**
      * Remove the parameter list associated with the pluginMetadata ID list 
based on it
      * @param pluginMetadataIds Monitoring ID List
      */
-    void deleteParamsByPluginMetadataIdIn(Set<Long> pluginMetadataIds);
+    void deletePluginParamsByPluginMetadataIdIn(Set<Long> pluginMetadataIds);
 }
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/PluginParametersVO.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/PluginParametersVO.java
new file mode 100644
index 000000000..ba3f2f9ff
--- /dev/null
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/PluginParametersVO.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hertzbeat.manager.pojo.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.hertzbeat.common.entity.manager.ParamDefine;
+import java.util.List;
+
+/**
+ * Popup rendering and parameter values
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PluginParametersVO {
+
+    /**
+     * Stencil rendering
+     */
+    private List<ParamDefine> paramDefines;
+
+    /**
+     * specific parameter
+     */
+    private List<PluginParam> pluginParams;
+}
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/PluginService.java 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/PluginService.java
index 42254d7b5..a7f0c706e 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/PluginService.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/PluginService.java
@@ -23,9 +23,9 @@ import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 import org.apache.hertzbeat.common.entity.dto.PluginUpload;
 import org.apache.hertzbeat.common.entity.job.Configmap;
-import org.apache.hertzbeat.common.entity.manager.ParamDefine;
 import org.apache.hertzbeat.common.entity.manager.PluginMetadata;
 import org.apache.hertzbeat.manager.pojo.dto.PluginParam;
+import org.apache.hertzbeat.manager.pojo.dto.PluginParametersVO;
 import org.springframework.data.domain.Page;
 
 /**
@@ -78,7 +78,7 @@ public interface PluginService {
      * get param define
      * @param pluginMetadataId plugin id
      */
-    List<ParamDefine> getParamDefine(Long pluginMetadataId);
+    PluginParametersVO getParamDefine(Long pluginMetadataId);
 
     /**
      * save plugin param
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/PluginServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/PluginServiceImpl.java
index 3ebd6d8a6..5838bb260 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/PluginServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/PluginServiceImpl.java
@@ -60,12 +60,14 @@ import org.apache.hertzbeat.manager.dao.PluginItemDao;
 import org.apache.hertzbeat.manager.dao.PluginMetadataDao;
 import org.apache.hertzbeat.manager.dao.PluginParamDao;
 import org.apache.hertzbeat.manager.pojo.dto.PluginParam;
+import org.apache.hertzbeat.manager.pojo.dto.PluginParametersVO;
 import org.apache.hertzbeat.manager.service.PluginService;
 import org.apache.hertzbeat.plugin.Plugin;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.yaml.snakeyaml.Yaml;
 
@@ -131,12 +133,12 @@ public class PluginServiceImpl implements PluginService {
                 // delete metadata
                 metadataDao.deleteById(plugin.getId());
                 syncPluginParamMap(plugin.getId(), null, true);
-                pluginParamDao.deleteParamsByPluginMetadataId(plugin.getId());
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
 
         }
+        pluginParamDao.deletePluginParamsByPluginMetadataIdIn(ids);
         syncPluginStatus();
         // reload classloader
         loadJarToClassLoader();
@@ -166,19 +168,26 @@ public class PluginServiceImpl implements PluginService {
     }
 
     @Override
-    public List<ParamDefine> getParamDefine(Long pluginMetadataId) {
+    public PluginParametersVO getParamDefine(Long pluginMetadataId) {
+
+        PluginParametersVO pluginParametersVO = new PluginParametersVO();
         if (PARAMS_Define_MAP.containsKey(pluginMetadataId)) {
-            return PARAMS_Define_MAP.get(pluginMetadataId);
+            List<ParamDefine> paramDefines = 
PARAMS_Define_MAP.get(pluginMetadataId);
+            List<PluginParam> paramsByPluginMetadataId = 
pluginParamDao.findParamsByPluginMetadataId(pluginMetadataId);
+            pluginParametersVO.setParamDefines(paramDefines);
+            pluginParametersVO.setPluginParams(paramsByPluginMetadataId);
+            return pluginParametersVO;
         }
-        return List.of();
+        return pluginParametersVO;
     }
 
     @Override
+    @Transactional
     public void savePluginParam(List<PluginParam> params) {
         if (CollectionUtils.isEmpty(params)) {
             return;
         }
-        
pluginParamDao.deleteParamsByPluginMetadataId(params.get(0).getPluginMetadataId());
+        
pluginParamDao.deletePluginParamsByPluginMetadataId(params.get(0).getPluginMetadataId());
         pluginParamDao.saveAll(params);
         syncPluginParamMap(params.get(0).getPluginMetadataId(), params, false);
     }


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

Reply via email to