public FeaturestoreServiceSettings featurestoreServiceSettings()

in spring-cloud-previews/google-cloud-aiplatform-spring-starter/src/main/java/com/google/cloud/aiplatform/v1/spring/FeaturestoreServiceSpringAutoConfiguration.java [120:398]


  public FeaturestoreServiceSettings featurestoreServiceSettings(
      @Qualifier("defaultFeaturestoreServiceTransportChannelProvider")
          TransportChannelProvider defaultTransportChannelProvider)
      throws IOException {
    FeaturestoreServiceSettings.Builder clientSettingsBuilder =
        FeaturestoreServiceSettings.newBuilder();
    clientSettingsBuilder
        .setCredentialsProvider(this.credentialsProvider)
        .setTransportChannelProvider(defaultTransportChannelProvider)
        .setEndpoint(FeaturestoreServiceSettings.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 =
          FeaturestoreServiceSettings.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 getFeaturestoreRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFeaturestoreSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getFeaturestoreSettings()
          .setRetrySettings(getFeaturestoreRetrySettings);

      RetrySettings listFeaturestoresRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFeaturestoresSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listFeaturestoresSettings()
          .setRetrySettings(listFeaturestoresRetrySettings);

      RetrySettings getEntityTypeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEntityTypeSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getEntityTypeSettings().setRetrySettings(getEntityTypeRetrySettings);

      RetrySettings listEntityTypesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntityTypesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listEntityTypesSettings()
          .setRetrySettings(listEntityTypesRetrySettings);

      RetrySettings updateEntityTypeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateEntityTypeSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateEntityTypeSettings()
          .setRetrySettings(updateEntityTypeRetrySettings);

      RetrySettings getFeatureRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFeatureSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getFeatureSettings().setRetrySettings(getFeatureRetrySettings);

      RetrySettings listFeaturesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFeaturesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listFeaturesSettings().setRetrySettings(listFeaturesRetrySettings);

      RetrySettings updateFeatureRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateFeatureSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateFeatureSettings().setRetrySettings(updateFeatureRetrySettings);

      RetrySettings searchFeaturesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchFeaturesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.searchFeaturesSettings().setRetrySettings(searchFeaturesRetrySettings);

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

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

      RetrySettings setIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.setIamPolicySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.setIamPolicySettings().setRetrySettings(setIamPolicyRetrySettings);

      RetrySettings getIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getIamPolicySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getIamPolicySettings().setRetrySettings(getIamPolicyRetrySettings);

      RetrySettings testIamPermissionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.testIamPermissionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .testIamPermissionsSettings()
          .setRetrySettings(testIamPermissionsRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry getFeaturestoreRetry = clientProperties.getGetFeaturestoreRetry();
    if (getFeaturestoreRetry != null) {
      RetrySettings getFeaturestoreRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFeaturestoreSettings().getRetrySettings(),
              getFeaturestoreRetry);
      clientSettingsBuilder
          .getFeaturestoreSettings()
          .setRetrySettings(getFeaturestoreRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getFeaturestore from properties.");
      }
    }
    Retry listFeaturestoresRetry = clientProperties.getListFeaturestoresRetry();
    if (listFeaturestoresRetry != null) {
      RetrySettings listFeaturestoresRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFeaturestoresSettings().getRetrySettings(),
              listFeaturestoresRetry);
      clientSettingsBuilder
          .listFeaturestoresSettings()
          .setRetrySettings(listFeaturestoresRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listFeaturestores from properties.");
      }
    }
    Retry getEntityTypeRetry = clientProperties.getGetEntityTypeRetry();
    if (getEntityTypeRetry != null) {
      RetrySettings getEntityTypeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEntityTypeSettings().getRetrySettings(), getEntityTypeRetry);
      clientSettingsBuilder.getEntityTypeSettings().setRetrySettings(getEntityTypeRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getEntityType from properties.");
      }
    }
    Retry listEntityTypesRetry = clientProperties.getListEntityTypesRetry();
    if (listEntityTypesRetry != null) {
      RetrySettings listEntityTypesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntityTypesSettings().getRetrySettings(),
              listEntityTypesRetry);
      clientSettingsBuilder
          .listEntityTypesSettings()
          .setRetrySettings(listEntityTypesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listEntityTypes from properties.");
      }
    }
    Retry updateEntityTypeRetry = clientProperties.getUpdateEntityTypeRetry();
    if (updateEntityTypeRetry != null) {
      RetrySettings updateEntityTypeRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateEntityTypeSettings().getRetrySettings(),
              updateEntityTypeRetry);
      clientSettingsBuilder
          .updateEntityTypeSettings()
          .setRetrySettings(updateEntityTypeRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateEntityType from properties.");
      }
    }
    Retry getFeatureRetry = clientProperties.getGetFeatureRetry();
    if (getFeatureRetry != null) {
      RetrySettings getFeatureRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFeatureSettings().getRetrySettings(), getFeatureRetry);
      clientSettingsBuilder.getFeatureSettings().setRetrySettings(getFeatureRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getFeature from properties.");
      }
    }
    Retry listFeaturesRetry = clientProperties.getListFeaturesRetry();
    if (listFeaturesRetry != null) {
      RetrySettings listFeaturesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFeaturesSettings().getRetrySettings(), listFeaturesRetry);
      clientSettingsBuilder.listFeaturesSettings().setRetrySettings(listFeaturesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listFeatures from properties.");
      }
    }
    Retry updateFeatureRetry = clientProperties.getUpdateFeatureRetry();
    if (updateFeatureRetry != null) {
      RetrySettings updateFeatureRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateFeatureSettings().getRetrySettings(), updateFeatureRetry);
      clientSettingsBuilder.updateFeatureSettings().setRetrySettings(updateFeatureRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateFeature from properties.");
      }
    }
    Retry searchFeaturesRetry = clientProperties.getSearchFeaturesRetry();
    if (searchFeaturesRetry != null) {
      RetrySettings searchFeaturesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchFeaturesSettings().getRetrySettings(),
              searchFeaturesRetry);
      clientSettingsBuilder.searchFeaturesSettings().setRetrySettings(searchFeaturesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for searchFeatures 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.");
      }
    }
    Retry setIamPolicyRetry = clientProperties.getSetIamPolicyRetry();
    if (setIamPolicyRetry != null) {
      RetrySettings setIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.setIamPolicySettings().getRetrySettings(), setIamPolicyRetry);
      clientSettingsBuilder.setIamPolicySettings().setRetrySettings(setIamPolicyRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for setIamPolicy from properties.");
      }
    }
    Retry getIamPolicyRetry = clientProperties.getGetIamPolicyRetry();
    if (getIamPolicyRetry != null) {
      RetrySettings getIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getIamPolicySettings().getRetrySettings(), getIamPolicyRetry);
      clientSettingsBuilder.getIamPolicySettings().setRetrySettings(getIamPolicyRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getIamPolicy from properties.");
      }
    }
    Retry testIamPermissionsRetry = clientProperties.getTestIamPermissionsRetry();
    if (testIamPermissionsRetry != null) {
      RetrySettings testIamPermissionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.testIamPermissionsSettings().getRetrySettings(),
              testIamPermissionsRetry);
      clientSettingsBuilder
          .testIamPermissionsSettings()
          .setRetrySettings(testIamPermissionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for testIamPermissions from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }