Skip to content

Commit ec4712a

Browse files
committed
Make rulesengine independent of client
And added client-rulesengine to hook the rulesengine up to the client using an AutoClientPlugin.
1 parent f2ecbf5 commit ec4712a

81 files changed

Lines changed: 626 additions & 178 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/fuzz-testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
env:
5858
JAZZER_FUZZ: "1"
5959
run: |
60-
./gradlew :client:client-rulesengine:test --tests "*FuzzTest*" -Djazzer.max_duration=1h --stacktrace
60+
./gradlew :rulesengine:test --tests "*FuzzTest*" -Djazzer.max_duration=1h --stacktrace
6161
6262
- name: Save fuzz corpus cache
6363
uses: actions/cache/save@v5

aws/client/aws-client-http/src/test/java/software/amazon/smithy/java/aws/client/http/AmzSdkRequestPluginTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
import org.junit.jupiter.api.Test;
1414
import software.amazon.smithy.java.aws.client.awsjson.AwsJson1Protocol;
1515
import software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeResolver;
16-
import software.amazon.smithy.java.endpoints.EndpointResolver;
1716
import software.amazon.smithy.java.client.http.mock.MockPlugin;
1817
import software.amazon.smithy.java.client.http.mock.MockQueue;
1918
import software.amazon.smithy.java.dynamicclient.DynamicClient;
19+
import software.amazon.smithy.java.endpoints.EndpointResolver;
2020
import software.amazon.smithy.java.http.api.HttpResponse;
2121
import software.amazon.smithy.java.io.datastream.DataStream;
2222
import software.amazon.smithy.java.retries.api.AcquireInitialTokenRequest;

aws/client/aws-client-http/src/test/java/software/amazon/smithy/java/aws/client/http/RecursionDetectionPluginTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
import software.amazon.smithy.java.aws.client.awsjson.AwsJson1Protocol;
1515
import software.amazon.smithy.java.client.core.ClientPlugin;
1616
import software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeResolver;
17-
import software.amazon.smithy.java.endpoints.EndpointResolver;
1817
import software.amazon.smithy.java.client.core.interceptors.ClientInterceptor;
1918
import software.amazon.smithy.java.client.core.interceptors.RequestHook;
2019
import software.amazon.smithy.java.client.http.mock.MockPlugin;
2120
import software.amazon.smithy.java.client.http.mock.MockQueue;
2221
import software.amazon.smithy.java.dynamicclient.DynamicClient;
22+
import software.amazon.smithy.java.endpoints.EndpointResolver;
2323
import software.amazon.smithy.java.http.api.HttpHeaders;
2424
import software.amazon.smithy.java.http.api.HttpRequest;
2525
import software.amazon.smithy.java.http.api.HttpResponse;

