Skip to content

Commit

Permalink
feat: Remove setting the default endpoint in StubSettings (#2348)
Browse files Browse the repository at this point in the history
* chore: Remove setting the default endpoint in StubSettings

* chore: Use NoCredentialsProvider for showcase in CI
  • Loading branch information
lqiu96 authored Jan 9, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 0ef2cce commit 97ae228
Showing 38 changed files with 690 additions and 54 deletions.
Original file line number Diff line number Diff line change
@@ -52,6 +52,9 @@ public class SettingsCommentComposer {
private static final String CLASS_HEADER_DEFAULTS_RETRIES_DESCRIPTION =
"Retries are configured for idempotent methods but not for non-idempotent methods.";

public static final CommentStatement GET_ENDPOINT_COMMENT =
toSimpleComment(
"Returns the endpoint set by the user or the the service's default endpoint.");
public static final CommentStatement DEFAULT_SCOPES_COMMENT =
toSimpleComment("The default scopes of the service.");

Original file line number Diff line number Diff line change
@@ -1007,6 +1007,7 @@ private List<MethodDefinition> createClassMethods(
javaMethods.addAll(
createMethodSettingsGetterMethods(methodSettingsMemberVarExprs, deprecatedSettingVarNames));
javaMethods.add(createCreateStubMethod(service, typeStore));
javaMethods.add(createGetEndpointMethod());
javaMethods.addAll(createDefaultHelperAndGetterMethods(service, typeStore));
javaMethods.addAll(
createNewBuilderMethods(
@@ -1020,6 +1021,45 @@ private List<MethodDefinition> createClassMethods(
return javaMethods;
}

// Helper method to create the getEndpoint method in the ServiceStubSettings class
private MethodDefinition createGetEndpointMethod() {
Expr getEndpointExpr =
MethodInvocationExpr.builder()
.setMethodName("getEndpoint")
.setExprReferenceExpr(
ValueExpr.withValue(
SuperObjectValue.withType(
TypeNode.withReference(ConcreteReference.withClazz(StubSettings.class)))))
.setReturnType(TypeNode.STRING)
.build();
Expr isNotNullCheck =
RelationalOperationExpr.notEqualToWithExprs(getEndpointExpr, ValueExpr.createNullExpr());

IfStatement ifStatement =
IfStatement.builder()
.setConditionExpr(isNotNullCheck)
.setBody(ImmutableList.of(ExprStatement.withExpr(ReturnExpr.withExpr(getEndpointExpr))))
.build();

Expr getDefaultEndpointExpr =
MethodInvocationExpr.builder()
.setMethodName("getDefaultEndpoint")
.setReturnType(TypeNode.STRING)
.build();
ReturnExpr returnExpr = ReturnExpr.withExpr(getDefaultEndpointExpr);

return MethodDefinition.builder()
.setHeaderCommentStatements(SettingsCommentComposer.GET_ENDPOINT_COMMENT)
.setScope(ScopeNode.PUBLIC)
.setIsStatic(false)
.setAnnotations(ImmutableList.of(AnnotationNode.OVERRIDE))
.setReturnType(TypeNode.STRING)
.setName("getEndpoint")
.setBody(ImmutableList.of(ifStatement))
.setReturnExpr(returnExpr)
.build();
}

private static List<MethodDefinition> createMethodSettingsGetterMethods(
Map<String, VariableExpr> methodSettingsMemberVarExprs,
final Set<String> deprecatedSettingVarNames) {
@@ -1465,6 +1505,7 @@ private List<MethodDefinition> createNestedClassMethods(
nestedClassMethods.addAll(
createNestedClassSettingsBuilderGetterMethods(
nestedMethodSettingsMemberVarExprs, nestedDeprecatedSettingVarNames));
nestedClassMethods.add(createGetEndpointMethod());
nestedClassMethods.add(createNestedClassBuildMethod(service, typeStore));
return nestedClassMethods;
}
@@ -1895,14 +1936,6 @@ protected MethodDefinition createNestedClassCreateDefaultMethod(
.setMethodName("build")
.build())
.build());

bodyExprs.add(
MethodInvocationExpr.builder()
.setExprReferenceExpr(builderVarExpr)
.setMethodName("setEndpoint")
.setArguments(
MethodInvocationExpr.builder().setMethodName("getDefaultEndpoint").build())
.build());
bodyExprs.add(
MethodInvocationExpr.builder()
.setExprReferenceExpr(builderVarExpr)
Original file line number Diff line number Diff line change
@@ -102,6 +102,15 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return InstantiatingExecutorProvider.newBuilder();
@@ -235,7 +244,6 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -286,6 +294,15 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
return slowFibonacciSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public DeprecatedServiceStubSettings build() throws IOException {
return new DeprecatedServiceStubSettings(this);
Original file line number Diff line number Diff line change
@@ -285,6 +285,15 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return InstantiatingExecutorProvider.newBuilder();
@@ -484,7 +493,6 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -630,6 +638,15 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
return collideNameSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public EchoStubSettings build() throws IOException {
return new EchoStubSettings(this);
Original file line number Diff line number Diff line change
@@ -422,6 +422,15 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns the default service name. */
@Override
public String getServiceName() {
@@ -626,7 +635,6 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -732,6 +740,15 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
return tailLogEntriesSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public LoggingServiceV2StubSettings build() throws IOException {
return new LoggingServiceV2StubSettings(this);
Original file line number Diff line number Diff line change
@@ -431,6 +431,15 @@ public class PublisherStubSettings extends StubSettings<PublisherStubSettings> {
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns the default service name. */
@Override
public String getServiceName() {
@@ -667,7 +676,6 @@ public class PublisherStubSettings extends StubSettings<PublisherStubSettings> {
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -804,6 +812,15 @@ public class PublisherStubSettings extends StubSettings<PublisherStubSettings> {
return detachSubscriptionSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public PublisherStubSettings build() throws IOException {
return new PublisherStubSettings(this);
Original file line number Diff line number Diff line change
@@ -301,6 +301,15 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return InstantiatingExecutorProvider.newBuilder();
@@ -512,7 +521,6 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -525,7 +533,6 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -691,6 +698,15 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
return updateCaseSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public EchoStubSettings build() throws IOException {
return new EchoStubSettings(this);
Original file line number Diff line number Diff line change
@@ -99,6 +99,15 @@ public class WickedStubSettings extends StubSettings<WickedStubSettings> {
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return InstantiatingExecutorProvider.newBuilder();
@@ -231,7 +240,6 @@ public class WickedStubSettings extends StubSettings<WickedStubSettings> {
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -277,6 +285,15 @@ public class WickedStubSettings extends StubSettings<WickedStubSettings> {
return persuadeEvilPlanSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public WickedStubSettings build() throws IOException {
return new WickedStubSettings(this);
Original file line number Diff line number Diff line change
@@ -131,6 +131,15 @@ public class ComplianceStubSettings extends StubSettings<ComplianceStubSettings>
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

/** Returns a builder for the default ExecutorProvider for this service. */
public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() {
return InstantiatingExecutorProvider.newBuilder();
@@ -302,7 +311,6 @@ public class ComplianceStubSettings extends StubSettings<ComplianceStubSettings>
builder.setTransportChannelProvider(defaultTransportChannelProvider());
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build());
builder.setEndpoint(getDefaultEndpoint());
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
builder.setSwitchToMtlsEndpointAllowed(true);

@@ -410,6 +418,15 @@ public class ComplianceStubSettings extends StubSettings<ComplianceStubSettings>
return verifyEnumSettings;
}

/** Returns the endpoint set by the user or the the service's default endpoint. */
@Override
public String getEndpoint() {
if (super.getEndpoint() != null) {
return super.getEndpoint();
}
return getDefaultEndpoint();
}

@Override
public ComplianceStubSettings build() throws IOException {
return new ComplianceStubSettings(this);
Original file line number Diff line number Diff line change
@@ -153,7 +153,7 @@ public final String getUniverseDomain() {
return universeDomain;
}

public final String getEndpoint() {
public String getEndpoint() {
return endpoint;
}

Loading

0 comments on commit 97ae228

Please sign in to comment.