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);