mirror of
https://github.com/moparisthebest/davmail
synced 2025-02-28 09:21:49 -05:00
Caldav: Send empty response instead of error on freebusy with unknown attendee
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@588 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
2ec5044b38
commit
e5c1fcd807
@ -617,43 +617,34 @@ public class CaldavConnection extends AbstractConnection {
|
|||||||
freeBusyMap.put(attendee, freeBusy);
|
freeBusyMap.put(attendee, freeBusy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!freeBusyMap.isEmpty()) {
|
CaldavResponse response = new CaldavResponse(HttpStatus.SC_OK);
|
||||||
CaldavResponse response = new CaldavResponse(HttpStatus.SC_OK);
|
response.startScheduleResponse();
|
||||||
response.startScheduleResponse();
|
|
||||||
|
|
||||||
for (Map.Entry<String, ExchangeSession.FreeBusy> entry : freeBusyMap.entrySet()) {
|
for (Map.Entry<String, ExchangeSession.FreeBusy> entry : freeBusyMap.entrySet()) {
|
||||||
String attendee = entry.getKey();
|
String attendee = entry.getKey();
|
||||||
response.startRecipientResponse(attendee);
|
response.startRecipientResponse(attendee);
|
||||||
|
|
||||||
StringBuilder ics = new StringBuilder();
|
StringBuilder ics = new StringBuilder();
|
||||||
ics.append("BEGIN:VCALENDAR").append((char) 13).append((char) 10)
|
ics.append("BEGIN:VCALENDAR").append((char) 13).append((char) 10)
|
||||||
.append("VERSION:2.0").append((char) 13).append((char) 10)
|
.append("VERSION:2.0").append((char) 13).append((char) 10)
|
||||||
.append("PRODID:-//davmail.sf.net/NONSGML DavMail Calendar V1.1//EN").append((char) 13).append((char) 10)
|
.append("PRODID:-//davmail.sf.net/NONSGML DavMail Calendar V1.1//EN").append((char) 13).append((char) 10)
|
||||||
.append("METHOD:REPLY").append((char) 13).append((char) 10)
|
.append("METHOD:REPLY").append((char) 13).append((char) 10)
|
||||||
.append("BEGIN:VFREEBUSY").append((char) 13).append((char) 10)
|
.append("BEGIN:VFREEBUSY").append((char) 13).append((char) 10)
|
||||||
.append("DTSTAMP:").append(valueMap.get("DTSTAMP")).append("").append((char) 13).append((char) 10)
|
.append("DTSTAMP:").append(valueMap.get("DTSTAMP")).append("").append((char) 13).append((char) 10)
|
||||||
.append("ORGANIZER:").append(valueMap.get("ORGANIZER")).append("").append((char) 13).append((char) 10)
|
.append("ORGANIZER:").append(valueMap.get("ORGANIZER")).append("").append((char) 13).append((char) 10)
|
||||||
.append("DTSTART:").append(valueMap.get("DTSTART")).append("").append((char) 13).append((char) 10)
|
.append("DTSTART:").append(valueMap.get("DTSTART")).append("").append((char) 13).append((char) 10)
|
||||||
.append("DTEND:").append(valueMap.get("DTEND")).append("").append((char) 13).append((char) 10)
|
.append("DTEND:").append(valueMap.get("DTEND")).append("").append((char) 13).append((char) 10)
|
||||||
.append("UID:").append(valueMap.get("UID")).append("").append((char) 13).append((char) 10)
|
.append("UID:").append(valueMap.get("UID")).append("").append((char) 13).append((char) 10)
|
||||||
.append(attendeeKeyMap.get(attendee)).append(':').append(attendee).append("").append((char) 13).append((char) 10);
|
.append(attendeeKeyMap.get(attendee)).append(':').append(attendee).append("").append((char) 13).append((char) 10);
|
||||||
entry.getValue().appendTo(ics);
|
entry.getValue().appendTo(ics);
|
||||||
ics.append("END:VFREEBUSY").append((char) 13).append((char) 10)
|
ics.append("END:VFREEBUSY").append((char) 13).append((char) 10)
|
||||||
.append("END:VCALENDAR");
|
.append("END:VCALENDAR");
|
||||||
response.appendCalendarData(ics.toString());
|
response.appendCalendarData(ics.toString());
|
||||||
response.endRecipientResponse();
|
response.endRecipientResponse();
|
||||||
|
|
||||||
}
|
|
||||||
response.endScheduleResponse();
|
|
||||||
response.close();
|
|
||||||
} else {
|
|
||||||
StringBuilder buffer = new StringBuilder("Unknown recipient(s): ");
|
|
||||||
for (String attendee : attendees) {
|
|
||||||
buffer.append(attendee);
|
|
||||||
buffer.append(' ');
|
|
||||||
}
|
|
||||||
sendHttpResponse(HttpStatus.SC_NOT_FOUND, null, "text/plain", buffer.toString(), true);
|
|
||||||
}
|
}
|
||||||
|
response.endScheduleResponse();
|
||||||
|
response.close();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user