This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 6c5ba9f4b5 [type:refactor] Optimize code for shenyu-web (#5871)
6c5ba9f4b5 is described below
commit 6c5ba9f4b527eb2854d7d54cfcebebe1c9e213fb
Author: po-168 <[email protected]>
AuthorDate: Thu Jan 2 20:01:25 2025 +0800
[type:refactor] Optimize code for shenyu-web (#5871)
* [type:refactor] Optimize code for shenyu-web
* [type:refactor] Optimize code for shenyu-web
---------
Co-authored-by: aias00 <[email protected]>
Co-authored-by: xiaoyu <[email protected]>
---
.../shenyu/web/forward/ForwardedRemoteAddressResolver.java | 9 +++++----
.../main/java/org/apache/shenyu/web/loader/PluginJarParser.java | 3 ++-
.../org/apache/shenyu/web/loader/ShenyuPluginClassLoader.java | 8 ++++----
.../java/org/apache/shenyu/web/loader/ShenyuPluginLoader.java | 8 +++-----
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git
a/shenyu-web/src/main/java/org/apache/shenyu/web/forward/ForwardedRemoteAddressResolver.java
b/shenyu-web/src/main/java/org/apache/shenyu/web/forward/ForwardedRemoteAddressResolver.java
index 79b68041ab..0c84a7f064 100644
---
a/shenyu-web/src/main/java/org/apache/shenyu/web/forward/ForwardedRemoteAddressResolver.java
+++
b/shenyu-web/src/main/java/org/apache/shenyu/web/forward/ForwardedRemoteAddressResolver.java
@@ -17,12 +17,13 @@
package org.apache.shenyu.web.forward;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shenyu.plugin.api.RemoteAddressResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.util.Assert;
-import org.springframework.util.StringUtils;
import org.springframework.web.server.ServerWebExchange;
import java.net.InetSocketAddress;
@@ -84,7 +85,7 @@ public class ForwardedRemoteAddressResolver implements
RemoteAddressResolver {
@Override
public InetSocketAddress resolve(final ServerWebExchange exchange) {
List<String> xForwardedValues = extractXForwardedValues(exchange);
- if (!xForwardedValues.isEmpty()) {
+ if (CollectionUtils.isNotEmpty(xForwardedValues)) {
int index = Math.min(xForwardedValues.size(), maxTrustedIndex) - 1;
return new InetSocketAddress(xForwardedValues.get(index), 0);
}
@@ -94,7 +95,7 @@ public class ForwardedRemoteAddressResolver implements
RemoteAddressResolver {
private List<String> extractXForwardedValues(final ServerWebExchange
exchange) {
List<String> xForwardedValues = exchange.getRequest().getHeaders()
.get(X_FORWARDED_FOR);
- if (xForwardedValues == null || xForwardedValues.isEmpty()) {
+ if (CollectionUtils.isEmpty(xForwardedValues)) {
return Collections.emptyList();
}
if (xForwardedValues.size() > 1) {
@@ -102,7 +103,7 @@ public class ForwardedRemoteAddressResolver implements
RemoteAddressResolver {
return Collections.emptyList();
}
List<String> values = Arrays.asList(xForwardedValues.get(0).split(",
"));
- if (values.size() == 1 && !StringUtils.hasText(values.get(0))) {
+ if (values.size() == 1 && StringUtils.isNotEmpty(values.get(0))) {
return Collections.emptyList();
}
return values;
diff --git
a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/PluginJarParser.java
b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/PluginJarParser.java
index b8821d6a04..12e93ec0a7 100644
--- a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/PluginJarParser.java
+++ b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/PluginJarParser.java
@@ -23,6 +23,7 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Map;
+import java.util.Objects;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.JarEntry;
@@ -43,7 +44,7 @@ public class PluginJarParser {
PluginJar pluginJar = new PluginJar();
try (JarInputStream jarInputStream = new JarInputStream(new
ByteArrayInputStream(jarBytes))) {
JarEntry jarEntry;
- while ((jarEntry = jarInputStream.getNextJarEntry()) != null) {
+ while (Objects.nonNull(jarEntry =
jarInputStream.getNextJarEntry())) {
String entryName = jarEntry.getName();
// get jar version
if (jarEntry.getName().endsWith("pom.properties")) {
diff --git
a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginClassLoader.java
b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginClassLoader.java
index b1be735e60..fe705f36b6 100644
---
a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginClassLoader.java
+++
b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginClassLoader.java
@@ -103,11 +103,11 @@ public final class ShenyuPluginClassLoader extends
ClassLoader implements Closea
@Override
public InputStream getResourceAsStream(final String name) {
byte[] cacheByte = resourceCache.get(name);
- if (cacheByte != null) {
+ if (Objects.nonNull(cacheByte)) {
return new ByteArrayInputStream(cacheByte);
}
byte[] bytes = pluginJar.getResourceMap().get(name);
- if (bytes != null) {
+ if (Objects.nonNull(bytes)) {
resourceCache.put(name, bytes);
return new ByteArrayInputStream(bytes);
}
@@ -120,12 +120,12 @@ public final class ShenyuPluginClassLoader extends
ClassLoader implements Closea
return this.getParent().loadClass(name);
}
Class<?> clazz = classCache.get(name);
- if (clazz != null) {
+ if (Objects.nonNull(clazz)) {
return clazz;
}
synchronized (this) {
clazz = classCache.get(name);
- if (clazz == null) {
+ if (Objects.isNull(clazz)) {
// support base64Jar
if (pluginJar.getClazzMap().containsKey(name) &&
!checkExistence(name)) {
byte[] bytes = pluginJar.getClazzMap().get(name);
diff --git
a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginLoader.java
b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginLoader.java
index c46e02c559..56c92a73fb 100644
---
a/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginLoader.java
+++
b/shenyu-web/src/main/java/org/apache/shenyu/web/loader/ShenyuPluginLoader.java
@@ -92,9 +92,9 @@ public final class ShenyuPluginLoader extends ClassLoader
implements Closeable {
* @return plugin loader instance
*/
public static ShenyuPluginLoader getInstance() {
- if (null == pluginLoader) {
+ if (Objects.isNull(pluginLoader)) {
synchronized (ShenyuPluginLoader.class) {
- if (null == pluginLoader) {
+ if (Objects.isNull(pluginLoader)) {
pluginLoader = new ShenyuPluginLoader();
}
}
@@ -181,9 +181,7 @@ public final class ShenyuPluginLoader extends ClassLoader
implements Closeable {
*/
public List<ShenyuLoaderResult> loadUploadedJarPlugins(final List<String>
loadUploadedJarResources) {
List<byte[]> jarByteArrayList =
loadUploadedJarResources.stream().map(loadUploadedJarResourceStr ->
Base64.getDecoder().decode(loadUploadedJarResourceStr)).collect(Collectors.toList());
- for (byte[] jarByteArray : jarByteArrayList) {
- parserJar(jarByteArray);
- }
+ jarByteArrayList.forEach(this::parserJar);
List<ShenyuLoaderResult> results = new ArrayList<>();
names.forEach(className -> {
Object instance;