public ConversationsSettings conversationsSettings()

in spring-cloud-previews/google-cloud-dialogflow-spring-starter/src/main/java/com/google/cloud/dialogflow/v2/spring/ConversationsSpringAutoConfiguration.java [122:426]


  public ConversationsSettings conversationsSettings(
      @Qualifier("defaultConversationsTransportChannelProvider")
          TransportChannelProvider defaultTransportChannelProvider)
      throws IOException {
    ConversationsSettings.Builder clientSettingsBuilder;
    if (this.clientProperties.getUseRest()) {
      clientSettingsBuilder = ConversationsSettings.newHttpJsonBuilder();
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Using REST (HTTP/JSON) transport.");
      }
    } else {
      clientSettingsBuilder = ConversationsSettings.newBuilder();
    }
    clientSettingsBuilder
        .setCredentialsProvider(this.credentialsProvider)
        .setTransportChannelProvider(defaultTransportChannelProvider)
        .setEndpoint(ConversationsSettings.getDefaultEndpoint())
        .setHeaderProvider(this.userAgentHeaderProvider());
    if (this.clientProperties.getQuotaProjectId() != null) {
      clientSettingsBuilder.setQuotaProjectId(this.clientProperties.getQuotaProjectId());
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Quota project id set to "
                + this.clientProperties.getQuotaProjectId()
                + ", this overrides project id from credentials.");
      }
    }
    if (this.clientProperties.getExecutorThreadCount() != null) {
      ExecutorProvider executorProvider =
          ConversationsSettings.defaultExecutorProviderBuilder()
              .setExecutorThreadCount(this.clientProperties.getExecutorThreadCount())
              .build();
      clientSettingsBuilder.setBackgroundExecutorProvider(executorProvider);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Background executor thread count is "
                + this.clientProperties.getExecutorThreadCount());
      }
    }
    Retry serviceRetry = clientProperties.getRetry();
    if (serviceRetry != null) {
      RetrySettings createConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createConversationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .createConversationSettings()
          .setRetrySettings(createConversationRetrySettings);

      RetrySettings listConversationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listConversationsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listConversationsSettings()
          .setRetrySettings(listConversationsRetrySettings);

      RetrySettings getConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getConversationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getConversationSettings()
          .setRetrySettings(getConversationRetrySettings);

      RetrySettings completeConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.completeConversationSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .completeConversationSettings()
          .setRetrySettings(completeConversationRetrySettings);

      RetrySettings ingestContextReferencesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.ingestContextReferencesSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .ingestContextReferencesSettings()
          .setRetrySettings(ingestContextReferencesRetrySettings);

      RetrySettings listMessagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMessagesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listMessagesSettings().setRetrySettings(listMessagesRetrySettings);

      RetrySettings suggestConversationSummaryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.suggestConversationSummarySettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .suggestConversationSummarySettings()
          .setRetrySettings(suggestConversationSummaryRetrySettings);

      RetrySettings generateStatelessSummaryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateStatelessSummarySettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .generateStatelessSummarySettings()
          .setRetrySettings(generateStatelessSummaryRetrySettings);

      RetrySettings generateStatelessSuggestionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateStatelessSuggestionSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .generateStatelessSuggestionSettings()
          .setRetrySettings(generateStatelessSuggestionRetrySettings);

      RetrySettings searchKnowledgeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchKnowledgeSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .searchKnowledgeSettings()
          .setRetrySettings(searchKnowledgeRetrySettings);

      RetrySettings generateSuggestionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateSuggestionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .generateSuggestionsSettings()
          .setRetrySettings(generateSuggestionsRetrySettings);

      RetrySettings listLocationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLocationsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listLocationsSettings().setRetrySettings(listLocationsRetrySettings);

      RetrySettings getLocationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLocationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getLocationSettings().setRetrySettings(getLocationRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry createConversationRetry = clientProperties.getCreateConversationRetry();
    if (createConversationRetry != null) {
      RetrySettings createConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createConversationSettings().getRetrySettings(),
              createConversationRetry);
      clientSettingsBuilder
          .createConversationSettings()
          .setRetrySettings(createConversationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createConversation from properties.");
      }
    }
    Retry listConversationsRetry = clientProperties.getListConversationsRetry();
    if (listConversationsRetry != null) {
      RetrySettings listConversationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listConversationsSettings().getRetrySettings(),
              listConversationsRetry);
      clientSettingsBuilder
          .listConversationsSettings()
          .setRetrySettings(listConversationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listConversations from properties.");
      }
    }
    Retry getConversationRetry = clientProperties.getGetConversationRetry();
    if (getConversationRetry != null) {
      RetrySettings getConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getConversationSettings().getRetrySettings(),
              getConversationRetry);
      clientSettingsBuilder
          .getConversationSettings()
          .setRetrySettings(getConversationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getConversation from properties.");
      }
    }
    Retry completeConversationRetry = clientProperties.getCompleteConversationRetry();
    if (completeConversationRetry != null) {
      RetrySettings completeConversationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.completeConversationSettings().getRetrySettings(),
              completeConversationRetry);
      clientSettingsBuilder
          .completeConversationSettings()
          .setRetrySettings(completeConversationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for completeConversation from properties.");
      }
    }
    Retry ingestContextReferencesRetry = clientProperties.getIngestContextReferencesRetry();
    if (ingestContextReferencesRetry != null) {
      RetrySettings ingestContextReferencesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.ingestContextReferencesSettings().getRetrySettings(),
              ingestContextReferencesRetry);
      clientSettingsBuilder
          .ingestContextReferencesSettings()
          .setRetrySettings(ingestContextReferencesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for ingestContextReferences from properties.");
      }
    }
    Retry listMessagesRetry = clientProperties.getListMessagesRetry();
    if (listMessagesRetry != null) {
      RetrySettings listMessagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMessagesSettings().getRetrySettings(), listMessagesRetry);
      clientSettingsBuilder.listMessagesSettings().setRetrySettings(listMessagesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listMessages from properties.");
      }
    }
    Retry suggestConversationSummaryRetry = clientProperties.getSuggestConversationSummaryRetry();
    if (suggestConversationSummaryRetry != null) {
      RetrySettings suggestConversationSummaryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.suggestConversationSummarySettings().getRetrySettings(),
              suggestConversationSummaryRetry);
      clientSettingsBuilder
          .suggestConversationSummarySettings()
          .setRetrySettings(suggestConversationSummaryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for suggestConversationSummary from properties.");
      }
    }
    Retry generateStatelessSummaryRetry = clientProperties.getGenerateStatelessSummaryRetry();
    if (generateStatelessSummaryRetry != null) {
      RetrySettings generateStatelessSummaryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateStatelessSummarySettings().getRetrySettings(),
              generateStatelessSummaryRetry);
      clientSettingsBuilder
          .generateStatelessSummarySettings()
          .setRetrySettings(generateStatelessSummaryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for generateStatelessSummary from properties.");
      }
    }
    Retry generateStatelessSuggestionRetry = clientProperties.getGenerateStatelessSuggestionRetry();
    if (generateStatelessSuggestionRetry != null) {
      RetrySettings generateStatelessSuggestionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateStatelessSuggestionSettings().getRetrySettings(),
              generateStatelessSuggestionRetry);
      clientSettingsBuilder
          .generateStatelessSuggestionSettings()
          .setRetrySettings(generateStatelessSuggestionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for generateStatelessSuggestion from properties.");
      }
    }
    Retry searchKnowledgeRetry = clientProperties.getSearchKnowledgeRetry();
    if (searchKnowledgeRetry != null) {
      RetrySettings searchKnowledgeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchKnowledgeSettings().getRetrySettings(),
              searchKnowledgeRetry);
      clientSettingsBuilder
          .searchKnowledgeSettings()
          .setRetrySettings(searchKnowledgeRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for searchKnowledge from properties.");
      }
    }
    Retry generateSuggestionsRetry = clientProperties.getGenerateSuggestionsRetry();
    if (generateSuggestionsRetry != null) {
      RetrySettings generateSuggestionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateSuggestionsSettings().getRetrySettings(),
              generateSuggestionsRetry);
      clientSettingsBuilder
          .generateSuggestionsSettings()
          .setRetrySettings(generateSuggestionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for generateSuggestions from properties.");
      }
    }
    Retry listLocationsRetry = clientProperties.getListLocationsRetry();
    if (listLocationsRetry != null) {
      RetrySettings listLocationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLocationsSettings().getRetrySettings(), listLocationsRetry);
      clientSettingsBuilder.listLocationsSettings().setRetrySettings(listLocationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listLocations from properties.");
      }
    }
    Retry getLocationRetry = clientProperties.getGetLocationRetry();
    if (getLocationRetry != null) {
      RetrySettings getLocationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLocationSettings().getRetrySettings(), getLocationRetry);
      clientSettingsBuilder.getLocationSettings().setRetrySettings(getLocationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getLocation from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }