public LineageSettings lineageSettings()

in spring-cloud-previews/google-cloud-datalineage-spring-starter/src/main/java/com/google/cloud/datacatalog/lineage/v1/spring/LineageSpringAutoConfiguration.java [119:427]


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

      RetrySettings createProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createProcessSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createProcessSettings().setRetrySettings(createProcessRetrySettings);

      RetrySettings updateProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateProcessSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateProcessSettings().setRetrySettings(updateProcessRetrySettings);

      RetrySettings getProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getProcessSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getProcessSettings().setRetrySettings(getProcessRetrySettings);

      RetrySettings listProcessesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listProcessesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listProcessesSettings().setRetrySettings(listProcessesRetrySettings);

      RetrySettings createRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createRunSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createRunSettings().setRetrySettings(createRunRetrySettings);

      RetrySettings updateRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRunSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateRunSettings().setRetrySettings(updateRunRetrySettings);

      RetrySettings getRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRunSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getRunSettings().setRetrySettings(getRunRetrySettings);

      RetrySettings listRunsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRunsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listRunsSettings().setRetrySettings(listRunsRetrySettings);

      RetrySettings createLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createLineageEventSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .createLineageEventSettings()
          .setRetrySettings(createLineageEventRetrySettings);

      RetrySettings getLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLineageEventSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getLineageEventSettings()
          .setRetrySettings(getLineageEventRetrySettings);

      RetrySettings listLineageEventsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLineageEventsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listLineageEventsSettings()
          .setRetrySettings(listLineageEventsRetrySettings);

      RetrySettings deleteLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteLineageEventSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .deleteLineageEventSettings()
          .setRetrySettings(deleteLineageEventRetrySettings);

      RetrySettings searchLinksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchLinksSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.searchLinksSettings().setRetrySettings(searchLinksRetrySettings);

      RetrySettings batchSearchLinkProcessesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.batchSearchLinkProcessesSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .batchSearchLinkProcessesSettings()
          .setRetrySettings(batchSearchLinkProcessesRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry processOpenLineageRunEventRetry = clientProperties.getProcessOpenLineageRunEventRetry();
    if (processOpenLineageRunEventRetry != null) {
      RetrySettings processOpenLineageRunEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.processOpenLineageRunEventSettings().getRetrySettings(),
              processOpenLineageRunEventRetry);
      clientSettingsBuilder
          .processOpenLineageRunEventSettings()
          .setRetrySettings(processOpenLineageRunEventRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for processOpenLineageRunEvent from properties.");
      }
    }
    Retry createProcessRetry = clientProperties.getCreateProcessRetry();
    if (createProcessRetry != null) {
      RetrySettings createProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createProcessSettings().getRetrySettings(), createProcessRetry);
      clientSettingsBuilder.createProcessSettings().setRetrySettings(createProcessRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createProcess from properties.");
      }
    }
    Retry updateProcessRetry = clientProperties.getUpdateProcessRetry();
    if (updateProcessRetry != null) {
      RetrySettings updateProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateProcessSettings().getRetrySettings(), updateProcessRetry);
      clientSettingsBuilder.updateProcessSettings().setRetrySettings(updateProcessRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateProcess from properties.");
      }
    }
    Retry getProcessRetry = clientProperties.getGetProcessRetry();
    if (getProcessRetry != null) {
      RetrySettings getProcessRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getProcessSettings().getRetrySettings(), getProcessRetry);
      clientSettingsBuilder.getProcessSettings().setRetrySettings(getProcessRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getProcess from properties.");
      }
    }
    Retry listProcessesRetry = clientProperties.getListProcessesRetry();
    if (listProcessesRetry != null) {
      RetrySettings listProcessesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listProcessesSettings().getRetrySettings(), listProcessesRetry);
      clientSettingsBuilder.listProcessesSettings().setRetrySettings(listProcessesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listProcesses from properties.");
      }
    }
    Retry createRunRetry = clientProperties.getCreateRunRetry();
    if (createRunRetry != null) {
      RetrySettings createRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createRunSettings().getRetrySettings(), createRunRetry);
      clientSettingsBuilder.createRunSettings().setRetrySettings(createRunRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createRun from properties.");
      }
    }
    Retry updateRunRetry = clientProperties.getUpdateRunRetry();
    if (updateRunRetry != null) {
      RetrySettings updateRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRunSettings().getRetrySettings(), updateRunRetry);
      clientSettingsBuilder.updateRunSettings().setRetrySettings(updateRunRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateRun from properties.");
      }
    }
    Retry getRunRetry = clientProperties.getGetRunRetry();
    if (getRunRetry != null) {
      RetrySettings getRunRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRunSettings().getRetrySettings(), getRunRetry);
      clientSettingsBuilder.getRunSettings().setRetrySettings(getRunRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getRun from properties.");
      }
    }
    Retry listRunsRetry = clientProperties.getListRunsRetry();
    if (listRunsRetry != null) {
      RetrySettings listRunsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRunsSettings().getRetrySettings(), listRunsRetry);
      clientSettingsBuilder.listRunsSettings().setRetrySettings(listRunsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listRuns from properties.");
      }
    }
    Retry createLineageEventRetry = clientProperties.getCreateLineageEventRetry();
    if (createLineageEventRetry != null) {
      RetrySettings createLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createLineageEventSettings().getRetrySettings(),
              createLineageEventRetry);
      clientSettingsBuilder
          .createLineageEventSettings()
          .setRetrySettings(createLineageEventRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createLineageEvent from properties.");
      }
    }
    Retry getLineageEventRetry = clientProperties.getGetLineageEventRetry();
    if (getLineageEventRetry != null) {
      RetrySettings getLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLineageEventSettings().getRetrySettings(),
              getLineageEventRetry);
      clientSettingsBuilder
          .getLineageEventSettings()
          .setRetrySettings(getLineageEventRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getLineageEvent from properties.");
      }
    }
    Retry listLineageEventsRetry = clientProperties.getListLineageEventsRetry();
    if (listLineageEventsRetry != null) {
      RetrySettings listLineageEventsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLineageEventsSettings().getRetrySettings(),
              listLineageEventsRetry);
      clientSettingsBuilder
          .listLineageEventsSettings()
          .setRetrySettings(listLineageEventsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listLineageEvents from properties.");
      }
    }
    Retry deleteLineageEventRetry = clientProperties.getDeleteLineageEventRetry();
    if (deleteLineageEventRetry != null) {
      RetrySettings deleteLineageEventRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteLineageEventSettings().getRetrySettings(),
              deleteLineageEventRetry);
      clientSettingsBuilder
          .deleteLineageEventSettings()
          .setRetrySettings(deleteLineageEventRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for deleteLineageEvent from properties.");
      }
    }
    Retry searchLinksRetry = clientProperties.getSearchLinksRetry();
    if (searchLinksRetry != null) {
      RetrySettings searchLinksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.searchLinksSettings().getRetrySettings(), searchLinksRetry);
      clientSettingsBuilder.searchLinksSettings().setRetrySettings(searchLinksRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for searchLinks from properties.");
      }
    }
    Retry batchSearchLinkProcessesRetry = clientProperties.getBatchSearchLinkProcessesRetry();
    if (batchSearchLinkProcessesRetry != null) {
      RetrySettings batchSearchLinkProcessesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.batchSearchLinkProcessesSettings().getRetrySettings(),
              batchSearchLinkProcessesRetry);
      clientSettingsBuilder
          .batchSearchLinkProcessesSettings()
          .setRetrySettings(batchSearchLinkProcessesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for batchSearchLinkProcesses from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }