Skip to content

Commit 0af5d79

Browse files
authored
Retry strategies plugins overrides have to be cleared (#5309)
1 parent 0b85357 commit 0af5d79

File tree

40 files changed

+734
-462
lines changed

40 files changed

+734
-462
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/ClientClassUtils.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -259,22 +259,25 @@ public static MethodSpec updateRetryStrategyClientConfigurationMethod() {
259259
builder.addStatement("$T retryMode = builder.retryMode()", RetryMode.class);
260260
builder.beginControlFlow("if (retryMode != null)")
261261
.addStatement("configuration.option($T.RETRY_STRATEGY, $T.forRetryMode(retryMode))", SdkClientOption.class,
262-
AwsRetryStrategy.class)
263-
.addStatement("return")
264-
.endControlFlow();
262+
AwsRetryStrategy.class);
263+
builder.nextControlFlow("else");
265264
builder.addStatement("$T<$T<?, ?>> configurator = builder.retryStrategyConfigurator()", Consumer.class,
266265
RetryStrategy.Builder.class);
267266
builder.beginControlFlow("if (configurator != null)")
268267
.addStatement("$T<?, ?> defaultBuilder = $T.defaultRetryStrategy().toBuilder()", RetryStrategy.Builder.class,
269268
AwsRetryStrategy.class)
270269
.addStatement("configurator.accept(defaultBuilder)")
271-
.addStatement("configuration.option($T.RETRY_STRATEGY, defaultBuilder.build())", SdkClientOption.class)
272-
.addStatement("return")
273-
.endControlFlow();
270+
.addStatement("configuration.option($T.RETRY_STRATEGY, defaultBuilder.build())", SdkClientOption.class);
271+
builder.nextControlFlow("else");
274272
builder.addStatement("$T retryStrategy = builder.retryStrategy()", RetryStrategy.class);
275273
builder.beginControlFlow("if (retryStrategy != null)")
276274
.addStatement("configuration.option($T.RETRY_STRATEGY, retryStrategy)", SdkClientOption.class)
277275
.endControlFlow();
276+
builder.endControlFlow();
277+
builder.endControlFlow();
278+
builder.addStatement("configuration.option($T.CONFIGURED_RETRY_MODE, null)", SdkClientOption.class);
279+
builder.addStatement("configuration.option($T.CONFIGURED_RETRY_STRATEGY, null)", SdkClientOption.class);
280+
builder.addStatement("configuration.option($T.CONFIGURED_RETRY_CONFIGURATOR, null)", SdkClientOption.class);
278281
return builder.build();
279282
}
280283
}

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-bearer-auth-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -152,19 +152,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
152152
RetryMode retryMode = builder.retryMode();
153153
if (retryMode != null) {
154154
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
155-
return;
156-
}
157-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
158-
if (configurator != null) {
159-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
160-
configurator.accept(defaultBuilder);
161-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
162-
return;
163-
}
164-
RetryStrategy retryStrategy = builder.retryStrategy();
165-
if (retryStrategy != null) {
166-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
155+
} else {
156+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
157+
if (configurator != null) {
158+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
159+
configurator.accept(defaultBuilder);
160+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
161+
} else {
162+
RetryStrategy retryStrategy = builder.retryStrategy();
163+
if (retryStrategy != null) {
164+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
165+
}
166+
}
167167
}
168+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
169+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
170+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
168171
}
169172

170173
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -241,19 +241,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
241241
RetryMode retryMode = builder.retryMode();
242242
if (retryMode != null) {
243243
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
244-
return;
245-
}
246-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
247-
if (configurator != null) {
248-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
249-
configurator.accept(defaultBuilder);
250-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
251-
return;
252-
}
253-
RetryStrategy retryStrategy = builder.retryStrategy();
254-
if (retryStrategy != null) {
255-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
244+
} else {
245+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
246+
if (configurator != null) {
247+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
248+
configurator.accept(defaultBuilder);
249+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
250+
} else {
251+
RetryStrategy retryStrategy = builder.retryStrategy();
252+
if (retryStrategy != null) {
253+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
254+
}
255+
}
256256
}
257+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
258+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
259+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
257260
}
258261

259262
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-client-builder-endpoints-auth-params.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,19 +182,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
182182
RetryMode retryMode = builder.retryMode();
183183
if (retryMode != null) {
184184
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
185-
return;
186-
}
187-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
188-
if (configurator != null) {
189-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
190-
configurator.accept(defaultBuilder);
191-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
192-
return;
193-
}
194-
RetryStrategy retryStrategy = builder.retryStrategy();
195-
if (retryStrategy != null) {
196-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
185+
} else {
186+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
187+
if (configurator != null) {
188+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
189+
configurator.accept(defaultBuilder);
190+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
191+
} else {
192+
RetryStrategy retryStrategy = builder.retryStrategy();
193+
if (retryStrategy != null) {
194+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
195+
}
196+
}
197197
}
198+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
199+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
200+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
198201
}
199202

200203
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-client-builder-internal-defaults-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -148,19 +148,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
148148
RetryMode retryMode = builder.retryMode();
149149
if (retryMode != null) {
150150
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
151-
return;
152-
}
153-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
154-
if (configurator != null) {
155-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
156-
configurator.accept(defaultBuilder);
157-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
158-
return;
159-
}
160-
RetryStrategy retryStrategy = builder.retryStrategy();
161-
if (retryStrategy != null) {
162-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
151+
} else {
152+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
153+
if (configurator != null) {
154+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
155+
configurator.accept(defaultBuilder);
156+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
157+
} else {
158+
RetryStrategy retryStrategy = builder.retryStrategy();
159+
if (retryStrategy != null) {
160+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
161+
}
162+
}
163163
}
164+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
165+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
166+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
164167
}
165168

166169
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-composed-sync-default-client-builder.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -183,19 +183,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
183183
RetryMode retryMode = builder.retryMode();
184184
if (retryMode != null) {
185185
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
186-
return;
187-
}
188-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
189-
if (configurator != null) {
190-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
191-
configurator.accept(defaultBuilder);
192-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
193-
return;
194-
}
195-
RetryStrategy retryStrategy = builder.retryStrategy();
196-
if (retryStrategy != null) {
197-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
186+
} else {
187+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
188+
if (configurator != null) {
189+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
190+
configurator.accept(defaultBuilder);
191+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
192+
} else {
193+
RetryStrategy retryStrategy = builder.retryStrategy();
194+
if (retryStrategy != null) {
195+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
196+
}
197+
}
198198
}
199+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
200+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
201+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
199202
}
200203

201204
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-no-auth-ops-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -145,19 +145,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
145145
RetryMode retryMode = builder.retryMode();
146146
if (retryMode != null) {
147147
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
148-
return;
149-
}
150-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
151-
if (configurator != null) {
152-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
153-
configurator.accept(defaultBuilder);
154-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
155-
return;
156-
}
157-
RetryStrategy retryStrategy = builder.retryStrategy();
158-
if (retryStrategy != null) {
159-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
148+
} else {
149+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
150+
if (configurator != null) {
151+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
152+
configurator.accept(defaultBuilder);
153+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
154+
} else {
155+
RetryStrategy retryStrategy = builder.retryStrategy();
156+
if (retryStrategy != null) {
157+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
158+
}
159+
}
160160
}
161+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
162+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
163+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
161164
}
162165

163166
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-no-auth-service-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
133133
RetryMode retryMode = builder.retryMode();
134134
if (retryMode != null) {
135135
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
136-
return;
137-
}
138-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
139-
if (configurator != null) {
140-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
141-
configurator.accept(defaultBuilder);
142-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
143-
return;
144-
}
145-
RetryStrategy retryStrategy = builder.retryStrategy();
146-
if (retryStrategy != null) {
147-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
136+
} else {
137+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
138+
if (configurator != null) {
139+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
140+
configurator.accept(defaultBuilder);
141+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
142+
} else {
143+
RetryStrategy retryStrategy = builder.retryStrategy();
144+
if (retryStrategy != null) {
145+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
146+
}
147+
}
148148
}
149+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
150+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
151+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
149152
}
150153

151154
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/sra/test-query-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -179,19 +179,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
179179
RetryMode retryMode = builder.retryMode();
180180
if (retryMode != null) {
181181
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
182-
return;
183-
}
184-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
185-
if (configurator != null) {
186-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
187-
configurator.accept(defaultBuilder);
188-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
189-
return;
190-
}
191-
RetryStrategy retryStrategy = builder.retryStrategy();
192-
if (retryStrategy != null) {
193-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
182+
} else {
183+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
184+
if (configurator != null) {
185+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
186+
configurator.accept(defaultBuilder);
187+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
188+
} else {
189+
RetryStrategy retryStrategy = builder.retryStrategy();
190+
if (retryStrategy != null) {
191+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
192+
}
193+
}
194194
}
195+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
196+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
197+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
195198
}
196199

197200
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/builder/test-bearer-auth-client-builder-class.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -123,19 +123,22 @@ private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Build
123123
RetryMode retryMode = builder.retryMode();
124124
if (retryMode != null) {
125125
configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode));
126-
return;
127-
}
128-
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
129-
if (configurator != null) {
130-
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
131-
configurator.accept(defaultBuilder);
132-
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
133-
return;
134-
}
135-
RetryStrategy retryStrategy = builder.retryStrategy();
136-
if (retryStrategy != null) {
137-
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
126+
} else {
127+
Consumer<RetryStrategy.Builder<?, ?>> configurator = builder.retryStrategyConfigurator();
128+
if (configurator != null) {
129+
RetryStrategy.Builder<?, ?> defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder();
130+
configurator.accept(defaultBuilder);
131+
configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build());
132+
} else {
133+
RetryStrategy retryStrategy = builder.retryStrategy();
134+
if (retryStrategy != null) {
135+
configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy);
136+
}
137+
}
138138
}
139+
configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null);
140+
configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null);
141+
configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null);
139142
}
140143

141144
private List<SdkPlugin> internalPlugins(SdkClientConfiguration config) {

0 commit comments

Comments
 (0)