Skip to content

Commit 89b7136

Browse files
committed
Fix ordering of *contexParams
Per the implementation standard, the order in highest precedence is - static context params - context params - client context params
1 parent 02ee676 commit 89b7136

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/poet/rules/EndpointResolverInterceptorSpec.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,6 @@ private MethodSpec ruleParams() {
148148

149149
b.addStatement("$T builder = $T.builder()", paramsBuilderClass(), endpointRulesSpecUtils.parametersClassName());
150150

151-
b.addStatement("setStaticContextParams(builder, executionAttributes.getAttribute($T.OPERATION_NAME))",
152-
AwsExecutionAttribute.class);
153-
154-
b.addStatement("setContextParams(builder, executionAttributes.getAttribute($T.OPERATION_NAME), context.request())",
155-
AwsExecutionAttribute.class);
156-
157-
if (hasClientContextParams()) {
158-
b.addStatement("setClientContextParams(builder, executionAttributes)");
159-
}
160-
161151
Map<String, ParameterModel> parameters = model.getEndpointRuleSetModel().getParameters();
162152

163153
parameters.forEach((n, m) -> {
@@ -201,6 +191,14 @@ private MethodSpec ruleParams() {
201191
endpointRulesSpecUtils.rulesRuntimeClassName("AwsEndpointProviderUtils"), builtInFn);
202192
});
203193

194+
if (hasClientContextParams()) {
195+
b.addStatement("setClientContextParams(builder, executionAttributes)");
196+
}
197+
b.addStatement("setContextParams(builder, executionAttributes.getAttribute($T.OPERATION_NAME), context.request())",
198+
AwsExecutionAttribute.class);
199+
b.addStatement("setStaticContextParams(builder, executionAttributes.getAttribute($T.OPERATION_NAME))",
200+
AwsExecutionAttribute.class);
201+
204202
b.addStatement("return builder.build()");
205203
return b.build();
206204
}

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/rules/endpoint-resolve-interceptor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ public SdkRequest modifyRequest(Context.ModifyRequest context, ExecutionAttribut
5252

5353
private static QueryEndpointParams ruleParams(Context.ModifyRequest context, ExecutionAttributes executionAttributes) {
5454
QueryEndpointParams.Builder builder = QueryEndpointParams.builder();
55-
setStaticContextParams(builder, executionAttributes.getAttribute(AwsExecutionAttribute.OPERATION_NAME));
56-
setContextParams(builder, executionAttributes.getAttribute(AwsExecutionAttribute.OPERATION_NAME), context.request());
57-
setClientContextParams(builder, executionAttributes);
5855
builder.region(AwsEndpointProviderUtils.regionBuiltIn(executionAttributes));
5956
builder.useDualStackEndpoint(AwsEndpointProviderUtils.dualStackEnabledBuiltIn(executionAttributes));
6057
builder.useFipsEndpoint(AwsEndpointProviderUtils.fipsEnabledBuiltIn(executionAttributes));
58+
setClientContextParams(builder, executionAttributes);
59+
setContextParams(builder, executionAttributes.getAttribute(AwsExecutionAttribute.OPERATION_NAME), context.request());
60+
setStaticContextParams(builder, executionAttributes.getAttribute(AwsExecutionAttribute.OPERATION_NAME));
6161
return builder.build();
6262
}
6363

0 commit comments

Comments
 (0)