Skip to content

Commit 78ab1ce

Browse files
authored
Migrate PartitionMetadataProvider generation to use partitions.json (#6728)
* Migrate PartitionProvider generation to partitions.json * Update changelog
1 parent b39522e commit 78ab1ce

File tree

5 files changed

+19
-9
lines changed

5 files changed

+19
-9
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS SDK for Java v2",
4+
"contributor": "",
5+
"description": "Migrate PartitionMetadataProvider code generation from endpoints.json to partitions.json"
6+
}

codegen-lite-maven-plugin/src/main/java/software/amazon/awssdk/codegen/lite/maven/plugin/RegionGenerationMojo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void execute() throws MojoExecutionException {
7777
generateRegionClass(baseSourcesDirectory, regionPartitions);
7878
generateServiceMetadata(baseSourcesDirectory, partitions);
7979
generateRegions(baseSourcesDirectory, regionPartitions);
80-
generatePartitionProvider(baseSourcesDirectory, partitions);
80+
generatePartitionProvider(baseSourcesDirectory, regionPartitions);
8181
generateRegionProvider(baseSourcesDirectory, regionPartitions);
8282
generateServiceProvider(baseSourcesDirectory, partitions);
8383
generateEndpointTags(baseSourcesDirectory, partitions);
@@ -125,7 +125,7 @@ public void generateRegions(Path baseSourcesDirectory, PartitionsRegionsMetadata
125125
.generate()));
126126
}
127127

128-
public void generatePartitionProvider(Path baseSourcesDirectory, Partitions partitions) {
128+
public void generatePartitionProvider(Path baseSourcesDirectory, PartitionsRegionsMetadata partitions) {
129129
Path sourcesDirectory = baseSourcesDirectory.resolve(StringUtils.replace(REGION_BASE, ".", "/"));
130130
new CodeGenerator(sourcesDirectory.toString(), new PartitionMetadataProviderGenerator(partitions,
131131
PARTITION_METADATA_BASE,

codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/regions/PartitionMetadataProviderGenerator.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@
3535
import software.amazon.awssdk.annotations.SdkPublicApi;
3636
import software.amazon.awssdk.codegen.lite.PoetClass;
3737
import software.amazon.awssdk.codegen.lite.Utils;
38-
import software.amazon.awssdk.codegen.lite.regions.model.Partitions;
38+
import software.amazon.awssdk.codegen.lite.regions.model.PartitionsRegionsMetadata;
3939
import software.amazon.awssdk.utils.ImmutableMap;
4040

4141
public class PartitionMetadataProviderGenerator implements PoetClass {
42-
private final Partitions partitions;
42+
private final PartitionsRegionsMetadata partitions;
4343
private final String basePackage;
4444
private final String regionBasePackage;
4545

46-
public PartitionMetadataProviderGenerator(Partitions partitions,
46+
public PartitionMetadataProviderGenerator(PartitionsRegionsMetadata partitions,
4747
String basePackage,
4848
String regionBasePackage) {
4949
this.partitions = partitions;
@@ -78,11 +78,11 @@ public ClassName className() {
7878
return ClassName.get(regionBasePackage, "GeneratedPartitionMetadataProvider");
7979
}
8080

81-
private CodeBlock partitions(Partitions partitions) {
81+
private CodeBlock partitions(PartitionsRegionsMetadata partitions) {
8282
CodeBlock.Builder builder = CodeBlock.builder().add("$T.<String, PartitionMetadata>builder()", ImmutableMap.class);
8383

8484
partitions.getPartitions()
85-
.forEach(p -> builder.add(".put($S, new $T())", p.getPartition(), partitionMetadataClass(p.getPartition())));
85+
.forEach(p -> builder.add(".put($S, new $T())", p.getId(), partitionMetadataClass(p.getId())));
8686

8787
return builder.add(".build()").build();
8888
}

codegen-lite/src/test/java/software/amazon/awssdk/codegen/lite/regions/RegionGenerationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public void endpointTagClass() {
122122
@Test
123123
public void partitionMetadataProviderClass() {
124124
PartitionMetadataProviderGenerator partitionMetadataProviderGenerator =
125-
new PartitionMetadataProviderGenerator(partitions, PARTITION_METADATA_BASE, REGION_BASE);
125+
new PartitionMetadataProviderGenerator(partitionsRegions, PARTITION_METADATA_BASE, REGION_BASE);
126126

127127
assertThat(partitionMetadataProviderGenerator, generatesTo("partition-metadata-provider.java"));
128128
}

codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/regions/partition-metadata-provider.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
import software.amazon.awssdk.annotations.Generated;
55
import software.amazon.awssdk.annotations.SdkPublicApi;
66
import software.amazon.awssdk.regions.partitionmetadata.AwsCnPartitionMetadata;
7+
import software.amazon.awssdk.regions.partitionmetadata.AwsEuscPartitionMetadata;
78
import software.amazon.awssdk.regions.partitionmetadata.AwsIsoBPartitionMetadata;
9+
import software.amazon.awssdk.regions.partitionmetadata.AwsIsoEPartitionMetadata;
10+
import software.amazon.awssdk.regions.partitionmetadata.AwsIsoFPartitionMetadata;
811
import software.amazon.awssdk.regions.partitionmetadata.AwsIsoPartitionMetadata;
912
import software.amazon.awssdk.regions.partitionmetadata.AwsPartitionMetadata;
1013
import software.amazon.awssdk.regions.partitionmetadata.AwsUsGovPartitionMetadata;
@@ -16,7 +19,8 @@ public final class GeneratedPartitionMetadataProvider implements PartitionMetada
1619
private static final Map<String, PartitionMetadata> PARTITION_METADATA = ImmutableMap.<String, PartitionMetadata> builder()
1720
.put("aws", new AwsPartitionMetadata()).put("aws-cn", new AwsCnPartitionMetadata())
1821
.put("aws-us-gov", new AwsUsGovPartitionMetadata()).put("aws-iso", new AwsIsoPartitionMetadata())
19-
.put("aws-iso-b", new AwsIsoBPartitionMetadata()).build();
22+
.put("aws-iso-b", new AwsIsoBPartitionMetadata()).put("aws-iso-e", new AwsIsoEPartitionMetadata())
23+
.put("aws-iso-f", new AwsIsoFPartitionMetadata()).put("aws-eusc", new AwsEuscPartitionMetadata()).build();
2024

2125
public PartitionMetadata partitionMetadata(String partition) {
2226
return PARTITION_METADATA.get(partition);

0 commit comments

Comments
 (0)