Fix StubMethodDescriptor generate issue (#13582)
* Refactor StubMethodDescriptor generate * Refactor StubMethodDescriptor generate * Refactor StubMethodDescriptor generate * Refactor * Add missing ';'
This commit is contained in:
parent
1368e21d9b
commit
3aa5a775d3
|
|
@ -28,7 +28,6 @@ import java.util.stream.Stream;
|
|||
|
||||
public class StubMethodDescriptor implements MethodDescriptor, PackableMethod {
|
||||
private static final Logger logger = LoggerFactory.getLogger(StubMethodDescriptor.class);
|
||||
private final ServiceDescriptor serviceDescriptor;
|
||||
private final ConcurrentMap<String, Object> attributeMap = new ConcurrentHashMap<>();
|
||||
private final String methodName;
|
||||
private final String[] compatibleParamSignatures;
|
||||
|
|
@ -46,14 +45,12 @@ public class StubMethodDescriptor implements MethodDescriptor, PackableMethod {
|
|||
String methodName,
|
||||
Class<?> requestClass,
|
||||
Class<?> responseClass,
|
||||
StubServiceDescriptor serviceDescriptor,
|
||||
RpcType rpcType,
|
||||
Pack requestPack,
|
||||
Pack responsePack,
|
||||
UnPack requestUnpack,
|
||||
UnPack responseUnpack) {
|
||||
this.methodName = methodName;
|
||||
this.serviceDescriptor = serviceDescriptor;
|
||||
this.rpcType = rpcType;
|
||||
this.requestPack = requestPack;
|
||||
this.responsePack = responsePack;
|
||||
|
|
@ -65,7 +62,6 @@ public class StubMethodDescriptor implements MethodDescriptor, PackableMethod {
|
|||
this.compatibleParamSignatures =
|
||||
Stream.of(parameterClasses).map(Class::getName).toArray(String[]::new);
|
||||
this.returnTypes = new Type[] {responseClass, responseClass};
|
||||
serviceDescriptor.addMethod(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -69,20 +69,19 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.UNARY,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
|
||||
private static final StubMethodDescriptor {{methodName}}AsyncMethod = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
|
||||
{{inputType}}.class, java.util.concurrent.CompletableFuture.class, MethodDescriptor.RpcType.UNARY,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
|
||||
private static final StubMethodDescriptor {{methodName}}ProxyAsyncMethod = new StubMethodDescriptor("{{originMethodName}}Async",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.UNARY,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
|
||||
{{/unaryMethods}}
|
||||
|
||||
{{#serverStreamingMethods}}
|
||||
|
|
@ -90,10 +89,9 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.SERVER_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.SERVER_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
|
||||
{{/serverStreamingMethods}}
|
||||
|
||||
{{#clientStreamingMethods}}
|
||||
|
|
@ -101,7 +99,7 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.CLIENT_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.CLIENT_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/clientStreamingMethods}}
|
||||
|
|
@ -111,11 +109,27 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.BI_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.BI_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/biStreamingWithoutClientStreamMethods}}
|
||||
|
||||
static{
|
||||
{{#unaryMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
serviceDescriptor.addMethod({{methodName}}ProxyAsyncMethod);
|
||||
{{/unaryMethods}}
|
||||
{{#serverStreamingMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/serverStreamingMethods}}
|
||||
{{#clientStreamingMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/clientStreamingMethods}}
|
||||
{{#biStreamingWithoutClientStreamMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/biStreamingWithoutClientStreamMethods}}
|
||||
}
|
||||
|
||||
public static class {{interfaceClassName}}Stub implements {{interfaceClassName}}{
|
||||
private final Invoker<{{interfaceClassName}}> invoker;
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.UNARY,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/unaryMethods}}
|
||||
|
|
@ -80,7 +80,7 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.SERVER_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.SERVER_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/serverStreamingMethods}}
|
||||
|
|
@ -90,7 +90,7 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.CLIENT_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.CLIENT_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/clientStreamingMethods}}
|
||||
|
|
@ -100,11 +100,26 @@ public final class {{className}} {
|
|||
{{{javaDoc}}}
|
||||
{{/javaDoc}}
|
||||
private static final StubMethodDescriptor {{methodName}}Method = new StubMethodDescriptor("{{originMethodName}}",
|
||||
{{inputType}}.class, {{outputType}}.class, serviceDescriptor, MethodDescriptor.RpcType.BI_STREAM,
|
||||
{{inputType}}.class, {{outputType}}.class, MethodDescriptor.RpcType.BI_STREAM,
|
||||
obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), {{inputType}}::parseFrom,
|
||||
{{outputType}}::parseFrom);
|
||||
{{/biStreamingWithoutClientStreamMethods}}
|
||||
|
||||
static{
|
||||
{{#unaryMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/unaryMethods}}
|
||||
{{#serverStreamingMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/serverStreamingMethods}}
|
||||
{{#clientStreamingMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/clientStreamingMethods}}
|
||||
{{#biStreamingWithoutClientStreamMethods}}
|
||||
serviceDescriptor.addMethod({{methodName}}Method);
|
||||
{{/biStreamingWithoutClientStreamMethods}}
|
||||
}
|
||||
|
||||
public static class {{interfaceClassName}}Stub implements {{interfaceClassName}}{
|
||||
|
||||
private final Invoker<{{interfaceClassName}}> invoker;
|
||||
|
|
|
|||
Loading…
Reference in New Issue