Skip to content

Commit 31dbe2b

Browse files
authored
Add new properties on AcsMessageReceivedEventData (Azure#44124)
1 parent eaa1098 commit 31dbe2b

File tree

15 files changed

+623
-234
lines changed

15 files changed

+623
-234
lines changed

sdk/eventgrid/azure-messaging-eventgrid-systemevents/customization/src/main/java/EventGridSystemEventsCustomization.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void customize(LibraryCustomization customization, Logger logger) {
6363
customizeAcsRouterEvents(customization, logger);
6464
customizeAcsRecordingFileStatusUpdatedEventDataDuration(customization, logger);
6565
customizeStorageDirectoryDeletedEventData(customization, logger);
66-
customizeAcsMessageEventData(customization, logger);
66+
customizeAcsMessageEventDataAndInheritingClasses(customization, logger);
6767
generateSystemEventNames(customization, logger);
6868
}
6969

@@ -232,20 +232,27 @@ public void customizeStorageDirectoryDeletedEventData(LibraryCustomization custo
232232
classCustomization.getMethod("getRecursive").rename("isRecursive").setReturnType("Boolean", "Boolean.getBoolean(%s)");
233233
}
234234

235-
public void customizeAcsMessageEventData(LibraryCustomization customization, Logger logger) {
235+
public void customizeAcsMessageEventDataAndInheritingClasses(LibraryCustomization customization, Logger logger) {
236236
PackageCustomization packageModels = customization.getPackage("com.azure.messaging.eventgrid.systemevents");
237-
ClassCustomization classCustomization = packageModels.getClass("AcsMessageEventData");
238-
classCustomization.addImports("com.azure.core.models.ResponseError");
239-
classCustomization.customizeAst(comp -> {
240-
ClassOrInterfaceDeclaration clazz = comp.getClassByName("AcsMessageEventData").get();
241-
// Fix up the getError method to always return a ResponseError.
242-
clazz.getMethodsByName("getError").forEach(m -> {
243-
m.setType("ResponseError")
244-
.setBody(parseBlock("{ return new ResponseError(this.error.getChannelCode(), this.error.getChannelMessage()); }"))
245-
.setJavadocComment(new Javadoc(new JavadocDescription(List.of(new JavadocSnippet("Get the error property: The channel error code and message."))))
246-
.addBlockTag("return", "the error value."));
237+
List<String> classNames = Arrays.asList(
238+
"AcsMessageEventData",
239+
"AcsMessageDeliveryStatusUpdatedEventData",
240+
"AcsMessageReceivedEventData"
241+
);
242+
for (String className : classNames) {
243+
ClassCustomization classCustomization = packageModels.getClass(className);
244+
classCustomization.addImports("com.azure.core.models.ResponseError");
245+
classCustomization.customizeAst(comp -> {
246+
ClassOrInterfaceDeclaration clazz = comp.getClassByName(className).get();
247+
// Fix up the getError method to always return a ResponseError.
248+
clazz.getMethodsByName("getError").forEach(m -> {
249+
m.setType("ResponseError")
250+
.setBody(parseBlock("{ return new ResponseError(this.error.getChannelCode(), this.error.getChannelMessage()); }"))
251+
.setJavadocComment(new Javadoc(new JavadocDescription(List.of(new JavadocSnippet("Get the error property: The channel error code and message."))))
252+
.addBlockTag("return", "the error value."));
253+
});
247254
});
248-
});
255+
}
249256
}
250257

251258
public static String getConstantName(String name) {

sdk/eventgrid/azure-messaging-eventgrid-systemevents/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsMessageDeliveryStatusUpdatedEventData.java

Lines changed: 30 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33
// Code generated by Microsoft (R) TypeSpec Code Generator.
4-
54
package com.azure.messaging.eventgrid.systemevents;
65

76
import com.azure.core.annotation.Generated;
87
import com.azure.core.annotation.Immutable;
8+
import com.azure.core.models.ResponseError;
99
import com.azure.core.util.CoreUtils;
1010
import com.azure.json.JsonReader;
1111
import com.azure.json.JsonToken;
@@ -21,6 +21,7 @@
2121
*/
2222
@Immutable
2323
public final class AcsMessageDeliveryStatusUpdatedEventData extends AcsMessageEventData {
24+
2425
/*
2526
* The message id
2627
*/
@@ -40,36 +41,31 @@ public final class AcsMessageDeliveryStatusUpdatedEventData extends AcsMessageEv
4041
private final AcsMessageChannelKind channelKind;
4142

4243
/*
43-
* The message recipient
44+
* The channel event error
4445
*/
4546
@Generated
46-
private String to;
47-
48-
/*
49-
* The message sender
50-
*/
51-
@Generated
52-
private String from;
47+
private AcsMessageChannelEventError error;
5348

5449
/**
5550
* Creates an instance of AcsMessageDeliveryStatusUpdatedEventData class.
56-
*
51+
*
52+
* @param from the from value to set.
53+
* @param to the to value to set.
5754
* @param receivedTimestamp the receivedTimestamp value to set.
58-
* @param error the error value to set.
5955
* @param status the status value to set.
6056
* @param channelKind the channelKind value to set.
6157
*/
6258
@Generated
63-
private AcsMessageDeliveryStatusUpdatedEventData(OffsetDateTime receivedTimestamp,
64-
AcsMessageChannelEventError error, AcsMessageDeliveryStatus status, AcsMessageChannelKind channelKind) {
65-
super(receivedTimestamp, error);
59+
private AcsMessageDeliveryStatusUpdatedEventData(String from, String to, OffsetDateTime receivedTimestamp,
60+
AcsMessageDeliveryStatus status, AcsMessageChannelKind channelKind) {
61+
super(from, to, receivedTimestamp);
6662
this.status = status;
6763
this.channelKind = channelKind;
6864
}
6965

7066
/**
7167
* Get the messageId property: The message id.
72-
*
68+
*
7369
* @return the messageId value.
7470
*/
7571
@Generated
@@ -79,7 +75,7 @@ public String getMessageId() {
7975

8076
/**
8177
* Get the status property: The updated message status.
82-
*
78+
*
8379
* @return the status value.
8480
*/
8581
@Generated
@@ -89,7 +85,7 @@ public AcsMessageDeliveryStatus getStatus() {
8985

9086
/**
9187
* Get the channelKind property: The updated message channel type.
92-
*
88+
*
9389
* @return the channelKind value.
9490
*/
9591
@Generated
@@ -98,25 +94,14 @@ public AcsMessageChannelKind getChannelKind() {
9894
}
9995

10096
/**
101-
* Get the to property: The message recipient.
102-
*
103-
* @return the to value.
104-
*/
105-
@Generated
106-
@Override
107-
public String getTo() {
108-
return this.to;
109-
}
110-
111-
/**
112-
* Get the from property: The message sender.
113-
*
114-
* @return the from value.
97+
* Get the error property: The channel error code and message.
98+
*
99+
* @return the error value.
115100
*/
116101
@Generated
117102
@Override
118-
public String getFrom() {
119-
return this.from;
103+
public ResponseError getError() {
104+
return new ResponseError(this.error.getChannelCode(), this.error.getChannelMessage());
120105
}
121106

122107
/**
@@ -126,13 +111,13 @@ public String getFrom() {
126111
@Override
127112
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
128113
jsonWriter.writeStartObject();
114+
jsonWriter.writeStringField("from", getFrom());
115+
jsonWriter.writeStringField("to", getTo());
129116
jsonWriter.writeStringField("receivedTimeStamp",
130117
getReceivedTimestamp() == null
131118
? null
132119
: DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getReceivedTimestamp()));
133120
jsonWriter.writeJsonField("error", getError());
134-
jsonWriter.writeStringField("from", getFrom());
135-
jsonWriter.writeStringField("to", getTo());
136121
jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
137122
jsonWriter.writeStringField("channelType", this.channelKind == null ? null : this.channelKind.toString());
138123
jsonWriter.writeStringField("messageId", this.messageId);
@@ -141,7 +126,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
141126

142127
/**
143128
* Reads an instance of AcsMessageDeliveryStatusUpdatedEventData from the JsonReader.
144-
*
129+
*
145130
* @param jsonReader The JsonReader being read.
146131
* @return An instance of AcsMessageDeliveryStatusUpdatedEventData if the JsonReader was pointing to an instance of
147132
* it, or null if it was pointing to JSON null.
@@ -151,26 +136,25 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
151136
@Generated
152137
public static AcsMessageDeliveryStatusUpdatedEventData fromJson(JsonReader jsonReader) throws IOException {
153138
return jsonReader.readObject(reader -> {
154-
OffsetDateTime receivedTimestamp = null;
155-
AcsMessageChannelEventError error = null;
156139
String from = null;
157140
String to = null;
141+
OffsetDateTime receivedTimestamp = null;
142+
AcsMessageChannelEventError error = null;
158143
AcsMessageDeliveryStatus status = null;
159144
AcsMessageChannelKind channelKind = null;
160145
String messageId = null;
161146
while (reader.nextToken() != JsonToken.END_OBJECT) {
162147
String fieldName = reader.getFieldName();
163148
reader.nextToken();
164-
165-
if ("receivedTimeStamp".equals(fieldName)) {
149+
if ("from".equals(fieldName)) {
150+
from = reader.getString();
151+
} else if ("to".equals(fieldName)) {
152+
to = reader.getString();
153+
} else if ("receivedTimeStamp".equals(fieldName)) {
166154
receivedTimestamp = reader
167155
.getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
168156
} else if ("error".equals(fieldName)) {
169157
error = AcsMessageChannelEventError.fromJson(reader);
170-
} else if ("from".equals(fieldName)) {
171-
from = reader.getString();
172-
} else if ("to".equals(fieldName)) {
173-
to = reader.getString();
174158
} else if ("status".equals(fieldName)) {
175159
status = AcsMessageDeliveryStatus.fromString(reader.getString());
176160
} else if ("channelType".equals(fieldName)) {
@@ -182,11 +166,9 @@ public static AcsMessageDeliveryStatusUpdatedEventData fromJson(JsonReader jsonR
182166
}
183167
}
184168
AcsMessageDeliveryStatusUpdatedEventData deserializedAcsMessageDeliveryStatusUpdatedEventData
185-
= new AcsMessageDeliveryStatusUpdatedEventData(receivedTimestamp, error, status, channelKind);
186-
deserializedAcsMessageDeliveryStatusUpdatedEventData.from = from;
187-
deserializedAcsMessageDeliveryStatusUpdatedEventData.to = to;
169+
= new AcsMessageDeliveryStatusUpdatedEventData(from, to, receivedTimestamp, status, channelKind);
170+
deserializedAcsMessageDeliveryStatusUpdatedEventData.error = error;
188171
deserializedAcsMessageDeliveryStatusUpdatedEventData.messageId = messageId;
189-
190172
return deserializedAcsMessageDeliveryStatusUpdatedEventData;
191173
});
192174
}

sdk/eventgrid/azure-messaging-eventgrid-systemevents/src/main/java/com/azure/messaging/eventgrid/systemevents/AcsMessageEventData.java

Lines changed: 31 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ public class AcsMessageEventData implements JsonSerializable<AcsMessageEventData
2626
* The message sender
2727
*/
2828
@Generated
29-
private String from;
29+
private final String from;
3030

3131
/*
3232
* The message recipient
3333
*/
3434
@Generated
35-
private String to;
35+
private final String to;
3636

3737
/*
3838
* The time message was received
@@ -44,18 +44,20 @@ public class AcsMessageEventData implements JsonSerializable<AcsMessageEventData
4444
* The channel event error
4545
*/
4646
@Generated
47-
private final AcsMessageChannelEventError error;
47+
private AcsMessageChannelEventError error;
4848

4949
/**
5050
* Creates an instance of AcsMessageEventData class.
5151
*
52+
* @param from the from value to set.
53+
* @param to the to value to set.
5254
* @param receivedTimestamp the receivedTimestamp value to set.
53-
* @param error the error value to set.
5455
*/
5556
@Generated
56-
protected AcsMessageEventData(OffsetDateTime receivedTimestamp, AcsMessageChannelEventError error) {
57+
protected AcsMessageEventData(String from, String to, OffsetDateTime receivedTimestamp) {
58+
this.from = from;
59+
this.to = to;
5760
this.receivedTimestamp = receivedTimestamp;
58-
this.error = error;
5961
}
6062

6163
/**
@@ -68,18 +70,6 @@ public String getFrom() {
6870
return this.from;
6971
}
7072

71-
/**
72-
* Set the from property: The message sender.
73-
*
74-
* @param from the from value to set.
75-
* @return the AcsMessageEventData object itself.
76-
*/
77-
@Generated
78-
AcsMessageEventData setFrom(String from) {
79-
this.from = from;
80-
return this;
81-
}
82-
8373
/**
8474
* Get the to property: The message recipient.
8575
*
@@ -90,18 +80,6 @@ public String getTo() {
9080
return this.to;
9181
}
9282

93-
/**
94-
* Set the to property: The message recipient.
95-
*
96-
* @param to the to value to set.
97-
* @return the AcsMessageEventData object itself.
98-
*/
99-
@Generated
100-
AcsMessageEventData setTo(String to) {
101-
this.to = to;
102-
return this;
103-
}
104-
10583
/**
10684
* Get the receivedTimestamp property: The time message was received.
10785
*
@@ -122,20 +100,32 @@ public ResponseError getError() {
122100
return new ResponseError(this.error.getChannelCode(), this.error.getChannelMessage());
123101
}
124102

103+
/**
104+
* Set the error property: The channel event error.
105+
*
106+
* @param error the error value to set.
107+
* @return the AcsMessageEventData object itself.
108+
*/
109+
@Generated
110+
AcsMessageEventData setError(AcsMessageChannelEventError error) {
111+
this.error = error;
112+
return this;
113+
}
114+
125115
/**
126116
* {@inheritDoc}
127117
*/
128118
@Generated
129119
@Override
130120
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
131121
jsonWriter.writeStartObject();
122+
jsonWriter.writeStringField("from", this.from);
123+
jsonWriter.writeStringField("to", this.to);
132124
jsonWriter.writeStringField("receivedTimeStamp",
133125
this.receivedTimestamp == null
134126
? null
135127
: DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.receivedTimestamp));
136128
jsonWriter.writeJsonField("error", this.error);
137-
jsonWriter.writeStringField("from", this.from);
138-
jsonWriter.writeStringField("to", this.to);
139129
return jsonWriter.writeEndObject();
140130
}
141131

@@ -151,29 +141,28 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
151141
@Generated
152142
public static AcsMessageEventData fromJson(JsonReader jsonReader) throws IOException {
153143
return jsonReader.readObject(reader -> {
154-
OffsetDateTime receivedTimestamp = null;
155-
AcsMessageChannelEventError error = null;
156144
String from = null;
157145
String to = null;
146+
OffsetDateTime receivedTimestamp = null;
147+
AcsMessageChannelEventError error = null;
158148
while (reader.nextToken() != JsonToken.END_OBJECT) {
159149
String fieldName = reader.getFieldName();
160150
reader.nextToken();
161-
if ("receivedTimeStamp".equals(fieldName)) {
151+
if ("from".equals(fieldName)) {
152+
from = reader.getString();
153+
} else if ("to".equals(fieldName)) {
154+
to = reader.getString();
155+
} else if ("receivedTimeStamp".equals(fieldName)) {
162156
receivedTimestamp = reader
163157
.getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
164158
} else if ("error".equals(fieldName)) {
165159
error = AcsMessageChannelEventError.fromJson(reader);
166-
} else if ("from".equals(fieldName)) {
167-
from = reader.getString();
168-
} else if ("to".equals(fieldName)) {
169-
to = reader.getString();
170160
} else {
171161
reader.skipChildren();
172162
}
173163
}
174-
AcsMessageEventData deserializedAcsMessageEventData = new AcsMessageEventData(receivedTimestamp, error);
175-
deserializedAcsMessageEventData.from = from;
176-
deserializedAcsMessageEventData.to = to;
164+
AcsMessageEventData deserializedAcsMessageEventData = new AcsMessageEventData(from, to, receivedTimestamp);
165+
deserializedAcsMessageEventData.error = error;
177166
return deserializedAcsMessageEventData;
178167
});
179168
}

0 commit comments

Comments
 (0)