Skip to content

Commit 5502ffe

Browse files
Merge pull request #1678 from aws/staging/f7b1b982-7203-4a35-9586-31bfd08f2955
Pull request: release <- staging/f7b1b982-7203-4a35-9586-31bfd08f2955
2 parents ef8d17f + 00651ba commit 5502ffe

File tree

354 files changed

+5016
-430
lines changed

Some content is hidden

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

354 files changed

+5016
-430
lines changed

.changes/2.17.36.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"version": "2.17.36",
3+
"date": "2021-09-08",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS SDK for Java v2",
8+
"contributor": "",
9+
"description": "Improve performance of generated enum methods"
10+
},
11+
{
12+
"type": "feature",
13+
"category": "Managed Streaming for Kafka",
14+
"contributor": "",
15+
"description": "Amazon MSK has added a new API that allows you to update the encrypting and authentication settings for an existing cluster."
16+
},
17+
{
18+
"type": "feature",
19+
"category": "AWS Resource Access Manager",
20+
"contributor": "",
21+
"description": "A minor text-only update that fixes several customer issues."
22+
},
23+
{
24+
"type": "feature",
25+
"category": "Amazon OpenSearch Service",
26+
"contributor": "",
27+
"description": "Updated Configuration APIs for Amazon OpenSearch Service (successor to Amazon Elasticsearch Service)"
28+
}
29+
]
30+
}

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
# __2.17.36__ __2021-09-08__
2+
## __AWS Resource Access Manager__
3+
- ### Features
4+
- A minor text-only update that fixes several customer issues.
5+
6+
## __AWS SDK for Java v2__
7+
- ### Features
8+
- Improve performance of generated enum methods
9+
10+
## __Amazon OpenSearch Service__
11+
- ### Features
12+
- Updated Configuration APIs for Amazon OpenSearch Service (successor to Amazon Elasticsearch Service)
13+
14+
## __Managed Streaming for Kafka__
15+
- ### Features
16+
- Amazon MSK has added a new API that allows you to update the encrypting and authentication settings for an existing cluster.
17+
118
# __2.17.35__ __2021-09-07__
219
## __AWS Elemental MediaPackage__
320
- ### Features

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ To automatically manage module versions (currently all modules have the same ver
5252
<dependency>
5353
<groupId>software.amazon.awssdk</groupId>
5454
<artifactId>bom</artifactId>
55-
<version>2.17.35</version>
55+
<version>2.17.36</version>
5656
<type>pom</type>
5757
<scope>import</scope>
5858
</dependency>
@@ -86,12 +86,12 @@ Alternatively you can add dependencies for the specific services you use only:
8686
<dependency>
8787
<groupId>software.amazon.awssdk</groupId>
8888
<artifactId>ec2</artifactId>
89-
<version>2.17.35</version>
89+
<version>2.17.36</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.17.35</version>
94+
<version>2.17.36</version>
9595
</dependency>
9696
```
9797

@@ -103,7 +103,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
103103
<dependency>
104104
<groupId>software.amazon.awssdk</groupId>
105105
<artifactId>aws-sdk-java</artifactId>
106-
<version>2.17.35</version>
106+
<version>2.17.36</version>
107107
</dependency>
108108
```
109109

archetypes/archetype-app-quickstart/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.17.35</version>
23+
<version>2.17.36</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/archetype-lambda/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.17.35</version>
23+
<version>2.17.36</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

archetypes/archetype-tools/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.17.35</version>
23+
<version>2.17.36</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.17.35</version>
23+
<version>2.17.36</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

aws-sdk-java/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.17.35</version>
20+
<version>2.17.36</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>
@@ -1398,6 +1398,11 @@ Amazon AutoScaling, etc).</description>
13981398
<artifactId>memorydb</artifactId>
13991399
<version>${awsjavasdk.version}</version>
14001400
</dependency>
1401+
<dependency>
1402+
<groupId>software.amazon.awssdk</groupId>
1403+
<artifactId>opensearch</artifactId>
1404+
<version>${awsjavasdk.version}</version>
1405+
</dependency>
14011406
</dependencies>
14021407
<build>
14031408
<finalName>${project.artifactId}-${project.version}</finalName>

bom-internal/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.17.35</version>
23+
<version>2.17.36</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

bom/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.17.35</version>
20+
<version>2.17.36</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>
@@ -1538,6 +1538,11 @@
15381538
<artifactId>memorydb</artifactId>
15391539
<version>${awsjavasdk.version}</version>
15401540
</dependency>
1541+
<dependency>
1542+
<groupId>software.amazon.awssdk</groupId>
1543+
<artifactId>opensearch</artifactId>
1544+
<version>${awsjavasdk.version}</version>
1545+
</dependency>
15411546
</dependencies>
15421547
</dependencyManagement>
15431548
</project>

bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.17.35</version>
24+
<version>2.17.36</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

codegen-lite-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.17.35</version>
25+
<version>2.17.36</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.17.35</version>
24+
<version>2.17.36</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

codegen-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.17.35</version>
25+
<version>2.17.36</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

codegen/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.17.35</version>
24+
<version>2.17.36</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

codegen/src/main/java/software/amazon/awssdk/codegen/poet/common/AbstractEnumClass.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,30 @@
1515

1616
package software.amazon.awssdk.codegen.poet.common;
1717

18+
import static javax.lang.model.element.Modifier.FINAL;
19+
import static javax.lang.model.element.Modifier.PRIVATE;
20+
import static javax.lang.model.element.Modifier.STATIC;
1821
import static software.amazon.awssdk.codegen.poet.PoetUtils.createEnumBuilder;
1922
import static software.amazon.awssdk.codegen.poet.PoetUtils.toStringBuilder;
2023

2124
import com.squareup.javapoet.ClassName;
25+
import com.squareup.javapoet.FieldSpec;
2226
import com.squareup.javapoet.MethodSpec;
2327
import com.squareup.javapoet.ParameterizedTypeName;
2428
import com.squareup.javapoet.TypeSpec;
2529
import com.squareup.javapoet.TypeSpec.Builder;
30+
import java.util.EnumSet;
31+
import java.util.Map;
2632
import java.util.Set;
27-
import java.util.stream.Collectors;
28-
import java.util.stream.Stream;
2933
import javax.lang.model.element.Modifier;
3034
import software.amazon.awssdk.codegen.model.intermediate.ShapeModel;
3135
import software.amazon.awssdk.codegen.poet.ClassSpec;
36+
import software.amazon.awssdk.utils.internal.EnumUtils;
3237

