Include Java's @Deprecated annotation on RPC services or methods with `option deprecated = true;`

This commit is contained in:
elandau 2018-08-07 14:24:33 -07:00 committed by Eric Anderson
parent 30672635de
commit 0d4051ca6e
7 changed files with 944 additions and 7 deletions

3
.gitattributes vendored
View File

@ -1,3 +1,6 @@
TestService.java.txt binary TestService.java.txt binary
TestServiceLite.java.txt binary TestServiceLite.java.txt binary
TestServiceNano.java.txt binary TestServiceNano.java.txt binary
TestDeprecatedService.java.txt binary
TestDeprecatedServiceLite.java.txt binary
TestDeprecatedServiceNano.java.txt binary

View File

@ -301,7 +301,7 @@ artifacts {
} }
} }
def configureTestTask(Task task, String dep, String extraPackage) { def configureTestTask(Task task, String dep, String extraPackage, String serviceName) {
test.dependsOn task test.dependsOn task
task.dependsOn "generateTest${dep}Proto" task.dependsOn "generateTest${dep}Proto"
if (osdetector.os != 'windows') { if (osdetector.os != 'windows') {
@ -312,13 +312,19 @@ def configureTestTask(Task task, String dep, String extraPackage) {
} }
// File isn't found on Windows if last slash is forward-slash // File isn't found on Windows if last slash is forward-slash
def slash = System.getProperty("file.separator") def slash = System.getProperty("file.separator")
task.args "$buildDir/generated/source/proto/test${dep}/grpc/io/grpc/testing/compiler${extraPackage}${slash}TestServiceGrpc.java", task.args "$buildDir/generated/source/proto/test${dep}/grpc/io/grpc/testing/compiler${extraPackage}${slash}${serviceName}Grpc.java",
"$projectDir/src/test${dep}/golden/TestService.java.txt" "$projectDir/src/test${dep}/golden/${serviceName}.java.txt"
} }
task testGolden(type: Exec) task testGolden(type: Exec)
task testLiteGolden(type: Exec) task testLiteGolden(type: Exec)
task testNanoGolden(type: Exec) task testNanoGolden(type: Exec)
configureTestTask(testGolden, '', '') task testDeprecatedGolden(type: Exec)
configureTestTask(testLiteGolden, 'Lite', '') task testDeprecatedLiteGolden(type: Exec)
configureTestTask(testNanoGolden, 'Nano', '/nano') task testDeprecatedNanoGolden(type: Exec)
configureTestTask(testGolden, '', '', 'TestService')
configureTestTask(testLiteGolden, 'Lite', '', 'TestService')
configureTestTask(testNanoGolden, 'Nano', '/nano', 'TestService')
configureTestTask(testDeprecatedGolden, '', '', 'TestDeprecatedService')
configureTestTask(testDeprecatedLiteGolden, 'Lite', '', 'TestDeprecatedService')
configureTestTask(testDeprecatedNanoGolden, 'Nano', '/nano', 'TestDeprecatedService')

View File

@ -8,6 +8,7 @@
#include <vector> #include <vector>
#include <google/protobuf/compiler/java/java_names.h> #include <google/protobuf/compiler/java/java_names.h>
#include <google/protobuf/descriptor.h> #include <google/protobuf/descriptor.h>
#include <google/protobuf/descriptor.pb.h>
#include <google/protobuf/io/printer.h> #include <google/protobuf/io/printer.h>
#include <google/protobuf/io/zero_copy_stream.h> #include <google/protobuf/io/zero_copy_stream.h>
@ -644,6 +645,11 @@ static void PrintStub(
if (!interface) { if (!interface) {
GrpcWriteServiceDocComment(p, service); GrpcWriteServiceDocComment(p, service);
} }
if (service->options().deprecated()) {
p->Print(*vars, "@$Deprecated$\n");
}
if (impl_base) { if (impl_base) {
p->Print( p->Print(
*vars, *vars,
@ -713,6 +719,11 @@ static void PrintStub(
if (!interface) { if (!interface) {
GrpcWriteMethodDocComment(p, method); GrpcWriteMethodDocComment(p, method);
} }
if (method->options().deprecated()) {
p->Print(*vars, "@$Deprecated$\n");
}
p->Print("public "); p->Print("public ");
switch (call_type) { switch (call_type) {
case BLOCKING_CALL: case BLOCKING_CALL:
@ -1152,7 +1163,14 @@ static void PrintService(const ServiceDescriptor* service,
*vars, *vars,
"@$Generated$(\n" "@$Generated$(\n"
" value = \"by gRPC proto compiler$grpc_version$\",\n" " value = \"by gRPC proto compiler$grpc_version$\",\n"
" comments = \"Source: $file_name$\")\n" " comments = \"Source: $file_name$\")\n");
if (service->options().deprecated()) {
p->Print(*vars, "@$Deprecated$\n");
}
p->Print(
*vars,
"public final class $service_class_name$ {\n\n"); "public final class $service_class_name$ {\n\n");
p->Indent(); p->Indent();
p->Print( p->Print(

View File

@ -0,0 +1,316 @@
package io.grpc.testing.compiler;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@javax.annotation.Generated(
value = "by gRPC proto compiler (version 1.15.0-SNAPSHOT)",
comments = "Source: grpc/testing/compiler/test.proto")
@java.lang.Deprecated
public final class TestDeprecatedServiceGrpc {
private TestDeprecatedServiceGrpc() {}
public static final String SERVICE_NAME = "grpc.testing.compiler.TestDeprecatedService";
// Static method descriptors that strictly reflect the proto.
private static volatile io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod;
@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "DeprecatedMethod",
requestType = io.grpc.testing.compiler.Test.SimpleRequest.class,
responseType = io.grpc.testing.compiler.Test.SimpleResponse.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod() {
io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest, io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod;
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
TestDeprecatedServiceGrpc.getDeprecatedMethodMethod = getDeprecatedMethodMethod =
io.grpc.MethodDescriptor.<io.grpc.testing.compiler.Test.SimpleRequest, io.grpc.testing.compiler.Test.SimpleResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(
"grpc.testing.compiler.TestDeprecatedService", "DeprecatedMethod"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
io.grpc.testing.compiler.Test.SimpleRequest.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
io.grpc.testing.compiler.Test.SimpleResponse.getDefaultInstance()))
.setSchemaDescriptor(new TestDeprecatedServiceMethodDescriptorSupplier("DeprecatedMethod"))
.build();
}
}
}
return getDeprecatedMethodMethod;
}
/**
* Creates a new async stub that supports all call types for the service
*/
public static TestDeprecatedServiceStub newStub(io.grpc.Channel channel) {
return new TestDeprecatedServiceStub(channel);
}
/**
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
*/
public static TestDeprecatedServiceBlockingStub newBlockingStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceBlockingStub(channel);
}
/**
* Creates a new ListenableFuture-style stub that supports unary calls on the service
*/
public static TestDeprecatedServiceFutureStub newFutureStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceFutureStub(channel);
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static abstract class TestDeprecatedServiceImplBase implements io.grpc.BindableService {
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse> responseObserver) {
asyncUnimplementedUnaryCall(getDeprecatedMethodMethod(), responseObserver);
}
@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
getDeprecatedMethodMethod(),
asyncUnaryCall(
new MethodHandlers<
io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse>(
this, METHODID_DEPRECATED_METHOD)))
.build();
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceStub> {
private TestDeprecatedServiceStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse> responseObserver) {
asyncUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request, responseObserver);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceBlockingStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceBlockingStub> {
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceBlockingStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceBlockingStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public io.grpc.testing.compiler.Test.SimpleResponse deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request) {
return blockingUnaryCall(
getChannel(), getDeprecatedMethodMethod(), getCallOptions(), request);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceFutureStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceFutureStub> {
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceFutureStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceFutureStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.compiler.Test.SimpleResponse> deprecatedMethod(
io.grpc.testing.compiler.Test.SimpleRequest request) {
return futureUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request);
}
}
private static final int METHODID_DEPRECATED_METHOD = 0;
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 TestDeprecatedServiceImplBase serviceImpl;
private final int methodId;
MethodHandlers(TestDeprecatedServiceImplBase serviceImpl, int methodId) {
this.serviceImpl = serviceImpl;
this.methodId = methodId;
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
case METHODID_DEPRECATED_METHOD:
serviceImpl.deprecatedMethod((io.grpc.testing.compiler.Test.SimpleRequest) request,
(io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public io.grpc.stub.StreamObserver<Req> invoke(
io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
default:
throw new AssertionError();
}
}
}
private static abstract class TestDeprecatedServiceBaseDescriptorSupplier
implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
TestDeprecatedServiceBaseDescriptorSupplier() {}
@java.lang.Override
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
return io.grpc.testing.compiler.Test.getDescriptor();
}
@java.lang.Override
public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
return getFileDescriptor().findServiceByName("TestDeprecatedService");
}
}
private static final class TestDeprecatedServiceFileDescriptorSupplier
extends TestDeprecatedServiceBaseDescriptorSupplier {
TestDeprecatedServiceFileDescriptorSupplier() {}
}
private static final class TestDeprecatedServiceMethodDescriptorSupplier
extends TestDeprecatedServiceBaseDescriptorSupplier
implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
private final String methodName;
TestDeprecatedServiceMethodDescriptorSupplier(String methodName) {
this.methodName = methodName;
}
@java.lang.Override
public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
return getServiceDescriptor().findMethodByName(methodName);
}
}
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
io.grpc.ServiceDescriptor result = serviceDescriptor;
if (result == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
result = serviceDescriptor;
if (result == null) {
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
.setSchemaDescriptor(new TestDeprecatedServiceFileDescriptorSupplier())
.addMethod(getDeprecatedMethodMethod())
.build();
}
}
}
return result;
}
}

View File

@ -71,3 +71,13 @@ service TestService {
// method should have a '_' appended. // method should have a '_' appended.
rpc Import(stream StreamingInputCallRequest) returns (stream StreamingInputCallResponse); rpc Import(stream StreamingInputCallRequest) returns (stream StreamingInputCallResponse);
} }
// Test service that has been deprecated and should generate with Java's @Deprecated annotation
service TestDeprecatedService {
option deprecated = true;
// An RPC method that has been deprecated and should generate with Java's @Deprecated annotation
rpc DeprecatedMethod(SimpleRequest) returns (SimpleResponse) {
option deprecated = true;
}
}

View File

@ -0,0 +1,279 @@
package io.grpc.testing.compiler;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@javax.annotation.Generated(
value = "by gRPC proto compiler (version 1.15.0-SNAPSHOT)",
comments = "Source: grpc/testing/compiler/test.proto")
@java.lang.Deprecated
public final class TestDeprecatedServiceGrpc {
private TestDeprecatedServiceGrpc() {}
public static final String SERVICE_NAME = "grpc.testing.compiler.TestDeprecatedService";
// Static method descriptors that strictly reflect the proto.
private static volatile io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod;
@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "DeprecatedMethod",
requestType = io.grpc.testing.compiler.Test.SimpleRequest.class,
responseType = io.grpc.testing.compiler.Test.SimpleResponse.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod() {
io.grpc.MethodDescriptor<io.grpc.testing.compiler.Test.SimpleRequest, io.grpc.testing.compiler.Test.SimpleResponse> getDeprecatedMethodMethod;
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
TestDeprecatedServiceGrpc.getDeprecatedMethodMethod = getDeprecatedMethodMethod =
io.grpc.MethodDescriptor.<io.grpc.testing.compiler.Test.SimpleRequest, io.grpc.testing.compiler.Test.SimpleResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(
"grpc.testing.compiler.TestDeprecatedService", "DeprecatedMethod"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(
io.grpc.testing.compiler.Test.SimpleRequest.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(
io.grpc.testing.compiler.Test.SimpleResponse.getDefaultInstance()))
.build();
}
}
}
return getDeprecatedMethodMethod;
}
/**
* Creates a new async stub that supports all call types for the service
*/
public static TestDeprecatedServiceStub newStub(io.grpc.Channel channel) {
return new TestDeprecatedServiceStub(channel);
}
/**
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
*/
public static TestDeprecatedServiceBlockingStub newBlockingStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceBlockingStub(channel);
}
/**
* Creates a new ListenableFuture-style stub that supports unary calls on the service
*/
public static TestDeprecatedServiceFutureStub newFutureStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceFutureStub(channel);
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static abstract class TestDeprecatedServiceImplBase implements io.grpc.BindableService {
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse> responseObserver) {
asyncUnimplementedUnaryCall(getDeprecatedMethodMethod(), responseObserver);
}
@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
getDeprecatedMethodMethod(),
asyncUnaryCall(
new MethodHandlers<
io.grpc.testing.compiler.Test.SimpleRequest,
io.grpc.testing.compiler.Test.SimpleResponse>(
this, METHODID_DEPRECATED_METHOD)))
.build();
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceStub> {
private TestDeprecatedServiceStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse> responseObserver) {
asyncUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request, responseObserver);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceBlockingStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceBlockingStub> {
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceBlockingStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceBlockingStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public io.grpc.testing.compiler.Test.SimpleResponse deprecatedMethod(io.grpc.testing.compiler.Test.SimpleRequest request) {
return blockingUnaryCall(
getChannel(), getDeprecatedMethodMethod(), getCallOptions(), request);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceFutureStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceFutureStub> {
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceFutureStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceFutureStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.compiler.Test.SimpleResponse> deprecatedMethod(
io.grpc.testing.compiler.Test.SimpleRequest request) {
return futureUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request);
}
}
private static final int METHODID_DEPRECATED_METHOD = 0;
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 TestDeprecatedServiceImplBase serviceImpl;
private final int methodId;
MethodHandlers(TestDeprecatedServiceImplBase serviceImpl, int methodId) {
this.serviceImpl = serviceImpl;
this.methodId = methodId;
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
case METHODID_DEPRECATED_METHOD:
serviceImpl.deprecatedMethod((io.grpc.testing.compiler.Test.SimpleRequest) request,
(io.grpc.stub.StreamObserver<io.grpc.testing.compiler.Test.SimpleResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public io.grpc.stub.StreamObserver<Req> invoke(
io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
default:
throw new AssertionError();
}
}
}
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
io.grpc.ServiceDescriptor result = serviceDescriptor;
if (result == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
result = serviceDescriptor;
if (result == null) {
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
.addMethod(getDeprecatedMethodMethod())
.build();
}
}
}
return result;
}
}

View File

@ -0,0 +1,305 @@
package io.grpc.testing.compiler.nano;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
import java.io.IOException;
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@javax.annotation.Generated(
value = "by gRPC proto compiler (version 1.15.0-SNAPSHOT)",
comments = "Source: grpc/testing/compiler/test.proto")
@java.lang.Deprecated
public final class TestDeprecatedServiceGrpc {
private TestDeprecatedServiceGrpc() {}
public static final String SERVICE_NAME = "grpc.testing.compiler.TestDeprecatedService";
// Static method descriptors that strictly reflect the proto.
private static final int ARG_IN_METHOD_DEPRECATED_METHOD = 0;
private static final int ARG_OUT_METHOD_DEPRECATED_METHOD = 1;
private static volatile io.grpc.MethodDescriptor<io.grpc.testing.compiler.nano.Test.SimpleRequest,
io.grpc.testing.compiler.nano.Test.SimpleResponse> getDeprecatedMethodMethod;
public static io.grpc.MethodDescriptor<io.grpc.testing.compiler.nano.Test.SimpleRequest,
io.grpc.testing.compiler.nano.Test.SimpleResponse> getDeprecatedMethodMethod() {
io.grpc.MethodDescriptor<io.grpc.testing.compiler.nano.Test.SimpleRequest, io.grpc.testing.compiler.nano.Test.SimpleResponse> getDeprecatedMethodMethod;
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
if ((getDeprecatedMethodMethod = TestDeprecatedServiceGrpc.getDeprecatedMethodMethod) == null) {
TestDeprecatedServiceGrpc.getDeprecatedMethodMethod = getDeprecatedMethodMethod =
io.grpc.MethodDescriptor.<io.grpc.testing.compiler.nano.Test.SimpleRequest, io.grpc.testing.compiler.nano.Test.SimpleResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(
"grpc.testing.compiler.TestDeprecatedService", "DeprecatedMethod"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.compiler.nano.Test.SimpleRequest>marshaller(
new NanoFactory<io.grpc.testing.compiler.nano.Test.SimpleRequest>(ARG_IN_METHOD_DEPRECATED_METHOD)))
.setResponseMarshaller(io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.compiler.nano.Test.SimpleResponse>marshaller(
new NanoFactory<io.grpc.testing.compiler.nano.Test.SimpleResponse>(ARG_OUT_METHOD_DEPRECATED_METHOD)))
.build();
}
}
}
return getDeprecatedMethodMethod;
}
private static final class NanoFactory<T extends com.google.protobuf.nano.MessageNano>
implements io.grpc.protobuf.nano.MessageNanoFactory<T> {
private final int id;
NanoFactory(int id) {
this.id = id;
}
@java.lang.Override
public T newInstance() {
Object o;
switch (id) {
case ARG_IN_METHOD_DEPRECATED_METHOD:
o = new io.grpc.testing.compiler.nano.Test.SimpleRequest();
break;
case ARG_OUT_METHOD_DEPRECATED_METHOD:
o = new io.grpc.testing.compiler.nano.Test.SimpleResponse();
break;
default:
throw new AssertionError();
}
@java.lang.SuppressWarnings("unchecked")
T t = (T) o;
return t;
}
}
/**
* Creates a new async stub that supports all call types for the service
*/
public static TestDeprecatedServiceStub newStub(io.grpc.Channel channel) {
return new TestDeprecatedServiceStub(channel);
}
/**
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
*/
public static TestDeprecatedServiceBlockingStub newBlockingStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceBlockingStub(channel);
}
/**
* Creates a new ListenableFuture-style stub that supports unary calls on the service
*/
public static TestDeprecatedServiceFutureStub newFutureStub(
io.grpc.Channel channel) {
return new TestDeprecatedServiceFutureStub(channel);
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static abstract class TestDeprecatedServiceImplBase implements io.grpc.BindableService {
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.nano.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.nano.Test.SimpleResponse> responseObserver) {
asyncUnimplementedUnaryCall(getDeprecatedMethodMethod(), responseObserver);
}
@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
getDeprecatedMethodMethod(),
asyncUnaryCall(
new MethodHandlers<
io.grpc.testing.compiler.nano.Test.SimpleRequest,
io.grpc.testing.compiler.nano.Test.SimpleResponse>(
this, METHODID_DEPRECATED_METHOD)))
.build();
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceStub> {
private TestDeprecatedServiceStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public void deprecatedMethod(io.grpc.testing.compiler.nano.Test.SimpleRequest request,
io.grpc.stub.StreamObserver<io.grpc.testing.compiler.nano.Test.SimpleResponse> responseObserver) {
asyncUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request, responseObserver);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceBlockingStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceBlockingStub> {
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceBlockingStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceBlockingStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceBlockingStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public io.grpc.testing.compiler.nano.Test.SimpleResponse deprecatedMethod(io.grpc.testing.compiler.nano.Test.SimpleRequest request) {
return blockingUnaryCall(
getChannel(), getDeprecatedMethodMethod(), getCallOptions(), request);
}
}
/**
* <pre>
* Test service that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public static final class TestDeprecatedServiceFutureStub extends io.grpc.stub.AbstractStub<TestDeprecatedServiceFutureStub> {
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel) {
super(channel);
}
private TestDeprecatedServiceFutureStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}
@java.lang.Override
protected TestDeprecatedServiceFutureStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new TestDeprecatedServiceFutureStub(channel, callOptions);
}
/**
* <pre>
* An RPC method that has been deprecated and should generate with Java's &#64;Deprecated annotation
* </pre>
*/
@java.lang.Deprecated
public com.google.common.util.concurrent.ListenableFuture<io.grpc.testing.compiler.nano.Test.SimpleResponse> deprecatedMethod(
io.grpc.testing.compiler.nano.Test.SimpleRequest request) {
return futureUnaryCall(
getChannel().newCall(getDeprecatedMethodMethod(), getCallOptions()), request);
}
}
private static final int METHODID_DEPRECATED_METHOD = 0;
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 TestDeprecatedServiceImplBase serviceImpl;
private final int methodId;
MethodHandlers(TestDeprecatedServiceImplBase serviceImpl, int methodId) {
this.serviceImpl = serviceImpl;
this.methodId = methodId;
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
case METHODID_DEPRECATED_METHOD:
serviceImpl.deprecatedMethod((io.grpc.testing.compiler.nano.Test.SimpleRequest) request,
(io.grpc.stub.StreamObserver<io.grpc.testing.compiler.nano.Test.SimpleResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
}
@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public io.grpc.stub.StreamObserver<Req> invoke(
io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
default:
throw new AssertionError();
}
}
}
private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
public static io.grpc.ServiceDescriptor getServiceDescriptor() {
io.grpc.ServiceDescriptor result = serviceDescriptor;
if (result == null) {
synchronized (TestDeprecatedServiceGrpc.class) {
result = serviceDescriptor;
if (result == null) {
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
.addMethod(getDeprecatedMethodMethod())
.build();
}
}
}
return result;
}
}