Skip to content

Commit fa1e5ec

Browse files
authored
Fix serialization issue with Event and deserilization with FreeBusy (#143)
This PR fixes the Event object not serializing hide_participants and visibility as well as Free Busy not serializing the calendar_id response from the API.
1 parent 7dd0281 commit fa1e5ec

6 files changed

Lines changed: 24 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ This section contains changes that have been committed but not yet released.
1212

1313
### Fixed
1414

15+
* Fix `Event.hide_participants` not serializing
16+
* Fix `Event.visibility` not serializing
17+
* Fix `FreeBusy` not having a `calendar_id` field
18+
1519
### Removed
1620

1721
### Security

src/main/java/com/nylas/Event.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ public String toString() {
187187
", round_robin_order=" + round_robin_order +
188188
", notifications=" + notifications +
189189
", participants=" + participants +
190+
", visibility=" + visibility +
190191
", metadata=" + metadata +
191192
']';
192193
}
@@ -238,6 +239,12 @@ public void setBusy(Boolean busy) {
238239

239240
public void setHideParticipants(Boolean hideParticipants) {
240241
this.hide_participants = hideParticipants;
242+
this.modifiedFields.put("hide_participants", this.hide_participants);
243+
}
244+
245+
public void setVisibility(String visibility) {
246+
this.visibility = visibility;
247+
this.modifiedFields.put("visibility", this.visibility);
241248
}
242249

243250
public void setMetadata(Map<String, String> metadata) {
@@ -363,6 +370,8 @@ protected Map<String, Object> getWritableFields(boolean creation) {
363370
Maps.putIfNotNull(params, "conferencing", getConferencing());
364371
Maps.putIfNotNull(params, "notifications", getNotifications());
365372
Maps.putIfNotNull(params, "recurrence", getRecurrence());
373+
Maps.putIfNotNull(params, "hide_participants", getHideParticipants());
374+
Maps.putIfNotNull(params, "visibility", getVisibility());
366375
return params;
367376
}
368377

src/main/java/com/nylas/FreeBusy.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
public class FreeBusy {
66

77
private String email;
8+
private String calendar_id;
89
private List<TimeSlot> time_slots;
910

1011
public String getEmail() {
@@ -15,6 +16,10 @@ public List<TimeSlot> getTimeSlots() {
1516
return time_slots;
1617
}
1718

19+
public String getCalendarId() {
20+
return calendar_id;
21+
}
22+
1823
public void setEmail(String email) {
1924
this.email = email;
2025
}
@@ -25,6 +30,6 @@ public void setTimeSlots(List<TimeSlot> timeSlots) {
2530

2631
@Override
2732
public String toString() {
28-
return "FreeBusy [email=" + email + ", time_slots=" + time_slots + "]";
33+
return "FreeBusy [email=" + email + ", time_slots=" + time_slots + ", calendar_id=" + calendar_id + "]";
2934
}
3035
}

src/test/java/com/nylas/EventTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,8 @@ public void testValidate() {
201201

202202
@Test
203203
public void testGetWritableFields() {
204-
assertEquals(event.getWritableFields(true).size(), 13);
205-
assertEquals(event.getWritableFields(false).size(), 15);
204+
assertEquals(event.getWritableFields(true).size(), 15);
205+
assertEquals(event.getWritableFields(false).size(), 16);
206206
}
207207

208208
@Test

src/test/java/com/nylas/FreeBusyTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public void init() throws NoSuchFieldException, IllegalAccessException {
2525

2626
FieldReflectionUtils.setField("email", "jdoe@gmail.com", freeBusy);
2727
FieldReflectionUtils.setField("time_slots", timeSlots, freeBusy);
28+
FieldReflectionUtils.setField("calendar_id", "abc123", freeBusy);
2829
}
2930

3031
@Test
@@ -37,6 +38,6 @@ public void testGetters() {
3738

3839
@Test
3940
public void testToString() {
40-
assertEquals(freeBusy.toString(), "FreeBusy [email=jdoe@gmail.com, time_slots=[TimeSlot [status=null, start_time=2022-12-13T15:34:05Z, end_time=2022-12-13T15:34:05Z, emails=[]]]]");
41+
assertEquals(freeBusy.toString(), "FreeBusy [email=jdoe@gmail.com, time_slots=[TimeSlot [status=null, start_time=2022-12-13T15:34:05Z, end_time=2022-12-13T15:34:05Z, emails=[]]], calendar_id=abc123]");
4142
}
4243
}

src/test/java/com/nylas/MessageTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void testGetters() {
7171
assertEquals(message.getLabels().size(), 1);
7272
assertEquals(message.getMetadata().size(), 1);
7373
assertEquals(message.getHeaders().size(), 1);
74-
assertEquals(message.toString(), "Message [id=null, account_id=null, thread_id=okdvc089, subject=That thing I sent you, from=[NameEmail [name=Peter Potamus, email=potamus.peter@sebbebandsebben.com]], to=[NameEmail [name=Blue Falcone, email=falcone.blue@sebbebandsebben.com]], cc=[NameEmail [name=Harvey Birdman, email=harvey.birdman@sebbebandsebben.com]], bcc=[NameEmail [name=Christie, email=christie@sebbebandsebben.com]], reply_to=[NameEmail [name=Peter Potamus, email=potamus.peter@sebbebandsebben.com]], date=2022-11-10T12:28:00Z, unread=true, starred=true, snippet=Did you get that thing..., body.length=46, files=[File [id=null, filename=logo.jpg, size=12334, content_type=image/jpeg, message_ids=[odjashjcv89], content_id=osdivcnm90834e]], events=[Event [id='null', calendar_id='null', ical_uid='null', master_event_id='null', event_collection_id='null', title='null', description='null', location='null', owner='null', status='null', capacity=null, read_only=null, busy=null, hide_participants=null, original_start_time=null, when=null, conferencing=null, recurrence=null, round_robin_order=[], notifications=[], participants=[], metadata={}]], folder=Folder [id=null, name=null, display_name=null], labels=[Label [id=null, name=null, display_name=null]], headers={header1=value}, metadata={key1=value}]");
74+
assertEquals(message.toString(), "Message [id=null, account_id=null, thread_id=okdvc089, subject=That thing I sent you, from=[NameEmail [name=Peter Potamus, email=potamus.peter@sebbebandsebben.com]], to=[NameEmail [name=Blue Falcone, email=falcone.blue@sebbebandsebben.com]], cc=[NameEmail [name=Harvey Birdman, email=harvey.birdman@sebbebandsebben.com]], bcc=[NameEmail [name=Christie, email=christie@sebbebandsebben.com]], reply_to=[NameEmail [name=Peter Potamus, email=potamus.peter@sebbebandsebben.com]], date=2022-11-10T12:28:00Z, unread=true, starred=true, snippet=Did you get that thing..., body.length=46, files=[File [id=null, filename=logo.jpg, size=12334, content_type=image/jpeg, message_ids=[odjashjcv89], content_id=osdivcnm90834e]], events=[Event [id='null', calendar_id='null', ical_uid='null', master_event_id='null', event_collection_id='null', title='null', description='null', location='null', owner='null', status='null', capacity=null, read_only=null, busy=null, hide_participants=null, original_start_time=null, when=null, conferencing=null, recurrence=null, round_robin_order=[], notifications=[], participants=[], visibility=null, metadata={}]], folder=Folder [id=null, name=null, display_name=null], labels=[Label [id=null, name=null, display_name=null]], headers={header1=value}, metadata={key1=value}]");
7575
}
7676

7777

0 commit comments

Comments
 (0)