3338
public abstract class AbstractEnumClass implements ClassSpec {
3439

3540
private static final String VALUE = "value";
41+
private static final String VALUE_MAP = "VALUE_MAP";
3642
private static final String UNKNOWN_TO_SDK_VERSION = "UNKNOWN_TO_SDK_VERSION";
3743
private final ShapeModel shape;
3844

@@ -43,6 +49,7 @@ public AbstractEnumClass(ShapeModel shape) {
4349
@Override
4450
public final TypeSpec poetSpec() {
4551
Builder enumBuilder = createEnumBuilder(className())
52+
.addField(valueMapField())
4653
.addField(String.class, VALUE, Modifier.PRIVATE, Modifier.FINAL)
4754
.addMethod(toStringBuilder().addStatement("return $T.valueOf($N)", String.class, VALUE).build())
4855
.addMethod(fromValueSpec())
@@ -67,6 +74,16 @@ protected final ShapeModel getShape() {
6774
protected abstract void addJavadoc(Builder enumBuilder);
6875

6976
protected abstract void addEnumConstants(Builder enumBuilder);
77+
78+
private FieldSpec valueMapField() {
79+
ParameterizedTypeName mapType = ParameterizedTypeName.get(ClassName.get(Map.class),
80+
ClassName.get(String.class),
81+
className());
82+
return FieldSpec.builder(mapType, VALUE_MAP)
83+
.addModifiers(PRIVATE, STATIC, FINAL)
84+
.initializer("$1T.uniqueIndex($2T.class, $2T::toString)", EnumUtils.class, className())
85+
.build();
86+
}
7087

7188
private MethodSpec createConstructor() {
7289
return MethodSpec.constructorBuilder()
@@ -88,13 +105,7 @@ private MethodSpec fromValueSpec() {
88105
.beginControlFlow("if ($N == null)", VALUE)
89106
.addStatement("return null")
90107
.endControlFlow()
91-
.addStatement("return $1T.of($2T.values())\n" +
92-
".filter(e -> e.toString().equals($3N))\n" +
93-
".findFirst()\n" +
94-
".orElse(UNKNOWN_TO_SDK_VERSION)",
95-
Stream.class,
96-
className(),
97-
VALUE)
108+
.addStatement("return $N.getOrDefault($N, $N)", VALUE_MAP, VALUE, UNKNOWN_TO_SDK_VERSION)
98109
.build();
99110
}
100111

@@ -106,10 +117,9 @@ private MethodSpec knownValuesSpec() {
106117
+ "SDK.\n"
107118
+ "This will return all known enum values except {@link #$N}.\n\n"
108119
+ "@return a {@link $T} of known {@link $T}s", UNKNOWN_TO_SDK_VERSION, Set.class, className())
109-
.addStatement("return $T.of(values()).filter(v -> v != $N).collect($T.toSet())",
110-
Stream.class,
111-
UNKNOWN_TO_SDK_VERSION,
112-
Collectors.class)
120+
.addStatement("$1T<$2T> knownValues = $3T.allOf($2T.class)", Set.class, className(), EnumSet.class)
121+
.addStatement("knownValues.remove($N)", UNKNOWN_TO_SDK_VERSION)
122+
.addStatement("return knownValues")
113123
.build();
114124
}
115125
}

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/common/test-enum-class.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package software.amazon.awssdk.codegen.poet.common.model;
22

3+
import java.util.EnumSet;
4+
import java.util.Map;
35
import java.util.Set;
4-
import java.util.stream.Collectors;
5-
import java.util.stream.Stream;
66
import software.amazon.awssdk.annotations.Generated;
7+
import software.amazon.awssdk.utils.internal.EnumUtils;
78

89
/**
910
* Some comment on the class itself
@@ -16,6 +17,8 @@ public enum TestEnumClass {
1617

1718
UNKNOWN_TO_SDK_VERSION(null);
1819

20+
private static final Map<String, TestEnumClass> VALUE_MAP = EnumUtils.uniqueIndex(TestEnumClass.class, TestEnumClass::toString);
21+
1922
private final String value;
2023

2124
private TestEnumClass(String value) {
@@ -38,8 +41,7 @@ public static TestEnumClass fromValue(String value) {
3841
if (value == null) {
3942
return null;
4043
}
41-
return Stream.of(TestEnumClass.values()).filter(e -> e.toString().equals(value)).findFirst()
42-
.orElse(UNKNOWN_TO_SDK_VERSION);
44+
return VALUE_MAP.getOrDefault(value, UNKNOWN_TO_SDK_VERSION);
4345
}
4446

4547
/**
@@ -49,7 +51,9 @@ public static TestEnumClass fromValue(String value) {
4951
* @return a {@link Set} of known {@link TestEnumClass}s
5052
*/
5153
public static Set<TestEnumClass> knownValues() {
52-
return Stream.of(values()).filter(v -> v != UNKNOWN_TO_SDK_VERSION).collect(Collectors.toSet());
54+
Set<TestEnumClass> knownValues = EnumSet.allOf(TestEnumClass.class);
55+
knownValues.remove(UNKNOWN_TO_SDK_VERSION);
56+
return knownValues;
5357
}
5458
}
5559

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/eventstream.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package software.amazon.awssdk.services.jsonprotocoltests.model;
22

33
import java.util.Collections;
4+
import java.util.EnumSet;
45
import java.util.List;
6+
import java.util.Map;
57
import java.util.Set;
6-
import java.util.stream.Collectors;
7-
import java.util.stream.Stream;
88
import software.amazon.awssdk.annotations.Generated;
99
import software.amazon.awssdk.annotations.SdkPublicApi;
1010
import software.amazon.awssdk.core.SdkField;
@@ -14,6 +14,7 @@
1414
import software.amazon.awssdk.services.jsonprotocoltests.model.eventstream.DefaultEventthree;
1515
import software.amazon.awssdk.services.jsonprotocoltests.model.eventstream.DefaultSecondEventOne;
1616
import software.amazon.awssdk.services.jsonprotocoltests.model.eventstream.DefaultSecondEventTwo;
17+
import software.amazon.awssdk.utils.internal.EnumUtils;
1718

1819
/**
1920
* Base interface for all event types in EventStream.
@@ -103,6 +104,8 @@ enum EventType {
103104

104105
UNKNOWN_TO_SDK_VERSION(null);
105106

107+
private static final Map<String, EventType> VALUE_MAP = EnumUtils.uniqueIndex(EventType.class, EventType::toString);
108+
106109
private final String value;
107110

108111
private EventType(String value) {
@@ -125,8 +128,7 @@ public static EventType fromValue(String value) {
125128
if (value == null) {
126129
return null;
127130
}
128-
return Stream.of(EventType.values()).filter(e -> e.toString().equals(value)).findFirst()
129-
.orElse(UNKNOWN_TO_SDK_VERSION);
131+
return VALUE_MAP.getOrDefault(value, UNKNOWN_TO_SDK_VERSION);
130132
}
131133

132134
/**
@@ -136,7 +138,9 @@ public static EventType fromValue(String value) {
136138
* @return a {@link Set} of known {@link EventType}s
137139
*/
138140
public static Set<EventType> knownValues() {
139-
return Stream.of(values()).filter(v -> v != UNKNOWN_TO_SDK_VERSION).collect(Collectors.toSet());
141+
Set<EventType> knownValues = EnumSet.allOf(EventType.class);
142+
knownValues.remove(UNKNOWN_TO_SDK_VERSION);
143+
return knownValues;
140144
}
141145
}
142146
}

0 commit comments

Comments
 (0)