You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by he...@apache.org on 2023/10/14 07:43:50 UTC

[shenyu] branch master updated: fix_meta_register (#5221)

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

hefengen 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 d5fbac39cf fix_meta_register (#5221)
d5fbac39cf is described below

commit d5fbac39cfe254a64b7e08b582b441179159cf80
Author: tiandy tian <ti...@foxmail.com>
AuthorDate: Sat Oct 14 15:43:44 2023 +0800

    fix_meta_register (#5221)
    
    Co-authored-by: tian-pengfei <ti...@apache.org>
    Co-authored-by: DamonXue <da...@gmail.com>
    Co-authored-by: likeguo <33...@users.noreply.github.com>
---
 .../auto/config/ClientRegisterConfiguration.java   |  6 +++---
 ...ImplImpl.java => MateDataApiRegistrarImpl.java} | 22 ++++++++++++++++++++--
 2 files changed, 23 insertions(+), 5 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 a692cfbe90..a02bc8814f 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
@@ -25,7 +25,7 @@ import org.apache.shenyu.client.core.register.extractor.RpcApiBeansExtractor;
 import org.apache.shenyu.client.core.register.matcher.ApiDocProcessorImpl;
 import org.apache.shenyu.client.core.register.matcher.ApiRegisterProcessor;
 import org.apache.shenyu.client.core.register.registrar.ApiRegistrar;
-import org.apache.shenyu.client.core.register.registrar.MateDataApiRegistrarImplImpl;
+import org.apache.shenyu.client.core.register.registrar.MateDataApiRegistrarImpl;
 import org.apache.shenyu.register.client.api.ShenyuClientRegisterRepository;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
@@ -57,8 +57,8 @@ public class ClientRegisterConfiguration {
      * @return register
      */
     @Bean
-    public MateDataApiRegistrarImplImpl mateDataApiRegistrarImpl(final ClientRegisterConfig clientRegisterConfig, final List<ApiRegisterProcessor> processor) {
-        final MateDataApiRegistrarImplImpl apiRegistrarImpl = new MateDataApiRegistrarImplImpl(clientRegisterConfig);
+    public MateDataApiRegistrarImpl mateDataApiRegistrarImpl(final ClientRegisterConfig clientRegisterConfig, final List<ApiRegisterProcessor> processor) {
+        final MateDataApiRegistrarImpl apiRegistrarImpl = new MateDataApiRegistrarImpl(clientRegisterConfig);
         for (ApiRegisterProcessor apiProcessor : processor) {
             apiRegistrarImpl.addApiProcessor(apiProcessor);
         }
diff --git a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImplImpl.java b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImpl.java
similarity index 88%
rename from shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImplImpl.java
rename to shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImpl.java
index a9a162a732..e887d1a783 100644
--- a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImplImpl.java
+++ b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/register/registrar/MateDataApiRegistrarImpl.java
@@ -30,13 +30,13 @@ import org.jetbrains.annotations.NotNull;
  *
  * @see MetaDataRegisterDTO
  */
-public class MateDataApiRegistrarImplImpl extends BaseApiRegistrarImpl {
+public class MateDataApiRegistrarImpl extends BaseApiRegistrarImpl {
     
     private final ShenyuClientRegisterEventPublisher publisher = ShenyuClientRegisterEventPublisher.getInstance();
     
     private final ClientRegisterConfig clientRegisterConfig;
     
-    public MateDataApiRegistrarImplImpl(final ClientRegisterConfig clientRegisterConfig) {
+    public MateDataApiRegistrarImpl(final ClientRegisterConfig clientRegisterConfig) {
         this.clientRegisterConfig = clientRegisterConfig;
     }
     
@@ -59,6 +59,7 @@ public class MateDataApiRegistrarImplImpl extends BaseApiRegistrarImpl {
                 .pathDesc(buildDesc(api))
                 .parameterTypes(buildParameterTypes(api))
                 .rpcType(api.getApiBean().getClientName())
+                .registerMetaData(getRegisterMetaData(api))
                 .enabled(getEnable(api))
                 .ruleName(buildRule(api))
                 .build();
@@ -81,6 +82,7 @@ public class MateDataApiRegistrarImplImpl extends BaseApiRegistrarImpl {
                 .parameterTypes(buildParameterTypes(apiBean))
                 .rpcType(apiBean.getClientName())
                 .enabled(getEnable(apiBean))
+                .registerMetaData(getRegisterMetaData(apiBean))
                 .ruleName(buildRule(apiBean))
                 .build();
         
@@ -134,6 +136,22 @@ public class MateDataApiRegistrarImplImpl extends BaseApiRegistrarImpl {
         }
         return true;
     }
+
+    private boolean getRegisterMetaData(final ApiBean api) {
+        final String enable = api.getPropertiesValue("registerMetaData");
+        if (StringUtils.isNotBlank(enable)) {
+            return Boolean.parseBoolean(enable);
+        }
+        return true;
+    }
+
+    private boolean getRegisterMetaData(final ApiBean.ApiDefinition api) {
+        final String enable = api.getPropertiesValue("registerMetaData");
+        if (StringUtils.isNotBlank(enable)) {
+            return Boolean.parseBoolean(enable);
+        }
+        return true;
+    }
     
     private String buildDesc(final ApiBean api) {
         final String desc = api.getPropertiesValue("desc");