You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by li...@apache.org on 2023/01/05 15:05:47 UTC

[shenyu] branch master updated: replace with computeIfAbsent. (#4297)

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

likeguo 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 2513e9648 replace with computeIfAbsent. (#4297)
2513e9648 is described below

commit 2513e9648e7b23a22458c60a344f6072b52b56c9
Author: Kevin Clair <ke...@apache.org>
AuthorDate: Thu Jan 5 23:05:36 2023 +0800

    replace with computeIfAbsent. (#4297)
---
 .../shenyu/admin/validation/validator/ExistedValidator.java    | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/validation/validator/ExistedValidator.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/validation/validator/ExistedValidator.java
index 001357b13..b741a25bc 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/validation/validator/ExistedValidator.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/validation/validator/ExistedValidator.java
@@ -21,12 +21,12 @@ import org.apache.shenyu.admin.spring.SpringBeanUtils;
 import org.apache.shenyu.admin.utils.Assert;
 import org.apache.shenyu.admin.validation.ExistProvider;
 import org.apache.shenyu.admin.validation.annotation.Existed;
+import org.apache.shenyu.common.utils.ReflectUtils;
 
 import java.io.Serializable;
 import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
-import org.apache.shenyu.common.utils.ReflectUtils;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
@@ -66,13 +66,7 @@ public class ExistedValidator implements ConstraintValidator<Existed, Serializab
     }
 
     private ExistProvider getExistProvider() {
-        ExistProvider provider = providerCacheMap.get(annotation.provider().getName());
-        if (!Objects.isNull(provider)) {
-            return provider;
-        }
-        provider = SpringBeanUtils.getInstance().getBean(annotation.provider());
-        providerCacheMap.put(annotation.provider().getName(), provider);
-        return provider;
+        return providerCacheMap.computeIfAbsent(annotation.provider().getName(), key -> SpringBeanUtils.getInstance().getBean(annotation.provider()));
     }
     
     private Boolean doValid(final Serializable value) {