diff --git a/src/main/java/com/google/api/generator/spring/SpringWriter.java b/src/main/java/com/google/api/generator/spring/SpringWriter.java
index 3949012f27..32f64df80a 100644
--- a/src/main/java/com/google/api/generator/spring/SpringWriter.java
+++ b/src/main/java/com/google/api/generator/spring/SpringWriter.java
@@ -246,7 +246,7 @@ static String buildPomString(GapicContext context) {
+ "\n"
+ " \n"
+ " com.google.cloud\n"
- + " spring-cloud-gcp-core\n"
+ + " spring-cloud-gcp-autoconfigure\n"
+ " \n"
+ "\n"
+ "\n"
diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringAutoConfigClassComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringAutoConfigClassComposer.java
index 6f89728788..6ec422a5e9 100644
--- a/src/main/java/com/google/api/generator/spring/composer/SpringAutoConfigClassComposer.java
+++ b/src/main/java/com/google/api/generator/spring/composer/SpringAutoConfigClassComposer.java
@@ -22,7 +22,6 @@
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.api.generator.engine.ast.AnnotationNode;
import com.google.api.generator.engine.ast.ArithmeticOperationExpr;
-import com.google.api.generator.engine.ast.ArrayExpr;
import com.google.api.generator.engine.ast.AssignmentExpr;
import com.google.api.generator.engine.ast.CastExpr;
import com.google.api.generator.engine.ast.ClassDefinition;
@@ -36,7 +35,6 @@
import com.google.api.generator.engine.ast.NewObjectExpr;
import com.google.api.generator.engine.ast.PrimitiveValue;
import com.google.api.generator.engine.ast.RelationalOperationExpr;
-import com.google.api.generator.engine.ast.ReturnExpr;
import com.google.api.generator.engine.ast.ScopeNode;
import com.google.api.generator.engine.ast.Statement;
import com.google.api.generator.engine.ast.StringObjectValue;
@@ -55,7 +53,7 @@
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.model.Transport;
import com.google.api.generator.spring.composer.comment.SpringAutoconfigCommentComposer;
-import com.google.api.generator.spring.utils.GlobalPropertiesUtils;
+import com.google.api.generator.spring.utils.ComposerUtils;
import com.google.api.generator.spring.utils.LoggerUtils;
import com.google.api.generator.spring.utils.Utils;
import com.google.cloud.spring.core.Credentials;
@@ -123,13 +121,10 @@ public GapicClass generate(GapicContext context, Service service) {
.setMethods(
Arrays.asList(
createConstructor(service, className, dynamicTypes, thisExpr),
- createCredentialsProviderBeanMethod(
- service, className, credentialsProviderName, dynamicTypes, thisExpr),
createTransportChannelProviderBeanMethod(
transportChannelProviderName, dynamicTypes),
createSettingsBeanMethod(
service,
- credentialsProviderName,
transportChannelProviderName,
dynamicTypes,
gapicServiceConfig,
@@ -150,29 +145,22 @@ private static List createMemberVariables(
Map types,
GapicServiceConfig serviceConfig) {
- String serviceName = service.name();
-
// private final LanguageProperties clientProperties;
- Variable clientPropertiesVar =
- Variable.builder()
- .setName("clientProperties")
- .setType(types.get(Utils.getServicePropertiesClassName(service)))
- .build();
- VariableExpr clientPropertiesVarExpr =
- VariableExpr.builder()
- .setVariable(clientPropertiesVar)
- .setScope(ScopeNode.PRIVATE)
- .setIsFinal(true)
- .setIsDecl(true)
- .build();
- ExprStatement clientPropertiesStatement = ExprStatement.withExpr(clientPropertiesVarExpr);
+ ExprStatement clientPropertiesStatement =
+ ComposerUtils.createMemberVarStatement(
+ "clientProperties",
+ types.get(Utils.getServicePropertiesClassName(service)),
+ true,
+ null,
+ null);
+ Statement credentialProvider =
+ ComposerUtils.createMemberVarStatement(
+ "credentialsProvider", STATIC_TYPES.get("CredentialsProvider"), true, null, null);
Statement loggerStatement =
LoggerUtils.getLoggerDeclarationExpr(
Utils.getServiceAutoConfigurationClassName(service), types);
- Statement globalPropertiesStatement =
- GlobalPropertiesUtils.getGlobalPropertiesDeclaration(types);
- return Arrays.asList(clientPropertiesStatement, globalPropertiesStatement, loggerStatement);
+ return Arrays.asList(clientPropertiesStatement, credentialProvider, loggerStatement);
}
private static MethodDefinition createConstructor(
@@ -183,58 +171,92 @@ private static MethodDefinition createConstructor(
.setName("clientProperties")
.setType(types.get(Utils.getServicePropertiesClassName(service)))
.build());
- VariableExpr globalPropertiesVarExpr =
+ VariableExpr credentialsProviderVarExpr =
VariableExpr.withVariable(
Variable.builder()
- .setName("globalProperties")
- .setType(types.get("GlobalProperties"))
+ .setName("credentialsProvider")
+ .setType(STATIC_TYPES.get("CredentialsProvider"))
.build());
- Variable clientPropertiesVar =
- Variable.builder()
- .setName("clientProperties")
- .setType(types.get(Utils.getServicePropertiesClassName(service)))
- .build();
- Variable globalPropertiesVar =
- Variable.builder()
- .setName("globalProperties")
- .setType(types.get("GlobalProperties"))
- .build();
// this.clientProperties = clientProperties;
AssignmentExpr thisClientPropertiesAssignmentExpr =
AssignmentExpr.builder()
.setVariableExpr(
- VariableExpr.withVariable(clientPropertiesVar)
- .toBuilder()
- .setExprReferenceExpr(thisExpr)
- .build())
+ clientPropertiesVarExpr.toBuilder().setExprReferenceExpr(thisExpr).build())
.setValueExpr(clientPropertiesVarExpr)
.build();
ExprStatement thisClientPropertiesAssignmentStatement =
ExprStatement.withExpr(thisClientPropertiesAssignmentExpr);
- AssignmentExpr thisGlobalPropertiesAssignmentExpr =
+ // if (this.clientProperties.getCredentials().hasKey()) {
+ // this.credentialsProvider = new DefaultCredentialsProvider(this.clientProperties);
+ // } else {
+ // this.credentialsProvider = credentialsProvider;
+ // }
+ VariableExpr thisClientProperties =
+ clientPropertiesVarExpr.toBuilder().setExprReferenceExpr(thisExpr).build();
+ AssignmentExpr.Builder thisCredentialsProviderAssignmentExprBuilder =
AssignmentExpr.builder()
.setVariableExpr(
- VariableExpr.withVariable(globalPropertiesVar)
- .toBuilder()
- .setExprReferenceExpr(thisExpr)
+ credentialsProviderVarExpr.toBuilder().setExprReferenceExpr(thisExpr).build());
+ ExprStatement thisCredentialsProviderToGlobalAssignmentStatement =
+ ExprStatement.withExpr(
+ thisCredentialsProviderAssignmentExprBuilder
+ .setValueExpr(credentialsProviderVarExpr)
+ .build());
+
+ CastExpr newCredentialsProviderExpr =
+ CastExpr.builder()
+ .setExpr(
+ NewObjectExpr.builder()
+ .setType(STATIC_TYPES.get("DefaultCredentialsProvider"))
+ .setArguments(thisClientProperties)
.build())
- .setValueExpr(globalPropertiesVarExpr)
+ .setType(STATIC_TYPES.get("CredentialsProvider"))
.build();
- ExprStatement thisGlobalPropertiesAssignmentStatement =
- ExprStatement.withExpr(thisGlobalPropertiesAssignmentExpr);
+ ExprStatement thisCredentialsProviderAssignmentExprNewStatement =
+ ExprStatement.withExpr(
+ thisCredentialsProviderAssignmentExprBuilder
+ .setValueExpr(newCredentialsProviderExpr)
+ .build());
+
+ Expr clientPropertiesGetCredentials =
+ MethodInvocationExpr.builder()
+ .setExprReferenceExpr(thisClientProperties)
+ .setMethodName("getCredentials")
+ .setReturnType(STATIC_TYPES.get("Credentials"))
+ .build();
+ Expr clientPropertiesCredentialsHasKey =
+ MethodInvocationExpr.builder()
+ .setExprReferenceExpr(clientPropertiesGetCredentials)
+ .setMethodName("hasKey")
+ .setReturnType(TypeNode.BOOLEAN)
+ .build();
+
+ Statement logClientCredentials =
+ LoggerUtils.createLoggerStatement(
+ ValueExpr.withValue(
+ StringObjectValue.withValue(
+ "Using credentials from " + service.name() + "-specific configuration")),
+ types);
+ IfStatement thisCredentialsProviderAssignmentStatement =
+ createIfStatement(
+ clientPropertiesCredentialsHasKey,
+ Arrays.asList(logClientCredentials, thisCredentialsProviderAssignmentExprNewStatement),
+ Arrays.asList(thisCredentialsProviderToGlobalAssignmentStatement));
return MethodDefinition.constructorBuilder()
.setScope(ScopeNode.PROTECTED)
+ .setThrowsExceptions(Arrays.asList(TypeNode.withExceptionClazz(IOException.class)))
.setReturnType(types.get(className))
.setArguments(
Arrays.asList(
clientPropertiesVarExpr.toBuilder().setIsDecl(true).build(),
- globalPropertiesVarExpr.toBuilder().setIsDecl(true).build()))
+ credentialsProviderVarExpr.toBuilder().setIsDecl(true).build()))
.setBody(
Arrays.asList(
- thisClientPropertiesAssignmentStatement, thisGlobalPropertiesAssignmentStatement))
+ thisClientPropertiesAssignmentStatement,
+ thisCredentialsProviderAssignmentStatement))
.build();
}
@@ -289,27 +311,10 @@ private static List createClassAnnotations(
AnnotationNode.builder()
.setType(STATIC_TYPES.get("EnableConfigurationProperties"))
.setDescription(
- ArrayExpr.builder()
- .setType(TypeNode.createArrayTypeOf(TypeNode.CLASS_OBJECT))
- .addExpr(
- VariableExpr.builder()
- .setVariable(
- Variable.builder()
- .setType(TypeNode.CLASS_OBJECT)
- .setName("class")
- .build())
- .setStaticReferenceType(
- types.get(Utils.getServicePropertiesClassName(service)))
- .build())
- .addExpr(
- VariableExpr.builder()
- .setVariable(
- Variable.builder()
- .setType(TypeNode.CLASS_OBJECT)
- .setName("class")
- .build())
- .setStaticReferenceType(types.get("GlobalProperties"))
- .build())
+ VariableExpr.builder()
+ .setVariable(
+ Variable.builder().setType(TypeNode.CLASS_OBJECT).setName("class").build())
+ .setStaticReferenceType(types.get(Utils.getServicePropertiesClassName(service)))
.build())
.build();
@@ -320,107 +325,6 @@ private static List createClassAnnotations(
enableConfigurationPropertiesNode);
}
- private static MethodDefinition createCredentialsProviderBeanMethod(
- Service service,
- String className,
- String methodName,
- Map types,
- Expr thisExpr) {
- // @Bean
- // @ConditionalOnMissingBean(name = "[serviceName]ServiceCredentials")
- // public CredentialsProvider languageServiceCredentials() throws IOException {
- // if (this.clientProperties.getCredentials().hasKey()) {
- // return new DefaultCredentialsProvider(this.clientProperties);
- // }
- // return new DefaultCredentialsProvider(this.globalProperties);
- // }
- List bodyStatements = new ArrayList<>();
- Variable globalPropertiesVar =
- Variable.builder()
- .setName("globalProperties")
- .setType(types.get("GlobalProperties"))
- .build();
- Variable clientPropertiesVar =
- Variable.builder()
- .setName("clientProperties")
- .setType(types.get(Utils.getServicePropertiesClassName(service)))
- .build();
-
- VariableExpr thisClientProperties =
- VariableExpr.withVariable(clientPropertiesVar)
- .toBuilder()
- .setExprReferenceExpr(thisExpr)
- .build();
- VariableExpr thisGlobalProperties =
- VariableExpr.withVariable(globalPropertiesVar)
- .toBuilder()
- .setExprReferenceExpr(thisExpr)
- .build();
- CastExpr clientCastExpr =
- CastExpr.builder()
- .setExpr(
- NewObjectExpr.builder()
- .setType(STATIC_TYPES.get("DefaultCredentialsProvider"))
- .setArguments(thisClientProperties)
- .build())
- .setType(STATIC_TYPES.get("CredentialsProvider"))
- .build();
- CastExpr globalCredentialsCastExpr =
- CastExpr.builder()
- .setExpr(
- NewObjectExpr.builder()
- .setType(STATIC_TYPES.get("DefaultCredentialsProvider"))
- .setArguments(thisGlobalProperties)
- .build())
- .setType(STATIC_TYPES.get("CredentialsProvider"))
- .build();
- ExprStatement clientCredentialsReturnExpr =
- ExprStatement.withExpr(ReturnExpr.withExpr(clientCastExpr));
- Expr clientPropertiesGetCredentials =
- MethodInvocationExpr.builder()
- .setExprReferenceExpr(thisClientProperties)
- .setMethodName("getCredentials")
- .setReturnType(STATIC_TYPES.get("Credentials"))
- .build();
- Expr clientPropertiesCredentialsHasKey =
- MethodInvocationExpr.builder()
- .setExprReferenceExpr(clientPropertiesGetCredentials)
- .setMethodName("hasKey")
- .setReturnType(TypeNode.BOOLEAN)
- .build();
- Statement logClientCredentials =
- LoggerUtils.createLoggerStatement(
- ValueExpr.withValue(
- StringObjectValue.withValue(
- "Using credentials from " + service.name() + "-specific configuration")),
- types);
- IfStatement clientCredentialsIfStatement =
- createIfStatement(
- clientPropertiesCredentialsHasKey,
- Arrays.asList(logClientCredentials, clientCredentialsReturnExpr),
- null);
- bodyStatements.add(clientCredentialsIfStatement);
- bodyStatements.add(
- LoggerUtils.createLoggerStatement(
- ValueExpr.withValue(
- StringObjectValue.withValue("Using credentials from global configuration")),
- types));
- return MethodDefinition.builder()
- .setName(methodName)
- .setHeaderCommentStatements(
- SpringAutoconfigCommentComposer.createCredentialsProviderBeanComment())
- .setScope(ScopeNode.PUBLIC)
- .setReturnType(STATIC_TYPES.get("CredentialsProvider"))
- .setAnnotations(
- Arrays.asList(
- AnnotationNode.withType(STATIC_TYPES.get("Bean")),
- AnnotationNode.withType(STATIC_TYPES.get("ConditionalOnMissingBean"))))
- .setThrowsExceptions(Arrays.asList(TypeNode.withExceptionClazz(IOException.class)))
- .setBody(bodyStatements)
- .setReturnExpr(globalCredentialsCastExpr)
- .build();
- }
-
private static MethodDefinition createTransportChannelProviderBeanMethod(
String methodName, Map types) {
@@ -534,7 +438,6 @@ private static Statement setRetrySettingsForMethod(
private static MethodDefinition createSettingsBeanMethod(
Service service,
- String credentialsProviderName,
String transportChannelProviderName,
Map types,
GapicServiceConfig gapicServiceConfig,
@@ -575,11 +478,20 @@ private static MethodDefinition createSettingsBeanMethod(
.setMethodName("newBuilder")
.build();
+ VariableExpr thisCredentialsProvider =
+ VariableExpr.withVariable(
+ Variable.builder()
+ .setName("credentialsProvider")
+ .setType(STATIC_TYPES.get("CredentialsProvider"))
+ .build())
+ .toBuilder()
+ .setExprReferenceExpr(thisExpr)
+ .build();
settingsBuilderExpr =
MethodInvocationExpr.builder()
.setExprReferenceExpr(settingsBuilderExpr)
.setMethodName("setCredentialsProvider")
- .setArguments(credentialsProviderVariableExpr)
+ .setArguments(thisCredentialsProvider)
.build();
// .setTransportChannelProvider(defaultTransportChannelProvider)
settingsBuilderExpr =
@@ -858,16 +770,6 @@ private static MethodDefinition createSettingsBeanMethod(
.build();
List argumentsVariableExprs =
Arrays.asList(
- credentialsProviderVariableExpr
- .toBuilder()
- .setIsDecl(true)
- .setAnnotations(
- Arrays.asList(
- AnnotationNode.builder()
- .setType(STATIC_TYPES.get("Qualifier"))
- .setDescription(credentialsProviderName)
- .build()))
- .build(),
transportChannelProviderVariableExpr
.toBuilder()
.setIsDecl(true)
@@ -1082,7 +984,6 @@ private static Map createDynamicTypes(Service service, String
typeMap.put("ServiceClient", serviceClient);
typeMap.put("ServiceSettings", serviceSettings);
typeMap.put("ServiceSettingsBuilder", serviceSettingsBuilder);
- typeMap.put("GlobalProperties", GlobalPropertiesUtils.getGlobalPropertiesType());
return typeMap;
}
diff --git a/src/main/java/com/google/api/generator/spring/composer/SpringPropertiesClassComposer.java b/src/main/java/com/google/api/generator/spring/composer/SpringPropertiesClassComposer.java
index ea072bc9e1..679a0e16d9 100644
--- a/src/main/java/com/google/api/generator/spring/composer/SpringPropertiesClassComposer.java
+++ b/src/main/java/com/google/api/generator/spring/composer/SpringPropertiesClassComposer.java
@@ -43,6 +43,7 @@
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.model.Transport;
import com.google.api.generator.spring.composer.comment.SpringPropertiesCommentComposer;
+import com.google.api.generator.spring.utils.ComposerUtils;
import com.google.api.generator.spring.utils.Utils;
import com.google.cloud.spring.core.Credentials;
import com.google.cloud.spring.core.CredentialsSupplier;
@@ -106,35 +107,6 @@ public GapicClass generate(GapicContext context, Service service) {
// return null;
}
- private static ExprStatement createMemberVarStatement(
- String varName,
- TypeNode varType,
- boolean isFinal,
- Expr defaultVal,
- List annotationNodes) {
- Variable memberVar = Variable.builder().setName(varName).setType(varType).build();
- VariableExpr memberVarExpr =
- VariableExpr.builder()
- .setVariable(memberVar)
- .setScope(ScopeNode.PRIVATE)
- .setAnnotations(annotationNodes == null ? Collections.emptyList() : annotationNodes)
- .setIsDecl(true)
- .setIsFinal(isFinal)
- .build();
-
- if (defaultVal == null) {
- return ExprStatement.withExpr(memberVarExpr);
- }
- AssignmentExpr assignmentExpr =
- AssignmentExpr.builder()
- .setVariableExpr(memberVarExpr.toBuilder().setIsDecl(true).build())
- .setValueExpr(defaultVal)
- .build();
- ExprStatement memberVarStatement = ExprStatement.withExpr(assignmentExpr);
-
- return memberVarStatement;
- }
-
private static List createMemberVariables(
Service service,
String packageName,
@@ -161,7 +133,7 @@ private static List createMemberVariables(
List credentialsAnnotations =
Arrays.asList(AnnotationNode.withType(STATIC_TYPES.get("NestedConfigurationProperty")));
ExprStatement credentialsStatement =
- createMemberVarStatement(
+ ComposerUtils.createMemberVarStatement(
"credentials",
STATIC_TYPES.get("Credentials"),
true,
@@ -170,15 +142,17 @@ private static List createMemberVariables(
statements.add(credentialsStatement);
// private String quotaProjectId;
ExprStatement quotaProjectIdVarStatement =
- createMemberVarStatement("quotaProjectId", TypeNode.STRING, false, null, null);
+ ComposerUtils.createMemberVarStatement(
+ "quotaProjectId", TypeNode.STRING, false, null, null);
statements.add(quotaProjectIdVarStatement);
// private Integer executorThreadCount;
ExprStatement executorThreadCountVarStatement =
- createMemberVarStatement("executorThreadCount", TypeNode.INT_OBJECT, false, null, null);
+ ComposerUtils.createMemberVarStatement(
+ "executorThreadCount", TypeNode.INT_OBJECT, false, null, null);
statements.add(executorThreadCountVarStatement);
if (hasRestOption) {
ExprStatement useRestVarStatement =
- createMemberVarStatement(
+ ComposerUtils.createMemberVarStatement(
"useRest",
TypeNode.BOOLEAN,
false,
@@ -207,7 +181,8 @@ private static List createMemberVariables(
}
String propertyName = Joiner.on("").join(methodAndPropertyName);
ExprStatement retrySettingsStatement =
- createMemberVarStatement(propertyName, propertyType, false, null, null);
+ ComposerUtils.createMemberVarStatement(
+ propertyName, propertyType, false, null, null);
getterAndSetter.add(retrySettingsStatement);
return getterAndSetter;
},
diff --git a/src/main/java/com/google/api/generator/spring/utils/ComposerUtils.java b/src/main/java/com/google/api/generator/spring/utils/ComposerUtils.java
new file mode 100644
index 0000000000..bf0fb07f55
--- /dev/null
+++ b/src/main/java/com/google/api/generator/spring/utils/ComposerUtils.java
@@ -0,0 +1,57 @@
+// Copyright 2022 Google LLC
+//
+// Licensed 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 com.google.api.generator.spring.utils;
+
+import com.google.api.generator.engine.ast.AnnotationNode;
+import com.google.api.generator.engine.ast.AssignmentExpr;
+import com.google.api.generator.engine.ast.Expr;
+import com.google.api.generator.engine.ast.ExprStatement;
+import com.google.api.generator.engine.ast.ScopeNode;
+import com.google.api.generator.engine.ast.TypeNode;
+import com.google.api.generator.engine.ast.Variable;
+import com.google.api.generator.engine.ast.VariableExpr;
+import java.util.Collections;
+import java.util.List;
+
+public class ComposerUtils {
+
+ public static ExprStatement createMemberVarStatement(
+ String varName,
+ TypeNode varType,
+ boolean isFinal,
+ Expr defaultVal,
+ List annotationNodes) {
+ Variable memberVar = Variable.builder().setName(varName).setType(varType).build();
+ VariableExpr memberVarExpr =
+ VariableExpr.builder()
+ .setVariable(memberVar)
+ .setScope(ScopeNode.PRIVATE)
+ .setAnnotations(annotationNodes == null ? Collections.emptyList() : annotationNodes)
+ .setIsDecl(true)
+ .setIsFinal(isFinal)
+ .build();
+
+ if (defaultVal == null) {
+ return ExprStatement.withExpr(memberVarExpr);
+ }
+ AssignmentExpr assignmentExpr =
+ AssignmentExpr.builder()
+ .setVariableExpr(memberVarExpr.toBuilder().setIsDecl(true).build())
+ .setValueExpr(defaultVal)
+ .build();
+
+ return ExprStatement.withExpr(assignmentExpr);
+ }
+}
diff --git a/src/main/java/com/google/api/generator/spring/utils/GlobalPropertiesUtils.java b/src/main/java/com/google/api/generator/spring/utils/GlobalPropertiesUtils.java
deleted file mode 100644
index 7ddde96bed..0000000000
--- a/src/main/java/com/google/api/generator/spring/utils/GlobalPropertiesUtils.java
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed 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 com.google.api.generator.spring.utils;
-
-import com.google.api.generator.engine.ast.ExprStatement;
-import com.google.api.generator.engine.ast.ScopeNode;
-import com.google.api.generator.engine.ast.Statement;
-import com.google.api.generator.engine.ast.TypeNode;
-import com.google.api.generator.engine.ast.VaporReference;
-import com.google.api.generator.engine.ast.Variable;
-import com.google.api.generator.engine.ast.VariableExpr;
-import java.util.Map;
-
-public class GlobalPropertiesUtils {
- public static final String GLOBAL_PROPERTIES_CLAZZ_NAME = "GlobalProperties";
- public static final String GLOBAL_PROPERTIES_PAKKAGE_NAME = "com.google.cloud.spring.global";
-
- public static TypeNode getGlobalPropertiesType() {
- TypeNode loggerType =
- TypeNode.withReference(
- VaporReference.builder()
- .setName(GLOBAL_PROPERTIES_CLAZZ_NAME)
- .setPakkage(GLOBAL_PROPERTIES_PAKKAGE_NAME)
- .build());
- return loggerType;
- }
-
- public static Statement getGlobalPropertiesDeclaration(Map types) {
- Variable globalPropertiesVar =
- Variable.builder()
- .setName("globalProperties")
- .setType(types.get("GlobalProperties"))
- .build();
- return ExprStatement.withExpr(
- VariableExpr.builder()
- .setVariable(globalPropertiesVar)
- .setScope(ScopeNode.PRIVATE)
- .setIsStatic(false)
- .setIsFinal(true)
- .setIsDecl(true)
- .build());
- }
-}
diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationFull.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationFull.golden
index 5f0dc4e559..140fa88fef 100644
--- a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationFull.golden
+++ b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationFull.golden
@@ -24,7 +24,6 @@ import com.google.api.gax.rpc.HeaderProvider;
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.cloud.spring.core.Credentials;
import com.google.cloud.spring.core.DefaultCredentialsProvider;
-import com.google.cloud.spring.global.GlobalProperties;
import com.google.showcase.v1beta1.EchoClient;
import com.google.showcase.v1beta1.EchoSettings;
import java.io.IOException;
@@ -62,35 +61,25 @@ import org.threeten.bp.Duration;
@ConditionalOnProperty(
value = "com.google.showcase.v1beta1.spring.auto.echo.enabled",
matchIfMissing = true)
-@EnableConfigurationProperties({EchoSpringProperties.class, GlobalProperties.class})
+@EnableConfigurationProperties(EchoSpringProperties.class)
public class EchoSpringAutoConfiguration {
private final EchoSpringProperties clientProperties;
- private final GlobalProperties globalProperties;
+ private final CredentialsProvider credentialsProvider;
private static final Log LOGGER = LogFactory.getLog(EchoSpringAutoConfiguration.class);
protected EchoSpringAutoConfiguration(
- EchoSpringProperties clientProperties, GlobalProperties globalProperties) {
+ EchoSpringProperties clientProperties, CredentialsProvider credentialsProvider)
+ throws IOException {
this.clientProperties = clientProperties;
- this.globalProperties = globalProperties;
- }
-
- /**
- * Obtains the default credentials provider. The used key will be obtained from Spring Boot
- * configuration data files.
- */
- @Bean
- @ConditionalOnMissingBean
- public CredentialsProvider echoCredentials() throws IOException {
if (this.clientProperties.getCredentials().hasKey()) {
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Using credentials from Echo-specific configuration");
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
- }
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("Using credentials from global configuration");
+ this.credentialsProvider =
+ ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
+ } else {
+ this.credentialsProvider = credentialsProvider;
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.globalProperties));
}
/**
@@ -116,13 +105,12 @@ public class EchoSpringAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public EchoSettings echoSettings(
- @Qualifier("echoCredentials") CredentialsProvider credentialsProvider,
@Qualifier("defaultEchoTransportChannelProvider")
TransportChannelProvider defaultTransportChannelProvider)
throws IOException {
EchoSettings.Builder clientSettingsBuilder =
EchoSettings.newBuilder()
- .setCredentialsProvider(credentialsProvider)
+ .setCredentialsProvider(this.credentialsProvider)
.setTransportChannelProvider(defaultTransportChannelProvider)
.setHeaderProvider(this.userAgentHeaderProvider());
if (this.clientProperties.getQuotaProjectId() != null) {
diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpc.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpc.golden
index 5b0a54395b..5d44db05f2 100644
--- a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpc.golden
+++ b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpc.golden
@@ -7,7 +7,6 @@ import com.google.api.gax.rpc.HeaderProvider;
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.cloud.spring.core.Credentials;
import com.google.cloud.spring.core.DefaultCredentialsProvider;
-import com.google.cloud.spring.global.GlobalProperties;
import com.google.showcase.v1beta1.EchoClient;
import com.google.showcase.v1beta1.EchoSettings;
import java.io.IOException;
@@ -42,35 +41,25 @@ import org.threeten.bp.Duration;
@ConditionalOnProperty(
value = "com.google.showcase.v1beta1.spring.auto.echo.enabled",
matchIfMissing = true)
-@EnableConfigurationProperties({EchoSpringProperties.class, GlobalProperties.class})
+@EnableConfigurationProperties(EchoSpringProperties.class)
public class EchoSpringAutoConfiguration {
private final EchoSpringProperties clientProperties;
- private final GlobalProperties globalProperties;
+ private final CredentialsProvider credentialsProvider;
private static final Log LOGGER = LogFactory.getLog(EchoSpringAutoConfiguration.class);
protected EchoSpringAutoConfiguration(
- EchoSpringProperties clientProperties, GlobalProperties globalProperties) {
+ EchoSpringProperties clientProperties, CredentialsProvider credentialsProvider)
+ throws IOException {
this.clientProperties = clientProperties;
- this.globalProperties = globalProperties;
- }
-
- /**
- * Obtains the default credentials provider. The used key will be obtained from Spring Boot
- * configuration data files.
- */
- @Bean
- @ConditionalOnMissingBean
- public CredentialsProvider echoCredentials() throws IOException {
if (this.clientProperties.getCredentials().hasKey()) {
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Using credentials from Echo-specific configuration");
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
- }
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("Using credentials from global configuration");
+ this.credentialsProvider =
+ ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
+ } else {
+ this.credentialsProvider = credentialsProvider;
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.globalProperties));
}
/**
@@ -96,13 +85,12 @@ public class EchoSpringAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public EchoSettings echoSettings(
- @Qualifier("echoCredentials") CredentialsProvider credentialsProvider,
@Qualifier("defaultEchoTransportChannelProvider")
TransportChannelProvider defaultTransportChannelProvider)
throws IOException {
EchoSettings.Builder clientSettingsBuilder =
EchoSettings.newBuilder()
- .setCredentialsProvider(credentialsProvider)
+ .setCredentialsProvider(this.credentialsProvider)
.setTransportChannelProvider(defaultTransportChannelProvider)
.setHeaderProvider(this.userAgentHeaderProvider());
if (this.clientProperties.getQuotaProjectId() != null) {
diff --git a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpcRest.golden b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpcRest.golden
index e432d7220e..55f0c76f5e 100644
--- a/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpcRest.golden
+++ b/src/test/java/com/google/api/generator/spring/composer/goldens/EchoSpringAutoConfigurationGrpcRest.golden
@@ -8,7 +8,6 @@ import com.google.api.gax.rpc.HeaderProvider;
import com.google.api.gax.rpc.TransportChannelProvider;
import com.google.cloud.spring.core.Credentials;
import com.google.cloud.spring.core.DefaultCredentialsProvider;
-import com.google.cloud.spring.global.GlobalProperties;
import com.google.showcase.v1beta1.EchoClient;
import com.google.showcase.v1beta1.EchoSettings;
import java.io.IOException;
@@ -43,35 +42,25 @@ import org.threeten.bp.Duration;
@ConditionalOnProperty(
value = "com.google.showcase.v1beta1.spring.auto.echo.enabled",
matchIfMissing = true)
-@EnableConfigurationProperties({EchoSpringProperties.class, GlobalProperties.class})
+@EnableConfigurationProperties(EchoSpringProperties.class)
public class EchoSpringAutoConfiguration {
private final EchoSpringProperties clientProperties;
- private final GlobalProperties globalProperties;
+ private final CredentialsProvider credentialsProvider;
private static final Log LOGGER = LogFactory.getLog(EchoSpringAutoConfiguration.class);
protected EchoSpringAutoConfiguration(
- EchoSpringProperties clientProperties, GlobalProperties globalProperties) {
+ EchoSpringProperties clientProperties, CredentialsProvider credentialsProvider)
+ throws IOException {
this.clientProperties = clientProperties;
- this.globalProperties = globalProperties;
- }
-
- /**
- * Obtains the default credentials provider. The used key will be obtained from Spring Boot
- * configuration data files.
- */
- @Bean
- @ConditionalOnMissingBean
- public CredentialsProvider echoCredentials() throws IOException {
if (this.clientProperties.getCredentials().hasKey()) {
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Using credentials from Echo-specific configuration");
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
- }
- if (LOGGER.isTraceEnabled()) {
- LOGGER.trace("Using credentials from global configuration");
+ this.credentialsProvider =
+ ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));
+ } else {
+ this.credentialsProvider = credentialsProvider;
}
- return ((CredentialsProvider) new DefaultCredentialsProvider(this.globalProperties));
}
/**
@@ -97,13 +86,12 @@ public class EchoSpringAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public EchoSettings echoSettings(
- @Qualifier("echoCredentials") CredentialsProvider credentialsProvider,
@Qualifier("defaultEchoTransportChannelProvider")
TransportChannelProvider defaultTransportChannelProvider)
throws IOException {
EchoSettings.Builder clientSettingsBuilder =
EchoSettings.newBuilder()
- .setCredentialsProvider(credentialsProvider)
+ .setCredentialsProvider(this.credentialsProvider)
.setTransportChannelProvider(defaultTransportChannelProvider)
.setHeaderProvider(this.userAgentHeaderProvider());
if (this.clientProperties.getQuotaProjectId() != null) {
diff --git a/src/test/java/com/google/api/generator/spring/goldens/SpringPackagePom.golden b/src/test/java/com/google/api/generator/spring/goldens/SpringPackagePom.golden
index 02e3b5b848..06756fce50 100644
--- a/src/test/java/com/google/api/generator/spring/goldens/SpringPackagePom.golden
+++ b/src/test/java/com/google/api/generator/spring/goldens/SpringPackagePom.golden
@@ -27,7 +27,7 @@
com.google.cloud
- spring-cloud-gcp-core
+ spring-cloud-gcp-autoconfigure