From 4235af4c7143380ad530017a5a13bf609d6a7cfc Mon Sep 17 00:00:00 2001 From: linwaiwai Date: Tue, 12 Jan 2021 14:16:10 +0800 Subject: [PATCH] decouple input from core. --- src/main/java/we/fizz/ConfigLoader.java | 5 +++++ src/main/java/we/fizz/input/DubboRPCResponse.java | 4 ---- src/main/java/we/fizz/input/Input.java | 1 + .../java/we/fizz/input/RequestRPCResponse.java | 14 -------------- .../input/{ => extension/dubbo}/DubboInput.java | 8 +++++++- .../{ => extension/dubbo}/DubboInputConfig.java | 3 ++- .../input/extension/dubbo/DubboRPCResponse.java | 6 ++++++ .../we/fizz/input/extension/mysql/MySQLInput.java | 5 +++++ .../fizz/input/extension/request/RequestInput.java | 3 ++- .../extension/request/RequestInputConfig.java | 5 ++--- .../we/proxy/dubbo/ApacheDubboGenericProxy.java | 1 - 11 files changed, 30 insertions(+), 25 deletions(-) delete mode 100644 src/main/java/we/fizz/input/DubboRPCResponse.java delete mode 100644 src/main/java/we/fizz/input/RequestRPCResponse.java rename src/main/java/we/fizz/input/{ => extension/dubbo}/DubboInput.java (92%) rename src/main/java/we/fizz/input/{ => extension/dubbo}/DubboInputConfig.java (95%) create mode 100644 src/main/java/we/fizz/input/extension/dubbo/DubboRPCResponse.java diff --git a/src/main/java/we/fizz/ConfigLoader.java b/src/main/java/we/fizz/ConfigLoader.java index 682e3ef..9d6646a 100644 --- a/src/main/java/we/fizz/ConfigLoader.java +++ b/src/main/java/we/fizz/ConfigLoader.java @@ -36,8 +36,11 @@ import org.springframework.data.redis.core.ReactiveStringRedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; + +import we.fizz.input.extension.dubbo.DubboInput; import we.fizz.input.extension.mysql.MySQLInput; import we.fizz.input.extension.request.RequestInput; +import we.fizz.input.extension.request.RequestInputConfig; import javax.annotation.PostConstruct; import javax.annotation.Resource; @@ -119,8 +122,10 @@ public class ConfigLoader { public Pipeline createPipeline(String configStr) throws IOException { ONode cfgNode = ONode.loadStr(configStr); + InputFactory.registerInput(RequestInput.TYPE, RequestInput.class); InputFactory.registerInput(MySQLInput.TYPE, MySQLInput.class); + InputFactory.registerInput(DubboInput.TYPE, DubboInput.class); Pipeline pipeline = new Pipeline(); pipeline.setApplicationContext(appContext); diff --git a/src/main/java/we/fizz/input/DubboRPCResponse.java b/src/main/java/we/fizz/input/DubboRPCResponse.java deleted file mode 100644 index 2fa8198..0000000 --- a/src/main/java/we/fizz/input/DubboRPCResponse.java +++ /dev/null @@ -1,4 +0,0 @@ -package we.fizz.input; - -public class DubboRPCResponse extends RPCResponse{ -} diff --git a/src/main/java/we/fizz/input/Input.java b/src/main/java/we/fizz/input/Input.java index bd8d38c..a5c8ec1 100644 --- a/src/main/java/we/fizz/input/Input.java +++ b/src/main/java/we/fizz/input/Input.java @@ -94,4 +94,5 @@ public class Input { public static Class inputConfigClass (){ return InputConfig.class; } + } diff --git a/src/main/java/we/fizz/input/RequestRPCResponse.java b/src/main/java/we/fizz/input/RequestRPCResponse.java deleted file mode 100644 index 50ef1bd..0000000 --- a/src/main/java/we/fizz/input/RequestRPCResponse.java +++ /dev/null @@ -1,14 +0,0 @@ -package we.fizz.input; - -import org.springframework.http.HttpStatus; - -public class RequestRPCResponse extends RPCResponse { - private HttpStatus statusCode; - public void setStatus(HttpStatus statusCode) { - this.statusCode = statusCode; - } - - public HttpStatus getStatusCode() { - return statusCode; - } -} diff --git a/src/main/java/we/fizz/input/DubboInput.java b/src/main/java/we/fizz/input/extension/dubbo/DubboInput.java similarity index 92% rename from src/main/java/we/fizz/input/DubboInput.java rename to src/main/java/we/fizz/input/extension/dubbo/DubboInput.java index 922e08f..c295e57 100644 --- a/src/main/java/we/fizz/input/DubboInput.java +++ b/src/main/java/we/fizz/input/extension/dubbo/DubboInput.java @@ -1,9 +1,10 @@ -package we.fizz.input; +package we.fizz.input.extension.dubbo; import com.alibaba.fastjson.JSON; import org.springframework.context.ConfigurableApplicationContext; import reactor.core.publisher.Mono; import we.constants.CommonConstants; +import we.fizz.input.*; import we.proxy.dubbo.ApacheDubboGenericProxy; import we.proxy.dubbo.DubboInterfaceDeclaration; import org.slf4j.Logger; @@ -16,6 +17,7 @@ import java.util.Map; * */ public class DubboInput extends RPCInput { + static public InputType TYPE = new InputType("DUBBO"); private static final Logger LOGGER = LoggerFactory.getLogger(DubboInput.class); @Override @@ -66,5 +68,9 @@ public class DubboInput extends RPCInput { protected void doResponseMapping(InputConfig aConfig, InputContext inputContext, String responseBody) { } + public static Class inputConfigClass (){ + return DubboInputConfig.class; + } + } diff --git a/src/main/java/we/fizz/input/DubboInputConfig.java b/src/main/java/we/fizz/input/extension/dubbo/DubboInputConfig.java similarity index 95% rename from src/main/java/we/fizz/input/DubboInputConfig.java rename to src/main/java/we/fizz/input/extension/dubbo/DubboInputConfig.java index 4f489f7..fd8dcb0 100644 --- a/src/main/java/we/fizz/input/DubboInputConfig.java +++ b/src/main/java/we/fizz/input/extension/dubbo/DubboInputConfig.java @@ -1,8 +1,9 @@ -package we.fizz.input; +package we.fizz.input.extension.dubbo; import org.springframework.util.StringUtils; import we.fizz.exception.FizzException; import we.fizz.exception.FizzRuntimeException; +import we.fizz.input.InputConfig; import java.util.Map; diff --git a/src/main/java/we/fizz/input/extension/dubbo/DubboRPCResponse.java b/src/main/java/we/fizz/input/extension/dubbo/DubboRPCResponse.java new file mode 100644 index 0000000..d42240d --- /dev/null +++ b/src/main/java/we/fizz/input/extension/dubbo/DubboRPCResponse.java @@ -0,0 +1,6 @@ +package we.fizz.input.extension.dubbo; + +import we.fizz.input.RPCResponse; + +public class DubboRPCResponse extends RPCResponse { +} diff --git a/src/main/java/we/fizz/input/extension/mysql/MySQLInput.java b/src/main/java/we/fizz/input/extension/mysql/MySQLInput.java index 66775b6..bb64ff8 100644 --- a/src/main/java/we/fizz/input/extension/mysql/MySQLInput.java +++ b/src/main/java/we/fizz/input/extension/mysql/MySQLInput.java @@ -20,11 +20,16 @@ import we.fizz.input.IInput; import we.fizz.input.Input; import we.fizz.input.InputType; + + + + /** * * @author linwaiwai * */ + public class MySQLInput extends Input implements IInput { static public InputType TYPE = new InputType("MYSQL"); public static Class inputConfigClass (){ diff --git a/src/main/java/we/fizz/input/extension/request/RequestInput.java b/src/main/java/we/fizz/input/extension/request/RequestInput.java index e8246c4..26c52f9 100644 --- a/src/main/java/we/fizz/input/extension/request/RequestInput.java +++ b/src/main/java/we/fizz/input/extension/request/RequestInput.java @@ -54,7 +54,8 @@ import we.util.MapUtil; */ @SuppressWarnings("unchecked") public class RequestInput extends RPCInput implements IInput{ - private static final Logger LOGGER = LoggerFactory.getLogger(RequestInput.class); + + private static final Logger LOGGER = LoggerFactory.getLogger(RequestInput.class); static public InputType TYPE = new InputType("REQUEST"); private InputType type; protected Map dataMapping; diff --git a/src/main/java/we/fizz/input/extension/request/RequestInputConfig.java b/src/main/java/we/fizz/input/extension/request/RequestInputConfig.java index 029cbdc..aaef189 100644 --- a/src/main/java/we/fizz/input/extension/request/RequestInputConfig.java +++ b/src/main/java/we/fizz/input/extension/request/RequestInputConfig.java @@ -19,14 +19,14 @@ package we.fizz.input.extension.request; import java.net.MalformedURLException; import java.net.URL; -import java.util.HashMap; import java.util.Map; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; import org.springframework.web.util.UriComponentsBuilder; import we.fizz.input.InputConfig; -import we.fizz.input.InputType; + + /** * @@ -35,7 +35,6 @@ import we.fizz.input.InputType; * */ public class RequestInputConfig extends InputConfig { - private URL url ; private String method ; private int timeout = 3; diff --git a/src/main/java/we/proxy/dubbo/ApacheDubboGenericProxy.java b/src/main/java/we/proxy/dubbo/ApacheDubboGenericProxy.java index a15eec8..c5dd643 100644 --- a/src/main/java/we/proxy/dubbo/ApacheDubboGenericProxy.java +++ b/src/main/java/we/proxy/dubbo/ApacheDubboGenericProxy.java @@ -11,7 +11,6 @@ import org.apache.dubbo.rpc.service.GenericService; import org.springframework.stereotype.Service; import reactor.core.publisher.Mono; import we.fizz.exception.FizzException; -import we.fizz.input.DubboInputConfig; import javax.annotation.PostConstruct; import java.util.HashMap;