public DeviceManagerSettings deviceManagerSettings()

in spring-cloud-previews/google-cloud-iot-spring-starter/src/main/java/com/google/cloud/iot/v1/spring/DeviceManagerSpringAutoConfiguration.java [122:532]


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

      RetrySettings getDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeviceRegistrySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getDeviceRegistrySettings()
          .setRetrySettings(getDeviceRegistryRetrySettings);

      RetrySettings updateDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateDeviceRegistrySettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateDeviceRegistrySettings()
          .setRetrySettings(updateDeviceRegistryRetrySettings);

      RetrySettings deleteDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteDeviceRegistrySettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .deleteDeviceRegistrySettings()
          .setRetrySettings(deleteDeviceRegistryRetrySettings);

      RetrySettings listDeviceRegistriesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceRegistriesSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listDeviceRegistriesSettings()
          .setRetrySettings(listDeviceRegistriesRetrySettings);

      RetrySettings createDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createDeviceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createDeviceSettings().setRetrySettings(createDeviceRetrySettings);

      RetrySettings getDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeviceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getDeviceSettings().setRetrySettings(getDeviceRetrySettings);

      RetrySettings updateDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateDeviceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateDeviceSettings().setRetrySettings(updateDeviceRetrySettings);

      RetrySettings deleteDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteDeviceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteDeviceSettings().setRetrySettings(deleteDeviceRetrySettings);

      RetrySettings listDevicesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDevicesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listDevicesSettings().setRetrySettings(listDevicesRetrySettings);

      RetrySettings modifyCloudToDeviceConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.modifyCloudToDeviceConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .modifyCloudToDeviceConfigSettings()
          .setRetrySettings(modifyCloudToDeviceConfigRetrySettings);

      RetrySettings listDeviceConfigVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceConfigVersionsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listDeviceConfigVersionsSettings()
          .setRetrySettings(listDeviceConfigVersionsRetrySettings);

      RetrySettings listDeviceStatesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceStatesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listDeviceStatesSettings()
          .setRetrySettings(listDeviceStatesRetrySettings);

      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);

      RetrySettings sendCommandToDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.sendCommandToDeviceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .sendCommandToDeviceSettings()
          .setRetrySettings(sendCommandToDeviceRetrySettings);

      RetrySettings bindDeviceToGatewayRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.bindDeviceToGatewaySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .bindDeviceToGatewaySettings()
          .setRetrySettings(bindDeviceToGatewayRetrySettings);

      RetrySettings unbindDeviceFromGatewayRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.unbindDeviceFromGatewaySettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .unbindDeviceFromGatewaySettings()
          .setRetrySettings(unbindDeviceFromGatewayRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry createDeviceRegistryRetry = clientProperties.getCreateDeviceRegistryRetry();
    if (createDeviceRegistryRetry != null) {
      RetrySettings createDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createDeviceRegistrySettings().getRetrySettings(),
              createDeviceRegistryRetry);
      clientSettingsBuilder
          .createDeviceRegistrySettings()
          .setRetrySettings(createDeviceRegistryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createDeviceRegistry from properties.");
      }
    }
    Retry getDeviceRegistryRetry = clientProperties.getGetDeviceRegistryRetry();
    if (getDeviceRegistryRetry != null) {
      RetrySettings getDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeviceRegistrySettings().getRetrySettings(),
              getDeviceRegistryRetry);
      clientSettingsBuilder
          .getDeviceRegistrySettings()
          .setRetrySettings(getDeviceRegistryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getDeviceRegistry from properties.");
      }
    }
    Retry updateDeviceRegistryRetry = clientProperties.getUpdateDeviceRegistryRetry();
    if (updateDeviceRegistryRetry != null) {
      RetrySettings updateDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateDeviceRegistrySettings().getRetrySettings(),
              updateDeviceRegistryRetry);
      clientSettingsBuilder
          .updateDeviceRegistrySettings()
          .setRetrySettings(updateDeviceRegistryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateDeviceRegistry from properties.");
      }
    }
    Retry deleteDeviceRegistryRetry = clientProperties.getDeleteDeviceRegistryRetry();
    if (deleteDeviceRegistryRetry != null) {
      RetrySettings deleteDeviceRegistryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteDeviceRegistrySettings().getRetrySettings(),
              deleteDeviceRegistryRetry);
      clientSettingsBuilder
          .deleteDeviceRegistrySettings()
          .setRetrySettings(deleteDeviceRegistryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for deleteDeviceRegistry from properties.");
      }
    }
    Retry listDeviceRegistriesRetry = clientProperties.getListDeviceRegistriesRetry();
    if (listDeviceRegistriesRetry != null) {
      RetrySettings listDeviceRegistriesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceRegistriesSettings().getRetrySettings(),
              listDeviceRegistriesRetry);
      clientSettingsBuilder
          .listDeviceRegistriesSettings()
          .setRetrySettings(listDeviceRegistriesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listDeviceRegistries from properties.");
      }
    }
    Retry createDeviceRetry = clientProperties.getCreateDeviceRetry();
    if (createDeviceRetry != null) {
      RetrySettings createDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createDeviceSettings().getRetrySettings(), createDeviceRetry);
      clientSettingsBuilder.createDeviceSettings().setRetrySettings(createDeviceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createDevice from properties.");
      }
    }
    Retry getDeviceRetry = clientProperties.getGetDeviceRetry();
    if (getDeviceRetry != null) {
      RetrySettings getDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeviceSettings().getRetrySettings(), getDeviceRetry);
      clientSettingsBuilder.getDeviceSettings().setRetrySettings(getDeviceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getDevice from properties.");
      }
    }
    Retry updateDeviceRetry = clientProperties.getUpdateDeviceRetry();
    if (updateDeviceRetry != null) {
      RetrySettings updateDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateDeviceSettings().getRetrySettings(), updateDeviceRetry);
      clientSettingsBuilder.updateDeviceSettings().setRetrySettings(updateDeviceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateDevice from properties.");
      }
    }
    Retry deleteDeviceRetry = clientProperties.getDeleteDeviceRetry();
    if (deleteDeviceRetry != null) {
      RetrySettings deleteDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteDeviceSettings().getRetrySettings(), deleteDeviceRetry);
      clientSettingsBuilder.deleteDeviceSettings().setRetrySettings(deleteDeviceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteDevice from properties.");
      }
    }
    Retry listDevicesRetry = clientProperties.getListDevicesRetry();
    if (listDevicesRetry != null) {
      RetrySettings listDevicesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDevicesSettings().getRetrySettings(), listDevicesRetry);
      clientSettingsBuilder.listDevicesSettings().setRetrySettings(listDevicesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listDevices from properties.");
      }
    }
    Retry modifyCloudToDeviceConfigRetry = clientProperties.getModifyCloudToDeviceConfigRetry();
    if (modifyCloudToDeviceConfigRetry != null) {
      RetrySettings modifyCloudToDeviceConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.modifyCloudToDeviceConfigSettings().getRetrySettings(),
              modifyCloudToDeviceConfigRetry);
      clientSettingsBuilder
          .modifyCloudToDeviceConfigSettings()
          .setRetrySettings(modifyCloudToDeviceConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for modifyCloudToDeviceConfig from properties.");
      }
    }
    Retry listDeviceConfigVersionsRetry = clientProperties.getListDeviceConfigVersionsRetry();
    if (listDeviceConfigVersionsRetry != null) {
      RetrySettings listDeviceConfigVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceConfigVersionsSettings().getRetrySettings(),
              listDeviceConfigVersionsRetry);
      clientSettingsBuilder
          .listDeviceConfigVersionsSettings()
          .setRetrySettings(listDeviceConfigVersionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listDeviceConfigVersions from properties.");
      }
    }
    Retry listDeviceStatesRetry = clientProperties.getListDeviceStatesRetry();
    if (listDeviceStatesRetry != null) {
      RetrySettings listDeviceStatesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeviceStatesSettings().getRetrySettings(),
              listDeviceStatesRetry);
      clientSettingsBuilder
          .listDeviceStatesSettings()
          .setRetrySettings(listDeviceStatesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listDeviceStates 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.");
      }
    }
    Retry sendCommandToDeviceRetry = clientProperties.getSendCommandToDeviceRetry();
    if (sendCommandToDeviceRetry != null) {
      RetrySettings sendCommandToDeviceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.sendCommandToDeviceSettings().getRetrySettings(),
              sendCommandToDeviceRetry);
      clientSettingsBuilder
          .sendCommandToDeviceSettings()
          .setRetrySettings(sendCommandToDeviceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for sendCommandToDevice from properties.");
      }
    }
    Retry bindDeviceToGatewayRetry = clientProperties.getBindDeviceToGatewayRetry();
    if (bindDeviceToGatewayRetry != null) {
      RetrySettings bindDeviceToGatewayRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.bindDeviceToGatewaySettings().getRetrySettings(),
              bindDeviceToGatewayRetry);
      clientSettingsBuilder
          .bindDeviceToGatewaySettings()
          .setRetrySettings(bindDeviceToGatewayRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for bindDeviceToGateway from properties.");
      }
    }
    Retry unbindDeviceFromGatewayRetry = clientProperties.getUnbindDeviceFromGatewayRetry();
    if (unbindDeviceFromGatewayRetry != null) {
      RetrySettings unbindDeviceFromGatewayRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.unbindDeviceFromGatewaySettings().getRetrySettings(),
              unbindDeviceFromGatewayRetry);
      clientSettingsBuilder
          .unbindDeviceFromGatewaySettings()
          .setRetrySettings(unbindDeviceFromGatewayRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for unbindDeviceFromGateway from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }