Skip to content

Commit 80c0700

Browse files
committed
refactor: 解决 Sonar 问题,替换部分过期 API
1 parent b9779e8 commit 80c0700

File tree

10 files changed

+57
-46
lines changed

10 files changed

+57
-46
lines changed

continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/handler/OpenApiHandler.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.springdoc.core.utils.PropertyResolverUtils;
3737
import org.springframework.context.ApplicationContext;
3838
import org.springframework.core.annotation.AnnotatedElementUtils;
39-
import org.springframework.util.CollectionUtils;
4039
import org.springframework.web.method.HandlerMethod;
4140

4241
import java.io.StringReader;
@@ -152,7 +151,7 @@ public OpenApiHandler(Optional<OpenAPI> openAPI,
152151
if (this.openAPI.getPaths() == null) {
153152
this.openAPI.setPaths(new Paths());
154153
}
155-
if (!CollectionUtils.isEmpty(this.openAPI.getServers())) {
154+
if (CollUtil.isNotEmpty(this.openAPI.getServers())) {
156155
this.isServersPresent = true;
157156
}
158157
}
@@ -176,7 +175,7 @@ public Operation buildTags(HandlerMethod handlerMethod, Operation operation, Ope
176175
buildTagsFromMethod(handlerMethod.getMethod(), tags, tagsStr, locale);
177176
buildTagsFromClass(handlerMethod.getBeanType(), tags, tagsStr, locale);
178177

179-
if (!CollectionUtils.isEmpty(tagsStr)) {
178+
if (CollUtil.isNotEmpty(tagsStr)) {
180179
tagsStr = tagsStr.stream()
181180
.map(str -> propertyResolverUtils.resolve(str, locale))
182181
.collect(Collectors.toSet());
@@ -190,8 +189,8 @@ public Operation buildTags(HandlerMethod handlerMethod, Operation operation, Ope
190189
}
191190
}
192191

193-
if (!CollectionUtils.isEmpty(tagsStr)) {
194-
if (CollectionUtils.isEmpty(operation.getTags())) {
192+
if (CollUtil.isNotEmpty(tagsStr)) {
193+
if (CollUtil.isEmpty(operation.getTags())) {
195194
operation.setTags(new ArrayList<>(tagsStr));
196195
} else {
197196
Set<String> operationTagsSet = new HashSet<>(operation.getTags());
@@ -225,10 +224,10 @@ public Operation buildTags(HandlerMethod handlerMethod, Operation operation, Ope
225224
}
226225
}
227226

228-
if (!CollectionUtils.isEmpty(tags)) {
227+
if (CollUtil.isNotEmpty(tags)) {
229228
// Existing tags
230229
List<Tag> openApiTags = openAPI.getTags();
231-
if (!CollectionUtils.isEmpty(openApiTags)) {
230+
if (CollUtil.isNotEmpty(openApiTags)) {
232231
tags.addAll(openApiTags);
233232
}
234233
openAPI.setTags(new ArrayList<>(tags));
@@ -256,7 +255,7 @@ private void buildTagsFromMethod(Method method, Set<Tag> tags, Set<String> tagsS
256255
.collect(Collectors.toSet());
257256
methodTags.addAll(AnnotatedElementUtils
258257
.findAllMergedAnnotations(method, io.swagger.v3.oas.annotations.tags.Tag.class));
259-
if (!CollectionUtils.isEmpty(methodTags)) {
258+
if (CollUtil.isNotEmpty(methodTags)) {
260259
tagsStr.addAll(toSet(methodTags, tag -> propertyResolverUtils.resolve(tag.name(), locale)));
261260
List<io.swagger.v3.oas.annotations.tags.Tag> allTags = new ArrayList<>(methodTags);
262261
addTags(allTags, tags, locale);

continew-starter-cache/continew-starter-cache-redisson/src/main/java/top/continew/starter/cache/redisson/util/RedisUtils.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import cn.hutool.core.util.ArrayUtil;
2020
import cn.hutool.extra.spring.SpringUtil;
2121
import org.redisson.api.*;
22+
import org.redisson.api.options.KeysScanOptions;
2223
import top.continew.starter.core.constant.StringConstants;
2324

2425
import java.time.Duration;
@@ -191,7 +192,9 @@ public static boolean exists(String key) {
191192
* @return 缓存列表
192193
*/
193194
public static Collection<String> keys(String pattern) {
194-
return CLIENT.getKeys().getKeysStreamByPattern(pattern).toList();
195+
KeysScanOptions options = KeysScanOptions.defaults();
196+
options.pattern(pattern);
197+
return CLIENT.getKeys().getKeysStream(options).toList();
195198
}
196199

197200
/**
@@ -365,8 +368,21 @@ public static <T> double zSum(String key, Collection<T> values) {
365368
* @return true:成功;false:失败
366369
*/
367370
public static boolean rateLimit(String key, RateType rateType, int rate, int rateInterval) {
371+
return rateLimit(key, rateType, rate, Duration.ofSeconds(rateInterval));
372+
}
373+
374+
/**
375+
* 限流
376+
*
377+
* @param key 键
378+
* @param rateType 限流类型(OVERALL:全局限流;PER_CLIENT:单机限流)
379+
* @param rate 速率(指定时间间隔产生的令牌数)
380+
* @param rateInterval 速率间隔(时间间隔)
381+
* @return true:成功;false:失败
382+
*/
383+
public static boolean rateLimit(String key, RateType rateType, int rate, Duration rateInterval) {
368384
RRateLimiter rateLimiter = CLIENT.getRateLimiter(key);
369-
rateLimiter.trySetRate(rateType, rate, rateInterval, RateIntervalUnit.SECONDS);
385+
rateLimiter.trySetRate(rateType, rate, rateInterval);
370386
return rateLimiter.tryAcquire(1);
371387
}
372388

continew-starter-core/src/main/java/top/continew/starter/core/autoconfigure/threadpool/AsyncAutoConfiguration.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ public Executor getAsyncExecutor() {
6767
@Override
6868
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
6969
return (throwable, method, objects) -> {
70-
throwable.printStackTrace();
7170
StringBuilder sb = new StringBuilder();
7271
sb.append("Exception message: ")
7372
.append(throwable.getMessage())

continew-starter-data/continew-starter-data-mf/src/main/java/top/continew/starter/data/mf/util/QueryWrapperHelper.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,11 @@ private static <Q, R> List<Consumer<QueryWrapper>> buildWrapperConsumer(Q query,
183183
* @param queryType 查询类型
184184
* @param columnName 列名
185185
* @param fieldValue 字段值
186-
* @param <R> 查询数据类型
187186
*/
188-
private static <R> void parse(QueryType queryType,
189-
String columnName,
190-
Object fieldValue,
191-
List<Consumer<QueryWrapper>> consumers) {
187+
private static void parse(QueryType queryType,
188+
String columnName,
189+
Object fieldValue,
190+
List<Consumer<QueryWrapper>> consumers) {
192191
switch (queryType) {
193192
case EQ -> consumers.add(q -> q.eq(columnName, fieldValue));
194193
case NE -> consumers.add(q -> q.ne(columnName, fieldValue));

continew-starter-security/continew-starter-security-crypto/src/main/java/top/continew/starter/security/crypto/enums/Algorithm.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ public enum Algorithm {
3737
DES(DesEncryptor.class),
3838

3939
/**
40-
* PBEWithMD5AndDES
40+
* PBE With MD5 And DES
4141
*/
42-
PBEWithMD5AndDES(PbeWithMd5AndDesEncryptor.class),
42+
PBE_WITH_MD5_AND_DES(PbeWithMd5AndDesEncryptor.class),
4343

4444
/**
4545
* RSA

continew-starter-security/continew-starter-security-limiter/src/main/java/top/continew/starter/security/limiter/annotation/RateLimiter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
package top.continew.starter.security.limiter.annotation;
1818

19-
import org.redisson.api.RateIntervalUnit;
2019
import top.continew.starter.security.limiter.enums.LimitType;
2120

2221
import java.lang.annotation.*;
22+
import java.util.concurrent.TimeUnit;
2323

2424
/**
2525
* 限流注解
@@ -60,7 +60,7 @@
6060
/**
6161
* 速率间隔时间单位(默认:毫秒)
6262
*/
63-
RateIntervalUnit unit() default RateIntervalUnit.MILLISECONDS;
63+
TimeUnit unit() default TimeUnit.MILLISECONDS;
6464

6565
/**
6666
* 提示信息

continew-starter-security/continew-starter-security-limiter/src/main/java/top/continew/starter/security/limiter/core/RateLimiterAspect.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import top.continew.starter.web.util.SpringWebUtils;
4040

4141
import java.lang.reflect.Method;
42+
import java.time.Duration;
4243
import java.util.Objects;
4344
import java.util.concurrent.ConcurrentHashMap;
4445

@@ -129,12 +130,11 @@ private boolean isRateLimited(ProceedingJoinPoint joinPoint, RateLimiter rateLim
129130
// 限流器配置
130131
RateType rateType = rateLimiter.type() == LimitType.CLUSTER ? RateType.PER_CLIENT : RateType.OVERALL;
131132
int rate = rateLimiter.rate();
132-
int rateInterval = rateLimiter.interval();
133-
RateIntervalUnit rateIntervalUnit = rateLimiter.unit();
133+
Duration rateInterval = Duration.ofMillis(rateLimiter.unit().toMillis(rateLimiter.interval()));
134134
// 判断是否需要更新限流器
135-
if (this.isConfigurationUpdateNeeded(rRateLimiter, rateType, rate, rateInterval, rateIntervalUnit)) {
135+
if (this.isConfigurationUpdateNeeded(rRateLimiter, rateType, rate, rateInterval)) {
136136
// 更新限流器
137-
rRateLimiter.setRate(rateType, rate, rateInterval, rateIntervalUnit);
137+
rRateLimiter.setRate(rateType, rate, rateInterval);
138138
}
139139
// 尝试获取令牌
140140
return !rRateLimiter.tryAcquire();
@@ -181,20 +181,18 @@ private String getCacheKey(JoinPoint joinPoint, RateLimiter rateLimiter) {
181181
/**
182182
* 判断是否需要更新限流器配置
183183
*
184-
* @param rRateLimiter 限流器
185-
* @param rateType 限流类型(OVERALL:全局限流;PER_CLIENT:单机限流)
186-
* @param rate 速率(指定时间间隔产生的令牌数)
187-
* @param rateInterval 速率间隔
188-
* @param rateIntervalUnit 时间单位
184+
* @param rRateLimiter 限流器
185+
* @param rateType 限流类型(OVERALL:全局限流;PER_CLIENT:单机限流)
186+
* @param rate 速率(指定时间间隔产生的令牌数)
187+
* @param rateInterval 速率间隔
189188
* @return 是否需要更新配置
190189
*/
191190
private boolean isConfigurationUpdateNeeded(RRateLimiter rRateLimiter,
192191
RateType rateType,
193192
long rate,
194-
long rateInterval,
195-
RateIntervalUnit rateIntervalUnit) {
193+
Duration rateInterval) {
196194
RateLimiterConfig config = rRateLimiter.getConfig();
197195
return !Objects.equals(config.getRateType(), rateType) || !Objects.equals(config.getRate(), rate) || !Objects
198-
.equals(config.getRateInterval(), rateIntervalUnit.toMillis(rateInterval));
196+
.equals(config.getRateInterval(), rateInterval.toMillis());
199197
}
200198
}

continew-starter-security/continew-starter-security-mask/src/main/java/top/continew/starter/security/mask/enums/MaskType.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public enum MaskType implements IMaskStrategy {
3434
CUSTOM {
3535
@Override
3636
public String mask(String str, char character, int left, int right) {
37-
return CharSequenceUtil.replace(str, left, str.length() - right, character);
37+
return CharSequenceUtil.replaceByCodePoint(str, left, str.length() - right, character);
3838
}
3939
},
4040

@@ -45,7 +45,7 @@ public String mask(String str, char character, int left, int right) {
4545
MOBILE_PHONE {
4646
@Override
4747
public String mask(String str, char character, int left, int right) {
48-
return CharSequenceUtil.replace(str, 3, str.length() - 4, character);
48+
return CharSequenceUtil.replaceByCodePoint(str, 3, str.length() - 4, character);
4949
}
5050
},
5151

@@ -58,7 +58,7 @@ public String mask(String str, char character, int left, int right) {
5858
FIXED_PHONE {
5959
@Override
6060
public String mask(String str, char character, int left, int right) {
61-
return CharSequenceUtil.replace(str, 4, str.length() - 2, character);
61+
return CharSequenceUtil.replaceByCodePoint(str, 4, str.length() - 2, character);
6262
}
6363
},
6464

@@ -76,7 +76,7 @@ public String mask(String str, char character, int left, int right) {
7676
if (index <= 1) {
7777
return str;
7878
}
79-
return CharSequenceUtil.replace(str, 1, index, character);
79+
return CharSequenceUtil.replaceByCodePoint(str, 1, index, character);
8080
}
8181
},
8282

@@ -89,7 +89,7 @@ public String mask(String str, char character, int left, int right) {
8989
ID_CARD {
9090
@Override
9191
public String mask(String str, char character, int left, int right) {
92-
return CharSequenceUtil.replace(str, 1, str.length() - 2, character);
92+
return CharSequenceUtil.replaceByCodePoint(str, 1, str.length() - 2, character);
9393
}
9494
},
9595

@@ -140,11 +140,11 @@ public String mask(String str, char character, int left, int right) {
140140
// 普通车牌
141141
int length = str.length();
142142
if (length == 7) {
143-
return CharSequenceUtil.replace(str, 3, 6, character);
143+
return CharSequenceUtil.replaceByCodePoint(str, 3, 6, character);
144144
}
145145
// 新能源车牌
146146
if (length == 8) {
147-
return CharSequenceUtil.replace(str, 3, 7, character);
147+
return CharSequenceUtil.replaceByCodePoint(str, 3, 7, character);
148148
}
149149
return str;
150150
}
@@ -159,7 +159,7 @@ public String mask(String str, char character, int left, int right) {
159159
CHINESE_NAME {
160160
@Override
161161
public String mask(String str, char character, int left, int right) {
162-
return CharSequenceUtil.replace(str, 1, str.length(), character);
162+
return CharSequenceUtil.replaceByCodePoint(str, 1, str.length(), character);
163163
}
164164
},
165165

@@ -186,7 +186,7 @@ public String mask(String str, char character, int left, int right) {
186186
@Override
187187
public String mask(String str, char character, int left, int right) {
188188
int length = str.length();
189-
return CharSequenceUtil.replace(str, length - 8, length, character);
189+
return CharSequenceUtil.replaceByCodePoint(str, length - 8, length, character);
190190
}
191191
},
192192

continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/xss/XssFilter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package top.continew.starter.web.autoconfigure.xss;
1818

19-
import cn.hutool.core.collection.CollectionUtil;
19+
import cn.hutool.core.collection.CollUtil;
2020
import jakarta.servlet.*;
2121
import jakarta.servlet.http.HttpServletRequest;
2222
import org.slf4j.Logger;
@@ -55,14 +55,14 @@ public void doFilter(ServletRequest servletRequest,
5555
if (servletRequest instanceof HttpServletRequest request && xssProperties.isEnabled()) {
5656
// 放行路由:忽略 XSS 过滤
5757
List<String> excludePatterns = xssProperties.getExcludePatterns();
58-
if (CollectionUtil.isNotEmpty(excludePatterns) && SpringWebUtils.isMatch(request
58+
if (CollUtil.isNotEmpty(excludePatterns) && SpringWebUtils.isMatch(request
5959
.getServletPath(), excludePatterns)) {
6060
filterChain.doFilter(request, servletResponse);
6161
return;
6262
}
6363
// 拦截路由:执行 XSS 过滤
6464
List<String> includePatterns = xssProperties.getIncludePatterns();
65-
if (CollectionUtil.isNotEmpty(includePatterns)) {
65+
if (CollUtil.isNotEmpty(includePatterns)) {
6666
if (SpringWebUtils.isMatch(request.getServletPath(), includePatterns)) {
6767
filterChain.doFilter(new XssServletRequestWrapper(request, xssProperties), servletResponse);
6868
} else {

continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/xss/XssServletRequestWrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package top.continew.starter.web.autoconfigure.xss;
1818

19-
import cn.hutool.core.collection.CollectionUtil;
19+
import cn.hutool.core.collection.CollUtil;
2020
import cn.hutool.core.io.IoUtil;
2121
import cn.hutool.core.text.CharSequenceUtil;
2222
import cn.hutool.core.util.ArrayUtil;
@@ -110,7 +110,7 @@ private String handleTag(String content) {
110110
// 转义
111111
if (XssMode.ESCAPE.equals(mode)) {
112112
List<String> reStr = ReUtil.findAllGroup0(HtmlUtil.RE_HTML_MARK, content);
113-
if (CollectionUtil.isEmpty(reStr)) {
113+
if (CollUtil.isEmpty(reStr)) {
114114
return content;
115115
}
116116
for (String s : reStr) {

0 commit comments

Comments
 (0)