Skip to content

Commit d0aa2cf

Browse files
authored
Merge pull request #2395 from duy3101/master
Added support for short type in Code generator
2 parents 51e6d71 + b8b218e commit d0aa2cf

File tree

42 files changed

+270
-9
lines changed

Some content is hidden

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

42 files changed

+270
-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": "duy310",
5+
"description": "Added support for short type in Code generator."
6+
}

codegen/src/main/java/software/amazon/awssdk/codegen/internal/TypeUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public static final class TypeKey {
8383
MARSHALLING_TYPE_MAPPINGS.put("Boolean", "BOOLEAN");
8484
MARSHALLING_TYPE_MAPPINGS.put("BigDecimal", "BIG_DECIMAL");
8585
MARSHALLING_TYPE_MAPPINGS.put("InputStream", "STREAM");
86+
MARSHALLING_TYPE_MAPPINGS.put("Short", "SHORT");
8687
MARSHALLING_TYPE_MAPPINGS.put(null, "NULL");
8788
}
8889

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

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ public final class AllTypesRequest extends JsonProtocolTestsRequest implements
6363
.memberName("LongMember").getter(getter(AllTypesRequest::longMember)).setter(setter(Builder::longMember))
6464
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LongMember").build()).build();
6565

66+
private static final SdkField<Short> SHORT_MEMBER_FIELD = SdkField.<Short> builder(MarshallingType.SHORT)
67+
.memberName("ShortMember").getter(getter(AllTypesRequest::shortMember)).setter(setter(Builder::shortMember))
68+
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ShortMember").build()).build();
69+
6670
private static final SdkField<List<String>> SIMPLE_LIST_FIELD = SdkField
6771
.<List<String>> builder(MarshallingType.LIST)
6872
.memberName("SimpleList")
@@ -422,7 +426,7 @@ SdkField.<SdkBytes> builder(MarshallingType.SDK_BYTES)
422426

