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

albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 0c593ab  Extract constants and use existing tool methods to judge 
empty (#8442)
0c593ab is described below

commit 0c593abf8b260e4cc5620fb931fb57c6988ef961
Author: 灼华 <[email protected]>
AuthorDate: Wed Aug 11 12:31:40 2021 +0800

    Extract constants and use existing tool methods to judge empty (#8442)
---
 .../cluster/router/mesh/route/MeshAppRuleListener.java | 10 ++++++++--
 .../mesh/route/MeshRuleAddressListenerInterceptor.java |  6 ++++--
 .../rpc/cluster/router/mesh/route/MeshRuleRouter.java  | 18 +++++++++---------
 .../cluster/router/mesh/rule/DestinationRuleTest.java  |  9 ++++++---
 4 files changed, 27 insertions(+), 16 deletions(-)

diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListener.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListener.java
index 387ec4c..73d79e3 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListener.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListener.java
@@ -40,6 +40,12 @@ public class MeshAppRuleListener implements 
ConfigurationListener {
 
     public static final Logger logger = 
LoggerFactory.getLogger(MeshAppRuleListener.class);
 
+    public static final String DESTINATION_RULE_KEY = "DestinationRule";
+
+    public static final String VIRTUAL_SERVICE_KEY = "VirtualService";
+
+    public static final String KIND_KEY = "kind";
+
     private final VsDestinationGroupRuleDispatcher 
vsDestinationGroupRuleDispatcher = new VsDestinationGroupRuleDispatcher();
 
     private final String appName;
@@ -68,11 +74,11 @@ public class MeshAppRuleListener implements 
ConfigurationListener {
             for (Object result : objectIterable) {
 
                 Map resultMap = (Map) result;
-                if ("DestinationRule".equals(resultMap.get("kind"))) {
+                if (DESTINATION_RULE_KEY.equals(resultMap.get(KIND_KEY))) {
                     DestinationRule destinationRule = 
PojoUtils.mapToPojo(resultMap, DestinationRule.class);
                     
vsDestinationGroup.getDestinationRuleList().add(destinationRule);
 
-                } else if ("VirtualService".equals(resultMap.get("kind"))) {
+                } else if 
(VIRTUAL_SERVICE_KEY.equals(resultMap.get(KIND_KEY))) {
                     VirtualServiceRule virtualServiceRule = 
PojoUtils.mapToPojo(resultMap, VirtualServiceRule.class);
                     
vsDestinationGroup.getVirtualServiceRuleList().add(virtualServiceRule);
                 }
diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleAddressListenerInterceptor.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleAddressListenerInterceptor.java
index 4686190..5f778bb 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleAddressListenerInterceptor.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleAddressListenerInterceptor.java
@@ -19,7 +19,9 @@ package org.apache.dubbo.rpc.cluster.router.mesh.route;
 
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.extension.Activate;
+import org.apache.dubbo.common.utils.CollectionUtils;
 import org.apache.dubbo.common.utils.ConcurrentHashSet;
+import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.registry.AddressListener;
 import org.apache.dubbo.rpc.cluster.Directory;
 
@@ -34,11 +36,11 @@ public class MeshRuleAddressListenerInterceptor implements 
AddressListener {
     @Override
     public List<URL> notify(List<URL> addresses, URL consumerUrl, Directory 
registryDirectory) {
 
-        if (addresses != null && !addresses.isEmpty()) {
+        if (CollectionUtils.isNotEmpty(addresses)) {
             for (URL url : addresses) {
 
                 String app = url.getRemoteApplication();
-                if (app != null && !app.isEmpty()) {
+                if (StringUtils.isNotEmpty(app)) {
                     if (APP_SET.add(app)) {
                         MeshRuleManager.subscribeAppRule(app);
                     }
diff --git 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouter.java
 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouter.java
index d916385..33ab62e 100644
--- 
a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouter.java
+++ 
b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouter.java
@@ -18,6 +18,7 @@
 package org.apache.dubbo.rpc.cluster.router.mesh.route;
 
 import org.apache.dubbo.common.URL;
+import org.apache.dubbo.common.utils.CollectionUtils;
 import org.apache.dubbo.common.utils.StringUtils;
 import org.apache.dubbo.rpc.Invocation;
 import org.apache.dubbo.rpc.Invoker;
@@ -61,6 +62,8 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
 
     private volatile String remoteAppName;
 
+    private static final String INVALID_APP_NAME = "unknown";
+
     public MeshRuleRouter(URL url) {
         this.url = url;
         sourcesLabels.putAll(url.getParameters());
@@ -83,7 +86,6 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
 
             DubboDestination dubboDestination = 
dubboRouteDestination.getDestination();
 
-            String host = dubboDestination.getHost();
             String subset = dubboDestination.getSubset();
 
             List<Invoker<?>> result;
@@ -96,7 +98,7 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
                 do {
                     result = subsetMapCopy.get(subset);
 
-                    if (result != null && result.size() > 0) {
+                    if (CollectionUtils.isNotEmpty(result)) {
                         return (List) result;
                     }
 
@@ -106,7 +108,6 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
                     }
                     dubboDestination = dubboRouteDestination.getDestination();
 
-                    host = dubboDestination.getHost();
                     subset = dubboDestination.getSubset();
                 } while (true);
 
@@ -129,10 +130,10 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
     private void registerAppRule(List<Invoker<?>> invokers) {
         if (StringUtils.isEmpty(remoteAppName)) {
             synchronized (this) {
-                if (StringUtils.isEmpty(remoteAppName) && invokers != null && 
invokers.size() > 0) {
+                if (StringUtils.isEmpty(remoteAppName) && 
CollectionUtils.isNotEmpty(invokers)) {
                     for (Invoker invoker : invokers) {
                         String applicationName = 
invoker.getUrl().getRemoteApplication();
-                        if (StringUtils.isNotEmpty(applicationName) && 
!"unknown".equals(applicationName)) {
+                        if (StringUtils.isNotEmpty(applicationName) && 
!INVALID_APP_NAME.equals(applicationName)) {
                             remoteAppName = applicationName;
                             MeshRuleManager.register(remoteAppName, this);
                             break;
@@ -190,7 +191,7 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
         if (dubboRouteList.size() > 0) {
             for (DubboRoute dubboRoute : dubboRouteList) {
                 List<StringMatch> stringMatchList = dubboRoute.getServices();
-                if (stringMatchList == null || stringMatchList.size() == 0) {
+                if (CollectionUtils.isEmpty(stringMatchList)) {
                     return dubboRoute;
                 }
                 for (StringMatch stringMatch : stringMatchList) {
@@ -226,7 +227,7 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
 
         for (DubboRouteDetail dubboRouteDetail : dubboRouteDetailList) {
             List<DubboMatchRequest> matchRequestList = 
dubboRouteDetail.getMatch();
-            if (matchRequestList == null || matchRequestList.size() == 0) {
+            if (CollectionUtils.isEmpty(matchRequestList)) {
                 return dubboRouteDetail;
             }
 
@@ -252,7 +253,7 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
 
 
     protected synchronized void computeSubset() {
-        if (invokerList == null || invokerList.size() == 0) {
+        if (CollectionUtils.isEmpty(invokerList)) {
             this.subsetMap = null;
             return;
         }
@@ -277,7 +278,6 @@ public class MeshRuleRouter implements Router, 
VsDestinationGroupRuleListener {
 
         for (DestinationRule destinationRule : destinationRules) {
             DestinationRuleSpec destinationRuleSpec = 
destinationRule.getSpec();
-            String host = destinationRuleSpec.getHost();
             List<Subset> subsetList = destinationRuleSpec.getSubsets();
 
             for (Subset subset : subsetList) {
diff --git 
a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/DestinationRuleTest.java
 
b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/DestinationRuleTest.java
index 0ddb0e2..7f99f36 100644
--- 
a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/DestinationRuleTest.java
+++ 
b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/DestinationRuleTest.java
@@ -25,6 +25,9 @@ import org.yaml.snakeyaml.Yaml;
 
 import java.util.Map;
 
+import static 
org.apache.dubbo.rpc.cluster.router.mesh.route.MeshAppRuleListener.DESTINATION_RULE_KEY;
+import static 
org.apache.dubbo.rpc.cluster.router.mesh.route.MeshAppRuleListener.KIND_KEY;
+import static 
org.apache.dubbo.rpc.cluster.router.mesh.route.MeshAppRuleListener.VIRTUAL_SERVICE_KEY;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
@@ -54,7 +57,7 @@ public class DestinationRuleTest {
 
 
         assertEquals("service.dubbo.apache.org/v1alpha1", 
destinationRule.getApiVersion());
-        assertEquals("DestinationRule", destinationRule.getKind());
+        assertEquals(DESTINATION_RULE_KEY, destinationRule.getKind());
         assertEquals("demo-route", destinationRule.getMetadata().get("name"));
         assertEquals("demo", destinationRule.getSpec().getHost());
         assertEquals(3, destinationRule.getSpec().getSubsets().size());
@@ -87,11 +90,11 @@ public class DestinationRuleTest {
         for (Object result : objectIterable) {
 
             Map resultMap = (Map) result;
-            if (resultMap.get("kind").equals("DestinationRule")) {
+            if (resultMap.get("kind").equals(DESTINATION_RULE_KEY)) {
                 DestinationRule destinationRule = 
yaml2.loadAs(yaml2.dump(result), DestinationRule.class);
                 System.out.println(destinationRule);
                 assertNotNull(destinationRule);
-            } else if (resultMap.get("kind").equals("VirtualService")) {
+            } else if (resultMap.get(KIND_KEY).equals(VIRTUAL_SERVICE_KEY)) {
                 VirtualServiceRule virtualServiceRule = 
yaml2.loadAs(yaml2.dump(result), VirtualServiceRule.class);
                 System.out.println(virtualServiceRule);
                 assertNotNull(virtualServiceRule);

Reply via email to