Skip to content

Commit 93b5cfd

Browse files
authored
chore(codegen): use function supplier in RuntimeClientPlugin (#2470)
1 parent 4e4c1a0 commit 93b5cfd

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddAwsAuthPlugin.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@
2121
import static software.amazon.smithy.typescript.codegen.integration.RuntimeClientPlugin.Convention.HAS_MIDDLEWARE;
2222

2323
import java.util.Collections;
24+
import java.util.HashMap;
2425
import java.util.List;
2526
import java.util.Map;
2627
import java.util.Set;
2728
import java.util.function.BiConsumer;
2829
import java.util.function.Consumer;
2930
import software.amazon.smithy.aws.traits.ServiceTrait;
3031
import software.amazon.smithy.aws.traits.auth.SigV4Trait;
32+
import software.amazon.smithy.codegen.core.Symbol;
3133
import software.amazon.smithy.codegen.core.SymbolProvider;
3234
import software.amazon.smithy.model.Model;
3335
import software.amazon.smithy.model.knowledge.TopDownIndex;
@@ -104,7 +106,9 @@ && isAwsService(s)
104106
RuntimeClientPlugin.builder()
105107
.withConventions(AwsDependency.STS_MIDDLEWARE.dependency,
106108
"StsAuth", HAS_CONFIG)
107-
.additionalResolveFunctionParameters("STSClient")
109+
.additionalResolveFunctionParamsSupplier((m, s, o) -> new HashMap<String, Object>() {{
110+
put("STSClient", Symbol.builder().name("STSClient").build());
111+
}})
108112
.servicePredicate((m, s) -> testServiceId(s, "STS"))
109113
.build(),
110114
RuntimeClientPlugin.builder()

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddEndpointDiscoveryPlugin.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@
1616
package software.amazon.smithy.aws.typescript.codegen;
1717

1818
import java.util.Collections;
19+
import java.util.HashMap;
1920
import java.util.List;
2021
import java.util.Map;
2122
import java.util.function.Consumer;
2223
import software.amazon.smithy.aws.traits.clientendpointdiscovery.ClientDiscoveredEndpointTrait;
2324
import software.amazon.smithy.aws.traits.clientendpointdiscovery.ClientEndpointDiscoveryTrait;
2425
import software.amazon.smithy.codegen.core.CodegenException;
26+
import software.amazon.smithy.codegen.core.Symbol;
2527
import software.amazon.smithy.codegen.core.SymbolProvider;
2628
import software.amazon.smithy.model.Model;
2729
import software.amazon.smithy.model.shapes.OperationShape;
@@ -68,21 +70,29 @@ public List<RuntimeClientPlugin> getClientPlugins() {
6870
.withConventions(AwsDependency.MIDDLEWARE_ENDPOINT_DISCOVERY.dependency,
6971
"EndpointDiscovery", RuntimeClientPlugin.Convention.HAS_CONFIG)
7072
// ToDo: The Endpoint Discovery Command Name needs to be read from ClientEndpointDiscoveryTrait.
71-
.additionalResolveFunctionParameters("DescribeEndpointsCommand")
73+
.additionalResolveFunctionParamsSupplier((m, s, o) -> new HashMap<String, Object>() {{
74+
put("DescribeEndpointsCommand", Symbol.builder().name("DescribeEndpointsCommand").build());
75+
}})
7276
.servicePredicate((m, s) -> hasClientEndpointDiscovery(s))
7377
.build(),
7478
// ToDo: The value ClientDiscoveredEndpointTrait.isRequired() needs to be passed to Plugin instead
7579
// of creating two functions Required and Optional. The map of identifiers also needs to be passed.
7680
RuntimeClientPlugin.builder()
7781
.withConventions(AwsDependency.MIDDLEWARE_ENDPOINT_DISCOVERY.dependency,
7882
"EndpointDiscoveryRequired", RuntimeClientPlugin.Convention.HAS_MIDDLEWARE)
79-
.additionalPluginFunctionParameters(new String[]{"clientStack", "options"})
83+
.additionalPluginFunctionParamsSupplier((m, s, o) -> new HashMap<String, Object>() {{
84+
put("clientStack", Symbol.builder().name("clientStack").build());
85+
put("options", Symbol.builder().name("options").build());
86+
}})
8087
.operationPredicate((m, s, o) -> isClientDiscoveredEndpointRequired(s, o))
8188
.build(),
8289
RuntimeClientPlugin.builder()
8390
.withConventions(AwsDependency.MIDDLEWARE_ENDPOINT_DISCOVERY.dependency,
8491
"EndpointDiscoveryOptional", RuntimeClientPlugin.Convention.HAS_MIDDLEWARE)
85-
.additionalPluginFunctionParameters(new String[]{"clientStack", "options"})
92+
.additionalPluginFunctionParamsSupplier((m, s, o) -> new HashMap<String, Object>() {{
93+
put("clientStack", Symbol.builder().name("clientStack").build());
94+
put("options", Symbol.builder().name("options").build());
95+
}})
8696
.operationPredicate((m, s, o) -> isClientDiscoveredEndpointOptional(s, o))
8797
.build()
8898
);

0 commit comments

Comments
 (0)