423427
private static final List<SdkField<?>> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(STRING_MEMBER_FIELD,
424428
INTEGER_MEMBER_FIELD, BOOLEAN_MEMBER_FIELD, FLOAT_MEMBER_FIELD, DOUBLE_MEMBER_FIELD, LONG_MEMBER_FIELD,
425-
SIMPLE_LIST_FIELD, LIST_OF_ENUMS_FIELD, LIST_OF_MAPS_FIELD, LIST_OF_STRUCTS_FIELD,
429+
SHORT_MEMBER_FIELD, SIMPLE_LIST_FIELD, LIST_OF_ENUMS_FIELD, LIST_OF_MAPS_FIELD, LIST_OF_STRUCTS_FIELD,
426430
LIST_OF_MAP_OF_ENUM_TO_STRING_FIELD, LIST_OF_MAP_OF_STRING_TO_STRUCT_FIELD, MAP_OF_STRING_TO_INTEGER_LIST_FIELD,
427431
MAP_OF_STRING_TO_STRING_FIELD, MAP_OF_STRING_TO_SIMPLE_STRUCT_FIELD, MAP_OF_ENUM_TO_ENUM_FIELD,
428432
MAP_OF_ENUM_TO_STRING_FIELD, MAP_OF_STRING_TO_ENUM_FIELD, MAP_OF_ENUM_TO_SIMPLE_STRUCT_FIELD,
@@ -443,6 +447,8 @@ SdkField.<SdkBytes> builder(MarshallingType.SDK_BYTES)
443447

444448
private final Long longMember;
445449

450+
private final Short shortMember;
451+
446452
private final List<String> simpleList;
447453

448454
private final List<String> listOfEnums;
@@ -503,6 +509,7 @@ private AllTypesRequest(BuilderImpl builder) {
503509
this.floatMember = builder.floatMember;
504510
this.doubleMember = builder.doubleMember;
505511
this.longMember = builder.longMember;
512+
this.shortMember = builder.shortMember;
506513
this.simpleList = builder.simpleList;
507514
this.listOfEnums = builder.listOfEnums;
508515
this.listOfMaps = builder.listOfMaps;
@@ -585,6 +592,15 @@ public final Long longMember() {
585592
return longMember;
586593
}
587594

595+
/**
596+
* Returns the value of the ShortMember property for this object.
597+
*
598+
* @return The value of the ShortMember property for this object.
599+
*/
600+
public final Short shortMember() {
601+
return shortMember;
602+
}
603+
588604
/**
589605
* Returns true if the SimpleList property was specified by the sender (it may be empty), or false if the sender did
590606
* not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service.
@@ -1232,6 +1248,7 @@ public final int hashCode() {
12321248
hashCode = 31 * hashCode + Objects.hashCode(floatMember());
12331249
hashCode = 31 * hashCode + Objects.hashCode(doubleMember());
12341250
hashCode = 31 * hashCode + Objects.hashCode(longMember());
1251+
hashCode = 31 * hashCode + Objects.hashCode(shortMember());
12351252
hashCode = 31 * hashCode + Objects.hashCode(hasSimpleList() ? simpleList() : null);
12361253
hashCode = 31 * hashCode + Objects.hashCode(hasListOfEnums() ? listOfEnumsAsStrings() : null);
12371254
hashCode = 31 * hashCode + Objects.hashCode(hasListOfMaps() ? listOfMaps() : null);
@@ -1282,6 +1299,7 @@ public final boolean equalsBySdkFields(Object obj) {
12821299
return Objects.equals(stringMember(), other.stringMember()) && Objects.equals(integerMember(), other.integerMember())
12831300
&& Objects.equals(booleanMember(), other.booleanMember()) && Objects.equals(floatMember(), other.floatMember())
12841301
&& Objects.equals(doubleMember(), other.doubleMember()) && Objects.equals(longMember(), other.longMember())
1302+
&& Objects.equals(shortMember(), other.shortMember())
12851303
&& hasSimpleList() == other.hasSimpleList() && Objects.equals(simpleList(), other.simpleList())
12861304
&& hasListOfEnums() == other.hasListOfEnums()
12871305
&& Objects.equals(listOfEnumsAsStrings(), other.listOfEnumsAsStrings())
@@ -1336,6 +1354,7 @@ public final String toString() {
13361354
.add("FloatMember", floatMember())
13371355
.add("DoubleMember", doubleMember())
13381356
.add("LongMember", longMember())
1357+
.add("ShortMember", shortMember())
13391358
.add("SimpleList", hasSimpleList() ? simpleList() : null)
13401359
.add("ListOfEnums", hasListOfEnums() ? listOfEnumsAsStrings() : null)
13411360
.add("ListOfMaps", hasListOfMaps() ? listOfMaps() : null)
@@ -1375,6 +1394,8 @@ public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
13751394
return Optional.ofNullable(clazz.cast(doubleMember()));
13761395
case "LongMember":
13771396
return Optional.ofNullable(clazz.cast(longMember()));
1397+
case "ShortMember":
1398+
return Optional.ofNullable(clazz.cast(shortMember()));
13781399
case "SimpleList":
13791400
return Optional.ofNullable(clazz.cast(simpleList()));
13801401
case "ListOfEnums":
@@ -1500,6 +1521,15 @@ public interface Builder extends JsonProtocolTestsRequest.Builder, SdkPojo, Copy
15001521
*/
15011522
Builder longMember(Long longMember);
15021523

1524+
/**
1525+
* Sets the value of the ShortMember property for this object.
1526+
*
1527+
* @param shortMember
1528+
* The new value for the ShortMember property for this object.
1529+
* @return Returns a reference to this object so that method calls can be chained together.
1530+
*/
1531+
Builder shortMember(Short shortMember);
1532+
15031533
/**
15041534
* Sets the value of the SimpleList property for this object.
15051535
*
@@ -2027,6 +2057,8 @@ static final class BuilderImpl extends JsonProtocolTestsRequest.BuilderImpl impl
20272057

20282058
private Long longMember;
20292059

2060+
private Short shortMember;
2061+
20302062
private List<String> simpleList = DefaultSdkAutoConstructList.getInstance();
20312063

20322064
private List<String> listOfEnums = DefaultSdkAutoConstructList.getInstance();
@@ -2090,6 +2122,7 @@ private BuilderImpl(AllTypesRequest model) {
20902122
floatMember(model.floatMember);
20912123
doubleMember(model.doubleMember);
20922124
longMember(model.longMember);
2125+
shortMember(model.shortMember);
20932126
simpleList(model.simpleList);
20942127
listOfEnumsWithStrings(model.listOfEnums);
20952128
listOfMaps(model.listOfMaps);
@@ -2202,6 +2235,20 @@ public final void setLongMember(Long longMember) {
22022235
this.longMember = longMember;
22032236
}
22042237

2238+
public final Short getShortMember() {
2239+
return shortMember;
2240+
}
2241+
2242+
@Override
2243+
public final Builder shortMember(Short shortMember) {
2244+
this.shortMember = shortMember;
2245+
return this;
2246+
}
2247+
2248+
public final void setShortMember(Short shortMember) {
2249+
this.shortMember = shortMember;
2250+
}
2251+
22052252
public final Collection<String> getSimpleList() {
22062253
if (simpleList instanceof SdkAutoConstructList) {
22072254
return null;

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

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ public final class AllTypesResponse extends JsonProtocolTestsResponse implements
6262
.memberName("LongMember").getter(getter(AllTypesResponse::longMember)).setter(setter(Builder::longMember))
6363
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LongMember").build()).build();
6464

65+
private static final SdkField<Short> SHORT_MEMBER_FIELD = SdkField.<Short> builder(MarshallingType.SHORT)
66+
.memberName("ShortMember").getter(getter(AllTypesResponse::shortMember)).setter(setter(Builder::shortMember))
67+
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ShortMember").build()).build();
68+
6569
private static final SdkField<List<String>> SIMPLE_LIST_FIELD = SdkField
6670
.<List<String>> builder(MarshallingType.LIST)
6771
.memberName("SimpleList")
@@ -421,7 +425,7 @@ SdkField.<SdkBytes> builder(MarshallingType.SDK_BYTES)
421425

422426
private static final List<SdkField<?>> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(STRING_MEMBER_FIELD,
423427
INTEGER_MEMBER_FIELD, BOOLEAN_MEMBER_FIELD, FLOAT_MEMBER_FIELD, DOUBLE_MEMBER_FIELD, LONG_MEMBER_FIELD,
424-
SIMPLE_LIST_FIELD, LIST_OF_ENUMS_FIELD, LIST_OF_MAPS_FIELD, LIST_OF_STRUCTS_FIELD,
428+
SHORT_MEMBER_FIELD, SIMPLE_LIST_FIELD, LIST_OF_ENUMS_FIELD, LIST_OF_MAPS_FIELD, LIST_OF_STRUCTS_FIELD,
425429
LIST_OF_MAP_OF_ENUM_TO_STRING_FIELD, LIST_OF_MAP_OF_STRING_TO_STRUCT_FIELD, MAP_OF_STRING_TO_INTEGER_LIST_FIELD,
426430
MAP_OF_STRING_TO_STRING_FIELD, MAP_OF_STRING_TO_SIMPLE_STRUCT_FIELD, MAP_OF_ENUM_TO_ENUM_FIELD,
427431
MAP_OF_ENUM_TO_STRING_FIELD, MAP_OF_STRING_TO_ENUM_FIELD, MAP_OF_ENUM_TO_SIMPLE_STRUCT_FIELD,
@@ -442,6 +446,8 @@ SdkField.<SdkBytes> builder(MarshallingType.SDK_BYTES)
442446

443447
private final Long longMember;
444448

449+
private final Short shortMember;
450+
445451
private final List<String> simpleList;
446452

447453
private final List<String> listOfEnums;
@@ -502,6 +508,7 @@ private AllTypesResponse(BuilderImpl builder) {
502508
this.floatMember = builder.floatMember;
503509
this.doubleMember = builder.doubleMember;
504510
this.longMember = builder.longMember;
511+
this.shortMember = builder.shortMember;
505512
this.simpleList = builder.simpleList;
506513
this.listOfEnums = builder.listOfEnums;
507514
this.listOfMaps = builder.listOfMaps;
@@ -584,6 +591,15 @@ public final Long longMember() {
584591
return longMember;
585592
}
586593

594+
/**
595+
* Returns the value of the ShortMember property for this object.
596+
*
597+
* @return The value of the ShortMember property for this object.
598+
*/
599+
public final Short shortMember() {
600+
return shortMember;
601+
}
602+
587603
/**
588604
* Returns true if the SimpleList property was specified by the sender (it may be empty), or false if the sender did
589605
* not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service.
@@ -1231,6 +1247,7 @@ public final int hashCode() {
12311247
hashCode = 31 * hashCode + Objects.hashCode(floatMember());
12321248
hashCode = 31 * hashCode + Objects.hashCode(doubleMember());
12331249
hashCode = 31 * hashCode + Objects.hashCode(longMember());
1250+
hashCode = 31 * hashCode + Objects.hashCode(shortMember());
12341251
hashCode = 31 * hashCode + Objects.hashCode(hasSimpleList() ? simpleList() : null);
12351252
hashCode = 31 * hashCode + Objects.hashCode(hasListOfEnums() ? listOfEnumsAsStrings() : null);
12361253
hashCode = 31 * hashCode + Objects.hashCode(hasListOfMaps() ? listOfMaps() : null);
@@ -1281,6 +1298,7 @@ public final boolean equalsBySdkFields(Object obj) {
12811298
return Objects.equals(stringMember(), other.stringMember()) && Objects.equals(integerMember(), other.integerMember())
12821299
&& Objects.equals(booleanMember(), other.booleanMember()) && Objects.equals(floatMember(), other.floatMember())
12831300
&& Objects.equals(doubleMember(), other.doubleMember()) && Objects.equals(longMember(), other.longMember())
1301+
&& Objects.equals(shortMember(), other.shortMember())
12841302
&& hasSimpleList() == other.hasSimpleList() && Objects.equals(simpleList(), other.simpleList())
12851303
&& hasListOfEnums() == other.hasListOfEnums()
12861304
&& Objects.equals(listOfEnumsAsStrings(), other.listOfEnumsAsStrings())
@@ -1335,6 +1353,7 @@ public final String toString() {
13351353
.add("FloatMember", floatMember())
13361354
.add("DoubleMember", doubleMember())
13371355
.add("LongMember", longMember())
1356+
.add("ShortMember", shortMember())
13381357
.add("SimpleList", hasSimpleList() ? simpleList() : null)
13391358
.add("ListOfEnums", hasListOfEnums() ? listOfEnumsAsStrings() : null)
13401359
.add("ListOfMaps", hasListOfMaps() ? listOfMaps() : null)
@@ -1374,6 +1393,8 @@ public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
13741393
return Optional.ofNullable(clazz.cast(doubleMember()));
13751394
case "LongMember":
13761395
return Optional.ofNullable(clazz.cast(longMember()));
1396+
case "ShortMember":
1397+
return Optional.ofNullable(clazz.cast(shortMember()));
13771398
case "SimpleList":
13781399
return Optional.ofNullable(clazz.cast(simpleList()));
13791400
case "ListOfEnums":
@@ -1499,6 +1520,15 @@ public interface Builder extends JsonProtocolTestsResponse.Builder, SdkPojo, Cop
14991520
*/
15001521
Builder longMember(Long longMember);
15011522

1523+
/**
1524+
* Sets the value of the ShortMember property for this object.
1525+
*
1526+
* @param shortMember
1527+
* The new value for the ShortMember property for this object.
1528+
* @return Returns a reference to this object so that method calls can be chained together.
1529+
*/
1530+
Builder shortMember(Short shortMember);
1531+
15021532
/**
15031533
* Sets the value of the SimpleList property for this object.
15041534
*
@@ -2020,6 +2050,8 @@ static final class BuilderImpl extends JsonProtocolTestsResponse.BuilderImpl imp
20202050

20212051
private Long longMember;
20222052

2053+
private Short shortMember;
2054+
20232055
private List<String> simpleList = DefaultSdkAutoConstructList.getInstance();
20242056

20252057
private List<String> listOfEnums = DefaultSdkAutoConstructList.getInstance();
@@ -2083,6 +2115,7 @@ private BuilderImpl(AllTypesResponse model) {
20832115
floatMember(model.floatMember);
20842116
doubleMember(model.doubleMember);
20852117
longMember(model.longMember);
2118+
shortMember(model.shortMember);
20862119
simpleList(model.simpleList);
20872120
listOfEnumsWithStrings(model.listOfEnums);
20882121
listOfMaps(model.listOfMaps);
@@ -2195,6 +2228,20 @@ public final void setLongMember(Long longMember) {
21952228
this.longMember = longMember;
21962229
}
21972230

2231+
public final Short getShortMember() {
2232+
return shortMember;
2233+
}
2234+
2235+
@Override
2236+
public final Builder shortMember(Short shortMember) {
2237+
this.shortMember = shortMember;
2238+
return this;
2239+
}
2240+
2241+
public final void setShortMember(Short shortMember) {
2242+
this.shortMember = shortMember;
2243+
}
2244+
21982245
public final Collection<String> getSimpleList() {
21992246
if (simpleList instanceof SdkAutoConstructList) {
22002247
return null;

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/service-2.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
"FloatMember":{"shape":"Float"},
115115
"DoubleMember":{"shape":"Double"},
116116
"LongMember":{"shape":"Long"},
117+
"ShortMember":{"shape":"Short"},
117118
"SimpleList":{"shape":"ListOfStrings"},
118119
"ListOfEnums":{"shape":"ListOfEnums"},
119120
"ListOfMaps":{"shape":"ListOfMapStringToString"},
@@ -246,6 +247,7 @@
246247
"member":{"shape":"MapOfStringToSimpleStruct"}
247248
},
248249
"Long":{"type":"long"},
250+
"Short":{"type":"short"},
249251
"MapOfStringToIntegerList":{
250252
"type":"map",
251253
"key":{"shape":"String"},

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/paginators/service-2.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
"FloatMember":{"shape":"Float"},
112112
"DoubleMember":{"shape":"Double"},
113113
"LongMember":{"shape":"Long"},
114+
"ShortMember":{"shape":"Short"},
114115
"SimpleList":{"shape":"ListOfStrings"},
115116
"ListOfEnums":{"shape":"ListOfEnums"},
116117
"ListOfMaps":{"shape":"ListOfMapStringToString"},
@@ -198,6 +199,7 @@
198199
"member":{"shape":"EnumType"}
199200
},
200201
"Long":{"type":"long"},
202+
"Short":{"type":"short"},
201203
"MapOfStringToIntegerList":{
202204
"type":"map",
203205
"key":{"shape":"String"},

codegen/src/test/resources/software/amazon/awssdk/codegen/poet/transform/service-2.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"FloatMember":{"shape":"Float"},
9393
"DoubleMember":{"shape":"Double"},
9494
"LongMember":{"shape":"Long"},
95+
"ShortMember":{"shape":"Short"},
9596
"SimpleList":{"shape":"ListOfStrings"},
9697
"ListOfEnums":{"shape":"ListOfEnums"},
9798
"ListOfMaps":{"shape":"ListOfMapStringToString"},
@@ -179,6 +180,7 @@
179180
"member":{"shape":"EnumType"}
180181
},
181182
"Long":{"type":"long"},
183+
"Short":{"type":"short"},
182184
"MapOfStringToIntegerList":{
183185
"type":"map",
184186
"key":{"shape":"String"},

core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/marshall/HeaderMarshaller.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ public final class HeaderMarshaller {
3434

3535
public static final JsonMarshaller<Long> LONG = new SimpleHeaderMarshaller<>(ValueToStringConverter.FROM_LONG);
3636

37+
public static final JsonMarshaller<Short> SHORT = new SimpleHeaderMarshaller<>(ValueToStringConverter.FROM_SHORT);
38+
3739
public static final JsonMarshaller<Double> DOUBLE = new SimpleHeaderMarshaller<>(ValueToStringConverter.FROM_DOUBLE);
3840

3941
public static final JsonMarshaller<Float> FLOAT = new SimpleHeaderMarshaller<>(ValueToStringConverter.FROM_FLOAT);

0 commit comments

Comments
 (0)