in spring-cloud-previews/google-cloud-dialogflow-spring-starter/src/main/java/com/google/cloud/dialogflow/v2/spring/ConversationsSpringAutoConfiguration.java [122:426]
public ConversationsSettings conversationsSettings(
@Qualifier("defaultConversationsTransportChannelProvider")
TransportChannelProvider defaultTransportChannelProvider)
throws IOException {
ConversationsSettings.Builder clientSettingsBuilder;
if (this.clientProperties.getUseRest()) {
clientSettingsBuilder = ConversationsSettings.newHttpJsonBuilder();
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Using REST (HTTP/JSON) transport.");
}
} else {
clientSettingsBuilder = ConversationsSettings.newBuilder();
}
clientSettingsBuilder
.setCredentialsProvider(this.credentialsProvider)
.setTransportChannelProvider(defaultTransportChannelProvider)
.setEndpoint(ConversationsSettings.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 =
ConversationsSettings.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 createConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.createConversationSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder
.createConversationSettings()
.setRetrySettings(createConversationRetrySettings);
RetrySettings listConversationsRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.listConversationsSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder
.listConversationsSettings()
.setRetrySettings(listConversationsRetrySettings);
RetrySettings getConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.getConversationSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder
.getConversationSettings()
.setRetrySettings(getConversationRetrySettings);
RetrySettings completeConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.completeConversationSettings().getRetrySettings(),
serviceRetry);
clientSettingsBuilder
.completeConversationSettings()
.setRetrySettings(completeConversationRetrySettings);
RetrySettings ingestContextReferencesRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.ingestContextReferencesSettings().getRetrySettings(),
serviceRetry);
clientSettingsBuilder
.ingestContextReferencesSettings()
.setRetrySettings(ingestContextReferencesRetrySettings);
RetrySettings listMessagesRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.listMessagesSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder.listMessagesSettings().setRetrySettings(listMessagesRetrySettings);
RetrySettings suggestConversationSummaryRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.suggestConversationSummarySettings().getRetrySettings(),
serviceRetry);
clientSettingsBuilder
.suggestConversationSummarySettings()
.setRetrySettings(suggestConversationSummaryRetrySettings);
RetrySettings generateStatelessSummaryRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateStatelessSummarySettings().getRetrySettings(),
serviceRetry);
clientSettingsBuilder
.generateStatelessSummarySettings()
.setRetrySettings(generateStatelessSummaryRetrySettings);
RetrySettings generateStatelessSuggestionRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateStatelessSuggestionSettings().getRetrySettings(),
serviceRetry);
clientSettingsBuilder
.generateStatelessSuggestionSettings()
.setRetrySettings(generateStatelessSuggestionRetrySettings);
RetrySettings searchKnowledgeRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.searchKnowledgeSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder
.searchKnowledgeSettings()
.setRetrySettings(searchKnowledgeRetrySettings);
RetrySettings generateSuggestionsRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateSuggestionsSettings().getRetrySettings(), serviceRetry);
clientSettingsBuilder
.generateSuggestionsSettings()
.setRetrySettings(generateSuggestionsRetrySettings);
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 createConversationRetry = clientProperties.getCreateConversationRetry();
if (createConversationRetry != null) {
RetrySettings createConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.createConversationSettings().getRetrySettings(),
createConversationRetry);
clientSettingsBuilder
.createConversationSettings()
.setRetrySettings(createConversationRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for createConversation from properties.");
}
}
Retry listConversationsRetry = clientProperties.getListConversationsRetry();
if (listConversationsRetry != null) {
RetrySettings listConversationsRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.listConversationsSettings().getRetrySettings(),
listConversationsRetry);
clientSettingsBuilder
.listConversationsSettings()
.setRetrySettings(listConversationsRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for listConversations from properties.");
}
}
Retry getConversationRetry = clientProperties.getGetConversationRetry();
if (getConversationRetry != null) {
RetrySettings getConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.getConversationSettings().getRetrySettings(),
getConversationRetry);
clientSettingsBuilder
.getConversationSettings()
.setRetrySettings(getConversationRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Configured method-level retry settings for getConversation from properties.");
}
}
Retry completeConversationRetry = clientProperties.getCompleteConversationRetry();
if (completeConversationRetry != null) {
RetrySettings completeConversationRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.completeConversationSettings().getRetrySettings(),
completeConversationRetry);
clientSettingsBuilder
.completeConversationSettings()
.setRetrySettings(completeConversationRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for completeConversation from properties.");
}
}
Retry ingestContextReferencesRetry = clientProperties.getIngestContextReferencesRetry();
if (ingestContextReferencesRetry != null) {
RetrySettings ingestContextReferencesRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.ingestContextReferencesSettings().getRetrySettings(),
ingestContextReferencesRetry);
clientSettingsBuilder
.ingestContextReferencesSettings()
.setRetrySettings(ingestContextReferencesRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for ingestContextReferences from properties.");
}
}
Retry listMessagesRetry = clientProperties.getListMessagesRetry();
if (listMessagesRetry != null) {
RetrySettings listMessagesRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.listMessagesSettings().getRetrySettings(), listMessagesRetry);
clientSettingsBuilder.listMessagesSettings().setRetrySettings(listMessagesRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Configured method-level retry settings for listMessages from properties.");
}
}
Retry suggestConversationSummaryRetry = clientProperties.getSuggestConversationSummaryRetry();
if (suggestConversationSummaryRetry != null) {
RetrySettings suggestConversationSummaryRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.suggestConversationSummarySettings().getRetrySettings(),
suggestConversationSummaryRetry);
clientSettingsBuilder
.suggestConversationSummarySettings()
.setRetrySettings(suggestConversationSummaryRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for suggestConversationSummary from properties.");
}
}
Retry generateStatelessSummaryRetry = clientProperties.getGenerateStatelessSummaryRetry();
if (generateStatelessSummaryRetry != null) {
RetrySettings generateStatelessSummaryRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateStatelessSummarySettings().getRetrySettings(),
generateStatelessSummaryRetry);
clientSettingsBuilder
.generateStatelessSummarySettings()
.setRetrySettings(generateStatelessSummaryRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for generateStatelessSummary from properties.");
}
}
Retry generateStatelessSuggestionRetry = clientProperties.getGenerateStatelessSuggestionRetry();
if (generateStatelessSuggestionRetry != null) {
RetrySettings generateStatelessSuggestionRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateStatelessSuggestionSettings().getRetrySettings(),
generateStatelessSuggestionRetry);
clientSettingsBuilder
.generateStatelessSuggestionSettings()
.setRetrySettings(generateStatelessSuggestionRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for generateStatelessSuggestion from properties.");
}
}
Retry searchKnowledgeRetry = clientProperties.getSearchKnowledgeRetry();
if (searchKnowledgeRetry != null) {
RetrySettings searchKnowledgeRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.searchKnowledgeSettings().getRetrySettings(),
searchKnowledgeRetry);
clientSettingsBuilder
.searchKnowledgeSettings()
.setRetrySettings(searchKnowledgeRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Configured method-level retry settings for searchKnowledge from properties.");
}
}
Retry generateSuggestionsRetry = clientProperties.getGenerateSuggestionsRetry();
if (generateSuggestionsRetry != null) {
RetrySettings generateSuggestionsRetrySettings =
RetryUtil.updateRetrySettings(
clientSettingsBuilder.generateSuggestionsSettings().getRetrySettings(),
generateSuggestionsRetry);
clientSettingsBuilder
.generateSuggestionsSettings()
.setRetrySettings(generateSuggestionsRetrySettings);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace(
"Configured method-level retry settings for generateSuggestions 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();
}