This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.3 by this push:
new af0f45f7cd feat:dubbo-compiler remove grpc and grpc/reactive
package(#13367) (#13409)
af0f45f7cd is described below
commit af0f45f7cd71a923d924a7137d998a576180badf
Author: XiaoyuPeng <[email protected]>
AuthorDate: Wed Nov 29 21:06:00 2023 +0800
feat:dubbo-compiler remove grpc and grpc/reactive package(#13367) (#13409)
* feat:dubbo-compiler remove grpc and grpc/reactive package(#13367)
* feat:dubbo-complier only reserve dubbo3 and tri(#13367)
---------
Co-authored-by: pengxiaoyu <[email protected]>
---
.../plugin/protoc/enums/DubboGenerateTypeEnum.java | 4 -
.../org/apache/dubbo/gen/dubbo/DubboGenerator.java | 37 ---
.../apache/dubbo/gen/grpc/DubboGrpcGenerator.java | 36 ---
.../grpc/reactive/ReactorDubboGrpcGenerator.java | 37 ---
.../gen/grpc/reactive/RxDubboGrpcGenerator.java | 36 ---
.../src/main/resources/DubboGrpcStub.mustache | 323 ---------------------
.../src/main/resources/DubboStub.mustache | 67 -----
.../main/resources/ReactorDubboGrpcStub.mustache | 223 --------------
.../src/main/resources/RxDubboGrpcStub.mustache | 257 ----------------
9 files changed, 1020 deletions(-)
diff --git
a/dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/protoc/enums/DubboGenerateTypeEnum.java
b/dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/protoc/enums/DubboGenerateTypeEnum.java
index f66bb21b5b..2b8a62cb92 100644
---
a/dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/protoc/enums/DubboGenerateTypeEnum.java
+++
b/dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/protoc/enums/DubboGenerateTypeEnum.java
@@ -17,13 +17,9 @@
package org.apache.dubbo.maven.plugin.protoc.enums;
public enum DubboGenerateTypeEnum {
- Dubbo("dubbo", "org.apache.dubbo.gen.dubbo.DubboGenerator"),
Dubbo3("dubbo3", "org.apache.dubbo.gen.dubbo.Dubbo3Generator"),
Tri("tri", "org.apache.dubbo.gen.tri.Dubbo3TripleGenerator"),
Tri_reactor("tri_reactor",
"org.apache.dubbo.gen.tri.reactive.ReactorDubbo3TripleGenerator"),
- Grpc("grpc", "org.apache.dubbo.gen.grpc.DubboGrpcGenerator"),
- Grpc_reactor("grpc_reactor",
"org.apache.dubbo.gen.grpc.reactive.ReactorDubboGrpcGenerator"),
- Grpc_rx("grpc_rx",
"org.apache.dubbo.gen.grpc.reactive.RxDubboGrpcGenerator"),
;
private String id;
private String mainClass;
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
deleted file mode 100644
index 793253b3e4..0000000000
---
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/dubbo/DubboGenerator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.gen.dubbo;
-
-import org.apache.dubbo.gen.AbstractGenerator;
-import org.apache.dubbo.gen.DubboGeneratorPlugin;
-
-public class DubboGenerator extends AbstractGenerator {
-
- public static void main(String[] args) {
- DubboGeneratorPlugin.generate(new DubboGenerator());
- }
-
- @Override
- protected String getClassPrefix() {
- return "";
- }
-
- @Override
- protected String getClassSuffix() {
- return "Dubbo";
- }
-}
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
deleted file mode 100644
index bc3ee340ad..0000000000
---
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/DubboGrpcGenerator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.gen.grpc;
-
-import org.apache.dubbo.gen.AbstractGenerator;
-import org.apache.dubbo.gen.DubboGeneratorPlugin;
-
-public class DubboGrpcGenerator extends AbstractGenerator {
-
- public static void main(String[] args) {
- DubboGeneratorPlugin.generate(new DubboGrpcGenerator());
- }
-
- @Override
- protected String getClassPrefix() {
- return "Dubbo";
- }
-
- protected String getClassSuffix() {
- return "Grpc";
- }
-}
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
deleted file mode 100644
index b053db4b3f..0000000000
---
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/ReactorDubboGrpcGenerator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.gen.grpc.reactive;
-
-import org.apache.dubbo.gen.AbstractGenerator;
-import org.apache.dubbo.gen.DubboGeneratorPlugin;
-
-public class ReactorDubboGrpcGenerator extends AbstractGenerator {
-
- @Override
- protected String getClassPrefix() {
- return "ReactorDubbo";
- }
-
- @Override
- protected String getClassSuffix() {
- return "Grpc";
- }
-
- public static void main(String[] args) {
- DubboGeneratorPlugin.generate(new ReactorDubboGrpcGenerator());
- }
-}
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
b/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
deleted file mode 100644
index e81e90f57d..0000000000
---
a/dubbo-plugin/dubbo-compiler/src/main/java/org/apache/dubbo/gen/grpc/reactive/RxDubboGrpcGenerator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.gen.grpc.reactive;
-
-import org.apache.dubbo.gen.AbstractGenerator;
-import org.apache.dubbo.gen.DubboGeneratorPlugin;
-
-public class RxDubboGrpcGenerator extends AbstractGenerator {
- @Override
- protected String getClassPrefix() {
- return "RxDubbo";
- }
-
- @Override
- protected String getClassSuffix() {
- return "Grpc";
- }
-
- public static void main(String[] args) {
- DubboGeneratorPlugin.generate(new RxDubboGrpcGenerator());
- }
-}
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
b/dubbo-plugin/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
deleted file mode 100644
index 80456bcfa4..0000000000
--- a/dubbo-plugin/dubbo-compiler/src/main/resources/DubboGrpcStub.mustache
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-{{#packageName}}
- package {{packageName}};
-{{/packageName}}
-
-import org.apache.dubbo.common.URL;
-
-import java.util.concurrent.TimeUnit;
-
-import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;
-import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
-
-import static {{packageName}}.{{serviceName}}Grpc.getServiceDescriptor;
-import static io.grpc.stub.ServerCalls.asyncUnaryCall;
-import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
-
-{{#deprecated}}
- @java.lang.Deprecated
-{{/deprecated}}
-public final class {{className}} {
-private {{className}}() {}
-
-public static class Dubbo{{serviceName}}Stub implements I{{serviceName}} {
-
-protected URL url;
-
-protected {{serviceName}}Grpc.{{serviceName}}BlockingStub blockingStub;
-protected {{serviceName}}Grpc.{{serviceName}}FutureStub futureStub;
-protected {{serviceName}}Grpc.{{serviceName}}Stub stub;
-
-public Dubbo{{serviceName}}Stub(io.grpc.Channel channel, io.grpc.CallOptions
callOptions, URL url) {
-this.url = url;
-
-blockingStub = {{serviceName}}Grpc.newBlockingStub(channel).build(channel,
callOptions);
-futureStub = {{serviceName}}Grpc.newFutureStub(channel).build(channel,
callOptions);
-stub = {{serviceName}}Grpc.newStub(channel).build(channel, callOptions);
-}
-
-{{#unaryMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public {{outputType}} {{methodName}}({{inputType}} request) {
- return blockingStub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(request);
- }
-
- public com.google.common.util.concurrent.ListenableFuture<{{outputType}}>
{{methodName}}Async({{inputType}} request) {
- return futureStub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(request);
- }
-
- public void {{methodName}}({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> responseObserver){
- stub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(request, responseObserver);
- }
-
-{{/unaryMethods}}
-{{#serverStreamingMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public java.util.Iterator<{{outputType}}> {{methodName}}({{inputType}}
request) {
- return blockingStub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(request);
- }
-
- public void {{methodName}}({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> responseObserver) {
- stub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(request, responseObserver);
- }
-
-{{/serverStreamingMethods}}
-{{#biStreamingMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public io.grpc.stub.StreamObserver<{{inputType}}>
{{methodName}}(io.grpc.stub.StreamObserver<{{outputType}}> responseObserver) {
- return stub
- .withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS)
- .{{methodName}}(responseObserver);
- }
-{{/biStreamingMethods}}
-}
-
-public static Dubbo{{serviceName}}Stub getDubboStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions, URL url) {
-return new Dubbo{{serviceName}}Stub(channel, callOptions, url);
-}
-
-public interface I{{serviceName}} {
-{{#unaryMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- default public {{outputType}} {{methodName}}({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- default public
com.google.common.util.concurrent.ListenableFuture<{{outputType}}>
{{methodName}}Async({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public void {{methodName}}({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> responseObserver);
-
-{{/unaryMethods}}
-{{#serverStreamingMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- default public java.util.Iterator<{{outputType}}>
{{methodName}}({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public void {{methodName}}({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> responseObserver);
-
-{{/serverStreamingMethods}}
-{{#biStreamingMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public io.grpc.stub.StreamObserver<{{inputType}}>
{{methodName}}(io.grpc.stub.StreamObserver<{{outputType}}> responseObserver);
-
-{{/biStreamingMethods}}
-}
-
-{{#javaDoc}}
- {{{javaDoc}}}
-{{/javaDoc}}
-public static abstract class {{serviceName}}ImplBase implements
I{{serviceName}}, io.grpc.BindableService {
-
-private I{{serviceName}} proxiedImpl;
-
-public final void setProxiedImpl(I{{serviceName}} proxiedImpl) {
-this.proxiedImpl = proxiedImpl;
-}
-
-{{#unaryMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- @java.lang.Override
- public final {{outputType}} {{methodName}}({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- @java.lang.Override
- public final
com.google.common.util.concurrent.ListenableFuture<{{outputType}}>
{{methodName}}Async({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
-{{/unaryMethods}}
-{{#serverStreamingMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- @java.lang.Override
- public final java.util.Iterator<{{outputType}}>
{{methodName}}({{inputType}} request) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
-{{/serverStreamingMethods}}
-{{#methods}}
- {{#isManyInput}}
- public io.grpc.stub.StreamObserver<{{inputType}}> {{methodName}}(
- io.grpc.stub.StreamObserver<{{outputType}}> responseObserver) {
- return
asyncUnimplementedStreamingCall({{packageName}}.{{serviceName}}Grpc.get{{methodNamePascalCase}}Method(),
responseObserver);
- }
- {{/isManyInput}}{{^isManyInput}}
- public void {{methodName}}({{inputType}} request,
- io.grpc.stub.StreamObserver<{{outputType}}> responseObserver) {
-
asyncUnimplementedUnaryCall({{packageName}}.{{serviceName}}Grpc.get{{methodNamePascalCase}}Method(),
responseObserver);
- }
- {{/isManyInput}}
-{{/methods}}
-
[email protected] public final io.grpc.ServerServiceDefinition bindService()
{
-return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
-{{#methods}}
- .addMethod(
- {{packageName}}.{{serviceName}}Grpc.get{{methodNamePascalCase}}Method(),
- {{grpcCallsMethodName}}(
- new MethodHandlers<
- {{inputType}},
- {{outputType}}>(
- proxiedImpl, METHODID_{{methodNameUpperUnderscore}})))
-{{/methods}}
-.build();
-}
-}
-{{#methods}}
- private static final int METHODID_{{methodNameUpperUnderscore}} =
{{methodNumber}};
-{{/methods}}
-
-private static final class MethodHandlers
-<Req, Resp> implements
-io.grpc.stub.ServerCalls.UnaryMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ServerStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ClientStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.BidiStreamingMethod
-<Req, Resp> {
-private final I{{serviceName}} serviceImpl;
-private final int methodId;
-
-MethodHandlers(I{{serviceName}} serviceImpl, int methodId) {
-this.serviceImpl = serviceImpl;
-this.methodId = methodId;
-}
-
[email protected]
[email protected]("unchecked")
-public void invoke(Req request, io.grpc.stub.StreamObserver
-<Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{^isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
- serviceImpl.{{methodName}}(({{inputType}}) request,
- (io.grpc.stub.StreamObserver<{{outputType}}>) responseObserver);
- break;
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
-
- @java.lang.Override
- @java.lang.SuppressWarnings("unchecked")
- public io.grpc.stub.StreamObserver
- <Req> invoke(io.grpc.stub.StreamObserver
- <Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{#isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
- return (io.grpc.stub.StreamObserver
- <Req>) serviceImpl.{{methodName}}(
- (io.grpc.stub.StreamObserver<{{outputType}}>)
responseObserver);
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
- }
-
- }
diff --git a/dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub.mustache
b/dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub.mustache
deleted file mode 100644
index 8bf729e8dd..0000000000
--- a/dubbo-plugin/dubbo-compiler/src/main/resources/DubboStub.mustache
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-{{#packageName}}
- package {{packageName}};
-{{/packageName}}
-
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-{{#deprecated}}
- @java.lang.Deprecated
-{{/deprecated}}
-public final class {{className}} {
-private static final AtomicBoolean registered = new AtomicBoolean();
-
-private static Class<?> init() {
-Class<?> clazz = null;
-try {
-clazz = Class.forName({{serviceName}}Dubbo.class.getName());
-if (registered.compareAndSet(false, true)) {
-{{#methodTypes}}
-
org.apache.dubbo.common.serialize.protobuf.support.ProtobufUtils.marshaller(
- {{.}}.getDefaultInstance());
-{{/methodTypes}}
-}
-} catch (ClassNotFoundException e) {
-// ignore
-}
-return clazz;
-}
-
-private {{serviceName}}Dubbo() {}
-
-public static final String SERVICE_NAME = "{{packageName}}.{{serviceName}}";
-
-/**
-* Code generated for Dubbo
-*/
-public interface I{{serviceName}} extends org.apache.dubbo.rpc.model.DubboStub
{
-
-static Class<?> clazz = init();
-
-{{#methods}}
- {{outputType}} {{methodName}}({{inputType}} request);
-
- CompletableFuture<{{outputType}}> {{methodName}}Async({{inputType}}
request);
-
-{{/methods}}
-
-}
-
-}
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
b/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
deleted file mode 100644
index 952b615180..0000000000
---
a/dubbo-plugin/dubbo-compiler/src/main/resources/ReactorDubboGrpcStub.mustache
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-{{#packageName}}
- package {{packageName}};
-{{/packageName}}
-
-import org.apache.dubbo.common.URL;
-
-import java.util.concurrent.TimeUnit;
-
-import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;
-import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
-
-import static {{packageName}}.{{serviceName}}Grpc.getServiceDescriptor;
-import static io.grpc.stub.ServerCalls.asyncUnaryCall;
-import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
-
-
-{{#deprecated}}
- @java.lang.Deprecated
-{{/deprecated}}
-public final class {{className}} {
-private {{className}}() {}
-
-public static ReactorDubbo{{serviceName}}Stub getDubboStub(io.grpc.Channel
channel, io.grpc.CallOptions callOptions, URL url) {
-return new ReactorDubbo{{serviceName}}Stub(channel, callOptions, url);
-}
-
-{{#javaDoc}}
- {{{javaDoc}}}
-{{/javaDoc}}
-public static final class ReactorDubbo{{serviceName}}Stub implements
IReactor{{serviceName}} {
-
-protected URL url;
-
-protected {{serviceName}}Grpc.{{serviceName}}Stub stub;
-
-public ReactorDubbo{{serviceName}}Stub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions, URL url) {
-this.url = url;
-stub = {{serviceName}}Grpc.newStub(channel).build(channel, callOptions);
-}
-
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{#isManyInput}}reactor.core.publisher.Flux{{/isManyInput}}{{^isManyInput}}reactor.core.publisher.Mono{{/isManyInput}}<{{inputType}}>
reactorRequest) {
- {{serviceName}}Grpc.{{serviceName}}Stub localStub =
stub.withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS);
- return
com.salesforce.reactorgrpc.stub.ClientCalls.{{reactiveCallsMethodName}}(reactorRequest,
localStub::{{methodName}});
- }
-
-{{/methods}}
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} reactorRequest) {
- {{serviceName}}Grpc.{{serviceName}}Stub localStub =
stub.withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS);
- return
com.salesforce.reactorgrpc.stub.ClientCalls.{{reactiveCallsMethodName}}(reactor.core.publisher.Mono.just(reactorRequest),
localStub::{{methodName}});
- }
-
-{{/unaryRequestMethods}}
-}
-
-public interface IReactor{{serviceName}} {
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{#isManyInput}}reactor.core.publisher.Flux{{/isManyInput}}{{^isManyInput}}reactor.core.publisher.Mono{{/isManyInput}}<{{inputType}}>
reactorRequest);
-
-{{/methods}}
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} reactorRequest);
-
-{{/unaryRequestMethods}}
-}
-
-{{#javaDoc}}
- {{{javaDoc}}}
-{{/javaDoc}}
-public static abstract class {{serviceName}}ImplBase implements
IReactor{{serviceName}}, io.grpc.BindableService {
-
-private IReactor{{serviceName}} proxiedImpl;
-
-public final void setProxiedImpl(IReactor{{serviceName}} proxiedImpl) {
-this.proxiedImpl = proxiedImpl;
-}
-
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public final
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} reactorRequest) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
-{{/unaryRequestMethods}}
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}reactor.core.publisher.Flux{{/isManyOutput}}{{^isManyOutput}}reactor.core.publisher.Mono{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{#isManyInput}}reactor.core.publisher.Flux{{/isManyInput}}{{^isManyInput}}reactor.core.publisher.Mono{{/isManyInput}}<{{inputType}}>
request) {
- throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED);
- }
-
-{{/methods}}
[email protected] public final io.grpc.ServerServiceDefinition bindService()
{
-return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
-{{#methods}}
- .addMethod(
- {{packageName}}.{{serviceName}}Grpc.get{{methodNamePascalCase}}Method(),
- {{grpcCallsMethodName}}(
- new MethodHandlers<
- {{inputType}},
- {{outputType}}>(
- proxiedImpl, METHODID_{{methodNameUpperUnderscore}})))
-{{/methods}}
-.build();
-}
-}
-
-{{#methods}}
- private static final int METHODID_{{methodNameUpperUnderscore}} =
{{methodNumber}};
-{{/methods}}
-
-private static final class MethodHandlers
-<Req, Resp> implements
-io.grpc.stub.ServerCalls.UnaryMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ServerStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ClientStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.BidiStreamingMethod
-<Req, Resp> {
-private final IReactor{{serviceName}} serviceImpl;
-private final int methodId;
-
-MethodHandlers(IReactor{{serviceName}} serviceImpl, int methodId) {
-this.serviceImpl = serviceImpl;
-this.methodId = methodId;
-}
-
[email protected]
[email protected]("unchecked")
-public void invoke(Req request, io.grpc.stub.StreamObserver
-<Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{^isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
-
com.salesforce.reactorgrpc.stub.ServerCalls.{{reactiveCallsMethodName}}(({{inputType}})
request,
- (io.grpc.stub.StreamObserver<{{outputType}}>) responseObserver,
- serviceImpl::{{methodName}});
- break;
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
-
- @java.lang.Override
- @java.lang.SuppressWarnings("unchecked")
- public io.grpc.stub.StreamObserver
- <Req> invoke(io.grpc.stub.StreamObserver
- <Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{#isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
- return (io.grpc.stub.StreamObserver
- <Req>)
com.salesforce.reactorgrpc.stub.ServerCalls.{{reactiveCallsMethodName}}(
- (io.grpc.stub.StreamObserver<{{outputType}}>)
responseObserver,
- serviceImpl::{{methodName}});
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
- }
-
- }
diff --git
a/dubbo-plugin/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
b/dubbo-plugin/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
deleted file mode 100644
index f27a0a209b..0000000000
--- a/dubbo-plugin/dubbo-compiler/src/main/resources/RxDubboGrpcStub.mustache
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-{{#packageName}}
- package {{packageName}};
-{{/packageName}}
-
-import org.apache.dubbo.common.URL;
-
-import java.util.concurrent.TimeUnit;
-
-import static
org.apache.dubbo.common.constants.CommonConstants.DEFAULT_TIMEOUT;
-import static org.apache.dubbo.common.constants.CommonConstants.TIMEOUT_KEY;
-
-import static {{packageName}}.{{serviceName}}Grpc.getServiceDescriptor;
-import static io.grpc.stub.ServerCalls.asyncUnaryCall;
-import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
-import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
-
-
-{{#deprecated}}
- @java.lang.Deprecated
-{{/deprecated}}
-public final class {{className}} {
-private {{className}}() {}
-
-public static RxDubbo{{serviceName}}Stub getDubboStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions, URL url) {
-return new RxDubbo{{serviceName}}Stub(channel, callOptions, url);
-}
-
-{{#javaDoc}}
- {{{javaDoc}}}
-{{/javaDoc}}
-public static final class RxDubbo{{serviceName}}Stub implements
IRx{{serviceName}} {
-
-protected URL url;
-
-protected {{serviceName}}Grpc.{{serviceName}}Stub stub;
-
-public RxDubbo{{serviceName}}Stub(io.grpc.Channel channel, io.grpc.CallOptions
callOptions, URL url) {
-this.url = url;
-stub = {{serviceName}}Grpc.newStub(channel).build(channel, callOptions);
-}
-
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{#isManyInput}}io.reactivex.Flowable{{/isManyInput}}{{^isManyInput}}io.reactivex.Single{{/isManyInput}}<{{inputType}}>
rxRequest) {
- return
com.salesforce.rxgrpc.stub.ClientCalls.{{reactiveCallsMethodName}}(rxRequest,
- {{^isManyInput}}
- new com.salesforce.reactivegrpc.common.BiConsumer<{{inputType}},
io.grpc.stub.StreamObserver<{{outputType}}>>() {
- @java.lang.Override
- public void accept({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> observer) {
- stub.withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS).{{methodNameCamelCase}}(request, observer);
- }
- });
- {{/isManyInput}}
- {{#isManyInput}}
- new com.salesforce.reactivegrpc.common.Function
- <io.grpc.stub.StreamObserver<{{outputType}}>,
io.grpc.stub.StreamObserver<{{inputType}}>>() {
- @java.lang.Override
- public io.grpc.stub.StreamObserver<{{inputType}}>
apply(io.grpc.stub.StreamObserver<{{outputType}}> observer) {
- return stub.withDeadlineAfter(url.getParameter(TIMEOUT_KEY,
DEFAULT_TIMEOUT), TimeUnit.MILLISECONDS).{{methodNameCamelCase}}(observer);
- }
- });
- {{/isManyInput}}
- }
-
-{{/methods}}
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} rxRequest) {
- return
com.salesforce.rxgrpc.stub.ClientCalls.{{reactiveCallsMethodName}}(io.reactivex.Single.just(rxRequest),
- new com.salesforce.reactivegrpc.common.BiConsumer<{{inputType}},
io.grpc.stub.StreamObserver<{{outputType}}>>() {
- @java.lang.Override
- public void accept({{inputType}} request,
io.grpc.stub.StreamObserver<{{outputType}}> observer) {
- stub.withDeadlineAfter(url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT),
TimeUnit.MILLISECONDS).{{methodNameCamelCase}}(request, observer);
- }
- });
- }
-
-{{/unaryRequestMethods}}
-}
-
-public interface IRx{{serviceName}} {
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{#isManyInput}}io.reactivex.Flowable{{/isManyInput}}{{^isManyInput}}io.reactivex.Single{{/isManyInput}}<{{inputType}}>
rxRequest);
-
-{{/methods}}
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} rxRequest);
-
-{{/unaryRequestMethods}}
-}
-
-
-{{#javaDoc}}
- {{{javaDoc}}}
-{{/javaDoc}}
-public static abstract class {{serviceName}}ImplBase implements
IRx{{serviceName}}, io.grpc.BindableService {
-
-private IRx{{serviceName}} proxiedImpl;
-
-public final void setProxiedImpl(IRx{{serviceName}} proxiedImpl) {
-this.proxiedImpl = proxiedImpl;
-}
-{{#unaryRequestMethods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public final
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodName}}({{inputType}} rxRequest) {
- throw new UnsupportedOperationException("No need to override this method,
extend XxxImplBase and override all methods it allows.");
- }
-
-{{/unaryRequestMethods}}
-{{#methods}}
- {{#javaDoc}}
- {{{javaDoc}}}
- {{/javaDoc}}
- {{#deprecated}}
- @java.lang.Deprecated
- {{/deprecated}}
- public
{{#isManyOutput}}io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
{{methodNameCamelCase}}({{#isManyInput}}io.reactivex.Flowable{{/isManyInput}}{{^isManyInput}}io.reactivex.Single{{/isManyInput}}<{{inputType}}>
request) {
- throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED);
- }
-
-{{/methods}}
[email protected] public final io.grpc.ServerServiceDefinition bindService()
{
-return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
-{{#methods}}
- .addMethod(
- {{packageName}}.{{serviceName}}Grpc.get{{methodNamePascalCase}}Method(),
- {{grpcCallsMethodName}}(
- new MethodHandlers<
- {{inputType}},
- {{outputType}}>(
- proxiedImpl, METHODID_{{methodNameUpperUnderscore}})))
-{{/methods}}
-.build();
-}
-}
-
-{{#methods}}
- private static final int METHODID_{{methodNameUpperUnderscore}} =
{{methodNumber}};
-{{/methods}}
-
-private static final class MethodHandlers
-<Req, Resp> implements
-io.grpc.stub.ServerCalls.UnaryMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ServerStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.ClientStreamingMethod
-<Req, Resp>,
-io.grpc.stub.ServerCalls.BidiStreamingMethod
-<Req, Resp> {
-private final IRx{{serviceName}} serviceImpl;
-private final int methodId;
-
-MethodHandlers(IRx{{serviceName}} serviceImpl, int methodId) {
-this.serviceImpl = serviceImpl;
-this.methodId = methodId;
-}
-
[email protected]
[email protected]("unchecked")
-public void invoke(Req request, io.grpc.stub.StreamObserver
-<Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{^isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
-
com.salesforce.rxgrpc.stub.ServerCalls.{{reactiveCallsMethodName}}(({{inputType}})
request,
- (io.grpc.stub.StreamObserver<{{outputType}}>) responseObserver,
- new com.salesforce.reactivegrpc.common.Function
-
<{{#isManyInput}}io.reactivex.Flowable{{/isManyInput}}{{^isManyInput}}io.reactivex.Single{{/isManyInput}}
- <{{inputType}}>, {{#isManyOutput}}
- io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}
- io.reactivex.Single{{/isManyOutput}}<{{outputType}}>>() {
- @java.lang.Override
- public {{#isManyOutput}}
- io.reactivex.Flowable{{/isManyOutput}}{{^isManyOutput}}
- io.reactivex.Single{{/isManyOutput}}<{{outputType}}>
apply({{#isManyInput}}
- io.reactivex.Flowable{{/isManyInput}}{{^isManyInput}}
- io.reactivex.Single{{/isManyInput}}<{{inputType}}> single) {
- return serviceImpl.{{methodNameCamelCase}}(single);
- }
- });
- break;
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
-
- @java.lang.Override
- @java.lang.SuppressWarnings("unchecked")
- public io.grpc.stub.StreamObserver
- <Req> invoke(io.grpc.stub.StreamObserver
- <Resp> responseObserver) {
- switch (methodId) {
- {{#methods}}
- {{#isManyInput}}
- case METHODID_{{methodNameUpperUnderscore}}:
- return (io.grpc.stub.StreamObserver
- <Req>)
com.salesforce.rxgrpc.stub.ServerCalls.{{reactiveCallsMethodName}}(
- (io.grpc.stub.StreamObserver<{{outputType}}>)
responseObserver,
- serviceImpl::{{methodNameCamelCase}});
- {{/isManyInput}}
- {{/methods}}
- default:
- throw new java.lang.AssertionError();
- }
- }
- }
-
- }