Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sdk/eventgrid/azure-messaging-eventgrid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ Learn more [here][EventGridEvent].
```java
List<EventGridEvent> events = new ArrayList<>();
events.add(
new EventGridEvent("exampleSubject", "Com.Example.ExampleEventType", "1")
.setData("Example Data")
new EventGridEvent("exampleSubject", "Com.Example.ExampleEventType", "Example Data",
"1")
);

egClient.sendEvents(events);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public final class EventGridEvent {
* @param eventType the type of the event, e.g. "Contoso.Items.ItemReceived".
* @param dataVersion the version of the data sent along with the event.
*/
public EventGridEvent(String subject, String eventType, String dataVersion) {
public EventGridEvent(String subject, String eventType, Object data, String dataVersion) {
if (CoreUtils.isNullOrEmpty(subject)) {
throw logger.logExceptionAsError(new IllegalArgumentException("subject cannot be null or empty"));
} else if (CoreUtils.isNullOrEmpty(eventType)) {
Expand All @@ -61,6 +61,7 @@ public EventGridEvent(String subject, String eventType, String dataVersion) {
.setId(UUID.randomUUID().toString())
.setSubject(subject)
.setEventType(eventType)
.setData(data)
.setDataVersion(dataVersion);
}

Expand All @@ -76,13 +77,13 @@ public static List<EventGridEvent> parse(String json) {
.deserialize(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)),
TypeReference.createInstance(com.azure.messaging.eventgrid.implementation.models.EventGridEvent[].class))
)
.map(event1 -> {
if (event1.getData() == null) {
return new EventGridEvent(event1);
.map(event -> {
if (event.getData() == null) {
return new EventGridEvent(event);
}
ByteArrayOutputStream stream = new ByteArrayOutputStream();
deserializer.serialize(stream, event1.getData());
return new EventGridEvent(event1).setData(stream.toByteArray()); // use BinaryData instead?
deserializer.serialize(stream, event.getData());
return new EventGridEvent(event.setData(stream.toByteArray())); // use BinaryData instead?
})
.collectList()
.block();
Expand Down Expand Up @@ -221,18 +222,6 @@ public <T> Mono<T> getDataAsync(Class<T> clazz, JsonSerializer dataDeserializer)
TypeReference.createInstance(clazz));
}

/**
* Set the data associated with this event. It will be serialized into Json format using a default Json serializer
* when the event is sent from the publisher.
* @param data the data to set.
*
* @return the event itself.
*/
public EventGridEvent setData(Object data) {
this.event.setData(data);
return this;
}

/**
* Get the type of this event.
* @return the event type.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ public void createAsyncPublisherClient() {
public void sendEventGridEvents() {
List<EventGridEvent> events = new ArrayList<>();
events.add(
new EventGridEvent("exampleSubject", "Com.Example.ExampleEventType", "1")
.setData("Example Data")
new EventGridEvent("exampleSubject", "Com.Example.ExampleEventType", "Example Data",
"1")
);

egClient.sendEvents(events);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,13 @@ public void publishEventGridEvents() {
.buildAsyncClient();

List<EventGridEvent> events = new ArrayList<>();
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent", "1.0")
.setData(new HashMap<String, String>() {{
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent",
new HashMap<String, String>() {{
put("Field1", "Value1");
put("Field2", "Value2");
put("Field3", "Value3");
}})
}},
"1.0")
.setEventTime(OffsetDateTime.now()));

StepVerifier.create(egClient.sendEventsWithResponse(events))
Expand All @@ -110,12 +111,13 @@ public void publishWithSasToken() {
.buildAsyncClient();

List<EventGridEvent> events = new ArrayList<>();
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent", "1.0")
.setData(new HashMap<String, String>() {{
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent",
new HashMap<String, String>() {{
put("Field1", "Value1");
put("Field2", "Value2");
put("Field3", "Value3");
}})
}},
"1.0")
.setEventTime(OffsetDateTime.now()));

StepVerifier.create(egClient.sendEventsWithResponse(events))
Expand Down Expand Up @@ -219,12 +221,13 @@ public void publishEventGridEventsSync() {
.buildClient();

List<EventGridEvent> events = new ArrayList<>();
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent", "1.0")
.setData(new HashMap<String, String>() {{
events.add(new EventGridEvent("Test", "Microsoft.MockPublisher.TestEvent",
new HashMap<String, String>() {{
put("Field1", "Value1");
put("Field2", "Value2");
put("Field3", "Value3");
}})
}},
"1.0")
.setEventTime(OffsetDateTime.now()));

Response<Void> response = egClient.sendEventsWithResponse(events, Context.NONE);
Expand Down