From 0d7ac85f9c8c020d1867f89bef46bac3bd805ee9 Mon Sep 17 00:00:00 2001
From: yutao <3082046177@qq.com>
Date: Mon, 4 Aug 2025 14:41:56 +0800
Subject: [PATCH] init
---
pom.xml | 185 +++++++------
.../ediagnosis/cdr/cache/CacheExecutor.java | 10 +
.../com/ediagnosis/cdr/cache/CacheFacade.java | 49 ++++
.../cdr/cache/CacheStrategyHolder.java | 24 ++
.../cdr/cache/CaffeineCacheExecutor.java | 53 ++++
.../ediagnosis/cdr/context/JsonProcessor.java | 49 +++-
.../cdr/{ => context}/value/Page.java | 2 +-
.../cdr/{ => context}/value/Response.java | 2 +-
.../cdr/controller/DashBoardController.java | 12 -
.../cdr/dao/DimDataSummaryRepository.java | 40 ---
.../com/ediagnosis/cdr/dao/DwsRepository.java | 2 +-
.../cdr/dao/IndicatorRepository.java | 37 +++
...ummaryEntity.java => IndicatorEntity.java} | 15 +-
...ummaryMapper.java => IndicatorMapper.java} | 4 +-
.../cdr/dashBoard/DashBoardController.java | 35 +++
.../ediagnosis/cdr/dashBoard/HostMonitor.java | 254 ++++++++++++++++++
.../cdr/dashBoard/HostMonitorValue.java | 46 ++++
.../dashBoard/HostMonitorValueRepository.java | 86 ++++++
.../CacheableTableDefinitionRepository.java | 35 +++
.../DataGovernanceController.java | 11 +
.../DefaultTableDefinitionRepository.java | 24 ++
.../TableDefinitionRepository.java | 19 ++
.../request/SourceTableRequest.java | 6 +
.../request/TableFieldRequest.java | 8 +
.../value/Indicator.java} | 4 +-
.../value/TableDefinitionItem.java | 9 +
.../cdr/dataGovernance/value/TableTree.java | 77 ++++++
src/main/resources/application.yml | 3 +
.../generator/mapper/DimDataSummaryMapper.xml | 18 --
src/main/resources/logback.xml | 47 ++++
.../cdr/context/JsonProcessorTest.java | 21 ++
.../ediagnosis/cdr/dashBoard/AsyncTest.java | 2 +-
.../dataGovernance/TableDefinitionTest.java | 53 ++++
.../cdr/dataGovernance/TableTreeTest.java | 26 ++
.../TestTableDefinitionItem.java | 41 +++
src/test/resources/cache-strategy.json | 6 +
36 files changed, 1146 insertions(+), 169 deletions(-)
create mode 100644 src/main/java/com/ediagnosis/cdr/cache/CacheExecutor.java
create mode 100644 src/main/java/com/ediagnosis/cdr/cache/CacheFacade.java
create mode 100644 src/main/java/com/ediagnosis/cdr/cache/CacheStrategyHolder.java
create mode 100644 src/main/java/com/ediagnosis/cdr/cache/CaffeineCacheExecutor.java
rename src/main/java/com/ediagnosis/cdr/{ => context}/value/Page.java (97%)
rename src/main/java/com/ediagnosis/cdr/{ => context}/value/Response.java (97%)
delete mode 100644 src/main/java/com/ediagnosis/cdr/controller/DashBoardController.java
delete mode 100644 src/main/java/com/ediagnosis/cdr/dao/DimDataSummaryRepository.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dao/IndicatorRepository.java
rename src/main/java/com/ediagnosis/cdr/dao/entity/{DimDataSummaryEntity.java => IndicatorEntity.java} (85%)
rename src/main/java/com/ediagnosis/cdr/dao/mapper/{DimDataSummaryMapper.java => IndicatorMapper.java} (51%)
create mode 100644 src/main/java/com/ediagnosis/cdr/dashBoard/DashBoardController.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dashBoard/HostMonitor.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dashBoard/HostMonitorValue.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dashBoard/HostMonitorValueRepository.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/CacheableTableDefinitionRepository.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/DataGovernanceController.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/DefaultTableDefinitionRepository.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/TableDefinitionRepository.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/request/SourceTableRequest.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/request/TableFieldRequest.java
rename src/main/java/com/ediagnosis/cdr/{domain/DimDataSummary.java => dataGovernance/value/Indicator.java} (65%)
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/value/TableDefinitionItem.java
create mode 100644 src/main/java/com/ediagnosis/cdr/dataGovernance/value/TableTree.java
delete mode 100644 src/main/resources/generator/mapper/DimDataSummaryMapper.xml
create mode 100644 src/main/resources/logback.xml
create mode 100644 src/test/java/com/ediagnosis/cdr/dataGovernance/TableDefinitionTest.java
create mode 100644 src/test/java/com/ediagnosis/cdr/dataGovernance/TableTreeTest.java
create mode 100644 src/test/java/com/ediagnosis/cdr/dataGovernance/TestTableDefinitionItem.java
create mode 100644 src/test/resources/cache-strategy.json
diff --git a/pom.xml b/pom.xml
index 3770289..136eb2b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,102 +39,113 @@
runtime
+
+ com.facebook.presto
+ presto-jdbc
+ 0.293
+
-
-
- org.apache.hive
- hive-jdbc
- 3.1.2
-
-
- org.slf4j
- slf4j-log4j12
-
-
- log4j
- log4j
-
-
- log4j-1.2-api
- org.apache.logging.log4j
-
-
- log4j-slf4j-impl
- org.apache.logging.log4j
-
-
- log4j-web
- org.apache.logging.log4j
-
-
- commons-logging
- commons-logging
-
-
- jdk.tools
- jdk.tools
-
-
- org.eclipse.jetty.aggregate
- *
-
+ com.github.ben-manes.caffeine
+ caffeine
+ 3.2.2
+
-
- org.eclipse.jetty
- jetty-runner
-
-
- servlet-api
- javax.servlet
-
-
- javax.servlet.jsp-api
- javax.servlet.jsp
-
-
- javax.servlet.jsp
- org.glassfish.web
-
-
- junit
- junit
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- org.apache.hadoop
- hadoop-common
- 3.3.4
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.apache.hadoop
- hadoop-hdfs
- 3.3.4
-
-
- commons-logging
- commons-logging
-
-
-
+
-
- org.apache.hadoop
- hadoop-client
- 3.3.4
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
com.zaxxer
HikariCP
diff --git a/src/main/java/com/ediagnosis/cdr/cache/CacheExecutor.java b/src/main/java/com/ediagnosis/cdr/cache/CacheExecutor.java
new file mode 100644
index 0000000..99ac059
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/cache/CacheExecutor.java
@@ -0,0 +1,10 @@
+package com.ediagnosis.cdr.cache;
+
+import java.util.Optional;
+
+public interface CacheExecutor {
+
+ void put(String key, Object value);
+
+ Optional get(String key, Class clazz);
+}
diff --git a/src/main/java/com/ediagnosis/cdr/cache/CacheFacade.java b/src/main/java/com/ediagnosis/cdr/cache/CacheFacade.java
new file mode 100644
index 0000000..6a164ee
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/cache/CacheFacade.java
@@ -0,0 +1,49 @@
+package com.ediagnosis.cdr.cache;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Optional;
+// todo: 待扩展,按需缓存策略进行缓存
+@Component
+public class CacheFacade {
+
+ private static final Logger log = LoggerFactory.getLogger(CacheFacade.class);
+ private final List cacheExecutors;
+
+
+ public CacheFacade(List cacheExecutors) {
+ this.cacheExecutors = cacheExecutors;
+ CacheStrategyHolder.initCacheStrategy();
+ }
+
+
+ public Optional getCache(String key, Class clazz) {
+ if (cacheExecutors.isEmpty()) {
+ log.warn("没有可用的缓存执行器");
+ return Optional.empty();
+ }
+
+
+ for (CacheExecutor executor : cacheExecutors) {
+ Optional optional = executor.get(key, clazz);
+ if (optional.isPresent()) {
+ return optional;
+ }
+ }
+ return Optional.empty();
+
+ }
+
+ public void putCache(String key, String value) {
+ if (cacheExecutors.isEmpty()) {
+ log.warn("没有可用的缓存执行器");
+ }
+ for (CacheExecutor executor : cacheExecutors) {
+ executor.put(key, value);
+ }
+ }
+
+}
diff --git a/src/main/java/com/ediagnosis/cdr/cache/CacheStrategyHolder.java b/src/main/java/com/ediagnosis/cdr/cache/CacheStrategyHolder.java
new file mode 100644
index 0000000..37bbd68
--- /dev/null
+++ b/src/main/java/com/ediagnosis/cdr/cache/CacheStrategyHolder.java
@@ -0,0 +1,24 @@
+package com.ediagnosis.cdr.cache;
+
+import com.ediagnosis.cdr.context.JsonProcessor;
+
+import java.util.Map;
+import java.util.Optional;
+
+
+public class CacheStrategyHolder {
+ private static Map cacheStrategy;
+
+
+
+
+ public static void initCacheStrategy() {
+ String CACHE_STRATEGY_PATH = "classpath:cache-strategy.json";
+ Optional