decouple input from core.

This commit is contained in:
linwaiwai
2021-01-12 14:16:10 +08:00
parent ad833d36c7
commit 4235af4c71
11 changed files with 30 additions and 25 deletions

View File

@@ -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);

View File

@@ -1,4 +0,0 @@
package we.fizz.input;
public class DubboRPCResponse extends RPCResponse{
}

View File

@@ -94,4 +94,5 @@ public class Input {
public static Class inputConfigClass (){
return InputConfig.class;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -0,0 +1,6 @@
package we.fizz.input.extension.dubbo;
import we.fizz.input.RPCResponse;
public class DubboRPCResponse extends RPCResponse {
}

View File

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

View File

@@ -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<String, Object> dataMapping;

View File

@@ -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;

View File

@@ -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;