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 4ddd97e60 improve
4ddd97e60 is described below
commit 4ddd97e6043a545a028d540f6e8d586a74dfceaa
Author: zqr10159 <[email protected]>
AuthorDate: Sat Aug 10 18:36:11 2024 +0800
improve
---
.../manager/controller/BulletinController.java | 128 ++++++++++-----------
.../apache/hertzbeat/manager/dao/BulletinDao.java | 4 -
.../hertzbeat/manager/service/BulletinService.java | 9 +-
.../manager/service/impl/BulletinServiceImpl.java | 11 +-
4 files changed, 62 insertions(+), 90 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 684f65bb6..2d54c4127 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
@@ -20,6 +20,7 @@ package org.apache.hertzbeat.manager.controller;
import static org.apache.hertzbeat.common.constants.CommonConstants.FAIL_CODE;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
+import com.fasterxml.jackson.core.type.TypeReference;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.persistence.criteria.CriteriaBuilder;
@@ -38,6 +39,7 @@ import
org.apache.hertzbeat.common.entity.manager.bulletin.BulletinDto;
import org.apache.hertzbeat.common.entity.manager.bulletin.BulletinMetricsData;
import org.apache.hertzbeat.common.entity.manager.bulletin.BulletinVo;
import org.apache.hertzbeat.common.entity.message.CollectRep;
+import org.apache.hertzbeat.common.util.JsonUtil;
import org.apache.hertzbeat.common.util.Pair;
import org.apache.hertzbeat.manager.service.BulletinService;
import org.apache.hertzbeat.manager.service.MonitorService;
@@ -47,10 +49,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.jpa.domain.Specification;
import org.springframework.http.ResponseEntity;
-import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -67,8 +66,8 @@ 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 = "";
+ private static final String NO_DATA = "No Data";
+ private static final String EMPTY_STRING = "";
@Autowired
private BulletinService bulletinService;
@@ -129,70 +128,59 @@ public class BulletinController {
}
Pageable pageable = PageRequest.of(pageIndex, pageSize);
- Page<Bulletin> bulletinPage = bulletinService.getBulletinsByName(name,
pageable);
- Map<String, List<Bulletin>> bulletinMap =
bulletinPage.stream().collect(Collectors.groupingBy(Bulletin::getName));
- System.out.println(bulletinMap);
- for (Map.Entry<String, List<Bulletin>> entry : bulletinMap.entrySet())
{
- List<Bulletin> bulletins = entry.getValue();
-// BulletinMetricsData.BulletinMetricsDataBuilder contentBuilder =
BulletinMetricsData.builder()
-// .name(entry.getKey())
-// .column(bulletin.getMetrics().stream()
-// .map(metric -> metric.split("\\$\\$\\$")[0])
-// .collect(Collectors.toSet()).toString());
-//
-// }
-// List<BulletinMetricsData> dataList = bulletinPage.stream()
-// .map(this::buildBulletinMetricsData)
-// .toList();
+ Bulletin bulletin = bulletinService.getBulletinByName(name);
+
+ BulletinMetricsData.BulletinMetricsDataBuilder contentBuilder =
BulletinMetricsData.builder()
+ .name(bulletin.getName())
+ .column(bulletin.getMetrics().toString());
+
+
+ BulletinMetricsData data = buildBulletinMetricsData(contentBuilder,
bulletin);
+
+
// Page<BulletinMetricsData> metricsDataPage = new PageImpl<>(dataList,
pageable, bulletinPage.getTotalElements());
- return ResponseEntity.ok(Message.success(bulletinMap));
+ return ResponseEntity.ok(Message.success(contentBuilder));
}
-// private BulletinMetricsData buildBulletinMetricsData(Bulletin bulletin) {
-//
-//
-// BulletinMetricsData.Data.DataBuilder dataBuilder =
BulletinMetricsData.Data.builder()
-// .monitorId(bulletin.getMonitorId())
-// .app(bulletin.getApp())
-//
.host(monitorService.getMonitor(bulletin.getMonitorId()).getHost());
-//
-// List<BulletinMetricsData.Metric> metrics = buildMetrics(bulletin);
-// dataBuilder.metrics(metrics);
-// contentBuilder.data(dataBuilder.build());
-//
-// return contentBuilder.build();
-// }
-
-// private List<BulletinMetricsData.Metric> buildMetrics(Bulletin bulletin)
{
-// Set<String> metricSet = bulletin.getMetrics().stream()
-// .map(metric -> metric.split("\\$\\$\\$")[0])
-// .collect(Collectors.toSet());
-//
-// List<Pair<String, String>> metricFieldList =
bulletin.getMetrics().stream()
-// .map(metric -> metric.split("\\$\\$\\$"))
-// .map(arr -> new Pair<>(arr[0], arr[1]))
-// .toList();
-//
-// return metricSet.stream()
-// .map(metric -> buildMetric(bulletin.getMonitorId(), metric,
metricFieldList))
-// .collect(Collectors.toList());
- return null;
+ private BulletinMetricsData
buildBulletinMetricsData(BulletinMetricsData.BulletinMetricsDataBuilder
contentBuilder, Bulletin bulletin) {
+ List<BulletinMetricsData.Data> dataList = new ArrayList<>();
+ for (Long monitorId : bulletin.getMonitorIds()) {
+ BulletinMetricsData.Data.DataBuilder dataBuilder =
BulletinMetricsData.Data.builder()
+ .monitorId(monitorId)
+ .app(bulletin.getApp())
+ .host(monitorService.getMonitor(monitorId).getHost());
+
+ List<String> metricList = bulletin.getMetrics();
+
+ List<Map<String, List<String>>> fields =
JsonUtil.fromJson(bulletin.getFields(), new TypeReference<>() {});
+ for (Map<String, List<String>> metrics : fields) {
+ for (Map.Entry<String, List<String>> entry :
metrics.entrySet()) {
+ String metric = entry.getKey();
+
+ }
+ }
+ BulletinMetricsData.Metric.MetricBuilder metricBuilder =
BulletinMetricsData.Metric.builder()
+ .name(null);
+ System.out.println(metricList);
+ System.out.println(fields);
+ CollectRep.MetricsData currentMetricsData =
realTimeDataReader.getCurrentMetricsData(monitorId, null);
+ List<List<BulletinMetricsData.Field>> fieldsList =
(currentMetricsData != null) ?
+ buildFieldsListFromCurrentData(currentMetricsData) :
+ buildFieldsListFromMetricFieldList(null, null);
+
+ metricBuilder.fields(fieldsList);
+ dataBuilder.metrics(null);
+ dataList.add(dataBuilder.build());
+ }
+
+ contentBuilder.data(dataList);
+ return contentBuilder.build();
}
- private BulletinMetricsData.Metric buildMetric(Long monitorId, String
metric, List<Pair<String, String>> metricFieldList) {
- BulletinMetricsData.Metric.MetricBuilder metricBuilder =
BulletinMetricsData.Metric.builder()
- .name(metric);
- CollectRep.MetricsData currentMetricsData =
realTimeDataReader.getCurrentMetricsData(monitorId, metric);
- List<List<BulletinMetricsData.Field>> fieldsList = (currentMetricsData
!= null) ?
- buildFieldsListFromCurrentData(currentMetricsData) :
- buildFieldsListFromMetricFieldList(metric, metricFieldList);
- metricBuilder.fields(fieldsList);
- return metricBuilder.build();
- }
private List<List<BulletinMetricsData.Field>>
buildFieldsListFromCurrentData(CollectRep.MetricsData currentMetricsData) {
return currentMetricsData.getValuesList().stream()
@@ -212,16 +200,16 @@ public class BulletinController {
.toList();
}
- 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.getRight())
- .unit(NO_DATA)
- .value(EMPTY_STRING)
- .build())
- .toList();
+ private List<List<BulletinMetricsData.Field>>
buildFieldsListFromMetricFieldList(String metric, List<Map<String,
List<String>>> fieldList) {
+// List<BulletinMetricsData.Field> fields = fieldList.stream()
+// .filter(map -> pair.getLeft().equals(metric))
+// .map(pair -> BulletinMetricsData.Field.builder()
+// .key(pair.getRight())
+// .unit(NO_DATA)
+// .value(EMPTY_STRING)
+// .build())
+// .toList();
- return Collections.singletonList(fields);
+ return Collections.singletonList(null);
}
}
\ No newline at end of file
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/dao/BulletinDao.java
b/manager/src/main/java/org/apache/hertzbeat/manager/dao/BulletinDao.java
index 8d35b4145..9353f1b73 100644
--- a/manager/src/main/java/org/apache/hertzbeat/manager/dao/BulletinDao.java
+++ b/manager/src/main/java/org/apache/hertzbeat/manager/dao/BulletinDao.java
@@ -39,9 +39,5 @@ public interface BulletinDao extends JpaRepository<Bulletin,
Long>, JpaSpecifica
*/
Bulletin findByName(String name);
- /**
- * Get Bulletin by name
- */
- Page<Bulletin> findByName(String name, Pageable pageable);
}
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/service/BulletinService.java
b/manager/src/main/java/org/apache/hertzbeat/manager/service/BulletinService.java
index b13fd644b..cb81c8f93 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/service/BulletinService.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/service/BulletinService.java
@@ -38,14 +38,9 @@ public interface BulletinService {
void validate(BulletinDto bulletindto) throws IllegalArgumentException;
/**
- * List Bulletin
+ * Get Bulletin by name
*/
- List<Bulletin> getBulletinsByName();
-
- /**
- * Pageable query Bulletin
- */
- Page<Bulletin> getBulletinsByName(String name, Pageable pageable);
+ Bulletin getBulletinByName(String name);
/**
* Get Bulletin by id
*/
diff --git
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/BulletinServiceImpl.java
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/BulletinServiceImpl.java
index b1c734ad3..056177f1f 100644
---
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/BulletinServiceImpl.java
+++
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/BulletinServiceImpl.java
@@ -79,20 +79,13 @@ public class BulletinServiceImpl implements BulletinService
{
}
}
- /**
- * List Bulletin
- */
- @Override
- public List<Bulletin> getBulletinsByName() {
- return bulletinDao.findAll();
- }
/**
* Pageable query Bulletin
*/
@Override
- public Page<Bulletin> getBulletinsByName(String name, Pageable pageable) {
- return bulletinDao.findByName(name, pageable);
+ public Bulletin getBulletinByName(String name) {
+ return bulletinDao.findByName(name);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]