public RecommenderSettings recommenderSettings()

in spring-cloud-previews/google-cloud-recommender-spring-starter/src/main/java/com/google/cloud/recommender/v1/spring/RecommenderSpringAutoConfiguration.java [121:436]


  public RecommenderSettings recommenderSettings(
      @Qualifier("defaultRecommenderTransportChannelProvider")
          TransportChannelProvider defaultTransportChannelProvider)
      throws IOException {
    RecommenderSettings.Builder clientSettingsBuilder;
    if (this.clientProperties.getUseRest()) {
      clientSettingsBuilder = RecommenderSettings.newHttpJsonBuilder();
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Using REST (HTTP/JSON) transport.");
      }
    } else {
      clientSettingsBuilder = RecommenderSettings.newBuilder();
    }
    clientSettingsBuilder
        .setCredentialsProvider(this.credentialsProvider)
        .setTransportChannelProvider(defaultTransportChannelProvider)
        .setEndpoint(RecommenderSettings.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 =
          RecommenderSettings.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 listInsightsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listInsightsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listInsightsSettings().setRetrySettings(listInsightsRetrySettings);

      RetrySettings getInsightRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getInsightSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getInsightSettings().setRetrySettings(getInsightRetrySettings);

      RetrySettings markInsightAcceptedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markInsightAcceptedSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .markInsightAcceptedSettings()
          .setRetrySettings(markInsightAcceptedRetrySettings);

      RetrySettings listRecommendationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRecommendationsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listRecommendationsSettings()
          .setRetrySettings(listRecommendationsRetrySettings);

      RetrySettings getRecommendationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRecommendationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getRecommendationSettings()
          .setRetrySettings(getRecommendationRetrySettings);

      RetrySettings markRecommendationDismissedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationDismissedSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .markRecommendationDismissedSettings()
          .setRetrySettings(markRecommendationDismissedRetrySettings);

      RetrySettings markRecommendationClaimedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationClaimedSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .markRecommendationClaimedSettings()
          .setRetrySettings(markRecommendationClaimedRetrySettings);

      RetrySettings markRecommendationSucceededRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationSucceededSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .markRecommendationSucceededSettings()
          .setRetrySettings(markRecommendationSucceededRetrySettings);

      RetrySettings markRecommendationFailedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationFailedSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .markRecommendationFailedSettings()
          .setRetrySettings(markRecommendationFailedRetrySettings);

      RetrySettings getRecommenderConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRecommenderConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getRecommenderConfigSettings()
          .setRetrySettings(getRecommenderConfigRetrySettings);

      RetrySettings updateRecommenderConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRecommenderConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateRecommenderConfigSettings()
          .setRetrySettings(updateRecommenderConfigRetrySettings);

      RetrySettings getInsightTypeConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getInsightTypeConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getInsightTypeConfigSettings()
          .setRetrySettings(getInsightTypeConfigRetrySettings);

      RetrySettings updateInsightTypeConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateInsightTypeConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateInsightTypeConfigSettings()
          .setRetrySettings(updateInsightTypeConfigRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry listInsightsRetry = clientProperties.getListInsightsRetry();
    if (listInsightsRetry != null) {
      RetrySettings listInsightsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listInsightsSettings().getRetrySettings(), listInsightsRetry);
      clientSettingsBuilder.listInsightsSettings().setRetrySettings(listInsightsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listInsights from properties.");
      }
    }
    Retry getInsightRetry = clientProperties.getGetInsightRetry();
    if (getInsightRetry != null) {
      RetrySettings getInsightRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getInsightSettings().getRetrySettings(), getInsightRetry);
      clientSettingsBuilder.getInsightSettings().setRetrySettings(getInsightRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getInsight from properties.");
      }
    }
    Retry markInsightAcceptedRetry = clientProperties.getMarkInsightAcceptedRetry();
    if (markInsightAcceptedRetry != null) {
      RetrySettings markInsightAcceptedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markInsightAcceptedSettings().getRetrySettings(),
              markInsightAcceptedRetry);
      clientSettingsBuilder
          .markInsightAcceptedSettings()
          .setRetrySettings(markInsightAcceptedRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for markInsightAccepted from properties.");
      }
    }
    Retry listRecommendationsRetry = clientProperties.getListRecommendationsRetry();
    if (listRecommendationsRetry != null) {
      RetrySettings listRecommendationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRecommendationsSettings().getRetrySettings(),
              listRecommendationsRetry);
      clientSettingsBuilder
          .listRecommendationsSettings()
          .setRetrySettings(listRecommendationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listRecommendations from properties.");
      }
    }
    Retry getRecommendationRetry = clientProperties.getGetRecommendationRetry();
    if (getRecommendationRetry != null) {
      RetrySettings getRecommendationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRecommendationSettings().getRetrySettings(),
              getRecommendationRetry);
      clientSettingsBuilder
          .getRecommendationSettings()
          .setRetrySettings(getRecommendationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getRecommendation from properties.");
      }
    }
    Retry markRecommendationDismissedRetry = clientProperties.getMarkRecommendationDismissedRetry();
    if (markRecommendationDismissedRetry != null) {
      RetrySettings markRecommendationDismissedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationDismissedSettings().getRetrySettings(),
              markRecommendationDismissedRetry);
      clientSettingsBuilder
          .markRecommendationDismissedSettings()
          .setRetrySettings(markRecommendationDismissedRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for markRecommendationDismissed from properties.");
      }
    }
    Retry markRecommendationClaimedRetry = clientProperties.getMarkRecommendationClaimedRetry();
    if (markRecommendationClaimedRetry != null) {
      RetrySettings markRecommendationClaimedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationClaimedSettings().getRetrySettings(),
              markRecommendationClaimedRetry);
      clientSettingsBuilder
          .markRecommendationClaimedSettings()
          .setRetrySettings(markRecommendationClaimedRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for markRecommendationClaimed from properties.");
      }
    }
    Retry markRecommendationSucceededRetry = clientProperties.getMarkRecommendationSucceededRetry();
    if (markRecommendationSucceededRetry != null) {
      RetrySettings markRecommendationSucceededRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationSucceededSettings().getRetrySettings(),
              markRecommendationSucceededRetry);
      clientSettingsBuilder
          .markRecommendationSucceededSettings()
          .setRetrySettings(markRecommendationSucceededRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for markRecommendationSucceeded from properties.");
      }
    }
    Retry markRecommendationFailedRetry = clientProperties.getMarkRecommendationFailedRetry();
    if (markRecommendationFailedRetry != null) {
      RetrySettings markRecommendationFailedRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.markRecommendationFailedSettings().getRetrySettings(),
              markRecommendationFailedRetry);
      clientSettingsBuilder
          .markRecommendationFailedSettings()
          .setRetrySettings(markRecommendationFailedRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for markRecommendationFailed from properties.");
      }
    }
    Retry getRecommenderConfigRetry = clientProperties.getGetRecommenderConfigRetry();
    if (getRecommenderConfigRetry != null) {
      RetrySettings getRecommenderConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRecommenderConfigSettings().getRetrySettings(),
              getRecommenderConfigRetry);
      clientSettingsBuilder
          .getRecommenderConfigSettings()
          .setRetrySettings(getRecommenderConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getRecommenderConfig from properties.");
      }
    }
    Retry updateRecommenderConfigRetry = clientProperties.getUpdateRecommenderConfigRetry();
    if (updateRecommenderConfigRetry != null) {
      RetrySettings updateRecommenderConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRecommenderConfigSettings().getRetrySettings(),
              updateRecommenderConfigRetry);
      clientSettingsBuilder
          .updateRecommenderConfigSettings()
          .setRetrySettings(updateRecommenderConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateRecommenderConfig from properties.");
      }
    }
    Retry getInsightTypeConfigRetry = clientProperties.getGetInsightTypeConfigRetry();
    if (getInsightTypeConfigRetry != null) {
      RetrySettings getInsightTypeConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getInsightTypeConfigSettings().getRetrySettings(),
              getInsightTypeConfigRetry);
      clientSettingsBuilder
          .getInsightTypeConfigSettings()
          .setRetrySettings(getInsightTypeConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getInsightTypeConfig from properties.");
      }
    }
    Retry updateInsightTypeConfigRetry = clientProperties.getUpdateInsightTypeConfigRetry();
    if (updateInsightTypeConfigRetry != null) {
      RetrySettings updateInsightTypeConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateInsightTypeConfigSettings().getRetrySettings(),
              updateInsightTypeConfigRetry);
      clientSettingsBuilder
          .updateInsightTypeConfigSettings()
          .setRetrySettings(updateInsightTypeConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateInsightTypeConfig from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }