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 016ac0fb4a..b9cf9f8712 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 @@ -81,8 +81,13 @@ public static SpringAutoConfigClassComposer instance() { public GapicClass generate(GapicContext context, Service service) { String packageName = service.pakkage() + ".spring"; Map 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(); @@ -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); @@ -286,10 +300,10 @@ private static List createClassAnnotations( } private static MethodDefinition createCredentialsProviderBeanMethod( - Service service, String className, Map types) { + Service service, String className, String methodName, Map types) { // @Bean // @ConditionalOnMissingBean - // public CredentialsProvider googleCredentials() throws IOException { + // public CredentialsProvider languageServiceCredentials() throws IOException { // return new DefaultCredentialsProvider(this.clientProperties); // } @@ -315,7 +329,6 @@ private static MethodDefinition createCredentialsProviderBeanMethod( .setType(types.get("CredentialsProvider")) .build(); - String methodName = "googleCredentials"; return MethodDefinition.builder() .setName(methodName) .setScope(ScopeNode.PUBLIC) @@ -330,7 +343,7 @@ private static MethodDefinition createCredentialsProviderBeanMethod( } private static MethodDefinition createTransportChannelProviderBeanMethod( - Service service, Map types) { + Service service, String methodName, Map types) { // @Bean // @ConditionalOnMissingBean @@ -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) @@ -442,9 +454,11 @@ private static Statement setRetrySettingsForMethod( private static MethodDefinition createClientBeanMethod( Service service, String className, + String credentialsProviderName, + String transportChannelProviderName, + String clientName, Map types, GapicServiceConfig gapicServiceConfig) { - // argument variables: VariableExpr credentialsProviderVariableExpr = VariableExpr.withVariable( @@ -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( diff --git a/src/test/java/com/google/api/generator/spring/SpringAutoConfigClassComposerTest.java b/src/test/java/com/google/api/generator/spring/SpringAutoConfigClassComposerTest.java index 2e2f6c5653..9217aab940 100644 --- a/src/test/java/com/google/api/generator/spring/SpringAutoConfigClassComposerTest.java +++ b/src/test/java/com/google/api/generator/spring/SpringAutoConfigClassComposerTest.java @@ -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" @@ -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"