Package de.svws_nrw.davapi.api
Klasse ReportCalendarDispatcher
java.lang.Object
de.svws_nrw.davapi.api.ReportCalendarDispatcher
Dispatcher-Klasse für die Verarbeitung von Requests auf das DAV-API mittels
der HTTP-Methode REPORT auf die Ressource Kalender.
-
Konstruktorübersicht
KonstruktorBeschreibungReportCalendarDispatcher
(IKalenderRepository kalenderRepository, DavUriParameter uriParameter) Erstellt einen neuen Dispatcher mit dem angegebenen Repository und URI-Parameter -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected String
adjustETags
(String value) Homogenisiert eTag-Werte von unterschiedlichen Quellsystemen.protected Error
createResourceNotFoundError
(String message) Erzeugt ein Error-Rückgabeobjekt mit der angegebenen Message.protected static final Response
createResponse
(@NotNull Prop propRequested, @NotNull Prop propResponded) Erzeugt ein Response-Rückgabeobjekt.dispatch
(InputStream inputStream, String ressourceCollectionId) Verarbeitet den gegebenen Inputstream als CalDav-Protokollanfrage und versucht eine Anfrage als Multiget, SyncCollection oder CalendarQuery zu interpretieren und entsprechende Antwortobjekte zu erstellen.protected static final CurrentUserPrivilegeSet
getPrivilegeSet
(boolean darfLesen, boolean darfSchreiben) Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.protected static final CurrentUserPrivilegeSet
Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.
-
Konstruktordetails
-
ReportCalendarDispatcher
public ReportCalendarDispatcher(IKalenderRepository kalenderRepository, DavUriParameter uriParameter) Erstellt einen neuen Dispatcher mit dem angegebenen Repository und URI-Parameter- Parameter:
kalenderRepository
- das Repository für KalenderuriParameter
- die URI-Parameter für im Response verwendete URIs
-
-
Methodendetails
-
dispatch
Verarbeitet den gegebenen Inputstream als CalDav-Protokollanfrage und versucht eine Anfrage als Multiget, SyncCollection oder CalendarQuery zu interpretieren und entsprechende Antwortobjekte zu erstellen.- Parameter:
inputStream
- der Request-InputstreamressourceCollectionId
- die Ressourcensammlung-Id- Gibt zurück:
- ein Antwortobjekt für die Reportanfrage, abhängig vom Request
- Löst aus:
IOException
- beim Verarbeiten des Inputstreams
-
createResourceNotFoundError
Erzeugt ein Error-Rückgabeobjekt mit der angegebenen Message. Dieses Objekt wird von den Dispatchern zurückgegeben, wenn die angefragten Ressource nicht gefunden wurde.- Parameter:
message
- Fehlermeldung- Gibt zurück:
- Error-Objekt
-
createResponse
protected static final Response createResponse(@NotNull @NotNull Prop propRequested, @NotNull @NotNull Prop propResponded) Erzeugt ein Response-Rückgabeobjekt. Diese wird dynamisch aufgebaut auf der Basis der im Request angefragten Properties zu einer Ressource und den tatsächlich gefundenen/ermittelten Properties. Nicht-gefundene Properties oder Ressourcen werden in einem speziellen Block (404) im Response aufgelistet.- Parameter:
propRequested
- Angeforderte Properties zu einer RessourcepropResponded
- Gefundene/Ermittelte Properties zu einer Ressource- Gibt zurück:
- Response-Objekt
-
getReadOnlyPrivilegeSet
Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.- Gibt zurück:
- CurrentUserPrivilegeSet mit Privileges für einen lesenden Zugriff.
-
getPrivilegeSet
protected static final CurrentUserPrivilegeSet getPrivilegeSet(boolean darfLesen, boolean darfSchreiben) Erzeugt ein DAV-Objekt vom Typ CurrentUserPrivilegeSet, das alle erforderlichen Rechte (Privileges) für einen lesenden Zugriff auf DAV-Ressourcen enthält.- Parameter:
darfLesen
- ob der angemeldete Nutzer den Kalender Lesen darfdarfSchreiben
- ob der angemeldete Nutzer auf dem Kalender schreiben darf- Gibt zurück:
- CurrentUserPrivilegeSet mit Privileges für einen lesenden Zugriff.
-
adjustETags
Homogenisiert eTag-Werte von unterschiedlichen Quellsystemen. In Abhängigkeit der Quellsysteme (z.B. Thunderbird, Outlook) werden teilweise Anführungszeichen als Bestandteil der Werte von eTags oder ifMatch-Headers mitgesendet oder nicht. Die DAV-Dispatcher benötigen diese Methode, um eine einheitliche Auswertung dieser Werte sicherzustellen.- Parameter:
value
- String, kann Anführungszeichen enthalten- Gibt zurück:
- String, enthält keine Anführungszeichen mehr
-