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 5b8e7d07f6 [type:refactor] Optimize code for shenyu-client (#5866) 5b8e7d07f6 is described below commit 5b8e7d07f68e36d4457f354d57b4cbf5411ef817 Author: po-168 <po...@foxmail.com> AuthorDate: Fri Dec 27 15:16:13 2024 +0800 [type:refactor] Optimize code for shenyu-client (#5866) --- .../client/auto/config/ClientRegisterConfiguration.java | 8 ++------ .../subcriber/ShenyuClientApiDocExecutorSubscriber.java | 4 +--- .../subcriber/ShenyuClientMetadataExecutorSubscriber.java | 4 +--- .../core/exception/ShenyuClientIllegalArgumentException.java | 2 ++ .../client/core/register/ClientApiRefreshedEventListener.java | 11 ++++------- .../client/core/register/extractor/BaseApiBeansExtractor.java | 8 ++------ .../shenyu/client/core/register/registrar/ApiRegistrar.java | 4 +--- .../client/core/register/registrar/BaseApiRegistrarImpl.java | 4 +--- .../shenyu/client/core/shutdown/ShutdownHookManager.java | 6 ++---- .../springcloud/init/SpringCloudClientEventListener.java | 2 +- .../springcloud/register/SpringCloudApiMetaRegister.java | 2 +- .../client/springmvc/init/SpringMvcClientEventListener.java | 2 +- .../spring/websocket/init/ShenyuServerEndpointerExporter.java | 4 ++-- 13 files changed, 21 insertions(+), 40 deletions(-) diff --git a/shenyu-client/shenyu-client-autoconfig/src/main/java/org/apache/shenyu/client/auto/config/ClientRegisterConfiguration.java b/shenyu-client/shenyu-client-autoconfig/src/main/java/org/apache/shenyu/client/auto/config/ClientRegisterConfiguration.java index 06dd081027..daa1ddc6e5 100644 --- a/shenyu-client/shenyu-client-autoconfig/src/main/java/org/apache/shenyu/client/auto/config/ClientRegisterConfiguration.java +++ b/shenyu-client/shenyu-client-autoconfig/src/main/java/org/apache/shenyu/client/auto/config/ClientRegisterConfiguration.java @@ -60,9 +60,7 @@ public class ClientRegisterConfiguration { @Bean public MateDataApiRegistrarImpl mateDataApiRegistrarImpl(final ClientRegisterConfig clientRegisterConfig, final List<ApiRegisterProcessor> processor) { final MateDataApiRegistrarImpl apiRegistrarImpl = new MateDataApiRegistrarImpl(clientRegisterConfig); - for (ApiRegisterProcessor apiProcessor : processor) { - apiRegistrarImpl.addApiProcessor(apiProcessor); - } + processor.forEach(apiRegistrarImpl::addApiProcessor); return apiRegistrarImpl; } @@ -76,9 +74,7 @@ public class ClientRegisterConfiguration { @Bean public ApiDocRegistrarImpl apiDocRegistrarImpl(final ClientRegisterConfig clientRegisterConfig, final List<ApiRegisterProcessor> processor) { final ApiDocRegistrarImpl apiRegistrarImpl = new ApiDocRegistrarImpl(clientRegisterConfig); - for (ApiRegisterProcessor apiProcessor : processor) { - apiRegistrarImpl.addApiProcessor(apiProcessor); - } + processor.forEach(apiRegistrarImpl::addApiProcessor); return apiRegistrarImpl; } diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientApiDocExecutorSubscriber.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientApiDocExecutorSubscriber.java index 24d239e73f..4a5a7a5159 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientApiDocExecutorSubscriber.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientApiDocExecutorSubscriber.java @@ -46,8 +46,6 @@ public class ShenyuClientApiDocExecutorSubscriber implements ExecutorTypeSubscri @Override public void executor(final Collection<ApiDocRegisterDTO> dataList) { - for (ApiDocRegisterDTO apiDocRegisterDTO : dataList) { - shenyuClientRegisterRepository.persistApiDoc(apiDocRegisterDTO); - } + dataList.forEach(shenyuClientRegisterRepository::persistApiDoc); } } diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientMetadataExecutorSubscriber.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientMetadataExecutorSubscriber.java index 9f0035f1ea..5fd43313b8 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientMetadataExecutorSubscriber.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientMetadataExecutorSubscriber.java @@ -47,8 +47,6 @@ public class ShenyuClientMetadataExecutorSubscriber implements ExecutorTypeSubsc @Override public void executor(final Collection<MetaDataRegisterDTO> metaDataRegisterDTOList) { - for (MetaDataRegisterDTO metaDataRegisterDTO : metaDataRegisterDTOList) { - shenyuClientRegisterRepository.persistInterface(metaDataRegisterDTO); - } + metaDataRegisterDTOList.forEach(shenyuClientRegisterRepository::persistInterface); } } diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/exception/ShenyuClientIllegalArgumentException.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/exception/ShenyuClientIllegalArgumentException.java index 9b3f7b7768..0974a5655f 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/exception/ShenyuClientIllegalArgumentException.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/exception/ShenyuClientIllegalArgumentException.java @@ -22,6 +22,8 @@ package org.apache.shenyu.client.core.exception; */ public class ShenyuClientIllegalArgumentException extends IllegalArgumentException { + private static final long serialVersionUID = -5608921593520024291L; + /** * Constructs an <code>IllegalArgumentException</code> with the * specified detail message. diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/ClientApiRefreshedEventListener.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/ClientApiRefreshedEventListener.java index 9102838f4c..3fc805494b 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/ClientApiRefreshedEventListener.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/ClientApiRefreshedEventListener.java @@ -42,13 +42,10 @@ public final class ClientApiRefreshedEventListener implements ApplicationListene // Collect all types of RPC client APIs List<ApiBean> apiBeans = apiBeanExtractor.extract(event.getApplicationContext()); // Register different metadata - for (ApiRegistrar registrar : apiRegistrars) { - // Optimization point: parallel registration - // Each registrar holds a copy of the full API information, - // which is not complete and can be modified during the registration process - - registrar.register(copy(apiBeans)); - } + // Optimization point: parallel registration + // Each registrar holds a copy of the full API information, + // which is not complete and can be modified during the registration process + apiRegistrars.forEach(registrar -> registrar.register(copy(apiBeans))); } @NotNull diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/extractor/BaseApiBeansExtractor.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/extractor/BaseApiBeansExtractor.java index 6010e7983f..eeecda9a12 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/extractor/BaseApiBeansExtractor.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/extractor/BaseApiBeansExtractor.java @@ -89,9 +89,7 @@ public abstract class BaseApiBeansExtractor implements RpcApiBeansExtractor { * @param api api */ protected void apiPostProcess(final ApiBean api) { - for (ExtractorProcessor apiAnnotationProcessor : extractorProcessors) { - apiAnnotationProcessor.process(api); - } + extractorProcessors.forEach(apiAnnotationProcessor -> apiAnnotationProcessor.process(api)); LOG.debug("[Shenyu Client] extract api info [{}]", api); } @@ -147,9 +145,7 @@ public abstract class BaseApiBeansExtractor implements RpcApiBeansExtractor { * @param apiDefinition apiDefinition */ protected void definitionPostProcess(final ApiBean.ApiDefinition apiDefinition) { - for (ExtractorProcessor apiAnnotationProcessor : extractorProcessors) { - apiAnnotationProcessor.process(apiDefinition); - } + extractorProcessors.forEach(apiAnnotationProcessor -> apiAnnotationProcessor.process(apiDefinition)); LOG.debug("[Shenyu Client] extract api definition info [{}]", apiDefinition); } diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/ApiRegistrar.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/ApiRegistrar.java index 7a36982331..0973b3f4cd 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/ApiRegistrar.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/ApiRegistrar.java @@ -30,9 +30,7 @@ public interface ApiRegistrar { * @param beans apiBean to register */ default void register(List<ApiBean> beans) { - for (ApiBean bean : beans) { - register(bean); - } + beans.forEach(this::register); } /** diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/BaseApiRegistrarImpl.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/BaseApiRegistrarImpl.java index 7b77480da6..fd3db680ac 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/BaseApiRegistrarImpl.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/BaseApiRegistrarImpl.java @@ -51,9 +51,7 @@ public abstract class BaseApiRegistrarImpl implements ApiRegistrar, Initializing @Override public void register(final ApiBean apiBean) { - for (ApiRegisterProcessor processor : processors) { - processor.process(apiBean); - } + processors.forEach(processor -> processor.process(apiBean)); if (ApiBean.Status.INIT.equals(apiBean.getStatus())) { // default register all api apiBean.setStatus(ApiBean.Status.REGISTRABLE_API); diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/shutdown/ShutdownHookManager.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/shutdown/ShutdownHookManager.java index 5d0952b788..eb308f212f 100644 --- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/shutdown/ShutdownHookManager.java +++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/shutdown/ShutdownHookManager.java @@ -86,9 +86,7 @@ public final class ShutdownHookManager { } list.sort((o1, o2) -> o2.priority - o1.priority); List<Runnable> ordered = new ArrayList<>(); - for (HookEntry entry : list) { - ordered.add(entry.hook); - } + list.forEach(entry -> ordered.add(entry.hook)); return ordered; } @@ -200,7 +198,7 @@ public final class ShutdownHookManager { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { + if (Objects.isNull(o) || getClass() != o.getClass()) { return false; } HookEntry hookEntry = (HookEntry) o; diff --git a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java index a6c5599fbd..4778964dc6 100644 --- a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java +++ b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/init/SpringCloudClientEventListener.java @@ -276,7 +276,7 @@ public class SpringCloudClientEventListener extends AbstractContextRefreshedEven @Override public String getPort() { - final int port = Integer.parseInt(Optional.ofNullable(super.getPort()).orElseGet(() -> "-1")); + final int port = Integer.parseInt(Optional.ofNullable(super.getPort()).orElse("-1")); final int mergedPort = port <= 0 ? PortUtils.findPort(getContext().getAutowireCapableBeanFactory()) : port; return String.valueOf(mergedPort); } diff --git a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/register/SpringCloudApiMetaRegister.java b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/register/SpringCloudApiMetaRegister.java index 51f7c0c926..495273b946 100644 --- a/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/register/SpringCloudApiMetaRegister.java +++ b/shenyu-client/shenyu-client-http/shenyu-client-springcloud/src/main/java/org/apache/shenyu/client/springcloud/register/SpringCloudApiMetaRegister.java @@ -95,7 +95,7 @@ public class SpringCloudApiMetaRegister extends AbstractApiMetaRegistrar { @Override protected Boolean match(final ApiBean apiBean) { ShenyuSpringCloudClient annotation = apiBean.getAnnotation(ShenyuSpringCloudClient.class); - if (annotation != null) { + if (Objects.nonNull(annotation)) { return !annotation.path()[0].endsWith("/**"); } return true; diff --git a/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java b/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java index 568bb91ab6..d2f89f8816 100644 --- a/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java +++ b/shenyu-client/shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/init/SpringMvcClientEventListener.java @@ -287,7 +287,7 @@ public class SpringMvcClientEventListener extends AbstractContextRefreshedEventL @Override public String getPort() { - final int port = Integer.parseInt(Optional.ofNullable(super.getPort()).orElseGet(() -> "-1")); + final int port = Integer.parseInt(Optional.ofNullable(super.getPort()).orElse("-1")); final int mergedPort = port <= 0 ? PortUtils.findPort(getContext().getAutowireCapableBeanFactory()) : port; return String.valueOf(mergedPort); } diff --git a/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/ShenyuServerEndpointerExporter.java b/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/ShenyuServerEndpointerExporter.java index 772667d183..cde8e8d046 100644 --- a/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/ShenyuServerEndpointerExporter.java +++ b/shenyu-client/shenyu-client-websocket/shenyu-client-spring-websocket/src/main/java/org/apache/shenyu/client/spring/websocket/init/ShenyuServerEndpointerExporter.java @@ -59,7 +59,7 @@ public class ShenyuServerEndpointerExporter extends WebApplicationObjectSupport @Override protected void initServletContext(final ServletContext servletContext) { - if (this.serverContainer == null) { + if (Objects.isNull(this.serverContainer)) { this.serverContainer = (ServerContainer) servletContext.getAttribute("jakarta.websocket.server.ServerContainer"); } } @@ -75,7 +75,7 @@ public class ShenyuServerEndpointerExporter extends WebApplicationObjectSupport */ public void registerEndpoint(final Class<?> pojo) { ShenyuServerEndpoint annotation = AnnotatedElementUtils.findMergedAnnotation(pojo, ShenyuServerEndpoint.class); - if (annotation == null) { + if (Objects.isNull(annotation)) { throw new ShenyuException("Class missing annotation ShenyuServerEndpoint! class name: " + pojo.getName()); }