aws/client/aws-client-rulesengine/src/jmh/java/software/amazon/smithy/java/aws/client/rulesengine/Bench.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
import org.openjdk.jmh.annotations.State;
1717
import software.amazon.smithy.java.aws.client.core.settings.EndpointSettings;
1818
import software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeResolver;
19-
import software.amazon.smithy.java.endpoints.EndpointResolver;
20-
import software.amazon.smithy.java.endpoints.EndpointResolverParams;
2119
import software.amazon.smithy.java.client.rulesengine.EndpointRulesPlugin;
22-
import software.amazon.smithy.java.client.rulesengine.RulesEngineBuilder;
23-
import software.amazon.smithy.java.client.rulesengine.RulesEngineSettings;
2420
import software.amazon.smithy.java.context.Context;
2521
import software.amazon.smithy.java.core.serde.document.Document;
2622
import software.amazon.smithy.java.dynamicclient.DynamicClient;
23+
import software.amazon.smithy.java.endpoints.EndpointResolver;
24+
import software.amazon.smithy.java.endpoints.EndpointResolverParams;
25+
import software.amazon.smithy.java.rulesengine.RulesEngineBuilder;
26+
import software.amazon.smithy.java.rulesengine.RulesEngineSettings;
2727
import software.amazon.smithy.model.Model;
2828
import software.amazon.smithy.model.loader.ModelAssembler;
2929
import software.amazon.smithy.model.pattern.UriPattern;
@@ -75,7 +75,7 @@ public void setup() {
7575

7676
var ctx = Context.create();
7777
ctx.put(EndpointSettings.REGION, "us-east-1");
78-
//ctx.put(EndpointRulesPlugin.ADDITIONAL_ENDPOINT_PARAMS, Map.of("UseFIPS", true, "UseDualStack", true));
78+
//ctx.put(RulesEngineSettings.ADDITIONAL_ENDPOINT_PARAMS, Map.of("UseFIPS", true, "UseDualStack", true));
7979

8080
endpointParams = EndpointResolverParams.builder()
8181
.context(ctx)

aws/client/aws-client-rulesengine/src/main/java/software/amazon/smithy/java/aws/client/rulesengine/AwsRulesExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
import software.amazon.smithy.java.aws.client.core.settings.RegionSetting;
1313
import software.amazon.smithy.java.aws.client.core.settings.S3EndpointSettings;
1414
import software.amazon.smithy.java.aws.client.core.settings.StsEndpointSettings;
15-
import software.amazon.smithy.java.client.rulesengine.RulesExtension;
16-
import software.amazon.smithy.java.client.rulesengine.RulesFunction;
1715
import software.amazon.smithy.java.context.Context;
16+
import software.amazon.smithy.java.rulesengine.RulesExtension;
17+
import software.amazon.smithy.java.rulesengine.RulesFunction;
1818
import software.amazon.smithy.utils.SmithyUnstableApi;
1919

2020
/**

aws/client/aws-client-rulesengine/src/main/java/software/amazon/smithy/java/aws/client/rulesengine/AwsRulesFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import java.util.AbstractMap;
99
import java.util.Map;
1010
import java.util.Set;
11-
import software.amazon.smithy.java.client.rulesengine.RulesFunction;
11+
import software.amazon.smithy.java.rulesengine.RulesFunction;
1212
import software.amazon.smithy.rulesengine.aws.language.functions.AwsArn;
1313
import software.amazon.smithy.rulesengine.aws.language.functions.AwsPartition;
1414
import software.amazon.smithy.rulesengine.aws.language.functions.IsVirtualHostableS3Bucket;

aws/client/aws-client-rulesengine/src/main/resources/META-INF/services/software.amazon.smithy.java.client.rulesengine.RulesExtension renamed to aws/client/aws-client-rulesengine/src/main/resources/META-INF/services/software.amazon.smithy.java.rulesengine.RulesExtension

File renamed without changes.

aws/client/aws-client-rulesengine/src/test/java/software/amazon/smithy/java/aws/client/rulesengine/ResolverTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@
2121
import software.amazon.smithy.java.client.core.CallContext;
2222
import software.amazon.smithy.java.client.core.RequestOverrideConfig;
2323
import software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeResolver;
24-
import software.amazon.smithy.java.endpoints.Endpoint;
25-
import software.amazon.smithy.java.endpoints.EndpointContext;
2624
import software.amazon.smithy.java.client.core.interceptors.ClientInterceptor;
2725
import software.amazon.smithy.java.client.core.interceptors.RequestHook;
2826
import software.amazon.smithy.java.client.rulesengine.EndpointRulesPlugin;
29-
import software.amazon.smithy.java.client.rulesengine.EndpointUtils;
30-
import software.amazon.smithy.java.client.rulesengine.RulesEngineBuilder;
31-
import software.amazon.smithy.java.client.rulesengine.RulesEngineSettings;
32-
import software.amazon.smithy.java.client.rulesengine.RulesEvaluationError;
3327
import software.amazon.smithy.java.core.serde.document.Document;
3428
import software.amazon.smithy.java.dynamicclient.DynamicClient;
29+
import software.amazon.smithy.java.endpoints.Endpoint;
30+
import software.amazon.smithy.java.endpoints.EndpointContext;
3531
import software.amazon.smithy.java.http.api.HttpRequest;
32+
import software.amazon.smithy.java.rulesengine.EndpointUtils;
33+
import software.amazon.smithy.java.rulesengine.RulesEngineBuilder;
34+
import software.amazon.smithy.java.rulesengine.RulesEngineSettings;
35+
import software.amazon.smithy.java.rulesengine.RulesEvaluationError;
3636
import software.amazon.smithy.model.Model;
3737
import software.amazon.smithy.model.loader.ModelAssembler;
3838
import software.amazon.smithy.model.pattern.UriPattern;
@@ -197,7 +197,7 @@ public void readBeforeTransmit(RequestHook<?, ?, ?> hook) {
197197
});
198198

199199
overrideMap = (Map<String, Object>) EndpointUtils.convertNode(test.getParams(), true);
200-
override.putConfig(EndpointRulesPlugin.ADDITIONAL_ENDPOINT_PARAMS, overrideMap);
200+
override.putConfig(RulesEngineSettings.ADDITIONAL_ENDPOINT_PARAMS, overrideMap);
201201

202202
try {
203203
var document = Document.ofObject(inputParams);

aws/sdkv2/aws-sdkv2-shapes/src/test/java/software/amazon/smithy/java/aws/sdkv2/shapes/SdkDocumentWriterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import software.amazon.smithy.aws.traits.protocols.RestJson1Trait;
2323
import software.amazon.smithy.java.aws.client.restjson.RestJsonClientProtocol;
2424
import software.amazon.smithy.java.client.core.auth.scheme.AuthSchemeResolver;
25-
import software.amazon.smithy.java.endpoints.EndpointResolver;
2625
import software.amazon.smithy.java.core.schema.SerializableStruct;
2726
import software.amazon.smithy.java.core.serde.document.Document;
2827
import software.amazon.smithy.java.dynamicclient.DynamicClient;
28+
import software.amazon.smithy.java.endpoints.EndpointResolver;
2929
import software.amazon.smithy.java.io.ByteBufferUtils;
3030
import software.amazon.smithy.model.Model;
3131
import software.amazon.smithy.model.shapes.ShapeId;

client/client-core/src/main/java/software/amazon/smithy/java/client/core/Client.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import software.amazon.smithy.java.core.serde.event.Frame;
2626
import software.amazon.smithy.java.core.serde.event.ProtocolEventStreamWriter;
2727
import software.amazon.smithy.java.endpoints.Endpoint;
28+
import software.amazon.smithy.java.endpoints.EndpointContext;
2829
import software.amazon.smithy.java.endpoints.EndpointResolver;
2930
import software.amazon.smithy.java.retries.api.RetryStrategy;
3031
import software.amazon.smithy.utils.SmithyInternalApi;
@@ -249,7 +250,7 @@ public B endpointResolver(EndpointResolver endpointResolver) {
249250
*/
250251
@SuppressWarnings("unchecked")
251252
public B endpoint(Endpoint customEndpoint) {
252-
putConfig(ClientContext.CUSTOM_ENDPOINT, customEndpoint);
253+
putConfig(EndpointContext.CUSTOM_ENDPOINT, customEndpoint);
253254
return (B) this;
254255
}
255256

@@ -262,7 +263,7 @@ public B endpoint(Endpoint customEndpoint) {
262263
*/
263264
@SuppressWarnings("unchecked")
264265
public B endpoint(String customEndpoint) {
265-
putConfig(ClientContext.CUSTOM_ENDPOINT, Endpoint.builder().uri(customEndpoint).build());
266+
putConfig(EndpointContext.CUSTOM_ENDPOINT, Endpoint.builder().uri(customEndpoint).build());
266267
return (B) this;
267268
}
268269

0 commit comments

Comments
 (0)