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

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


The following commit(s) were added to refs/heads/master by this push:
     new e7ec15f68 [refactor] upgrade syntax to jdk17 instanceof & switch 
(#1807)
e7ec15f68 is described below

commit e7ec15f68ae762a2c6ed84d1b1201fb8058ec549
Author: Calvin <[email protected]>
AuthorDate: Mon Apr 22 11:36:21 2024 +0800

    [refactor] upgrade syntax to jdk17 instanceof & switch (#1807)
    
    Co-authored-by: Logic <[email protected]>
    Co-authored-by: tomsun28 <[email protected]>
---
 .../impl/AlertDefineExcelImExportServiceImpl.java  | 13 ++--
 .../alert/service/impl/AlertServiceImpl.java       | 15 ++---
 .../common/cache/ConnectionCommonCache.java        | 16 ++---
 .../collect/database/JdbcCommonCollect.java        | 75 +++++++++-------------
 .../collector/collect/dns/DnsCollectImpl.java      | 14 ++--
 .../collector/collect/http/HttpCollectImpl.java    |  3 +-
 .../http/promethus/PrometheusMatrixParser.java     |  8 +--
 .../http/promethus/PrometheusVectorParser.java     |  8 +--
 .../http/promethus/exporter/ExporterParser.java    | 60 +++++++----------
 .../collector/collect/jmx/JmxCollectImpl.java      |  6 +-
 .../collect/prometheus/parser/TextParser.java      | 23 ++-----
 .../collector/collect/snmp/SnmpCollectImpl.java    |  8 +--
 .../collector/collect/ssh/SshCollectImpl.java      | 20 ++----
 .../collector/dispatch/timer/WheelTimerTask.java   |  4 +-
 .../common/support/SpringContextHolder.java        |  4 +-
 .../manager/controller/MetricsController.java      |  4 +-
 .../manager/service/impl/AppServiceImpl.java       | 11 ++--
 .../service/impl/ExcelImExportServiceImpl.java     | 13 ++--
 .../manager/service/impl/MonitorServiceImpl.java   | 15 ++---
 .../service/impl/ObjectStoreConfigServiceImpl.java |  7 +-
 .../manager/support/GlobalExceptionHandler.java    |  6 +-
 .../store/HistoryJpaDatabaseDataStorage.java       | 32 +++------
 22 files changed, 134 insertions(+), 231 deletions(-)

diff --git 
a/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
 
b/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
index 46e5db4e9..fe5920fd4 100644
--- 
a/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
+++ 
b/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertDefineExcelImExportServiceImpl.java
@@ -120,14 +120,11 @@ public class AlertDefineExcelImExportServiceImpl extends 
AlertDefineAbstractImEx
         if (cell == null) {
             return null;
         }
-        switch (cell.getCellType()) {
-            case STRING:
-                return cell.getStringCellValue();
-            case NUMERIC:
-                return String.valueOf(cell.getNumericCellValue());
-            default:
-                return null;
-        }
+        return switch (cell.getCellType()) {
+            case STRING -> cell.getStringCellValue();
+            case NUMERIC -> String.valueOf(cell.getNumericCellValue());
+            default -> null;
+        };
     }
 
 
diff --git 
a/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertServiceImpl.java
 
b/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertServiceImpl.java
index 567952cad..c2b106d9f 100644
--- 
a/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertServiceImpl.java
+++ 
b/alerter/src/main/java/org/apache/hertzbeat/alert/service/impl/AlertServiceImpl.java
@@ -89,17 +89,10 @@ public class AlertServiceImpl implements AlertService {
             for (AlertPriorityNum priorityNum : priorityNums) {
                 switch (priorityNum.getPriority()) {
                     case CommonConstants
-                            .ALERT_PRIORITY_CODE_WARNING:
-                        
alertSummary.setPriorityWarningNum(priorityNum.getNum());
-                        break;
-                    case CommonConstants.ALERT_PRIORITY_CODE_CRITICAL:
-                        
alertSummary.setPriorityCriticalNum(priorityNum.getNum());
-                        break;
-                    case CommonConstants.ALERT_PRIORITY_CODE_EMERGENCY:
-                        
alertSummary.setPriorityEmergencyNum(priorityNum.getNum());
-                        break;
-                    default:
-                        break;
+                            .ALERT_PRIORITY_CODE_WARNING -> 
alertSummary.setPriorityWarningNum(priorityNum.getNum());
+                    case CommonConstants.ALERT_PRIORITY_CODE_CRITICAL -> 
alertSummary.setPriorityCriticalNum(priorityNum.getNum());
+                    case CommonConstants.ALERT_PRIORITY_CODE_EMERGENCY -> 
alertSummary.setPriorityEmergencyNum(priorityNum.getNum());
+                    default -> {}
                 }
             }
         }
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/common/cache/ConnectionCommonCache.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/common/cache/ConnectionCommonCache.java
index 0ae508166..35bbfaeb7 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/common/cache/ConnectionCommonCache.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/common/cache/ConnectionCommonCache.java
@@ -76,8 +76,8 @@ public class ConnectionCommonCache {
                 .maximumWeightedCapacity(DEFAULT_MAX_CAPACITY)
                 .listener((key, value) -> {
                     timeoutMap.remove(key);
-                    if (value instanceof CacheCloseable) {
-                        ((CacheCloseable) value).close();
+                    if (value instanceof CacheCloseable closeable) {
+                        closeable.close();
                     }
                     log.info("connection common cache discard key: {}, value: 
{}.", key, value);
                 }).build();
@@ -108,8 +108,8 @@ public class ConnectionCommonCache {
                         || cacheTime[0] + cacheTime[1] < currentTime) {
                     cacheMap.remove(key);
                     timeoutMap.remove(key);
-                    if (value instanceof CacheCloseable) {
-                        ((CacheCloseable) value).close();
+                    if (value instanceof CacheCloseable closeable) {
+                        closeable.close();
                     }
 
                 }
@@ -135,9 +135,9 @@ public class ConnectionCommonCache {
                     log.warn("[connection common cache] clean the timeout 
cache, key {}", key);
                     timeoutMap.remove(key);
                     cacheMap.remove(key);
-                    if (value instanceof CacheCloseable) {
+                    if (value instanceof CacheCloseable closeable) {
                         log.warn("[connection common cache] close the timeout 
cache, key {}", key);
-                        ((CacheCloseable) value).close();
+                        closeable.close();
                     }
                 }
             });
@@ -213,8 +213,8 @@ public class ConnectionCommonCache {
     public void removeCache(Object key) {
         timeoutMap.remove(key);
         Object value = cacheMap.remove(key);
-        if (value instanceof CacheCloseable) {
-            ((CacheCloseable) value).close();
+        if (value instanceof CacheCloseable closeable) {
+            closeable.close();
         }
     }
 
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/database/JdbcCommonCollect.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/database/JdbcCommonCollect.java
index b251af853..e8ae11cc4 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/database/JdbcCommonCollect.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/database/JdbcCommonCollect.java
@@ -78,24 +78,18 @@ public class JdbcCommonCollect extends AbstractCollect {
             statement = getConnection(jdbcProtocol.getUsername(),
                     jdbcProtocol.getPassword(), databaseUrl, timeout);
             switch (jdbcProtocol.getQueryType()) {
-                case QUERY_TYPE_ONE_ROW:
-                    queryOneRow(statement, jdbcProtocol.getSql(), 
metrics.getAliasFields(), builder, startTime);
-                    break;
-                case QUERY_TYPE_MULTI_ROW:
-                    queryMultiRow(statement, jdbcProtocol.getSql(), 
metrics.getAliasFields(), builder, startTime);
-                    break;
-                case QUERY_TYPE_COLUMNS:
-                    queryOneRowByMatchTwoColumns(statement, 
jdbcProtocol.getSql(), metrics.getAliasFields(), builder, startTime);
-                    break;
-                case RUN_SCRIPT:
+                case QUERY_TYPE_ONE_ROW -> queryOneRow(statement, 
jdbcProtocol.getSql(), metrics.getAliasFields(), builder, startTime);
+                case QUERY_TYPE_MULTI_ROW -> queryMultiRow(statement, 
jdbcProtocol.getSql(), metrics.getAliasFields(), builder, startTime);
+                case QUERY_TYPE_COLUMNS -> 
queryOneRowByMatchTwoColumns(statement, jdbcProtocol.getSql(), 
metrics.getAliasFields(), builder, startTime);
+                case RUN_SCRIPT -> {
                     Connection connection = statement.getConnection();
                     FileSystemResource rc = new 
FileSystemResource(jdbcProtocol.getSql());
                     ScriptUtils.executeSqlScript(connection, rc);
-                    break;
-                default:
+                }
+                default -> {
                     builder.setCode(CollectRep.Code.FAIL);
                     builder.setMsg("Not support database query type: " + 
jdbcProtocol.getQueryType());
-                    break;
+                }
             }
         } catch (PSQLException psqlException) {
             // for PostgreSQL 08001
@@ -290,39 +284,28 @@ public class JdbcCommonCollect extends AbstractCollect {
             // when has config jdbc url, use it 
             return jdbcProtocol.getUrl();
         }
-        String url;
-        switch (jdbcProtocol.getPlatform()) {
-            case "mysql":
-            case "mariadb":
-                url = "jdbc:mysql://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
-                        + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase())
-                        + 
"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
-                break;
-            case "postgresql":
-                url = "jdbc:postgresql://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
-                        + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
-                break;
-            case "clickhouse":
-                url = "jdbc:clickhouse://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
-                        + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
-                break;
-            case "sqlserver":
-                url = "jdbc:sqlserver://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
-                        + ";" + (jdbcProtocol.getDatabase() == null ? "" : 
"DatabaseName=" + jdbcProtocol.getDatabase())
-                        + ";trustServerCertificate=true;";
-                break;
-            case "oracle":
-                url = "jdbc:oracle:thin:@" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
-                        + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
-                break;
-            case "dm":
-                url = "jdbc:dm://" + jdbcProtocol.getHost() + ":" 
+jdbcProtocol.getPort();
-                break;
-            default:
-                throw new IllegalArgumentException("Not support database 
platform: " + jdbcProtocol.getPlatform());
-
-        }
-        return url;
+        return switch (jdbcProtocol.getPlatform()) {
+            case "mysql", "mariadb" ->
+                    "jdbc:mysql://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
+                    + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase())
+                    + "?useUnicode=true&characterEncoding=utf-8&useSSL=false";
+            case "postgresql" ->
+                    "jdbc:postgresql://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
+                    + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
+            case "clickhouse" ->
+                    "jdbc:clickhouse://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
+                    + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
+            case "sqlserver" ->
+                    "jdbc:sqlserver://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
+                    + ";" + (jdbcProtocol.getDatabase() == null ? "" : 
"DatabaseName=" + jdbcProtocol.getDatabase())
+                    + ";trustServerCertificate=true;";
+            case "oracle" ->
+                    "jdbc:oracle:thin:@" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort()
+                    + "/" + (jdbcProtocol.getDatabase() == null ? "" : 
jdbcProtocol.getDatabase());
+            case "dm" ->
+                    "jdbc:dm://" + jdbcProtocol.getHost() + ":" + 
jdbcProtocol.getPort();
+            default -> throw new IllegalArgumentException("Not support 
database platform: " + jdbcProtocol.getPlatform());
+        };
     }
 
     private void validateParams(Metrics metrics) throws 
IllegalArgumentException {
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
index c0d41d347..26a4b14fb 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/dns/DnsCollectImpl.java
@@ -213,13 +213,13 @@ public class DnsCollectImpl extends AbstractCollect {
         private List<String> additionalList;
 
         public List<String> getList(String metricsName) {
-            switch (metricsName) {
-                case QUESTION: return questionList;
-                case ANSWER: return answerList;
-                case AUTHORITY: return authorityList;
-                case ADDITIONAL: return additionalList;
-                default: return Collections.emptyList();
-            }
+            return switch (metricsName) {
+                case QUESTION -> questionList;
+                case ANSWER -> answerList;
+                case AUTHORITY -> authorityList;
+                case ADDITIONAL -> additionalList;
+                default -> Collections.emptyList();
+            };
         }
     }
 }
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java
index 1f45861e6..5538de061 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/HttpCollectImpl.java
@@ -344,8 +344,7 @@ public class HttpCollectImpl extends AbstractCollect {
                     }
                 }
                 builder.addValues(valueRowBuilder.build());
-            } else if (objectValue instanceof String) {
-                String stringValue = (String) objectValue;
+            } else if (objectValue instanceof String stringValue) {
                 CollectRep.ValueRow.Builder valueRowBuilder = 
CollectRep.ValueRow.newBuilder();
                 for (String alias : aliasFields) {
                     if 
(CollectorConstants.RESPONSE_TIME.equalsIgnoreCase(alias)) {
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusMatrixParser.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusMatrixParser.java
index eace41a5d..e6c7e5c57 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusMatrixParser.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusMatrixParser.java
@@ -70,8 +70,8 @@ public class PrometheusMatrixParser extends 
AbstractPrometheusParse {
                     } else {
                         if (CommonConstants.PROM_TIME.equals(aliasField)) {
                             for (Object o : value) {
-                                if (o instanceof Double) {
-                                    
valueRowBuilder.addColumns(String.valueOf(BigDecimal.valueOf((Double) o * 
1000)));
+                                if (o instanceof Double time) {
+                                    
valueRowBuilder.addColumns(String.valueOf(BigDecimal.valueOf(time * 1000)));
                                     setTimeFlag = true;
                                 }
                             }
@@ -80,8 +80,8 @@ public class PrometheusMatrixParser extends 
AbstractPrometheusParse {
                             }
                         } else {
                             for (Object o : value) {
-                                if (o instanceof String) {
-                                    valueRowBuilder.addColumns((String) o);
+                                if (o instanceof String str) {
+                                    valueRowBuilder.addColumns(str);
                                     setValueFlag = true;
                                 }
                             }
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusVectorParser.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusVectorParser.java
index 28b85683c..d5d28730a 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusVectorParser.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/PrometheusVectorParser.java
@@ -69,8 +69,8 @@ public class PrometheusVectorParser extends 
AbstractPrometheusParse {
                 } else {
                     if (CommonConstants.PROM_TIME.equals(aliasField)) {
                         for (Object o : r.getValue()) {
-                            if (o instanceof Double) {
-                                
valueRowBuilder.addColumns(String.valueOf(BigDecimal.valueOf((Double) o * 
1000)));
+                            if (o instanceof Double time) {
+                                
valueRowBuilder.addColumns(String.valueOf(BigDecimal.valueOf(time * 1000)));
                                 setTimeFlag = true;
                             }
                         }
@@ -79,8 +79,8 @@ public class PrometheusVectorParser extends 
AbstractPrometheusParse {
                         }
                     } else {
                         for (Object o : r.getValue()) {
-                            if (o instanceof String) {
-                                valueRowBuilder.addColumns((String) o);
+                            if (o instanceof String str) {
+                                valueRowBuilder.addColumns(str);
                                 setValueFlag = true;
                             }
                         }
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/exporter/ExporterParser.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/exporter/ExporterParser.java
index 1f35caa2d..a8d01e536 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/exporter/ExporterParser.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/http/promethus/exporter/ExporterParser.java
@@ -110,13 +110,9 @@ public class ExporterParser {
         this.currentMetricFamily = metricMap.computeIfAbsent(metricName, key 
-> new MetricFamily());
         this.currentMetricFamily.setName(metricName);
         switch (token) {
-            case HELP:
-                this.parseHelp(buffer);
-                break;
-            case TYPE:
-                this.parseType(buffer);
-                break;
-            default:
+            case HELP -> this.parseHelp(buffer);
+            case TYPE -> this.parseType(buffer);
+            default -> {}
         }
     }
 
@@ -217,14 +213,9 @@ public class ExporterParser {
         if (buffer.isEmpty()) return;
         c = buffer.read();
         switch (c) {
-            case COMMA:
-                this.startReadLabelName(metric, buffer);
-                break;
-            case RIGHT_CURLY_BRACKET:
-                this.readLabelValue(metric, label, buffer);
-                break;
-            default:
-                throw new ParseException("expected '}' or ',' at end of label 
value, line: " + buffer.toStr());
+            case COMMA -> this.startReadLabelName(metric, buffer);
+            case RIGHT_CURLY_BRACKET -> this.readLabelValue(metric, label, 
buffer);
+            default -> throw new ParseException("expected '}' or ',' at end of 
label value, line: " + buffer.toStr());
         }
     }
 
@@ -232,27 +223,27 @@ public class ExporterParser {
         buffer.skipBlankTabs();
         if (buffer.isEmpty()) return;
         switch (this.currentMetricFamily.getMetricType()) {
-            case INFO:
+            case INFO -> {
                 MetricFamily.Info info = new MetricFamily.Info();
                 info.setValue(buffer.toDouble());
                 metric.setInfo(info);
-                break;
-            case COUNTER:
+            }
+            case COUNTER -> {
                 MetricFamily.Counter counter = new MetricFamily.Counter();
                 counter.setValue(buffer.toDouble());
                 metric.setCounter(counter);
-                break;
-            case GAUGE:
+            }
+            case GAUGE -> {
                 MetricFamily.Gauge gauge = new MetricFamily.Gauge();
                 gauge.setValue(buffer.toDouble());
                 metric.setGauge(gauge);
-                break;
-            case UNTYPED:
+            }
+            case UNTYPED -> {
                 MetricFamily.Untyped untyped = new MetricFamily.Untyped();
                 untyped.setValue(buffer.toDouble());
                 metric.setUntyped(untyped);
-                break;
-            case SUMMARY:
+            }
+            case SUMMARY -> {
                 MetricFamily.Summary summary = metric.getSummary();
                 if (summary == null) {
                     summary = new MetricFamily.Summary();
@@ -274,8 +265,8 @@ public class ExporterParser {
                     quantile.setValue(buffer.toDouble());
                     quantileList.add(quantile);
                 }
-                break;
-            case HISTOGRAM:
+            }
+            case HISTOGRAM -> {
                 MetricFamily.Histogram histogram = metric.getHistogram();
                 if (histogram == null) {
                     histogram = new MetricFamily.Histogram();
@@ -294,9 +285,8 @@ public class ExporterParser {
                     bucket.setCumulativeCount(buffer.toLong());
                     bucketList.add(bucket);
                 }
-                break;
-            default:
-                throw new ParseException("no such type in metricFamily");
+            }
+            default -> throw new ParseException("no such type in 
metricFamily");
         }
     }
 
@@ -380,15 +370,9 @@ public class ExporterParser {
             // 处理 '\\' 转义
             if (escaped) {
                 switch (c) {
-                    case QUOTES:
-                    case '\\':
-                        builder.append(c);
-                        break;
-                    case 'n':
-                        builder.append('\n');
-                        break;
-                    default:
-                        throw new ParseException("parse label value error");
+                    case QUOTES, '\\' -> builder.append(c);
+                    case 'n' -> builder.append('\n');
+                    default -> throw new ParseException("parse label value 
error");
                 }
                 escaped = false;
             } else {
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
index 4d542a7e2..e3ca9e3ae 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/jmx/JmxCollectImpl.java
@@ -139,15 +139,13 @@ public class JmxCollectImpl extends AbstractCollect {
             if (value instanceof Number || value instanceof  String || value 
instanceof ObjectName
                     || value instanceof Boolean || value instanceof Date || 
value instanceof TimeUnit) {
                 attributeValueMap.put(attribute.getName(), value.toString());
-            } else if (value instanceof CompositeData) {
-                CompositeData compositeData = (CompositeData) value;
+            } else if (value instanceof CompositeData compositeData) {
                 CompositeType compositeType = compositeData.getCompositeType();
                 for (String typeKey : compositeType.keySet()) {
                     Object fieldValue = compositeData.get(typeKey);
                     attributeValueMap.put(attribute.getName() + SUB_ATTRIBUTE 
+ typeKey, fieldValue.toString());
                 }
-            } else if (value instanceof String[]) {
-                String[] values = (String[]) value;
+            } else if (value instanceof String[] values) {
                 StringBuilder builder = new StringBuilder();
                 for (int index = 0; index < values.length; index++) {
                     builder.append(values[index]);
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/parser/TextParser.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/parser/TextParser.java
index be637a327..8657fef1f 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/parser/TextParser.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/prometheus/parser/TextParser.java
@@ -143,14 +143,9 @@ public class TextParser {
         if (buffer.isEmpty()) return;
         c = buffer.read();
         switch (c) {
-            case COMMA:
-                startReadLabelName(metric, buffer);
-                break;
-            case RIGHT_CURLY_BRACKET:
-                readLabelValue(metric, buffer);
-                break;
-            default:
-                throw new ParseException("expected '}' or ',' at end of label 
value, line: " + buffer.toStr());
+            case COMMA -> startReadLabelName(metric, buffer);
+            case RIGHT_CURLY_BRACKET -> readLabelValue(metric, buffer);
+            default -> throw new ParseException("expected '}' or ',' at end of 
label value, line: " + buffer.toStr());
         }
     }
 
@@ -222,15 +217,9 @@ public class TextParser {
             // 处理 '\\' 转义
             if (escaped) {
                 switch (c) {
-                    case QUOTES:
-                    case '\\':
-                        builder.append(c);
-                        break;
-                    case 'n':
-                        builder.append('\n');
-                        break;
-                    default:
-                        throw new ParseException("parse label value error");
+                    case QUOTES, '\\' -> builder.append(c);
+                    case 'n' -> builder.append('\n');
+                    default -> throw new ParseException("parse label value 
error");
                 }
                 escaped = false;
             } else {
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/snmp/SnmpCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/snmp/SnmpCollectImpl.java
index c9324b06a..0c26c9d77 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/snmp/SnmpCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/snmp/SnmpCollectImpl.java
@@ -155,8 +155,8 @@ public class SnmpCollectImpl extends AbstractCollect {
                         continue;
                     }
                     Variable variable = binding.getVariable();
-                    if (variable instanceof TimeTicks) {
-                        String value = ((TimeTicks) 
variable).toString(FORMAT_PATTERN);
+                    if (variable instanceof TimeTicks timeTicks) {
+                        String value = timeTicks.toString(FORMAT_PATTERN);
                         oidsValueMap.put(binding.getOid().toDottedString(), 
value);
                     } else {
                         oidsValueMap.put(binding.getOid().toDottedString(), 
binding.toValueString());
@@ -196,8 +196,8 @@ public class SnmpCollectImpl extends AbstractCollect {
                             continue;
                         }
                         Variable variable = binding.getVariable();
-                        if (variable instanceof TimeTicks) {
-                            String value = ((TimeTicks) 
variable).toString(FORMAT_PATTERN);
+                        if (variable instanceof TimeTicks timeTicks) {
+                            String value = timeTicks.toString(FORMAT_PATTERN);
                             
oidsValueMap.put(binding.getOid().trim().toDottedString(), value);
                         } else {
                             
oidsValueMap.put(binding.getOid().trim().toDottedString(), 
bingdingHexValueToString(binding));
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/ssh/SshCollectImpl.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/ssh/SshCollectImpl.java
index ecfb81149..77e0fe2d1 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/collect/ssh/SshCollectImpl.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/collect/ssh/SshCollectImpl.java
@@ -109,22 +109,14 @@ public class SshCollectImpl extends AbstractCollect {
                 return;
             }
             switch (sshProtocol.getParseType()) {
-                case PARSE_TYPE_LOG:
-                    parseResponseDataByLog(result, metrics.getAliasFields(), 
builder, responseTime);
-                    break;
-                case PARSE_TYPE_NETCAT:
-                    parseResponseDataByNetcat(result, 
metrics.getAliasFields(), builder, responseTime);
-                    break;
-                case PARSE_TYPE_ONE_ROW:
-                    parseResponseDataByOne(result, metrics.getAliasFields(), 
builder, responseTime);
-                    break;
-                case PARSE_TYPE_MULTI_ROW:
-                    parseResponseDataByMulti(result, metrics.getAliasFields(), 
builder, responseTime);
-                    break;
-                default:
+                case PARSE_TYPE_LOG -> parseResponseDataByLog(result, 
metrics.getAliasFields(), builder, responseTime);
+                case PARSE_TYPE_NETCAT -> parseResponseDataByNetcat(result, 
metrics.getAliasFields(), builder, responseTime);
+                case PARSE_TYPE_ONE_ROW -> parseResponseDataByOne(result, 
metrics.getAliasFields(), builder, responseTime);
+                case PARSE_TYPE_MULTI_ROW -> parseResponseDataByMulti(result, 
metrics.getAliasFields(), builder, responseTime);
+                default -> {
                     builder.setCode(CollectRep.Code.FAIL);
                     builder.setMsg("Ssh collect not support this parse type: " 
+ sshProtocol.getParseType());
-                    break;
+                }
             }
         } catch (ConnectException connectException) {
             String errorMsg = 
CommonUtil.getMessageFromThrowable(connectException);
diff --git 
a/collector/src/main/java/org/apache/hertzbeat/collector/dispatch/timer/WheelTimerTask.java
 
b/collector/src/main/java/org/apache/hertzbeat/collector/dispatch/timer/WheelTimerTask.java
index 2918166b8..30158c1dd 100644
--- 
a/collector/src/main/java/org/apache/hertzbeat/collector/dispatch/timer/WheelTimerTask.java
+++ 
b/collector/src/main/java/org/apache/hertzbeat/collector/dispatch/timer/WheelTimerTask.java
@@ -66,8 +66,8 @@ public class WheelTimerTask implements TimerTask {
                             log.error("Aes Decode value {} error.", 
item.getValue());
                         }
                         item.setValue(decodeValue);
-                    } else if (item.getValue() != null && item.getValue() 
instanceof String) {
-                        item.setValue(((String) item.getValue()).trim());
+                    } else if (item.getValue() != null && item.getValue() 
instanceof String value) {
+                        item.setValue(value.trim());
                     }
                 })
                 .collect(Collectors.toMap(Configmap::getKey, item -> item, 
(key1, key2) -> key1));
diff --git 
a/common/src/main/java/org/apache/hertzbeat/common/support/SpringContextHolder.java
 
b/common/src/main/java/org/apache/hertzbeat/common/support/SpringContextHolder.java
index fac3fe913..37b47994c 100644
--- 
a/common/src/main/java/org/apache/hertzbeat/common/support/SpringContextHolder.java
+++ 
b/common/src/main/java/org/apache/hertzbeat/common/support/SpringContextHolder.java
@@ -36,8 +36,8 @@ public class SpringContextHolder implements 
ApplicationContextAware {
     @Override
     public void setApplicationContext(ApplicationContext applicationContext) 
throws BeansException {
         set(applicationContext);
-        if (applicationContext instanceof ConfigurableApplicationContext) {
-            configurableApplicationContext = (ConfigurableApplicationContext) 
applicationContext;
+        if (applicationContext instanceof ConfigurableApplicationContext 
context) {
+            configurableApplicationContext = context;
         }
     }
 
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/MetricsController.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/MetricsController.java
index 5d69b2480..c6102cb09 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/controller/MetricsController.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/controller/MetricsController.java
@@ -46,8 +46,8 @@ public class MetricsController {
     @Operation(summary = "Get Hertzbeat Metrics Data")
     public ResponseEntity<Message<Map<String, Object>>> getMetricsInfo() {
         Map<String, Object> metricsInfo = new HashMap<>(8);
-        if (commonDataQueue instanceof InMemoryCommonDataQueue) {
-            Map<String, Integer> queueInfo = ((InMemoryCommonDataQueue) 
commonDataQueue).getQueueSizeMetricsInfo();
+        if (commonDataQueue instanceof InMemoryCommonDataQueue dataQueue) {
+            Map<String, Integer> queueInfo = 
dataQueue.getQueueSizeMetricsInfo();
             metricsInfo.putAll(queueInfo);
         }
         return ResponseEntity.ok(Message.success(metricsInfo));
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
index 1858fc8df..70283b9ac 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/AppServiceImpl.java
@@ -469,13 +469,10 @@ public class AppServiceImpl implements AppService, 
CommandLineRunner {
         if (objectStoreConfig == null) {
             appDefineStore = new LocalFileAppDefineStoreImpl();
         } else {
-            switch (objectStoreConfig.getType()) {
-                case OBS:
-                    appDefineStore = new ObjectStoreAppDefineStoreImpl();
-                    break;
-                case FILE:
-                default:
-                    appDefineStore = new LocalFileAppDefineStoreImpl();
+            if (objectStoreConfig.getType() == ObjectStoreDTO.Type.OBS) {
+                appDefineStore = new ObjectStoreAppDefineStoreImpl();
+            } else {
+                appDefineStore = new LocalFileAppDefineStoreImpl();
             }
         }
         var success = appDefineStore.loadAppDefines();
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ExcelImExportServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ExcelImExportServiceImpl.java
index 51c6e7030..7e8b570a6 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ExcelImExportServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ExcelImExportServiceImpl.java
@@ -177,14 +177,11 @@ public class ExcelImExportServiceImpl extends 
AbstractImExportServiceImpl{
         if (cell == null) {
             return null;
         }
-        switch (cell.getCellType()) {
-            case STRING:
-                return cell.getStringCellValue();
-            case NUMERIC:
-                return String.valueOf(cell.getNumericCellValue());
-            default:
-                return null;
-        }
+        return switch (cell.getCellType()) {
+            case STRING -> cell.getStringCellValue();
+            case NUMERIC -> String.valueOf(cell.getNumericCellValue());
+            default -> null;
+        };
     }
     
     private boolean getCellValueAsBoolean(Cell cell) {
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java
index 9aeb474d1..70bd3e62b 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/MonitorServiceImpl.java
@@ -725,17 +725,10 @@ public class MonitorServiceImpl implements MonitorService 
{
             AppCount appCount = appCountMap.getOrDefault(item.getApp(), new 
AppCount());
             appCount.setApp(item.getApp());
             switch (item.getStatus()) {
-                case CommonConstants.AVAILABLE_CODE:
-                    appCount.setAvailableSize(appCount.getAvailableSize() + 
item.getSize());
-                    break;
-                case CommonConstants.UN_AVAILABLE_CODE:
-                    appCount.setUnAvailableSize(appCount.getUnAvailableSize() 
+ item.getSize());
-                    break;
-                case CommonConstants.UN_MANAGE_CODE:
-                    appCount.setUnManageSize(appCount.getUnManageSize() + 
item.getSize());
-                    break;
-                default:
-                    break;
+                case CommonConstants.AVAILABLE_CODE -> 
appCount.setAvailableSize(appCount.getAvailableSize() + item.getSize());
+                case CommonConstants.UN_AVAILABLE_CODE -> 
appCount.setUnAvailableSize(appCount.getUnAvailableSize() + item.getSize());
+                case CommonConstants.UN_MANAGE_CODE -> 
appCount.setUnManageSize(appCount.getUnManageSize() + item.getSize());
+                default -> {}
             }
             appCountMap.put(item.getApp(), appCount);
         }
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
index f4fa45f97..85ca0c4bd 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
@@ -82,12 +82,9 @@ public class ObjectStoreConfigServiceImpl extends 
AbstractGeneralConfigServiceIm
     public void handler(ObjectStoreDTO<T> config) {
         // 初始化文件存储服务
         if (config != null) {
-            switch (config.getType()) {
-                case OBS:
-                    initObs(config);
-                    break;
+            if (config.getType() == ObjectStoreDTO.Type.OBS) {
+                initObs(config);
                 // case other object store service
-                default:
             }
             ctx.publishEvent(new ObjectStoreConfigChangeEvent(config));
         }
diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/support/GlobalExceptionHandler.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/support/GlobalExceptionHandler.java
index 2ef2f1c80..52be171f1 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/support/GlobalExceptionHandler.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/support/GlobalExceptionHandler.java
@@ -138,8 +138,7 @@ public class GlobalExceptionHandler {
     @ResponseBody
     ResponseEntity<Message<Void>> handleInputValidException(Exception e) {
         StringBuffer errorMessage = new StringBuffer();
-        if (e instanceof MethodArgumentNotValidException) {
-            MethodArgumentNotValidException exception = 
(MethodArgumentNotValidException) e;
+        if (e instanceof MethodArgumentNotValidException exception) {
             exception.getBindingResult().getAllErrors().forEach(error -> {
                 try {
                     String field = Objects.requireNonNull(error.getCodes())[0];
@@ -148,8 +147,7 @@ public class GlobalExceptionHandler {
                     
errorMessage.append(error.getDefaultMessage()).append(CONNECT_STR);
                 }
             });
-        } else if (e instanceof BindException) {
-            BindException exception = (BindException) e;
+        } else if (e instanceof BindException exception) {
             exception.getAllErrors().forEach(error ->
                     
errorMessage.append(error.getDefaultMessage()).append(CONNECT_STR));
         }
diff --git 
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
 
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
index 942f203b3..58b04229c 100644
--- 
a/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
+++ 
b/warehouse/src/main/java/org/apache/hertzbeat/warehouse/store/HistoryJpaDatabaseDataStorage.java
@@ -146,50 +146,36 @@ public class HistoryJpaDatabaseDataStorage extends 
AbstractHistoryDataStorage {
 
                     if (CommonConstants.NULL_VALUE.equals(columnValue)) {
                         switch (fieldType) {
-                            case CommonConstants.TYPE_NUMBER: {
+                            case CommonConstants.TYPE_NUMBER -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_NUMBER)
                                         .dou(null);
-                                break;
                             }
-
-                            case CommonConstants.TYPE_STRING: {
+                            case CommonConstants.TYPE_STRING -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_STRING)
                                         .str(null);
-                                break;
                             }
-
-                            case CommonConstants.TYPE_TIME: {
+                            case CommonConstants.TYPE_TIME -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_TIME)
                                         .int32(null);
-                                break;
                             }
-                            default:
-                                
historyBuilder.metricType(CommonConstants.TYPE_NUMBER);
-                                break;
+                            default -> 
historyBuilder.metricType(CommonConstants.TYPE_NUMBER);
                         }
                     } else {
                         switch (fieldType) {
-                            case CommonConstants.TYPE_NUMBER: {
+                            case CommonConstants.TYPE_NUMBER -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_NUMBER)
                                         .dou(Double.parseDouble(columnValue));
-                                break;
                             }
-
-                            case CommonConstants.TYPE_STRING: {
+                            case CommonConstants.TYPE_STRING -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_STRING)
                                         .str(formatStrValue(columnValue));
-                                break;
                             }
-
-                            case CommonConstants.TYPE_TIME: {
+                            case CommonConstants.TYPE_TIME -> {
                                 
historyBuilder.metricType(CommonConstants.TYPE_TIME)
                                         .int32(Integer.parseInt(columnValue));
-                                break;
                             }
-                            default:
-                                
historyBuilder.metricType(CommonConstants.TYPE_NUMBER)
-                                        .dou(Double.parseDouble(columnValue));
-                                break;
+                            default -> 
historyBuilder.metricType(CommonConstants.TYPE_NUMBER)
+                                    .dou(Double.parseDouble(columnValue));
                         }
 
                         if (field.getLabel()) {


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


Reply via email to