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