Skip to content

Commit 19cdddc

Browse files
Add mixin, register it, and register the fields too.
1 parent 8dea6c7 commit 19cdddc

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

aws-lambda-java-serialization/src/main/java/com/amazonaws/services/lambda/runtime/serialization/events/LambdaEventSerializers.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ public class LambdaEventSerializers {
118118
ConnectEventMixin.ContactDataMixin.class),
119119
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.ConnectEvent$CustomerEndpoint",
120120
ConnectEventMixin.CustomerEndpointMixin.class),
121+
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.ConnectEvent$Queue", ConnectEventMixin.QueueMixin.class),
121122
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.ConnectEvent$SystemEndpoint",
122123
ConnectEventMixin.SystemEndpointMixin.class),
123124
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.DynamodbEvent",
@@ -170,6 +171,7 @@ public class LambdaEventSerializers {
170171
new NestedClass("com.amazonaws.services.lambda.runtime.events.ConnectEvent$Details"),
171172
new NestedClass("com.amazonaws.services.lambda.runtime.events.ConnectEvent$ContactData"),
172173
new NestedClass("com.amazonaws.services.lambda.runtime.events.ConnectEvent$CustomerEndpoint"),
174+
new NestedClass("com.amazonaws.services.lambda.runtime.events.ConnectEvent$Queue"),
173175
new NestedClass("com.amazonaws.services.lambda.runtime.events.ConnectEvent$SystemEndpoint"))),
174176
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.DynamodbEvent",
175177
Arrays.asList(
@@ -214,7 +216,10 @@ public class LambdaEventSerializers {
214216
*/
215217
private static final Map<String, PropertyNamingStrategy> NAMING_STRATEGY_MAP = Stream.of(
216218
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.SNSEvent",
217-
new PropertyNamingStrategy.PascalCaseStrategy()))
219+
new PropertyNamingStrategy.PascalCaseStrategy()),
220+
new SimpleEntry<>("com.amazonaws.services.lambda.runtime.events.ConnectEvent$Queue",
221+
new PropertyNamingStrategy.PascalCaseStrategy())
222+
)
218223
.collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue));
219224

220225
/**

aws-lambda-java-serialization/src/main/java/com/amazonaws/services/lambda/runtime/serialization/events/mixins/ConnectEventMixin.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ public abstract class ContactDataMixin {
6565
@JsonProperty("PreviousContactId") abstract void setPreviousContactId(String previousContactId);
6666

6767
// needed because Jackson expects "queue" instead of "Queue"
68-
@JsonProperty("Queue") abstract String getQueue();
69-
@JsonProperty("Queue") abstract void setQueue(String queue);
68+
@JsonProperty("Queue") abstract Map<String, String> getQueue();
69+
@JsonProperty("Queue") abstract void setQueue(Map<String, String> queue);
7070

7171
// needed because Jackson expects "systemEndpoint" instead of "SystemEndpoint"
7272
@JsonProperty("SystemEndpoint") abstract Map<String,String> getSystemEndpoint();
@@ -95,4 +95,9 @@ public abstract class SystemEndpointMixin {
9595
@JsonProperty("Type") abstract String getType();
9696
@JsonProperty("Type") abstract void setType(String type);
9797
}
98+
99+
public abstract class QueueMixin {
100+
@JsonProperty("Name") abstract String getName();
101+
@JsonProperty("Name") abstract void setName(String name);
102+
}
98103
}

0 commit comments

Comments
 (0)