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

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


The following commit(s) were added to refs/heads/bulletin by this push:
     new 2ae654c5a refactor(bulletin-controller): optimize data processing and 
add constants
2ae654c5a is described below

commit 2ae654c5aea08921fe68ffa032efa1b91126f984
Author: zqr10159 <[email protected]>
AuthorDate: Tue Jul 30 23:38:35 2024 +0800

    refactor(bulletin-controller): optimize data processing and add constants
    
    Refactor the BulletinController to use more efficient stream operations and 
introduce
    constants for repeated string literals, enhancing code readability and 
maintainability.
    Replace Collector usage with toList method calls, streamline field mapping 
inbuildFieldsListFromMetricFieldList, and adjust metric field initialization 
with
    predefined constants.
---
 .../manager/controller/BulletinController.java     | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
index 5aeee76cf..4f5c4a6db 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/BulletinController.java
@@ -74,6 +74,9 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(value = "/api/bulletin", produces = {APPLICATION_JSON_VALUE})
 public class BulletinController {
 
+    public static final String NO_DATA = "No Data";
+    public static final String EMPTY_STRING = "";
+
     @Autowired
     private BulletinService bulletinService;
 
@@ -164,7 +167,7 @@ public class BulletinController {
         List<Bulletin> bulletinList = bulletinService.listBulletin();
         List<BulletinMetricsData> dataList = bulletinList.stream()
                 .map(this::buildBulletinMetricsData)
-                .collect(Collectors.toList());
+                .toList();
 
         return ResponseEntity.ok(Message.success(dataList));
     }
@@ -194,7 +197,7 @@ public class BulletinController {
         List<Pair<String, String>> metricFieldList = 
bulletin.getMetrics().stream()
                 .map(metric -> metric.split("\\$\\$\\$"))
                 .map(arr -> new Pair<>(arr[0], arr[1]))
-                .collect(Collectors.toList());
+                .toList();
 
         return metricSet.stream()
                 .map(metric -> buildMetric(bulletin.getMonitorId(), metric, 
metricFieldList))
@@ -208,7 +211,7 @@ public class BulletinController {
         CollectRep.MetricsData currentMetricsData = 
realTimeDataReader.getCurrentMetricsData(monitorId, metric);
         List<List<BulletinMetricsData.Field>> fieldsList = (currentMetricsData 
!= null) ?
                 buildFieldsListFromCurrentData(currentMetricsData) :
-                buildFieldsListFromMetricFieldList(metricFieldList);
+                buildFieldsListFromMetricFieldList(metric, metricFieldList);
 
         metricBuilder.fields(fieldsList);
         return metricBuilder.build();
@@ -222,22 +225,23 @@ public class BulletinController {
                                     .key(field.getName())
                                     .unit(field.getUnit())
                                     .build())
-                            .collect(Collectors.toList());
+                            .toList();
 
                     for (int i = 0; i < fields.size(); i++) {
                         fields.get(i).setValue(valueRow.getColumns(i));
                     }
                     return fields;
                 })
-                .collect(Collectors.toList());
+                .toList();
     }
 
-    private List<List<BulletinMetricsData.Field>> 
buildFieldsListFromMetricFieldList(List<Pair<String, String>> metricFieldList) {
+    private List<List<BulletinMetricsData.Field>> 
buildFieldsListFromMetricFieldList(String metric, List<Pair<String, String>> 
metricFieldList) {
         List<BulletinMetricsData.Field> fields = metricFieldList.stream()
+                .filter(pair -> pair.getLeft().equals(metric))
                 .map(pair -> BulletinMetricsData.Field.builder()
-                        .key(pair.getLeft())
-                        .unit("")
-                        .value(pair.getRight())
+                        .key(pair.getRight())
+                        .unit(NO_DATA)
+                        .value(EMPTY_STRING)
                         .build())
                 .toList();
 


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

Reply via email to