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 @@ -81,8 +81,13 @@ public static SpringAutoConfigClassComposer instance() {
public GapicClass generate(GapicContext context, Service service) {
String packageName = service.pakkage() + ".spring";
Map<String, TypeNode> types = createDynamicTypes(service, packageName);
String className = getThisClassName(service.name());
String serviceName = service.name();
String serviceNameLowerCamel = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, serviceName);
String className = getThisClassName(serviceName);
String libName = Utils.getLibName(context);
String credentialsProviderName = serviceNameLowerCamel + "Credentials";
String transportChannelProviderName = "default" + serviceName + "TransportChannelProvider";
String clientName = serviceNameLowerCamel + "Client";
GapicClass.Kind kind = Kind.MAIN;

GapicServiceConfig gapicServiceConfig = context.serviceConfig();
Expand All @@ -98,9 +103,18 @@ public GapicClass generate(GapicContext context, Service service) {
.setMethods(
Arrays.asList(
createConstructor(service.name(), className, types),
createCredentialsProviderBeanMethod(service, className, types),
createTransportChannelProviderBeanMethod(service, types),
createClientBeanMethod(service, className, types, gapicServiceConfig)))
createCredentialsProviderBeanMethod(
service, className, credentialsProviderName, types),
createTransportChannelProviderBeanMethod(
service, transportChannelProviderName, types),
createClientBeanMethod(
service,
className,
credentialsProviderName,
transportChannelProviderName,
clientName,
types,
gapicServiceConfig)))
.setAnnotations(createClassAnnotations(service, types, libName))
.build();
return GapicClass.create(kind, classDef);
Expand Down Expand Up @@ -286,10 +300,10 @@ private static List<AnnotationNode> createClassAnnotations(
}

private static MethodDefinition createCredentialsProviderBeanMethod(
Service service, String className, Map<String, TypeNode> types) {
Service service, String className, String methodName, Map<String, TypeNode> types) {
// @Bean
// @ConditionalOnMissingBean
// public CredentialsProvider googleCredentials() throws IOException {
// public CredentialsProvider languageServiceCredentials() throws IOException {
// return new DefaultCredentialsProvider(this.clientProperties);
// }

Expand All @@ -315,7 +329,6 @@ private static MethodDefinition createCredentialsProviderBeanMethod(
.setType(types.get("CredentialsProvider"))
.build();

String methodName = "googleCredentials";
return MethodDefinition.builder()
.setName(methodName)
.setScope(ScopeNode.PUBLIC)
Expand All @@ -330,7 +343,7 @@ private static MethodDefinition createCredentialsProviderBeanMethod(
}

private static MethodDefinition createTransportChannelProviderBeanMethod(
Service service, Map<String, TypeNode> types) {
Service service, String methodName, Map<String, TypeNode> types) {

// @Bean
// @ConditionalOnMissingBean
Expand All @@ -345,7 +358,6 @@ private static MethodDefinition createTransportChannelProviderBeanMethod(
.setReturnType(STATIC_TYPES.get("TransportChannelProvider"))
.build();

String methodName = "default" + service.name() + "TransportChannelProvider";
return MethodDefinition.builder()
.setName(methodName)
.setScope(ScopeNode.PUBLIC)
Expand Down Expand Up @@ -442,9 +454,11 @@ private static Statement setRetrySettingsForMethod(
private static MethodDefinition createClientBeanMethod(
Service service,
String className,
String credentialsProviderName,
String transportChannelProviderName,
String clientName,
Map<String, TypeNode> types,
GapicServiceConfig gapicServiceConfig) {

// argument variables:
VariableExpr credentialsProviderVariableExpr =
VariableExpr.withVariable(
Expand Down Expand Up @@ -735,14 +749,8 @@ private static MethodDefinition createClientBeanMethod(
.setArguments(serviceSettingsBuilt)
.build();

String methodName =
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, service.name()) + "Client";

String transportChannelProviderName = "default" + service.name() + "TransportChannelProvider";
String credentialsProviderName = "googleCredentials";

return MethodDefinition.builder()
.setName(methodName)
.setName(clientName)
.setScope(ScopeNode.PUBLIC)
.setReturnType(types.get("ServiceClient"))
.setArguments(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ public void generatePropertiesClazzTest() {
+ "\n"
+ " @Bean\n"
+ " @ConditionalOnMissingBean\n"
+ " public CredentialsProvider googleCredentials() throws IOException {\n"
+ " public CredentialsProvider echoCredentials() throws IOException {\n"
+ " return ((CredentialsProvider) new DefaultCredentialsProvider(this.clientProperties));\n"
+ " }\n"
+ "\n"
Expand All @@ -157,7 +157,7 @@ public void generatePropertiesClazzTest() {
+ " @Bean\n"
+ " @ConditionalOnMissingBean\n"
+ " public EchoClient echoClient(\n"
+ " @Qualifier(\"googleCredentials\") CredentialsProvider credentialsProvider,\n"
+ " @Qualifier(\"echoCredentials\") CredentialsProvider credentialsProvider,\n"
+ " @Qualifier(\"defaultEchoTransportChannelProvider\")\n"
+ " TransportChannelProvider defaultTransportChannelProvider)\n"
+ " throws IOException {\n"
Expand Down