From 6907654bdfaa19caac39827338fb1370ddcdc0fe Mon Sep 17 00:00:00 2001 From: po-168 Date: Sat, 18 Jan 2025 09:58:58 +0800 Subject: [PATCH] [type:refactor] Optimize code for shenyu-registry (#5876) Co-authored-by: aias00 --- .../registry/api/config/RegisterConfig.java | 34 ++++++++++++------- .../registry/api/entity/InstanceEntity.java | 2 +- .../registry/kubernetes/KubernetesClient.java | 7 ++-- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/config/RegisterConfig.java b/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/config/RegisterConfig.java index 3a8e5d507e40..3b4c63695555 100644 --- a/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/config/RegisterConfig.java +++ b/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/config/RegisterConfig.java @@ -17,7 +17,10 @@ package org.apache.shenyu.registry.api.config; +import org.apache.commons.lang3.StringUtils; + import java.util.Map; +import java.util.Objects; import java.util.Properties; /** @@ -127,7 +130,7 @@ public void setEnabled(final boolean enabled) { @Override public boolean equals(final Object obj) { - if (obj == null) { + if (Objects.isNull(obj)) { return false; } RegisterConfig registerConfig = (RegisterConfig) obj; @@ -137,18 +140,20 @@ public boolean equals(final Object obj) { if (!this.getServerLists().equals(registerConfig.getServerLists())) { return false; } - if (this.getProps() == null && registerConfig.getProps() == null) { + Properties properties = this.getProps(); + Properties registerConfigProps = registerConfig.getProps(); + if (Objects.isNull(properties) && Objects.isNull(registerConfigProps)) { return true; } - if (this.getProps() == null || registerConfig.getProps() == null) { + if (Objects.isNull(properties) || Objects.isNull(registerConfigProps)) { return false; } - if (this.getProps().entrySet().size() != registerConfig.getProps().entrySet().size()) { + if (properties.entrySet().size() != registerConfigProps.entrySet().size()) { return false; } - for (Map.Entry entry : this.getProps().entrySet()) { + for (Map.Entry entry : properties.entrySet()) { Object newValue = entry.getValue(); - Object oldValue = registerConfig.getProps().get(entry.getKey()); + Object oldValue = registerConfigProps.get(entry.getKey()); if (!newValue.equals(oldValue)) { return false; } @@ -158,13 +163,18 @@ public boolean equals(final Object obj) { @Override public int hashCode() { - int result = getRegisterType() != null ? getRegisterType().hashCode() : 0; - result = 31 * result + (getServerLists() != null ? getServerLists().hashCode() : 0); + String registerTypeStr = getRegisterType(); + int result = StringUtils.isNotEmpty(registerTypeStr) ? registerTypeStr.hashCode() : 0; + String serverListsStr = getServerLists(); + result = 31 * result + (StringUtils.isNotEmpty(serverListsStr) ? serverListsStr.hashCode() : 0); - if (getProps() != null) { - for (Map.Entry entry : getProps().entrySet()) { - result = 31 * result + (entry.getKey() != null ? entry.getKey().hashCode() : 0); - result = 31 * result + (entry.getValue() != null ? entry.getValue().hashCode() : 0); + Properties properties = getProps(); + if (Objects.nonNull(properties)) { + for (Map.Entry entry : properties.entrySet()) { + Object entryKey = entry.getKey(); + result = 31 * result + (Objects.nonNull(entryKey) ? entryKey.hashCode() : 0); + Object entryValue = entry.getValue(); + result = 31 * result + (Objects.nonNull(entryValue) ? entryValue.hashCode() : 0); } } diff --git a/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/entity/InstanceEntity.java b/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/entity/InstanceEntity.java index 9c7d27a53848..974ab83d3a13 100644 --- a/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/entity/InstanceEntity.java +++ b/shenyu-registry/shenyu-registry-api/src/main/java/org/apache/shenyu/registry/api/entity/InstanceEntity.java @@ -147,7 +147,7 @@ public boolean equals(final Object o) { return Boolean.TRUE; } - if (o == null || getClass() != o.getClass()) { + if (Objects.isNull(o) || getClass() != o.getClass()) { return Boolean.FALSE; } diff --git a/shenyu-registry/shenyu-registry-kubernetes/src/main/java/org/apache/shenyu/registry/kubernetes/KubernetesClient.java b/shenyu-registry/shenyu-registry-kubernetes/src/main/java/org/apache/shenyu/registry/kubernetes/KubernetesClient.java index fb1c206085ff..b6661f870617 100644 --- a/shenyu-registry/shenyu-registry-kubernetes/src/main/java/org/apache/shenyu/registry/kubernetes/KubernetesClient.java +++ b/shenyu-registry/shenyu-registry-kubernetes/src/main/java/org/apache/shenyu/registry/kubernetes/KubernetesClient.java @@ -23,6 +23,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -46,10 +47,10 @@ public KubernetesClient(final KubernetesConfig kubernetesConfig) { */ public List selectInstances(final String serviceId) { List response = Collections.emptyList(); - KubernetesInstance[] responseBody = (KubernetesInstance[]) this.rest.getForEntity(this.kubernetesConfig.getDiscoveryServerUrl() + "/apps/" + serviceId, + KubernetesInstance[] responseBody = this.rest.getForEntity(this.kubernetesConfig.getDiscoveryServerUrl() + "/apps/" + serviceId, KubernetesInstance[].class, new Object[0]).getBody(); - if (responseBody != null && responseBody.length > 0) { - response = (List) Arrays.stream(responseBody).filter(this::matchNamespaces).collect(Collectors.toList()); + if (Objects.nonNull(responseBody) && responseBody.length > 0) { + response = Arrays.stream(responseBody).filter(this::matchNamespaces).collect(Collectors.toList()); } return response;