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 c1d85d0c8 eliminate generic warnings (#4175)
c1d85d0c8 is described below

commit c1d85d0c80223ec4436fe2afce273dbaafc54251
Author: 愿凌飞 <[email protected]>
AuthorDate: Sat Nov 12 14:13:15 2022 +0800

    eliminate generic warnings (#4175)
    
    * eliminate generic warnings
    
    * Removed abstract,added the log of failures,added some doc
---
 .../java/org/apache/shenyu/plugin/jwt/JwtPlugin.java   |  1 -
 .../shenyu/plugin/jwt/handle/JwtPluginDataHandler.java |  1 -
 .../apache/shenyu/plugin/jwt/rule/JwtRuleHandle.java   |  2 +-
 .../plugin/jwt/strategy/DefaultJwtConvertStrategy.java | 18 ++++++++++++------
 .../shenyu/plugin/jwt/strategy/JwtConvertStrategy.java | 15 ++++++++++-----
 .../plugin/jwt/strategy/JwtConvertStrategyFactory.java |  1 -
 .../plugin/jwt/strategy/CustomJwtConvertStrategy.java  |  9 +++++----
 7 files changed, 28 insertions(+), 19 deletions(-)

diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/JwtPlugin.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/JwtPlugin.java
index 8968bb3a3..10aa361d6 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/JwtPlugin.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/JwtPlugin.java
@@ -93,7 +93,6 @@ public class JwtPlugin extends AbstractShenyuPlugin {
         return PluginEnum.JWT.getCode();
     }
 
-    @SuppressWarnings({"unchecked", "rawtypes"})
     private ServerWebExchange executeRuleHandle(final RuleData ruleData, final 
ServerWebExchange exchange, final Map<String, Object> jwtBody) {
         JwtRuleHandle jwtRuleHandle = 
JwtPluginDataHandler.CACHED_HANDLE.get().obtainHandle(CacheKeyUtils.INST.getKey(ruleData));
         if (Objects.isNull(jwtRuleHandle)) {
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/handle/JwtPluginDataHandler.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/handle/JwtPluginDataHandler.java
index 4536de053..47e96e7b0 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/handle/JwtPluginDataHandler.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/handle/JwtPluginDataHandler.java
@@ -50,7 +50,6 @@ public class JwtPluginDataHandler implements 
PluginDataHandler {
         Singleton.INST.single(JwtConfig.class, jwtConfig);
     }
 
-    @SuppressWarnings("rawtypes")
     @Override
     public void handlerRule(final RuleData ruleData) {
         Optional.ofNullable(ruleData.getHandle()).ifPresent(ruleHandle -> {
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/rule/JwtRuleHandle.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/rule/JwtRuleHandle.java
index 8dcb8bb2b..106c0ebba 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/rule/JwtRuleHandle.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/rule/JwtRuleHandle.java
@@ -21,6 +21,7 @@ import org.apache.shenyu.common.dto.convert.rule.RuleHandle;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.jwt.strategy.JwtConvertStrategy;
 import org.apache.shenyu.plugin.jwt.strategy.JwtConvertStrategyFactory;
+
 import java.io.Serializable;
 import java.util.Map;
 import java.util.Objects;
@@ -61,7 +62,6 @@ public class JwtRuleHandle implements RuleHandle, 
Serializable {
      * @param handleJson handleJson from rule
      * @return jwtRuleHandle
      */
-    @SuppressWarnings("rawtypes")
     public static JwtRuleHandle newInstance(final String handleJson) {
         if (Objects.isNull(handleJson)) {
             return null;
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/DefaultJwtConvertStrategy.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/DefaultJwtConvertStrategy.java
index 22fe03a01..3a3d5f5e9 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/DefaultJwtConvertStrategy.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/DefaultJwtConvertStrategy.java
@@ -21,7 +21,10 @@ import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.jwt.rule.DefaultJwtRuleHandle;
+import org.apache.shenyu.plugin.jwt.rule.JwtRuleHandle;
 import org.apache.shenyu.spi.Join;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.web.server.ServerWebExchange;
@@ -31,25 +34,28 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
 @Join
-public class DefaultJwtConvertStrategy implements 
JwtConvertStrategy<DefaultJwtRuleHandle> {
+public class DefaultJwtConvertStrategy implements JwtConvertStrategy {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultJwtConvertStrategy.class);
 
     @Override
     public DefaultJwtRuleHandle parseHandleJson(final String handleJson) {
         try {
             return GsonUtils.getInstance().fromJson(handleJson, 
DefaultJwtRuleHandle.class);
-        } catch (Exception ignore) {
-            //ignore wrong json format or alert client
+        } catch (Exception exception) {
+            LOG.error("Failed to parse json , please check json format", 
exception);
             return null;
         }
     }
 
     @Override
-    public ServerWebExchange convert(final DefaultJwtRuleHandle jwtRuleHandle, 
final ServerWebExchange exchange, final Map<String, Object> jwtBody) {
-        if (CollectionUtils.isEmpty(jwtRuleHandle.getConverter())) {
+    public ServerWebExchange convert(final JwtRuleHandle jwtRuleHandle, final 
ServerWebExchange exchange, final Map<String, Object> jwtBody) {
+        final DefaultJwtRuleHandle defaultJwtRuleHandle = 
(DefaultJwtRuleHandle) jwtRuleHandle;
+        if (CollectionUtils.isEmpty(defaultJwtRuleHandle.getConverter())) {
             return exchange;
         }
 
-        return convert(exchange, jwtBody, jwtRuleHandle.getConverter());
+        return convert(exchange, jwtBody, defaultJwtRuleHandle.getConverter());
     }
 
     /**
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategy.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategy.java
index 6699bcbcb..d33712bd7 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategy.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategy.java
@@ -23,25 +23,30 @@ import org.springframework.web.server.ServerWebExchange;
 
 import java.util.Map;
 
+/**
+ * Represents a conversion strategy that convert jwt to some attributes of
+ * serverWebExchange, especially attributes of the request header.
+ */
 @SPI
-public interface JwtConvertStrategy<T extends JwtRuleHandle> {
+public interface JwtConvertStrategy {
 
     /**
-     * parse handleJson into jwtRuleHandle.
+     * HandleJson needs to be parsed into jwtRuleHandle in order to
+     * specify how to convert jwt.
      *
      * @param handleJson handleJson from rule
      * @return jwtRuleHandle
      */
-    T parseHandleJson(String handleJson);
+    JwtRuleHandle parseHandleJson(String handleJson);
 
     /**
-     * handle exchange by jwtRuleHandle and jwtBody.
+     * Converts jwt to some attributes of serverWebExchange based on 
jwtRuleHandle.
      *
      * @param jwtRuleHandle jwtRuleHandle
      * @param exchange      exchange
      * @param jwtBody       jwtBody
      * @return serverWebExchange
      */
-    ServerWebExchange convert(T jwtRuleHandle, ServerWebExchange exchange, 
Map<String, Object> jwtBody);
+    ServerWebExchange convert(JwtRuleHandle jwtRuleHandle, ServerWebExchange 
exchange, Map<String, Object> jwtBody);
 
 }
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategyFactory.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategyFactory.java
index ecc33ae99..d523053ca 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategyFactory.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/main/java/org/apache/shenyu/plugin/jwt/strategy/JwtConvertStrategyFactory.java
@@ -30,7 +30,6 @@ public class JwtConvertStrategyFactory {
      * @param handleType handleType
      * @return jwtConvertStrategy
      */
-    @SuppressWarnings("rawtypes")
     public static JwtConvertStrategy newInstance(final String handleType) {
         String type = handleType;
         if (StringUtils.isBlank(type)) {
diff --git 
a/shenyu-plugin/shenyu-plugin-jwt/src/test/java/org/apache/shenyu/plugin/jwt/strategy/CustomJwtConvertStrategy.java
 
b/shenyu-plugin/shenyu-plugin-jwt/src/test/java/org/apache/shenyu/plugin/jwt/strategy/CustomJwtConvertStrategy.java
index 2f542319e..e0364953c 100644
--- 
a/shenyu-plugin/shenyu-plugin-jwt/src/test/java/org/apache/shenyu/plugin/jwt/strategy/CustomJwtConvertStrategy.java
+++ 
b/shenyu-plugin/shenyu-plugin-jwt/src/test/java/org/apache/shenyu/plugin/jwt/strategy/CustomJwtConvertStrategy.java
@@ -19,6 +19,7 @@ package org.apache.shenyu.plugin.jwt.strategy;
 
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.jwt.rule.CustomJwtRuleHandle;
+import org.apache.shenyu.plugin.jwt.rule.JwtRuleHandle;
 import org.apache.shenyu.spi.Join;
 import org.springframework.http.server.reactive.ServerHttpRequest;
 import org.springframework.web.server.ServerWebExchange;
@@ -26,7 +27,7 @@ import org.springframework.web.server.ServerWebExchange;
 import java.util.Map;
 
 @Join
-public class CustomJwtConvertStrategy implements 
JwtConvertStrategy<CustomJwtRuleHandle> {
+public class CustomJwtConvertStrategy implements JwtConvertStrategy {
 
     @Override
     public CustomJwtRuleHandle parseHandleJson(final String handleJson) {
@@ -35,9 +36,9 @@ public class CustomJwtConvertStrategy implements 
JwtConvertStrategy<CustomJwtRul
     }
 
     @Override
-    public ServerWebExchange convert(final CustomJwtRuleHandle jwtRuleHandle, 
final ServerWebExchange exchange, final Map<String, Object> jwtBody) {
-
-        String customConvert = jwtRuleHandle.getCustomConvert();
+    public ServerWebExchange convert(final JwtRuleHandle jwtRuleHandle, final 
ServerWebExchange exchange, final Map<String, Object> jwtBody) {
+        final CustomJwtRuleHandle customJwtRuleHandle = (CustomJwtRuleHandle) 
jwtRuleHandle;
+        String customConvert = customJwtRuleHandle.getCustomConvert();
         ServerHttpRequest modifiedRequest =
                 exchange.getRequest().mutate().header("custom", 
customConvert).build();
 

Reply via email to