public RegistrationServiceSettings registrationServiceSettings()

in spring-cloud-previews/google-cloud-servicedirectory-spring-starter/src/main/java/com/google/cloud/servicedirectory/v1/spring/RegistrationServiceSpringAutoConfiguration.java [123:494]


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

      RetrySettings listNamespacesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNamespacesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listNamespacesSettings().setRetrySettings(listNamespacesRetrySettings);

      RetrySettings getNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNamespaceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getNamespaceSettings().setRetrySettings(getNamespaceRetrySettings);

      RetrySettings updateNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateNamespaceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateNamespaceSettings()
          .setRetrySettings(updateNamespaceRetrySettings);

      RetrySettings deleteNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteNamespaceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .deleteNamespaceSettings()
          .setRetrySettings(deleteNamespaceRetrySettings);

      RetrySettings createServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createServiceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createServiceSettings().setRetrySettings(createServiceRetrySettings);

      RetrySettings listServicesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listServicesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listServicesSettings().setRetrySettings(listServicesRetrySettings);

      RetrySettings getServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getServiceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getServiceSettings().setRetrySettings(getServiceRetrySettings);

      RetrySettings updateServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateServiceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateServiceSettings().setRetrySettings(updateServiceRetrySettings);

      RetrySettings deleteServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteServiceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteServiceSettings().setRetrySettings(deleteServiceRetrySettings);

      RetrySettings createEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createEndpointSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createEndpointSettings().setRetrySettings(createEndpointRetrySettings);

      RetrySettings listEndpointsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEndpointsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listEndpointsSettings().setRetrySettings(listEndpointsRetrySettings);

      RetrySettings getEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEndpointSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getEndpointSettings().setRetrySettings(getEndpointRetrySettings);

      RetrySettings updateEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateEndpointSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateEndpointSettings().setRetrySettings(updateEndpointRetrySettings);

      RetrySettings deleteEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteEndpointSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteEndpointSettings().setRetrySettings(deleteEndpointRetrySettings);

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

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

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

      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 createNamespaceRetry = clientProperties.getCreateNamespaceRetry();
    if (createNamespaceRetry != null) {
      RetrySettings createNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createNamespaceSettings().getRetrySettings(),
              createNamespaceRetry);
      clientSettingsBuilder
          .createNamespaceSettings()
          .setRetrySettings(createNamespaceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createNamespace from properties.");
      }
    }
    Retry listNamespacesRetry = clientProperties.getListNamespacesRetry();
    if (listNamespacesRetry != null) {
      RetrySettings listNamespacesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNamespacesSettings().getRetrySettings(),
              listNamespacesRetry);
      clientSettingsBuilder.listNamespacesSettings().setRetrySettings(listNamespacesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listNamespaces from properties.");
      }
    }
    Retry getNamespaceRetry = clientProperties.getGetNamespaceRetry();
    if (getNamespaceRetry != null) {
      RetrySettings getNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNamespaceSettings().getRetrySettings(), getNamespaceRetry);
      clientSettingsBuilder.getNamespaceSettings().setRetrySettings(getNamespaceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getNamespace from properties.");
      }
    }
    Retry updateNamespaceRetry = clientProperties.getUpdateNamespaceRetry();
    if (updateNamespaceRetry != null) {
      RetrySettings updateNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateNamespaceSettings().getRetrySettings(),
              updateNamespaceRetry);
      clientSettingsBuilder
          .updateNamespaceSettings()
          .setRetrySettings(updateNamespaceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateNamespace from properties.");
      }
    }
    Retry deleteNamespaceRetry = clientProperties.getDeleteNamespaceRetry();
    if (deleteNamespaceRetry != null) {
      RetrySettings deleteNamespaceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteNamespaceSettings().getRetrySettings(),
              deleteNamespaceRetry);
      clientSettingsBuilder
          .deleteNamespaceSettings()
          .setRetrySettings(deleteNamespaceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteNamespace from properties.");
      }
    }
    Retry createServiceRetry = clientProperties.getCreateServiceRetry();
    if (createServiceRetry != null) {
      RetrySettings createServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createServiceSettings().getRetrySettings(), createServiceRetry);
      clientSettingsBuilder.createServiceSettings().setRetrySettings(createServiceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createService from properties.");
      }
    }
    Retry listServicesRetry = clientProperties.getListServicesRetry();
    if (listServicesRetry != null) {
      RetrySettings listServicesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listServicesSettings().getRetrySettings(), listServicesRetry);
      clientSettingsBuilder.listServicesSettings().setRetrySettings(listServicesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listServices from properties.");
      }
    }
    Retry getServiceRetry = clientProperties.getGetServiceRetry();
    if (getServiceRetry != null) {
      RetrySettings getServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getServiceSettings().getRetrySettings(), getServiceRetry);
      clientSettingsBuilder.getServiceSettings().setRetrySettings(getServiceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getService from properties.");
      }
    }
    Retry updateServiceRetry = clientProperties.getUpdateServiceRetry();
    if (updateServiceRetry != null) {
      RetrySettings updateServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateServiceSettings().getRetrySettings(), updateServiceRetry);
      clientSettingsBuilder.updateServiceSettings().setRetrySettings(updateServiceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateService from properties.");
      }
    }
    Retry deleteServiceRetry = clientProperties.getDeleteServiceRetry();
    if (deleteServiceRetry != null) {
      RetrySettings deleteServiceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteServiceSettings().getRetrySettings(), deleteServiceRetry);
      clientSettingsBuilder.deleteServiceSettings().setRetrySettings(deleteServiceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteService from properties.");
      }
    }
    Retry createEndpointRetry = clientProperties.getCreateEndpointRetry();
    if (createEndpointRetry != null) {
      RetrySettings createEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createEndpointSettings().getRetrySettings(),
              createEndpointRetry);
      clientSettingsBuilder.createEndpointSettings().setRetrySettings(createEndpointRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createEndpoint from properties.");
      }
    }
    Retry listEndpointsRetry = clientProperties.getListEndpointsRetry();
    if (listEndpointsRetry != null) {
      RetrySettings listEndpointsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEndpointsSettings().getRetrySettings(), listEndpointsRetry);
      clientSettingsBuilder.listEndpointsSettings().setRetrySettings(listEndpointsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listEndpoints from properties.");
      }
    }
    Retry getEndpointRetry = clientProperties.getGetEndpointRetry();
    if (getEndpointRetry != null) {
      RetrySettings getEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEndpointSettings().getRetrySettings(), getEndpointRetry);
      clientSettingsBuilder.getEndpointSettings().setRetrySettings(getEndpointRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getEndpoint from properties.");
      }
    }
    Retry updateEndpointRetry = clientProperties.getUpdateEndpointRetry();
    if (updateEndpointRetry != null) {
      RetrySettings updateEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateEndpointSettings().getRetrySettings(),
              updateEndpointRetry);
      clientSettingsBuilder.updateEndpointSettings().setRetrySettings(updateEndpointRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateEndpoint from properties.");
      }
    }
    Retry deleteEndpointRetry = clientProperties.getDeleteEndpointRetry();
    if (deleteEndpointRetry != null) {
      RetrySettings deleteEndpointRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteEndpointSettings().getRetrySettings(),
              deleteEndpointRetry);
      clientSettingsBuilder.deleteEndpointSettings().setRetrySettings(deleteEndpointRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteEndpoint 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 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 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.");
      }
    }
    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();
  }