Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -539,28 +539,35 @@ private static List<MethodDefinition> createMethodVariants(
.setVariableExpr(requestVarExpr)
.setValueExpr(requestBuilderExpr)
.build();
List<Statement> statements = Arrays.asList(ExprStatement.withExpr(requestAssignmentExpr));

// Return expression.
MethodInvocationExpr returnExpr =
List<Statement> statements = new ArrayList<>();
statements.add(ExprStatement.withExpr(requestAssignmentExpr));

MethodInvocationExpr rpcInvocationExpr =
MethodInvocationExpr.builder()
.setMethodName(String.format(method.hasLro() ? "%sAsync" : "%s", methodName))
.setArguments(Arrays.asList(requestVarExpr.toBuilder().setIsDecl(false).build()))
.setReturnType(methodOutputType)
.build();

javaMethods.add(
MethodDefinition.Builder methodVariantBuilder =
MethodDefinition.builder()
.setHeaderCommentStatements(
ServiceClientCommentComposer.createRpcMethodHeaderComment(method, signature))
.setScope(ScopeNode.PUBLIC)
.setIsFinal(true)
.setReturnType(methodOutputType)
.setName(String.format(method.hasLro() ? "%sAsync" : "%s", methodName))
.setArguments(arguments)
.setBody(statements)
.setReturnExpr(returnExpr)
.build());
.setArguments(arguments);

if (isProtoEmptyType(methodOutputType)) {
statements.add(ExprStatement.withExpr(rpcInvocationExpr));
methodVariantBuilder = methodVariantBuilder.setReturnType(TypeNode.VOID);
} else {
methodVariantBuilder =
methodVariantBuilder.setReturnType(methodOutputType).setReturnExpr(rpcInvocationExpr);
}
methodVariantBuilder = methodVariantBuilder.setBody(statements);
javaMethods.add(methodVariantBuilder.build());
}

return javaMethods;
Expand Down Expand Up @@ -600,25 +607,34 @@ private static MethodDefinition createMethodDefaultMethod(
callableMethodName = String.format(OPERATION_CALLABLE_NAME_PATTERN, methodName);
}

MethodInvocationExpr methodReturnExpr =
MethodInvocationExpr callableMethodExpr =
MethodInvocationExpr.builder().setMethodName(callableMethodName).build();
methodReturnExpr =
callableMethodExpr =
MethodInvocationExpr.builder()
.setMethodName(method.hasLro() ? "futureCall" : "call")
.setArguments(Arrays.asList(requestArgVarExpr.toBuilder().setIsDecl(false).build()))
.setExprReferenceExpr(methodReturnExpr)
.setExprReferenceExpr(callableMethodExpr)
.setReturnType(methodOutputType)
.build();
return MethodDefinition.builder()
.setHeaderCommentStatements(
ServiceClientCommentComposer.createRpcMethodHeaderComment(method))
.setScope(ScopeNode.PUBLIC)
.setIsFinal(true)
.setReturnType(methodOutputType)
.setName(String.format(method.hasLro() ? "%sAsync" : "%s", methodName))
.setArguments(Arrays.asList(requestArgVarExpr))
.setReturnExpr(methodReturnExpr)
.build();
MethodDefinition.Builder methodBuilder =
MethodDefinition.builder()
.setHeaderCommentStatements(
ServiceClientCommentComposer.createRpcMethodHeaderComment(method))
.setScope(ScopeNode.PUBLIC)
.setIsFinal(true)
.setName(String.format(method.hasLro() ? "%sAsync" : "%s", methodName))
.setArguments(Arrays.asList(requestArgVarExpr));

if (isProtoEmptyType(methodOutputType)) {
methodBuilder =
methodBuilder
.setBody(Arrays.asList(ExprStatement.withExpr(callableMethodExpr)))
.setReturnType(TypeNode.VOID);
} else {
methodBuilder =
methodBuilder.setReturnExpr(callableMethodExpr).setReturnType(methodOutputType);
}
return methodBuilder.build();
}

private static MethodDefinition createLroCallableMethod(
Expand Down Expand Up @@ -1537,4 +1553,9 @@ private static String getCallableName(CallableMethodKind kind, String rawMethodN
}
return String.format(CALLABLE_NAME_PATTERN, rawMethodName);
}

private static boolean isProtoEmptyType(TypeNode type) {
return type.reference().pakkage().equals("com.google.protobuf")
&& type.reference().name().equals("Empty");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -650,11 +650,17 @@ private static MethodDefinition createRpcTestMethod(
.setReturnType(rpcJavaMethodInvocationExpr.type())
.build();
}
methodExprs.add(
AssignmentExpr.builder()
.setVariableExpr(actualResponseVarExpr.toBuilder().setIsDecl(true).build())
.setValueExpr(rpcJavaMethodInvocationExpr)
.build());

boolean returnsVoid = isProtoEmptyType(methodOutputType);
if (returnsVoid) {
methodExprs.add(rpcJavaMethodInvocationExpr);
} else {
methodExprs.add(
AssignmentExpr.builder()
.setVariableExpr(actualResponseVarExpr.toBuilder().setIsDecl(true).build())
.setValueExpr(rpcJavaMethodInvocationExpr)
.build());
}

if (method.isPaged()) {
// Assign the resources variable.
Expand Down Expand Up @@ -747,7 +753,7 @@ private static MethodDefinition createRpcTestMethod(
.setMethodName("assertEquals")
.setArguments(expectedPagedResponseExpr, actualPagedResponseExpr)
.build());
} else {
} else if (!returnsVoid) {
methodExprs.add(
MethodInvocationExpr.builder()
.setStaticReferenceType(STATIC_TYPES.get("Assert"))
Expand Down Expand Up @@ -1898,4 +1904,9 @@ private static String getServiceSettingsClassName(String serviceName) {
private static String getMockServiceVarName(String serviceName) {
return String.format(MOCK_SERVICE_VAR_NAME_PATTERN, serviceName);
}

private static boolean isProtoEmptyType(TypeNode type) {
return type.reference().pakkage().equals("com.google.protobuf")
&& type.reference().name().equals("Empty");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -257,12 +257,12 @@ public class IdentityClient implements BackgroundResource {
* @param name
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteUser(UserName name) {
public final void deleteUser(UserName name) {
DeleteUserRequest request =
DeleteUserRequest.newBuilder()
.setName(Objects.isNull(name) ? null : name.toString())
.build();
return deleteUser(request);
deleteUser(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand All @@ -272,9 +272,9 @@ public class IdentityClient implements BackgroundResource {
* @param name
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteUser(String name) {
public final void deleteUser(String name) {
DeleteUserRequest request = DeleteUserRequest.newBuilder().setName(name).build();
return deleteUser(request);
deleteUser(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand All @@ -284,8 +284,8 @@ public class IdentityClient implements BackgroundResource {
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteUser(DeleteUserRequest request) {
return deleteUserCallable().call(request);
public final void deleteUser(DeleteUserRequest request) {
deleteUserCallable().call(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,7 @@ public class LoggingServiceV2ClientTest {

LogName logName = LogName.ofProjectLogName("[PROJECT]", "[LOG]");

Empty actualResponse = client.deleteLog(logName);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteLog(logName);

List<AbstractMessage> actualRequests = mockLoggingServiceV2.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -116,8 +115,7 @@ public class LoggingServiceV2ClientTest {

String logName = "log_name2013526694";

Empty actualResponse = client.deleteLog(logName);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteLog(logName);

List<AbstractMessage> actualRequests = mockLoggingServiceV2.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -557,8 +557,7 @@ public class SubscriberClientTest {

SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");

Empty actualResponse = client.deleteSubscription(subscription);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteSubscription(subscription);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -592,8 +591,7 @@ public class SubscriberClientTest {

String subscription = "subscription341203229";

Empty actualResponse = client.deleteSubscription(subscription);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteSubscription(subscription);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -629,8 +627,7 @@ public class SubscriberClientTest {
List<String> ackIds = new ArrayList<>();
int ackDeadlineSeconds = 2135351438;

Empty actualResponse = client.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
Assert.assertEquals(expectedResponse, actualResponse);
client.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -670,8 +667,7 @@ public class SubscriberClientTest {
List<String> ackIds = new ArrayList<>();
int ackDeadlineSeconds = 2135351438;

Empty actualResponse = client.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
Assert.assertEquals(expectedResponse, actualResponse);
client.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -710,8 +706,7 @@ public class SubscriberClientTest {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
List<String> ackIds = new ArrayList<>();

Empty actualResponse = client.acknowledge(subscription, ackIds);
Assert.assertEquals(expectedResponse, actualResponse);
client.acknowledge(subscription, ackIds);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -748,8 +743,7 @@ public class SubscriberClientTest {
String subscription = "subscription341203229";
List<String> ackIds = new ArrayList<>();

Empty actualResponse = client.acknowledge(subscription, ackIds);
Assert.assertEquals(expectedResponse, actualResponse);
client.acknowledge(subscription, ackIds);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -939,8 +933,7 @@ public class SubscriberClientTest {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = PushConfig.newBuilder().build();

Empty actualResponse = client.modifyPushConfig(subscription, pushConfig);
Assert.assertEquals(expectedResponse, actualResponse);
client.modifyPushConfig(subscription, pushConfig);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -977,8 +970,7 @@ public class SubscriberClientTest {
String subscription = "subscription341203229";
PushConfig pushConfig = PushConfig.newBuilder().build();

Empty actualResponse = client.modifyPushConfig(subscription, pushConfig);
Assert.assertEquals(expectedResponse, actualResponse);
client.modifyPushConfig(subscription, pushConfig);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -1397,8 +1389,7 @@ public class SubscriberClientTest {

SnapshotName snapshot = SnapshotName.of("[PROJECT]", "[SNAPSHOT]");

Empty actualResponse = client.deleteSnapshot(snapshot);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteSnapshot(snapshot);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -1432,8 +1423,7 @@ public class SubscriberClientTest {

String snapshot = "snapshot284874180";

Empty actualResponse = client.deleteSnapshot(snapshot);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteSnapshot(snapshot);

List<AbstractMessage> actualRequests = mockSubscriber.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,7 @@ public class TestingClientTest {
DeleteSessionRequest request =
DeleteSessionRequest.newBuilder().setName(SessionName.of("[SESSION]").toString()).build();

Empty actualResponse = client.deleteSession(request);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteSession(request);

List<AbstractMessage> actualRequests = mockTesting.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -425,8 +424,7 @@ public class TestingClientTest {
.setName(TestName.of("[SESSION]", "[SHARD_ID]", "[TEST_ID]").toString())
.build();

Empty actualResponse = client.deleteTest(request);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteTest(request);

List<AbstractMessage> actualRequests = mockTesting.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down
12 changes: 6 additions & 6 deletions test/integration/goldens/asset/AssetServiceClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -429,12 +429,12 @@ public final UnaryCallable<UpdateFeedRequest, Feed> updateFeedCallable() {
* organizations/organization_number/feeds/feed_id
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteFeed(FeedName name) {
public final void deleteFeed(FeedName name) {
DeleteFeedRequest request =
DeleteFeedRequest.newBuilder()
.setName(Objects.isNull(name) ? null : name.toString())
.build();
return deleteFeed(request);
deleteFeed(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand All @@ -448,9 +448,9 @@ public final Empty deleteFeed(FeedName name) {
* organizations/organization_number/feeds/feed_id
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteFeed(String name) {
public final void deleteFeed(String name) {
DeleteFeedRequest request = DeleteFeedRequest.newBuilder().setName(name).build();
return deleteFeed(request);
deleteFeed(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand All @@ -462,8 +462,8 @@ public final Empty deleteFeed(String name) {
* @param request The request object containing all of the parameters for the API call.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final Empty deleteFeed(DeleteFeedRequest request) {
return deleteFeedCallable().call(request);
public final void deleteFeed(DeleteFeedRequest request) {
deleteFeedCallable().call(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
Expand Down
6 changes: 2 additions & 4 deletions test/integration/goldens/asset/AssetServiceClientTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -414,8 +414,7 @@ public void deleteFeedTest() throws Exception {

FeedName name = FeedName.ofProjectFeedName("[PROJECT]", "[FEED]");

Empty actualResponse = client.deleteFeed(name);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteFeed(name);

List<AbstractMessage> actualRequests = mockAssetService.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down Expand Up @@ -449,8 +448,7 @@ public void deleteFeedTest2() throws Exception {

String name = "name3373707";

Empty actualResponse = client.deleteFeed(name);
Assert.assertEquals(expectedResponse, actualResponse);
client.deleteFeed(name);

List<AbstractMessage> actualRequests = mockAssetService.getRequests();
Assert.assertEquals(1, actualRequests.size());
Expand Down
Loading